From 8ce071728f27d6015d16aff01bdd0b268ce5fb97 Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Fri, 21 Jul 2023 10:03:34 +0000 Subject: [PATCH] [automated] Update json files and markdown cache --- .cache.tar.xz | Bin 1399072 -> 1404232 bytes public/components.json | 184653 ++++++++++++++++++---------------- public/pipeline_names.json | 2 +- public/pipelines.json | 3311 +- 4 files changed, 99037 insertions(+), 88929 deletions(-) diff --git a/.cache.tar.xz b/.cache.tar.xz index 3d5cec2eaefed50badb0c400f40832d19b8d7c25..4b46dfa4e499618c98d8d4f6ede48e2771430757 100644 GIT binary patch literal 1404232 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%0DuO+$=9S-9>*7K5V;NaM#Kr( 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 z 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∾{@6TmS0n-||jC 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ħRrfed`2#Mk0;}oGy_j3e5vIb0r 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

b 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≺X}WE8!XYQPBR|eaLEci7vE5|= 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�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

  • w2N$xJarGvkRt3mT_ZeO}*%Zm;$yLra)Y@j-v_)r3-n}ZfY}3yP z7Zal)O*h+Zp^-LioR~J>!r`pvTg(Y1|;d_$Ii1m;1r=7A+R#(@Ep9_OrcgJzMs+!)L-xV{)7Hq zDiWfNPdC~*N~g{qB*oCYZRP#VwF}!On!&6=2wc*2$POHqyK2^6Nf_A(3hg*$C$IzN z#-hcY$cj6e5F)WtMdBYnB`zMr{yqM2fOq8w!i0(ei$6eye!lQ5J;=G4>QmXn$ttYX zEm%O6c3I2i@Z9~JM2~_a)lk;E-2Vm!cnpkG+PvKKLh^=_q&lj5`m=20WfJ|A6U9vO zjY%EKc=vHaX1Q9b!2^(%MbYr$^g49iWPgF_sM@D%N=`!C(>FZQij(M>%m*j`MGY1Q{Ij>KW3EH3A^yXa{f zoDD@n;zqJs%g~=`&r*T#u26ax!94FokEzS6k|m zk2uP!+p0DY7;scncWscfIFPiJic~5RIm2L?G{sA^Eb~X!;^;6Iw@t<$;qG!F34_3qR(>ruZ%#4BdfJ` zQs(VA6V%&?clF|eE8AyUleUfuD7rSf?#iNU<#TB^#&_W6w9y0(^71?z(vC}uNHOTV zMZ?jTPu<@-K>T4uP)^s)0D0K3hXO$&&tnXMXVC?J+w; zxEq#Dq6fu+(T+fyUGP-q((xBSKK)zIRvm$I$Wu^$mGh8kZOJ^F^%7zKtvS|4v`@!7 z1o^-=AdcQx>};&{!e!@+3C7`{|N8Frf-TMJ(0|yDkYk`IAMyjCL&)6NR^X0Z>2u>C|5`Qlmt%=FgDXWn3rrCS zOLFsP-Fefu+|n{_dHhT0b?O6~YFyE7C@xLv6lM^9N>BCYK#m8sMc2Ccqqq8QwX>U#u%Ml4M$5YSS~ zMa5Xp$F8j8yJ}Xbcpq5u{jN~|3jVw#=#+b(AnhOPWl&yVQkEPYeN&+oI`V%vPlf zj*q--fnX+3il%OZ*x$3KE=Hy}b46Ln5?+2uFcbK)`;}x0@0sWe>bEaf*;@6s|9ce4 zNyNw-8wC?}my`zBkn+kCvgVj*+F;GNYaOUPR6?mVWox|6Xf6*M>kBD!2B%sn*u~9)AMw#r?=FOz1cq`hvu9amtb^)H zW=QMR=hEofs1{h(y1ubb90FsKjgMP1i29C;G58ncj1eXQxxW9rr}1b^;=3d%Xx@q$ zbzBngx?IR8ygm+cMcH(B?}gWaprf**$=?x8yoNXWt!Kf8`tdrWYF9em;ecs{BfAGX zu)>*U@~ov&D+=J|1Z;5U(R?FtvS9n>+pkGc2^y1kUIS+U=RJMt4Qs%`b$#N;kxla8 zc5Y3Zd6MYG&>&w@wp@_l#GZtbO;0@xIAuN&=&6;TLXsVdzkid8$)I=!8Vj5=@?GxD zZ};{Jkr#c848$K8jc>aOA-HzEBWitX*=>3Kn^#!klM=BvL4g^C^60Msf3K{TA&wyY zUAFB|8x7c@@PLYWkBOOC+(7L6xy&|e(>FO-BFGP%nS;o~Xg(J$SXl48`zxWSgHmv) znS5vuB<2mDa8j7-v&rRm&m-D3uV2L@7aiaw0nDK+gxou8s5#|y-9Rt~LE=gzv%q;x z!#O-^76L(Bi30>C%ppn*o|ifaI^XIlVbSGY4oh?(7qDv56{7>+;Y5>z6G@Ro6o$*9*j1XAVk+8Hv5S0(f8voDoJ&?<2HS zDhMvyAfeVn^%!i2gLFC{b@9I+(d zry0>uH}QqF$AsLqQWTly_&E9MsgJkAG}fYmD7SZ2?d4zO|AeB+b!v^`i}lxLpUYtF z7KGf>VNTI?Iy8L*ZWq|9+~hqNUviFKKSUT2cac+XMa|H}PXEe$%kZ%q^R*xXS8~m= zL^sm8AkG<2Vuir$MXI-l-)qxVN{)o|0z#W)Ghf4NrOwPS%I49{IDJp?4 znO@mQgr?$6C#$PEF5p64{kf$g;tL^mp|F5NQ zL#v3`aHaP@NCJdwoFC9%FPmP40{7%))vjgX%tZ?U>=eLqs_d$eEIlmSy#wDUy*aUm zo@fn9e)uD-E zv9zIsN>Wi3K6_l+-1Kw%HOm!ZM0Ry;88${`!c&y+s&Hul{jK@q4SX zXk-sp4z~xLAvB3LVD-VrKL{jtsg9zsPYXigOVdZdJc}5&re!Lz+9Ht#u$+$6JVJNu z)=&-;;IJycc>be7?4QS#UU6-Xz-giu`ADCrYb;!pxW3sE^NfXFC|fj0t3X%)j~Pf# z?4+!Z-75poWu2gOH4NJ1yMlA7Ua8=fdy&&1&R>Zzl4WF-1isW& z$1(VCor3}y%)S-w@9O?CJC7QJWxP>`WFxe=^)vS4SkhX+uSlslCfr#SLPFL74DGn+ z#48xA9#h1fwa=1740ZGFNg+l&~jy+bd?63q}4HnfZQBknAP8DmPO*YqGm{lUdU=Zy)~#2LRYr9Wd$YcZMJO+71+7+0&BE zjl8*vLBHx=(|1Y3(EHNtmO2u@dAQdKn+x?b&8Ag)a5h?Z!6dG3zT6X$Lq;xP(XqK8 z4~1v-OMGI3k757^eJ#|7OXz4B@6Fp4&}?a%ZvkGlP4l-4BUU92O5p5CXBZjZA4&z< zBO@SHzJ(pmh-O&;`nhN0?|UCQ5-KFSsqC;TTYi%}p*F)sB^*d(f60#@ zD{$97!tI&IaCE6K#sM$YdJRE1V*Pa{Ju!_ru&;KM^#QzStODLis&^MMT7A&efJAS`eKyelIMnuVvXg95A<;xk&=xyq@Jl+_1~= z8*J-9=&1w%x@3`llPLB4&{7@pPznkk2mQfF<5C6!DqyJ;?TODcdwnbXa*j@%@j<1D z8UdGS2^vBQHKOfw=sizoXJIbLxA{@CpQ3orlhdv8z-i7|>xZnT^8{f`aEhjtj;>3k zCernK>RuB|$28jwVI*7;1Y--#n#!^lQ23PmufPa71lp)9Sq$^dz|UnLgFNEC<^ZTa@;p?wdB+()81pX7fR;81G6Xvj>+PWRq2HHU+%}W zFG*bBVetR*d|juJ-;px$_5e1;M#vM-CgW8CjH$l3Etvr7S!|fP)_&q1wsL8&8`m1JGZ8+x zv^`h?ClVHv?gPzV72Sy(l@g?CS^7@bF;uV*$Y|8qWIYLCA-i+Ld;e>*N58wiEpo28 zqsq^0C6k;MRcu;v^v2hsOJESfEd{zi`ktW@7otzCpA6An63;m6P1Jz{3)Dk>-3?~< zcR<9bto_dS3!KWiANk53iFd{dGvIeHUS2sX7-C3$khPOqi0vrTh0E-~+>X4Aal%zJg27a3Gk zzoUgyww5L8LGbxMLx;|7IaNN}BQ-V&Ev?!NF-ibX(b*X0 zdfR4kr8pUzM7(5DH9%o1fx`y>`sYg!;yQ9;LftCs%&ABNUJgLY$8aSlLM4-ZqU>bp zd=ABK%8|zYplXtN09W)&0+@bLx*A!G$t@FoLn;u%f0m?BxfeAnon)T=sV~nj1rdH= z?dPWxFGWC>N}=`DepB`>0jb@OJ!VhhiC0OOv1$G5WMCxUy_+%7-%{s72r>6e!c`7s z<$tVcj`?v${`asZ0{rp$Y6hk{3T(oDl%4{OXiOnz_C2esCPL=}2h8ya_`^ zXAFHwa3cB5o;d_$CcJX+#8x7Cyz1Zec?YU!#?>ZOuyN(eLvD?BQA$T%=4Q6wcX@`=RC6v| zF}neSEkh;cKYAP-_0uQE+RePqQK_|={&MALj@?Q8;9FZNOF9ZHlf zyGYNYrmLKbOiD4cLrPt$+1m-gRz29`r%#bicfhp9}< zt%0Zq7qvgp(s#dA0y)5RH>D!5)Bk2m8O$J}P-b-0nJSni*6QG{alXiUbd&u4RKnV@ za~g=~&A2Sbft*>N5|6QGV<^5~Wj#cnm9)6|z?h{B3Y|Kec&N?se^|{j1KCISSJJm{ z)D6e=EU8ohzEosR3u5J{#RJ;z|*`vwcwhOu#3${p%#=td=A+m3jE}5EDl}; z;-Ue4Lw#bu7&@WE`;SFsbAY2DiByU2#%i)=6>M`;xk9lBukYS9F8Eo?`5E+NzG}m| zx(#nfgvG|ADDJSQKppDRq2z~n=>trVceb6Od#0!MIvW}Get$#2?F zt9=!Wl2`_o88il-EIh%14n9z-3WNAhho8x9_h>@9y+ULs*)k$G*nuHtG#H;8ysrSL zzVJ+x$H-)Bzr*a*iG3Rz*j?_pP5p=jJ}CU+fMknZV^VD74w40%Qt3e~Fs(A$W?zED z%JiG$x55gBfgZzL?dq3^bzv_6V9#j?kH5vA4`&>-f-`YZ=66+~{T9kzQ*0CJjcm_M z*5Uoh1LVpDOw`lydSp677Q9=z&3NJX5bL2~aK9zXTG?nCRJ0|%f%I>m*)5C82 z7KiA!<17e=l^fQBi6K(5Qb{LP2(s`MA>3+U(T)r9ODsGMcsfJlSY!7Y~6X!Gz4uu#T zw&!}@Uw4(@(F4l}@x&t60rnBHnr13Y!;rgAKk0B(R;&8pK6F+7`DEB zl0~^{uA*+2gDDaN;Wghbyp9qUiAPybcLHFVi1EQ&VPbD>VZ!ib3}5wEK3$cuPI)!Fdl~s#3I?L&-VD}zF=p{axsjsWL)?C9EvZwpD*f-OyZKE`c%-J2|H10c zARB%jPg|=VBXOynA|xw&tAwWiwZ5?-@!ubV^-n99CJxKLXrxtYXT?977&{144#(ZfuiN_hr%-mRhjIHpRQmA5w2>ajtvZ+LN_%k+LhDjgO%oo!+O9W` zZ~&p_9Mv6i&4TNQ+e+-2ldu>HXZM7?%N`qYm%Po*aF#q>Q=je|^J%MqrTJ9Ndh3OY;2=9%#&3KR%Rok|D3f&ekx4#NgG4Ty;h7%wOJP2sOIyMz!0Vld znhjaT{Br=w*`6M?I7mZ~guUw(n}kIHc&v*yD;hH90LT_e(?4_Ax8DsocqM6j&%;>v z8@9F;jkY^$endrP`_UTN2EpvnbDJE=UR|L?zuW3Hg-NBGa&-I1Bl~+>J!GjzixQDz zBLAOj>Ef7q(*oQHT35Dm_fwpUi|@;FmNk{uS#ShdGpIfBJkp1)kR1m=-R+MY4o^$} zkue)_HwC-?@cWLLu-e_UZUv1Z)`HUo1u()^!F7FJ_$t_$Wy1=cCLR}-x8UVy8h^fp z%ow2Gx=qC&zDum#B19bP_cTR`EjiD#9&6r;I%Vxsez*BhKY*xG-ikB$iUQ5*^?Gry zlBRvv=}vUoGHZJrg-;mu%J_cU)sD}|TG#)uc#o8fPJ@I2`E!c398htATnm)M+y=k} zF>n{7^maZR8j;Ct`8#n2X*P#^4S^J4a`IAP7evLkrawOH&1K4GvWu)&xLnI+WYI{F z;S0rW-!n#nU+KRN4I!SoJKG!EGUYspnl5k1^OwfEyeMU_sMAX?Y%C~fM$@2ZhMBuH zdUGVE;y{+ewsVU5jKzI!jSnEsST;_*LC(X|G1KUItGjWJ4M)rKSoutOf=d#wF<%p=Lkp zWM`>o9}+Uw;Kntn%*f_I^^@Gf*j@kUMT@Z23w62mqRJZ^VLMlw>AqTnMBf5PJ)DDv z_!_4Dz>v4hXtljo2P=X92YvM-eg3$rQ=gORE0($QYTK}1^4XoQ;@(&k;84c-HusZnQ*XJBG_EJsU4bwHSD^PW7AhV9 zML@d0^y$UPk= zdWml>YZadm0h4O~1X9GAXYWP`a@`;rt`jpf6hhJlfTPLb(s9wBxl>CNzaJJXL|MIWWLE?tRNf&S5e3{y*hKZ z38#ryL|ZFmTQy)q;-k`@aypx!xd-O^G_VKa?MJu2y6~_H>mx7`hb4$e)6~6!zTd>f z2&&+OeY_seZO;t7!N``$mOj78R+eJxK=R;lwN^3cSULM%+7UgSuAGOwYFFn@ba`yg z9DPS$SFcsm&`m_h7wq7mrv%F=m7-e_uO}X(Y3*#jh0FD&nQSl=$!pAYzh!IrQ|CLK zW$<*ND0rrrDdsC)up9B+nRYWb#pV>D#(`i)6*S77IPTwKXv`#hP3nqN<@GOc(nG>4 zKsOj;-5z}MwkjdBJ;sx=&wB4h^KQkoXf6(fcy7%i#bp$ z)`#6*p(wBrtBj!`&Y3PXJ;+ZL?)8E!k2mmQS{uNDGmz{KU&LFy&)VqWs{UTliAV}e zymWIAY{Bt7{CXi1t0nnQlPJQqrcG^5&Dw#Yac~$3{pZl%qIGx^USKMjUsCEeMgmw( z?0n`h;5Zo@!hb2FszEAVRUi`mO!g2NhnO1WASJIN#$3(t zhRCBv1CkkkqMo-i`Q2I+g6Y5EvE4&?cuQj*)nIps={$47;iYC1v1`s^`ot8~@w)h6GB!f#8E^1$Gr&V&x7ECEMCx4G zRFaWuCspvazza^{v`kSTpr##lXvB$h)Z7Zgz^hfkq(L@}#Bag*`j!AV<|0Dhmq4Il zBpzYdMcPwiTPr5$9KoMMc&4P9E>hwxcO>W9xnJG<^28g^7aoc_hjLLr7xn_psCey5 zJi}{qSr?z8&+Bp21!yGBI;F}(Xw>bhdJ;@*>u9h&_6Ah1rkn?Hm8v-nbgBYfjTc5s zIdo!&`-?El>A_R;fHWbyrdVxk>iXR?vhOq^X(@-|er%sC;{RHZ$|g^)0&pMfF0M!=pHe@00Zg({Zr9oQFTVXR0v z%^TMZI1nT%Q$kRJ=We$U$i!hxHhqOih*y?D>xP-1dr8r?dO?QwLIvX>(0F7 z`d!cwxYU%=uPawHDgIe81;3*eb(AhsWs45?4M9efHLwFz0*RHvH|WH9Wu+(m20r3J zgkWr-1^4S~5|hoBGft7Y_e=`fQKSOOpy*}+6umQ^xzBN>4Cb@vxw0IrH6>ONSK2)r zXs-IOD8#2LorDm4KMl(+f{X-SSmOja_P}(HsW@Pn;^pAC=@X#g6Y|nIhGjj%3`EJC zZ~J7?O^;;b>ytGJwkurxoA3ojF@7HMZo{uwd;RDsGJVSF%jj3?6B6!?J8|nh1k*6_o1QpI^oWxABd(k~_GV;2^w^@F+kwl`b zhY*~kq1|V&rJw+1A85MQNU$!4!^qnb>H8mC!a)kjR26&+)Y+jtM@T)+LCq~<&>~+t zuuFZcaK&e1wL#JJPZ5>Q%-x#SYef{ZErvNSswTHy(=+cuCda$ds_4)L8vEBOj8-a{ z!XXAG=r?i25BiJ^qT**buD}OfXs0{{^UCz83Wu&W7#n3v$H=4@>EH=Fi}SwU!8+9A zJ!mr5(}TD2(yO3B%RE$N#e|hHh1X?N{l}W$yp(dV2bKt7)UNwWzUqRPlFFO$_NrJa zE6CE-qKQyH)?Ej~z$sjR`_PY}%RN5{ zlp&vBH@FPqXY)8i(6Eec`p=!jb2{sk%hme&2JBvWv<*8;EEqsiFFncId(Sfe;`K&V zB{y;b*2f^B*>c&U?D$I2r?%yOV4jaj7SABIPJ2EYw`>&JxGrhPoIo_Df{D}K8~dC? zU^#p^^PpdiQ()8s%eWag_tdy&yD~rVK1UYIEhvXTP{A+}q=OEVjg(xDX`pnuaA!O1 zIXKk=D!DcV4!+JyWh1_C@$ZXoHIM+h7mQ_bW6yAXx|`Flgwwy*HAb+F@L zB`x`!6=fXn6fmkT6VVRnHGv95` zZ4X9`8cRQuuA74oOXZj>(k@Ohq&`D1$<~0WOfKc?eys1!0GWG5Mgx9>kqv~E{~QAX zpqYmL0~c4Ib5eU4$bc_E zj^}1|tbA{Bh<4Fwa(x=wqYb#GNu0<`1urZWAHL{x6mV8P^m%nxN;zK^8&Avc5%^n*ji3%zxQc77LPUV;EsFz%yS_Uckuyx;Iz2i;X{ zN7@FqIzV>eheSR8l+BVWb-SSZih}qE)AY8!t3!0=s`E+AoQSpR%=!|CyGpQ@Zg-K} zSZf#Tp|#M&4mE^O51A>q*ihlW0Wt)Ea5b$Mn|zeY^u>9+=7eBYG6s)-gP{WpYEZrQ z)X0Q{VRqYpg|9+`niiX09U7As;Z=0ymBEr|S;T$P)R zg7xHG5DqrQfh4R)rOObJN860$0slnJmw(SV;p&PmjA(-K{L!lSD5m zGMRkfCJ8I&GnV#5i}P8>=Exap0b4@>Rjjwn2Q&NBtSe%GAt=b9Cp6)A1P*}{$?c}O zRQ863lm2O_+Yoy)7LO~-DA`H4U;2f{aOxPa>iOim5k6hPO06-iBj=|bfJC7xko4N; z(Ul=>e^WHC=nU0wg@ic`Fm^xIQT}PG4&T|e`oddIuiD%-|UZW`+EYGe8Uf6Wp z;hK*BQxakW=`qaAP#!*oC_=+P%XBPp#PQw)-9Z^FsYGpCG%?1vE{?}T80Obub`n*_ zO8Lw5FcyD_Hi<7e2RpyY4dc_9Hn#Kn8q6ifefSVX7G%Z^$711?>+v0SZ;m`lrbgU_ zsV^s|=DH0l>GL`C$lx;GB}LJFUru{?bIn?LGkHDX&}f@sB4PZ_&~p}|erpBu012@< zw9XbEG)$t!`t6;w4e;{NZ4G_xR?CdK@UV7z*%FSUnqp(csc2EejbR`4iu$Ep015E6 zCz}O(v5B>_iW1x8CsZ@sWG|&Kx0XQ&18rB?4)NuFb(h`^hJGgP-SvQZ8n6$|b&dsv z!_h3d11MV1fu&l`8^Jgc12CT2^*r(0wEwU;u-u?aLdy6b{y51Zf5aS-WjNBs-#E=e z`D&v&SP_L54f>|}p5TL4o|DIP>S(mn$`u$Zo>n5th6f_f!izioHQ_{Rysk5Qi^;6o8U^a6{KKN5!X+O%xMM=WIuAc~{em5x7&I|gntd`S`TFo? zj0X1mkh9j)gRXI~;Zn(H^k(4Ie?J2t3%6!8Y_k!k#sY2 zES#!HR_N$ZY7kU5vyToA5XKq;KTDpSE~d5;e3m`W1DY+lz5v~a)w1=z6fH{G4$lb+ zRVG&IgCH*Spygd5fIr1_)NUO>%}Pj&!4un{*N*G52@)ihTYaM!xZPU}Oi`b4x2{1; zGV&kxHEKeRdDV!o8S_noZ2cELfD0s9TyrcMh6YAHg44(SKnoI!s;B`20eRo5H)UCFK7SrxKG zA`l8{Q&&kwZMz~Wy9Ku(1u}p1HJL(~4VX3KNSS`T(Au<0#~D+?`_X*hAEu2+*gY(- zc)56TkPuR!cuddkx;Wo=1R>84Vjn4jMw6c#r=WyVMGhx4&jG-kuT@2xeJ0OK*_S=$w=o3W0Sl_Ne_caEK|X0D}iGd{5dr+2mc6@d?gYpgAK82Hr+^R{eZIO17@zVRVlVaaA|U&sGAK}QE|k;ym)l*x)=QgK8^G4@N^M|H18 z7N8lEqj2~PFipg}Rpx<3fmSK=+09`HJaOp|)Bn0yuUKB$$MzS>GHyrFkznB>_%D&t z(uHwIfLf=2=4>c=2DXse+B_8qI`X+_A;7C(P*jftJzFN@)Hq}b697W!f z$&fGpB7sZOH74SElv)aL0*)zLv7_=@Q&))!n9~W%mXwV}Bqwd%bz(w{AS%6f-ymY9 z771|1SJVSu#=6K*fX?f`QpAt2J!aoj3`>dPDE5&E6d&6Qnyn6Wv~5(>zJ%YJg3=E% zeH7WK#Zq_M=!&0+6YF5taUIirO!p=>B6Tl1P9Dxio65~`RcJk7ll_mP!F*D1y40Jy`9 znM{5O)~MEKIZ3p=dW>;4JdPJ(pC6+jn+*YaEvLx81k_~~w2KMOCsxo>L$sxDnD0L6 z|4s7nQ6imh0oW;^2E$M85=sO-d)v_H2Ne@ogqbTsB$Ovn@EM9A-6q55zm2a&h%a0jB522B>zt1K(dhX7 zs=2PuZ{pRlzs)(#AdF~?gxGlDP3~lZNC6J^3hico*+eDVHyHf9%JH&J%5wRcsEq95 zPVpSlN|F=e%vs^KoW3T%>^j;Zb=8dwAEirezOQu6w#)svfKVc9^AXNWnHK|G7wElJ zdkHrkOc9ucrq`R8W@AGD{6!*}{sdgnH0SDPf`6<(Cd64&iq-N4GZmkg*c08)s{bVz zK&#|kD|eO?)c&ySRY=amct4UCJPG8FQ`0hra9&e0CncQOty_d+kzRVqvzSGEXm_ZD zNuZ(i&-R*UG*3gcLBN#W@7ql#|9%Ow>drE`1xX11JJAX-Pg-j4`H3h7(5K_EA=ybj zql)Xq&SvJ)r9fD&)UkAZ2XVAKa~~s&gX@M=*-{NXL99yk%>{_sJql(gV$izFz6tBk zN6nbwqKF}Qc2s1terRi7avYl2cADj7k1^1XvLa2|o+Hsr)drLOBWzu5$}J$Q=Z8YV z)Q>iXKUhW)A^(BQBuG(6wVCG0ovNGP9F48#@%ny}DXYc%94pYHmW&2Zl^%*YxUBXm z+wL0b9N*7)CV*@#%;q@;+q4X2&-cja8B8`&*W92S7K|3(3u!qolrx6qlf$ohOnafR zH>k^b%#VzFAAXjyHle@skHvOYOwtGIKtxE74wObmH5!^PC*l#}I|-ajL?!wtIj>5J zC+@2i(%gXKeUVl+dUBxLkoAkEs(G5GvD*-zifA;7=vy-L-S)p09^?laY?;+5O3;L9 z35XK8{Cz_BzD)eRP$Tvb*&5$w7e1T9qvohWq&mgv>2|DzZ~fWiM#Udys+oF+p# zA8_}M94)P0i?2<$Xh2YNp^t^F!0jxfe)m3*`x!*waPDtn(o6^LpnEDFlr!Y8h_iUB zh=nG2KbDmJ1lv5IQ*vDEKYEU~NzktM&LpYh*QoWHUp=OEtV zRhkRX(v&o}sAA)CVj)s0tXbkzz(&a%#m{>T$Onr`#}+MVz~9L#ic)E7q~(@9TMG)a zq8Y1WIIq{ff)4^Qf&{&suWfZdjkLgM%#Rhp9GG+J##ATv7~^-BCg$9BF+^QZD8^e` zQ*QIS1WPtSembo4uG6a}99Y?!qPjJ_6S+QBEYfuimd=wv8U7UR zvy{MnpZflSdf-oaqnjBnU-9CeyNx0Y5hS(0qlMs!+ltSg(0c^q9|Xda%C{}m5Fav} z$*tC`FEdZ~oP2oN2~|tnob)v-Pna3EK?ZInuL(0k0T24Ooz&7vcYGHdP;h{_Jv&VC^g(Wvlq>^*`3X`w(6?v<`rNbWPtk!W) zpRJk$X(}d;cimVor2HPShj{srbX<|x*(clqcG60h(yqW}iCwFlRM3#0tHI_7oRa%) zBs*cH8mz%+l2f2;kwA!vbC(R~?U59Jgs;_X+f*L77M%Ha6e;ZYc-p{~gjl zQ4)Po-W$@L8TD=eMp44c8)Q;#DvOVhF#r?g29&Hj zwp|f949fp1(qRyXI5&$q-xl}4Ut>9$f!p6biNS~IJf*eed4Y}dxU_|IPw|?Zk&a|w z@y9W`{vynJX}vxJXH_Y_3UB_U7k%rIhupc$#hN*v4#&D;`|wcwrC4l3q@NtSQw%YX zWVCKISmnReO=70UaV?Pi6+Pu%VvFf(gMJKb?3PvDoz?~h1;2gA?NektSBgj6C^@*A z(>qm(Uw*osmU%Xpudqh&d%{(Zy05&cGxv3w{gJC(J-wzAa@*0Yx!hS-sZvMDc&GP2+hyP}9>~RJZ0SNxtkgzr>1rIOLAc;7n`2>8R#u%xW$91#S>f zBzNE3kyb}Cr4uL&cuHA#UdZ%klg+y}00uf{E9g~`m&79++|g>O!#o1ddcL=iU^YCR z89T{vqgxdi<^#6zOF=8j%{ws_fx|x+X`2@t5e~kGsjR=R3*VF_7`(1t<}sc9Gb+Ya zOnh1xl8#*e3HywvrT%i~Stl8>DiVw3<(W2kj-)g>^yr6nn{XZ7N*qEFL zxqIBODy-eoQa7~N0_Sxax@WM+xc3hG^oH4I%dHohm?K`jj@!JDip3t7E2FCz#|)otYt!Jg51?VMm$lS;T%72IP@X5 z(_qM97*O2lN<&5}1LOH7GTBOec3;HuO>G}<_Ic#n1g{)4M=OL}&~{A`hoXcc1Eo=w z$z6t@7*qgr#NoPTN+)H#D#v=d?*Kfdc&|dg0R1dR^?guyG0p@-elOYSmKExM9ku4g zM77Po0|!6FQdRnL51lKg8@p1T>-rj#I>FP<>m9P|wFZ4iQ3asF|At1LsH;lGJ=uX; zJ>wKbGnt?^qZz<6D2v}~S{$l(C!K>>0g%u`Y6*7OjP&TKNNw zWwUMk?4G)OlAkLafEnG+Cw|bAgJF31AAKx1qxcIu0sV+_U=r4`LkK-$>+>&1vnfB( zxTbmXd)y-Ikt(sDQqh=uOP9)ddpe?%KmQx)u_4_yW+A}zs_yaG!hA~h^YLp_oI%42 z!q*_J1c1y&&m_)0Tg?=sQ(>r~-zW}tJ zB1qzeufoVjH=NAE^vct((axjH{l$gItLA{p`Y=tX$;N8LEoNL_WTTr>-RiW6#f3pg zCzd3H-G~xCRsOO&f_OF#M|y7lM+YZ6U>o}L%XE>+8rCGb5lEJX@kF({9c@ zP3wl~M+fi)<8L$HiiP1& z-t@yaEfyzWA0~^6%uf#9bKiVKvfIWx8FCF3IK(bR`Xa9sn|W_e6xF#SEg2>gf2J^)25|Y+8&0MA{~sl|F6oKHgkp z%CrA>{5DNz9=VJpv4^`5Y9FP_^wCuvM9TzLK9eq=zB*(hoITF4wF3lW$Lj;i5 zU<5s1yE`$wpM}SMEb=3n1{p29vh_-!z2P)l z1@mqoh!GC{zk}Dr613?F=h{%xWq@1Dt3#S`Y?5CFXC;FuIL1&^}Q zErS3#0F&9n@zJznd*i`e9s@oQFR&KiuLdQ1*`VUEWbf-i+S1|G;^e59s0NTz&Aap~LWky>KM~$S z^vg#wE!kDT9qrM#-8m!yqn}}vTM*vGxd9&DYn~{>$LdU69`7=c7s8ZD694rxWC~!NS%Dbi;pG=APj=Tf)N-QL$Ah{VSv73;G zGl>tx_zR<3`veSUJi)AmKP{<|lo?TRDWhI?-MYkPqV(ndPv8G0UI>LM|S;y%4wb(F%NWQq)QRY2w^iBPE$rz^geyJXpg(kh#0UI-x9;fT=HmG7D z>x<&I(%t?b*DVkI1SURF5PIg_Q8H<%RaC zo-hK;8;-tX|B^V0+}lPH{#<@bj$33~hVdq~WXa>`2u1?Y(=uNrV|ZgCbtA#8u#x$9 ztYcoeg*KkBtvn%NSa_cm5)&S_ZRKJ5<<1giD5w3E+QhP6N9&nNpJJL8E7emRxHV+% z_SStT5RhRI^BBj*bm1C4NfhAfr4@1(@f+HW9Oz3QGNZ)0czX$!BvSCg}HOff^w>LT{2()!PN zzbNn%jEK6fch2@Wn#0~Xol|ES*`Y-MfYuE*CMPpmhg^m@Z}WJCoTwsVb7@CM=v)Z_ zR@V40EG95)HpTSPnD;vOHkmIuXP~O>ka6)L-T6$2{7~=eiQw1CxGwjyCEI=l>Wuuv z516Uz}Xc_bX5R z@ueXP6vMuM`qL*(SGaR`71&URCs#XWDNK9?{T8JGxu_WAK4tEZ8u7D~qmSmz%gJtF zjZ&d$vnU=4u<*EU*?)*IBH5kZhNKgzD?~`ew*{$#a!B=PRLf?pw9E4@b|&r3dt26H z=rHIe?CDmu01U0J3W-tQWD-mto0M51v84iwgO=}&$3widrOY2-o+D$=6HM{QQ#GsC znyEtPkyf~^1(bqbOP;wa>O>)mLou}tCZ^ZBpxBc{?bTS^$7lM9TCTVUqv|IZte6D%HccE$mI+2rq~{?&s$ zm#f=;;g9fkwMXu#enE@F#*v!+^wU2^4fSk^Mju5bxX!(wdD`0pM+0WU=9ZU1%pHBX3W9-VK-3eAd_I z#B?El)G^*DB7IsfYq}S(45u;cWhP;Q`fiw65tb6@orXfpQwZlu(oSiqD;khUA!jpK zrt6ImIa7V|km03rOUF$Z|146o$nkqT5)LR@$VWtMt;{B@)4^Em3KhT$N{A0=xq7`zM zf6FH?OHkoSd^@PLZKK^`;YyPMn;94HJX7%0RR$gvbAlX2UU>k;5A2+zj&%3n!xdPG zp(&2=sM4Vk>6M~B)Z?tB0ZO>uButrJQ<)!sCfk-mlqLOqoNCzRbN zebFzRLPu5~?RLsEa#_@h20M)F*pCZr*E`Hm3Ts=R8U`kMe_Yj+_JnGcEv^LGV3&crF&B~e2N|Q4(&3syuqN2Wu3?Xs}A=KI^=s)QqpV5l5*^--|5_S^{uX+RHZUp6e`HP^TXT<>owr+^#!AqBpMFr14jM zs+i?IKzdT?NrBoPJG_EvV~JBmN;uMqAya|{X&?_E?hg`9^g{ZsepOAWk$`(|N`f2j z1DYtxVFmg6a7foP%Ql)4%bW4YKKJ?tfOsM8;cWZxH5y6suXNwrd8axDd&4~#gKkl! zT1szs#k_HkWL9<6Uj-}e?HcX6s;Nc>cr)s0kgm8*~rJZtNbWF1erdfxJI zHQ6596KXok17vQFm!ChIXsSFoZ%uJ!1~unkwK4X2wA0zY^WIhM57%Rt_LI*1>e2av z$?MRHr>dHR1{FCUs*>wegcewgJ0QJ_e?wHT9gKMeb9z+=4fikCc@HLr_$@@=PP1FE z;3?7K>uyo;VMp%T5-4}$x7ko$)w#CL+*7#VySvW#|BB0cvsJ~@e1Z8i0gX;f=jc5DkV`%RJt6*RQxo&gM^yfhf9WTU?FN)(md5c z@vU!;BU2+$mv$QaXg8{{hBeoSpO9VdRW6Eb=Mlv3oQX!`RNg&By)+iG+6`*JD>w)1 z_WIG)A2mr)_1;~Ts_yq{?)eCS?qa%B%f6G`9>DVe?Ag^XePaFy=yz||6H{Ymns7b& z*?5__$ta=#@iFW)e^fop8GCi4zi`#Pt!mVo@seDoxonUIL&Y%e)p% z{1yl7t8nUtpP?<63?eK8_v&&nTHHz$DN;1O-fqCYt3NrKAk_Hmp)J?Bd z#EpWf`GnE=ThU#5C6#)9uKEFzi(J<(IM|=bOlD*YgObm%0BC)QI^*y?=44s;84#FZ za^D}5&HvP|qwZ%={|vzCSnF2pXIFse#b#2Wr=q6?8)0&lBs20lmBYT89{aM_)=PGB zw=t;$8nLU-P2o-7BSfCqq(a*zO8i{qrB^#Zpk5~OWPInwBjd^ACl&1^qh>>(okrW% z!Wlp;$=^_>+;z389nQLu>Us)mBs^@U6#M7Fr{76(r}M-=3OiO|Kh01S{W6U_?;}U2 zid?J7#+>M@0}E%fUlDdM;L7Oea$hUmiKVd#9Hh}e$Z=fkMgijOBYi}$XJ(D2sPFxi z5(hT{)tX}E&jIa})Kmq9=`io{$5*VCXG6T7%9!53Ek$zBkv8$;(KS0uSN5sszv=Td zJIhDw(RUnTP@PfCjI=AqrT3XDGljXy(Z-}I=?8K-oe0i)QCu?SQX{G%tq-xV@pom& zq9WSW22LxXVv8=dV+*ZtqR^@y!{Y8S!(NqQUb344amM3PZUaha0*wt+Qs=jJeub8e z|K;EDrGqB71|8jBm~f$m#!6bb1Os^q#Ls$4qteE!9=teiy=|s$AXcYC0Y3%AVS{7% z_WklHU7uW?DQ>0sISHU%I9f%uq={Z~xqu!_grI)2&Wn~UEEQKApO|2`uI!Qd?9E$E zm_ZY}EmSF~-0)8R``p6Ee{GGo$$bN2ktDF_RD|8^Tnd>DRfv4HKqfAjRV2wphCitB znpJ0m66x5WsSFJm?irQgcdSz>N(ZUvri>A~j+ByWF84gIp3E#2rEPJ0tPvyiUFvX7 zaqKi4cD`yg}@u~^qrPc)JNu?y4AFxeZ$}*i0y8qh~8nN_FL!9nmESYl7 z7K!rDO2`;7TB=+aNevx7MvZ_fQP{W1zL2U%1ngq$EmD;>>Io%*C# z(S&e?{{g*BaZe8T)(`b20rkhXKAtWo{L|Gw?MS@(bKKY=yon_iJnhqEq3N!XTP~1C zX}VjBlJo@B()U%iC36aT$&B{7h#zOB0p>nShuhw6^zQb_s0;KRh9JGMZI5e=tYsrN zKVfm;GbE5xw&@&6^LOo)CYmmWwULP?Xj?%0fwQuY{Q}yAmqxWcjMptPWYaG$PS?(y z*2_7BWhT6S{bh%sd>w8#vrX!27_Eb;X{L)UKinS`EMB{*k0rvPUCh)j zva0@^SV#nqPnG{pZl)?10da}-Ct+Wv8ISJsn+7e6Z4&%v(PKUu@L2f;R=P>xXZuQKBaguC5Bxo%*;GRU9dbuyi{Ts{A_Q>O7 zH(;jgti>aX=Ce8$prBMKaUj&l_v@<0^f<#w_?d~FRc!Ehxdrm?$h5|2zCXXz*ZisTDqzh?jrYUiUC)p|Gd8O`q zf0cbG^TIiPpm^Or^a{>y;cKzi$D7eYy6oxXF^1eAK=^2GV8k!)&uVMziZ$ z@`hA=36lFiQO==hDw!MZ=W2@+gM?JEEDtReJeaC(TsmIH>o1=(CQUr_l@cHzw3|2s z2>;rj4ugnu5mHlfm+#s~Jn1Z9cJ>Q@`@bW_x_doL6v1QwKl^thh4ZtktysSF zkyQOEP+l$RbfY|kPHeF;6EVdWcM9zPK=JmN`Z>gzjLJv0TA|skzFo;<>|G>|D)wmB zBF>RDa7p)uZnV!Y;~YVY6=zmfn7Yun?L>?+z;^;5#ItLnAJv`|Zx9O?vtLn;GbB-sAX zhJmY)K}TyRmPnr-z-AAtP*7JqGsLus4@YD5m)6l;RUBxz>_)A`a}Z;8p#f2W;Ja+i zdji=JF>qCek~M!xYN&UzWPK9G9-6Ezp8y4Ge1-1aZIBY1jFV@BxWUCOCGD9Bp@_s@ z$h~}twmevVo^EvezZOb7p8DZtcYm?3e@eS7UR5kDIEVTK0qw4?J_j~@mlgQe%nosO zkoUIz`M2V=DvG0&r8)Aa$4IyvJX8E`0twZ+!2TR8u}V=TYXs&3b@8mF6g&_k^K$M3XPwL@SZ*!aFD0R#`hacf;?<}U1el6 zQ6zaw8+)-pwWf2=ZTz@bCyz0l?TBMBSY17ltjM4p!hKCPIAr+%4vWPMd(G8f|46zu zUV+2AK)_z4&a)Abo7;`sj90av1S1WQSRp)N7($^wM=u@9fRNg4Duuzm2#2u~`+&vRgYk0rATt01 zA6ory_uMMR=qdC#b-T+nsLA)ge%m6VWbt2c4C-X|{-jrsZx*xtHTN`bLhoX!8#Zm( zgcmvI{Xup@B=~w_QD77f9D~tEeiyNX$39IkO$d7$Aq+xcri)<3Ycv8e-c#_ z11-Rit`64yy!PG4K~gsxcIMfy})#GM~FL@KKHz#G`bqjM=vq|IW|8! zJrqiaRRNunq*~n=@c|`(+Fb1?Rgtl19U>yt{ zpRL*>8`f5?&56ZpO-OC@4at>9xIZ&}w=^~4zv5Bzkwsz^8wQf!@-vw7 ziQ$P=}9(6#^)2l4*fdX++Q8g5OvdRX-Giy2#-jHcw zU9>*-M|($QM1eDPqD4i*ptHSbS5aGgMqVaFVFa@u+s$MN7AfDt#gD)mIZp#>VXdvc z+oc+T4dc@tCUx)>!rFKQ9ShmP&)K*7y?RoTW&=-_(nD{Ii9aaR~ z+-WPbnP-rewIUKkdX@@jf`F(ss?2skCgOV#r4V>Osjc3)&>KzKlkf@>^z`kYHo3#) zfOAA)o+IiHy2{Lye~rZW2q^_T&+t$dS4|Y+*Jrcm!jrTMYCQJ|V+vTT+@CR%tjaKP z4G8wDS|Xj9wISgo+ms9f(%M?^AcWx*J2=;EnLb#$@EJ{N`l%TuV#i+QkJdDfFWphz z?KD6KDW*@~Umkjkos>g4)X&NUeu?Z7C2DrpB#4%5;URx zN7$Ipi$u&D8VYLK#^X|#MK6(L?fNN5%Vt4y1@iVgcBc}s)p2gFXGc55IYJ6n?A$Yu ztO_;P(Su#46o`E#D>bOEw7r8T&@@H=zp=Rx&LvP1kHE@8Ndod!tz%Dp$JepsxXxfI zuUZ zL>D)qFj2?}ZbtH`?N}MvnbhQ_V2mHhXZe1lCXX89S9-FC(IhSy42?F>ktC90;~Bi` zBqt=~7dnkhQ>OT~VX=8LYFmdG(r%74rSq(kCF4(!*aE4z>4ONH-U_kPR^L&yzkyHc zjFp11gj4IB&>w*ELJ; zKca7gOXNA{mpzopp%*oXH~w5R?c_lsdm0&8#j+|fE`xFi4?sZ7Q!*JiK?6ePJ>KbB zu8#Sw0QjEWM4b2Ac_};G`r$%Te#fs>H9`{WvZRs>{)h%JwFe^7QX33F9ycpKxt^YA zK%k#Ce7jg2Z;Vmw$zhZ!`OD)oFfXVE60aeysQT?psV?fq_dlo)dABEr^|+}FmuCGd z%4fkNVFJUsX7c%OA~d8%1+Y+%=U zMY{XQr+ts#?XayBYKBlY9L|qYK%qLORW007Khb-ls6nVe8vq>T1z##ZKDB(ffV2!& zz|#l=h5~d;mv4xW8h|KGAw&c0$<&I$xMa_x5OfdRG8N zoV}j+%cQ!v!ty{t@vnGJi(C5d&M{5W#**`*1nU+BC!CVX;uV)a2GtVfH%C?aFfe)& z|8=KGYUh#5Z?jAa1M$eY?GyiUEAXNsENI)>t^Zp1ZZwxFmZ0PhZ=-mt;9L^!jzisZ zox-sTWA4o?eBAx$=xMxapaK_xBmn{V`{q7*bd25LWOyIW-U0pG0c^Lv#Q6DvJHrcB zV;^9RbHg}l^>p|a@aH_>RVb+stTLgWpknUBs{6Ic+!pr3;?ofJuo!Cpc;axIRH)>$ zg7--Yj@vB5O6c1^Ux?w4_1^$4`$8>(s*#*hS+U6~Dj;*9tJzVA52PS*D+AJG(@D7J zT~zC!4Q2)Ph}GolSlrZvbAjqJMl})DoQfT?f9uZVAyxo|&keEG_g*cL!jia-DlE?; z@#Uewd*;I6(7VMg+^Mf9`lI|;2{}Tpr-OW~=*>r@o-DmR`jZnJD#mqRiewB-pGJRH zBiIq%1qP?$Woa@U#Ou+vkZXCsJiUo}L=n5|zcj-Ih}zETaP$IFlTOs`3vhqtlOF7# zSlQs#DkD82=<~Z;mMBGPFb0f|H$UWNTHhO`eo+UGvGcU zRAof702?yqZVr@#C=B}ZwE4|fr*3H4q>){!2}QpTAD!}0Wp)YnMMXhB{&SpjUBn`c z)AMKszQoS!&6hSOKFRGKL*Oe>(*WYLK+zw*HYngRct2%rAoIbbX{S0epUwCYx zLYq_?H|k*BT|+ve3S6@wtHULS-l&9zZ2tsVtM! z?)8SuyykB@w`*(gO6{TcKW>-e)4b#!m#Wf=zI4I|V8M(l2umAs;F>>C?u@HrG+Z~n z6}EGO0ECfz@!1UIni?&prVxbhsMVJhc1Hjgzx<+#)z;c~Y=&FAM(Y=0!{?Q6R$GJO z&Z}+uyH(JYH6y$#RM1%##>sX|B2APdqpyR6(44_w?W2*Oi=EY3Y4Djpff@cA+ z*_$XRAAGzaPsLIhRkVMhM|x>$g#8=BvO=_>reLm+#gVSxw<@mX^g%3KmWHR&kq}C4 z1)J@fqx|1!IF_E$rk}U}i4!&J>P%jpe6|P8-XOy~{knexPlmZp(&tr`u_WCVwgm7#Z%9ZyOxy#k3ON;7~bK{U;bj%?vE%PVqhkc)W)>la`1- zN_wb0ss2Kkrp$@OJ{In=ZGqtvx|0t?O|{?CUOuI_Fc?div>!PtFG9FI4=%HezxU+c zP_0O!?M@%t-Fs<`l-!EIJt%*oLwel@WmG97od1jxnl$PzIfx1SOJx>b>a{a{n>U#C zAOtJbzor9uO9Jc;e>>xKeEs7`K$@9?wCXfWo0-jx^>&wFK*&UL8r??ut3PWs$%qdr>K`@$eRKpKc%xB?P!SaqJumZZu^YUHip{-hRXdmfD*J znu^!R-uA>sWBBcV_HcVIXPWapdI9kd`~98fiSV%%r`PvEwZ+wbuBYP4eDZ%v2o07a zI*3ImU!tc$ez2VuH%@}{cVm$tcSEhn92?!{Z}^Mk4|tFMmdR##*`S<`*rw#=LyqnfK!JIJDSKr`huZ?jqfeZ1jMEI($^r1L)At3;ny3;h!ij5W%7 z?0hk1&22!^il_bTlU*jn%!O;)9Fw-0$Wt(_t6ytB6VM7xs9d4 z7S*cbrH%a;9a#X8Q6FC_o)w%?2g6*LchVywpGaZq%+u@#oBL}{)30@t7F#sylK6I1 zbAUs@!r5wYg_>nj(^D(qruIsdVn|*NXO1P~Hd0a>*G~;B?+5D1FdT8^YYPc~Hk3;z zN|={wx1;ltFJ`jhmV)AOOaD7MepEq{%Oh3g7eYI=9I?=zb2ldi(t0#>{Iq}Drtiah z`UJaDw(ftoSZ5GK$c_J(DgryjkXiSt(N)wqYw9mqQQp{Me!>#2_fybd*-fSbEU}8FpS(VVG-4A<@>6MeX4uSSM--tW9 zb}u(_75Z+j$NRCCyVct^EHhD4_m1$>t!Omr;&A5eA^5)iKivZf9lQB$GIXy~Hx9)j z68SFO>m8==RM&QXRVs5Fnr%9vTK!3|snniTf&HYsG23qtQPJLj=TvJh)J@8;WOLIM zTCT+=j>CV~?zg}HcLkv@r}h0~rptblgj4tbuD?V*{8!q!!$J*JGp45(z)tTQRkv0< zR;YdWOLo|}$QY%EjwN{##^N=MF2!tN!~N9TPB*t%&~fO5GTaZ?ws?ODXxE71V5>^R z$MfflC9$Vgn6$N(F=MZDwY&f^Whu9+k#K>|PpY5@0lr*|o*6r`hqf5F+R$xtUJ;~{ za8<+(J!6~GMWLzLCnV*wC{Ce`5cX!K#yMDHe+M9u!vscAH_Dmy$0DuZh5vfxC_(}! zU}cziuedFt$!7B*ClEQ$m1^!xWh#zuHhMEiyz8sRrdL~GN%zA$A zOMR#5t&<^t`9>4~qj?AtvV_;QH0*W#^{I`7mUcW>?XseEHC&z8c^ zm0O?>)#c_~e@8#HHviu>TvycCIF^RBj&1B(-BQdks_;VUH_6Erm9%pIgDiJk_^Z-w z5gAx((GuND1a#yXv5gg@|uVNWZpeV<-bNS zbc@e*Zuz_l++O#r5axdr>70w3?^ja={&nFV*kJxhkbL^t!cFR*_zjZFezlAlB5J+J zucNFz<$2gvLaGM3Y$DwI2Yz-)qY-@PoYxugL{xI!Ne*kNr)C&F-*lZ%D94Umpy%x% z{x5?U_IM4tToNX^t+mm$E#;%=04^q8${|ZdP7dWvg_~xF!)tDj(J1ubM_(17#xqtfDYjtPqeuAC8FFYlhBd@KORX0Rp8U8<&KlSv?xJgmkrf6`Y!O`L?6&5FFGTbt3+tq&N(|2?>YCsB}b=V+Pp5V0erqAg8FU)>rpyHp= zT+Od@+kZDVi8~D?x}efMDal2LCm%bl9R$G*){7bm*s1u|kdR6z&KR9$HgNuVlc-!G zt4VzywbM~4GwH$vFJ-RlpubILaB#sH;FzY(xk(Ttu2ff%dclY^`Zjl)IZ7ERNMuRJ z!_8x(v1qx;y9M;-z)?dS(nJOJmdI2XYBg?Qczgg1YjUnmQbtk>R~7A8DFAN$xCS*4 zKbDWTR>h|G|7^XW_oD_0HNVUo>)t(yw!03qOCPDrh!5aIY-ol(%}<3{(JBK#9V&l? z0hWH?nSl+pG97-xpXG;zlz5lgM)U8nRL*IGHgwsF^~xwTBC<=HJ1ScmW57v@Y$45% z8YAe?2VFTn*J~|%2@a-d4Y4wHznk%y(#SdyhlWy>WZRR2zg$6Ozf(rVu8u@EI1K35 zYu_&3ozWK1%6GrDCK%F>-)VrkK8Y$S7`AtC9inor$+;?bEve`X*N4{qdFSiYPM;6cvwvQ3I<4VAU$qAtxFglr%T6GylD?V(z#VuDrtE9O{tSS~ zxq*Ier*#`8GKv#XT-`gUWZB6vo~1do>C-K4w2cLV4RbVhecKM_rcbAN1Y{t`%o4rS zQ#~drLc7Eu)8TUAPk_f1@GsMa@GXj;kiMGe-M*}^yO~53&CiO+{#{ZTe_6O{Q`yms z;8^mmBnb~y+DydL3V(A=sk&I9u%cJu_irHJEWt|IuvvilaB3y9)?FoGxH+`}^|Zln zAsVTYp76-XJZpCdy>?d0u?KuSI<>Zi!yuHE2eKL)fAvuazgou5 zqnj?*VEW*loQ1`8Pvg%EH#*9eVy-ux=i?-hGuni%(y0NPNkyen4_+VTFh_zm*{_lXti_0ZT60&9bzE{E*ZHweA z%>h!g6F9@mm!os6y3cbI-vxo>sQf4j!9V4w-{pdY;ZJAAC-$w-Bu~fCRWB>)p|OQ? zY|dy=byBtd#RHDnz2gKjsIMCOX|>*qMMfm|WV}E9K52q_;CJ1h;JABCqO@Idw(c(; z$S<~0uf_w)Z9mO_*E8|hAk=Fw7{B<%)mK@=z(uzko-AGZgdm*Qf@rGqFDror@s{yvoqo?by-L|qyEFbIw^+8n!jah>_5O~BLN(#uyGUFQz z1oQQ3z*!Db5i&5Ga5y#Q~;7mTQKM1Nh^i(A^eRoP5M)3v8gkn$4 z(L2Up{nU%{u=kcwzh=6BdSD44BphX&O_~sWLd{E1F9)g2i0)iB(k&?(abM09gbvX4 zEu;t}fgZWcCD)u62}@CkzC}lw5PE~hHl^h>W1~dsvc9oR%}MPe7;vPrKxX_t9LF@z zIcvLnK`<`IJeLMP2h^MZI)urOT!>S!@q?ej&Ci3X6yA~*rDw$m-3}5)j7xqfO9bug zed4B_l8Ouiew?te52gsm31{`eGvte(2?I8Ia}wD*F#{7S&ZTkEHYVUMiiU8Rj@?5Z z+KF{U{yfz|j(X14!A;puUpM`lG^k-ObXZAWetAG$+*%~!G01wutTZ!%jC54i#7DaF?vrf zUEml3bSBReyxG+)0tScZlAPi))@HV7+P?|<$HK!NDwhc{S_iXlRE!yVA2!W*H^n+N zYbWwUJ!=xw8^v{_PXLKfJl?_q7tNRH-Y4`lTC@0SGRaebr^G_k97ZdBT3^ty z2oSEJ{awE4zw%Gm7gmc=NQ-S(c~2e=b$(5X>r@5JAqqaYTYZCmB zur{JsFE-YRy9)GluGxBCWZ3yj2*eR+cjR9_`+Z*uI5c|e(2`rs_Q79c zEHUg51>ad;0OOn7gvi*{PF}^kn4wjh zn=0hvw`2$X%ev~*x-vdJNeApMowZ8As2CoyD?ciTbaezF!TVq`>FH=22UpZjGu%M7I6_$9f{B?loGQv5^y&fB&~`Q~BLNIxakfDjMSVgR@06sk zSHTE^!2(=53j@}rrhxE*yL>fQxE`8a!ncyHShC>6T9?=C$t#@U4)&I~y{ZKnW* zR=F>968tFO5s>n+LjI)wu2r5*g*Un;g8S|hUO#N|YxmLtyB4#zQ2w2`*66@#<3V6U zMYp!pvP188tF{5dr!->RM@Ik*p7y62nlRT=&!tZmRS9}~xzyWo>UQ|q0x5x&!imw$ zyFb9!I`8s$`z!Kv0$V2476hrw_4rM;TOz*8`LuuxUYQX|#}8f7oZu(JS`1InuXsPd zAZ(3O^~_pOj!^;G*{uh^V+iG?!1!O`MEy+NPi7MZ@Ut!X^&SeP%q=`Js@hfXSqi1p zw|0#?Q**}^;G)0usn2CCb?@^3aYcSZilf0f=3L^1!9fxLArFs_{ywmQPXs6Uo8=LVu7kySyl2E3|E{|1C} zL^w9QHlNrTCHivGMDOtDptO^%0k)?P=p$YSpKQgF(gG6W?Z!eZ&PXWLpKhZwaz^5g zA}r6}NHygp;2$^rdv}CDs6JWNqc74ItwZmoBN=dK`+Zcq&jWdOCFs!waUPK;y9!tvikOes01pBd+PQi|vVB?$97ARm5qf&}#D!%0mC+l+aMol2puZt6?jb z4S9l}^k$VuM6z_)34CC$ffSyV5G5R9oGWonIy(mSh-DFW1iC&_+GsmA{P*cds2p#W zBVTEOXu1hhWh_FKW6(RsywDmNRz3kuj8)+QWF$k+j4?02FOAxw5POe7okBI`-E;i($Ryk-LFx%UO+mugMDyn>jxmVuZa!|wakyGM^Y7y_Vcd=3K@xZ5YI`VrC? zD<3l(*96zdMGq@qN^wTGf9B(NIY_~3w75Dm)UXN#S>Cazr-_%wujbJNa{1~yifb7# z*%hj{33Ch|b&Y#{LtHLpDkD(UjK)wU@Ff@;d!F$Vx`E9E3Kk}<>xrk-cElg@Dj~;k z+)G;q?JIE_Ek7TwqWU|@W~7W}n->-g(Gw-2ao0e*gIt1W-SLsJWh6bK-uvp)m9@gFWIt~@^Kc3klg(HgWTyVGO`;<2HfkwiH zsN~AE$ z9@R+S@7RFm4xEO#T^H2p`Ck~6-=;pELhCa)mmp<^Gp|wl>bSU;jD6pO_fQB~06HAzwYptY`Nr z|M0?V$ghdh(d5u|QLdF0BLtI-@D82j?HDK_i{oHOZ4-S*V`)x{H=h&`r{tIf25?M~ z`+n1Z2Z-fAiLBTCqfz4}GKN?IBO?jG-nu|6dPIgx$NL&y4XOQ?=K6Wh4jpG}3?GK5 zp_XlDxdEbD)?>1<+TRXa`$6wLx}J6a6m6(h6IVRGpvY8P(UD(8vNXrhr5#fv`JV@XOy40=~ou7 zJ{;uRs1f0UYoMmGEMrr$p~`6uc(mCHLL#Y8Rf}!?y08B(%c3gUZf9|w# zfXW%Ph;=&&hKAWl6|>Hl9s`W-12t@QgDM3GXT|lTIx7^WOyvMGvDh?%z?Vg$$1^7} z^8-nKNGENGoBt5_`)Vl(SZPkGYAO)m4e~NSz?A}gjGvLS=#oT zu|aMjtYI~h68_yhjvqw#W?b*6QNBZxRnptP7|V~pqH=*+{kIQK|9-plGU^5U+2yzm z2#E^lV7dommN%X#mH=x$Nw;RsAgF2TJiopnP48pa2<%2B=AER_a&udPwERJ-f7g=KzG;sP4;S4*?$IcCH%kzSuriyq!y%(B(nSb08WNm zfz5Daf?;*oRlUCdq@V4xBVSqIKfIMc3fth6VZWmyy6#TwiVj&No@QOeigPNtur(Z{ zYxfJFBoYE54NwD%1FhdX*z!hMbi#v3un(epS1KN2^t-OxiFw9Ui#J|XKxz2hS+t~U zWB2M6WSgSnPejcGDp+9e=DL>4UxD^8&!6N6y#Hi7?#$BbeAMy#uvXx6K@%BMdc;pN zz?oioeBilN(F1WEwMH3FPC>qmqR+E({c0HYT6%ib! z(8O!%H*2NjtYC-?43I{^j%{NTG%b<~JO}#i)FEz9yzuhltY%M(KzLxO_K7tVb72%oUxvuC>FCZ=*#87>U* zzRJPDdoI0?v>nl;3GnSotoob~vRJ+McxF+5GuJ4{wWpi?7H-g~IGC8p%Q?#za}v*a zrZB!ni1@7E==+e?c#2Ay!)3@9VL`6QSi^#| z^W(ve^?*9(mPtV%J3)aSh&0<2j?x9kJ!)Di>Id+y-|BQpqnl9u*Dq)tQVK%?!+@ArF+4( z;hZ^tw0Mdf*UR+d7*^krHQ?X4wHf6;_2x`g-=akU|3frg?)^1qY5eQ3%$ozWAPW-r z_?-oLpU79DI$_bZO+8pIL_crWWf|_!K`F>?i}bhnh*ES)Pw5D`>2V2&>%z8cQ-DD} z-kVroXDO`doD{0d5HBHYyJ$BF%0csQZTc%UuzJwUE$J&X)5&ADzrgp*`O#L?7Sq=d zK~y$CKZt-*_P^LTb?KbMCUJBjC>ha>cC%bZWbDd@jZgGp z%cP~ZFM++N^miF18|R#8^&IvnVJ){Ob^Enm&ymO5d$S`8!!e8ziu~L^Oqh-fCu3ke zF+>1!%UO55ftBAbqA6Q;{QKh$(SzZG?OdRGvtK5sOA|3D#`>$su=E|NJIB;Zeqt-_uLbFTn?mG?>LJt7!%k5|(6MiMQca$dFNR`z zgCJZ?aa*f{T5ktnsvW29f&>-+YQd+kZU>xo{ig)sXSBunE;ziv%)C&~Y%JvG`8&H@W{&#| ziJO|BF1#*p4gvBDH^6k5NVdMQ83R_O?SM^_K+09`Jx@_jBkr-Q0t`GimSLKZXcBMX z;%!CO?qC!xTo? z%{bJRs6GKsc_ztiTfDE~tf?fze_x~huf5hx4=$#TFU)?k-cSORzXKoCF4^Mh{O{RV z0sqdl88KJv#?y!h^wUKEud+%FUO-&-9?{MykekgApcqyM`>M5H;1jV%9Nw4DR##^- zM(!P0Ygu73mqVYO8gD#vK7R$^9433RhWH(E6s%*+D{F-C(8{3IdrY=p2mXiw=L-;_LCi^-$tv71B09@w(SU@Mg-%phD!bQe%mHm}jl4ORuV-*&YR3XhC!A zIZGHKEf0Nh3w0L0SPDRj;fT(%C-7Zp99)*ceB@A2NA-eiiqT!M8nn&?PkMs3*SbZ{ ztOnpLfl}rDc;K6O(b9;$5dqO*r$vhif1V)3kU0}}G7Q(MzwoV$JRbt?mvFg zc*s~G@A;C1u2|mO+-^{(9$mBSn_ElU+TtX$qqA0{Q)I-HDpptSjFxb5?mi`G z3gE3~Oo^9;doSH!Yo}k+P}O-~83;(>nUT6~epdC4Z%B`P%Ar1+zi=ZiT#@=Toip6H zw*vW_f^3quumav13(o??0{iwD8gshuSdtl?0}ia$ajrty=t#+A$HCT7XRGv zSa_vET@y%cqI>mf-FdqXTo3*KH1_Zt0saz@_rWh9Fp(UZ6*aRWCA{`K)<*8J_1QO*&*z>{PQrXU4qr0}=2l!e#A^py+#(f|cigj$>8+w>wGiqdZo+nF)II8t{ zFH!pxEIj#w*JIdX;Ryd|@q;7(UC^*of0iLHRk*(*694-OzCy-rz9+}UyP)o2>D2sEI=RLfUzEBf$Z`S6YgngMM79YYMotIHGde<`R`tpA|!4KecD zxmc=dOeJu)uT2>z)iaH;?UY<_mS@LM#4T!9>8K)*C**u?5d`wm-|C-`i!-si_{>0< zMghVuG0x(mwkE9o)eaap-3YDJCs!e%-8J8jEfEj5JkQq{-q0?+i(o-T$}*eySU?!r z?{?uC;bZl-s_OZ|%NNb6(nYKL6aYuW&kQT)j&AOW;O2|`CJ6~fIb+x^;8)CgiB*WR z_8{mAa*7!9NZcfT9*?jX_!U6+P(u;pynR=xce3;CKUVwC zg2Fg|R)-%Pi|~v+B5rw=%525TO;geeZ5UA9(*+l6S&|#pp`wvWycie;fB!?-WhB)t zkoI+JW`Fpp+s>hD&M)MY1{$@|nnhbqRcO`Bm&`<^mHO+hYe^a+_+vBp99Z72Fh}sJ z$>S^mxKM`Krv?{z(?YQq9J@)o5QOg)=z!zxVY~*{EE-&~59tpTks%w5l!fH7DZT%* z!B^)MeR=q7s4kHYCEK`cEl}a&4aKlS z2*n1og~vR52wZw}b}PUxGxKciETX9=mCv$@ge-)6-mGyC9?Z50ie=!3X_Bh@+%yyC zl+bmr*#<^NjXiS@2z;ab{6Ab8AefN;d&sX%DZ}_;czB9ufE~__YxrZ&TW0Ot+Acytk*=w$)Ry+ea1HOr=2XTw{cnrVki=fp@E~#Bv~nkA3eT_${qwt z%MQAq?M z&`1@VC^0ka;1(YHMu155L7}c20)P*A1u60<^_mfpb#eQ4)pqNHs zPO`%uqZC?B0YggAXr7W>BHn zU&8bGx`B!L$`C;q#=LTU2I_}+k3Tr`*tm%vMm+l!$O@UBngd1)tABCR9{v?#lD^NN zC0Mk)c6M(^s^)0bV7}{c^ON2n-mspJ6VdVxr{z6Lih&LW#~e6;L-#%F&FPS{oy>#y zSHkK@!ls_)Bp}~gh=ZN{fx3G@qb*<|YfeAkjyYSE( zz@M+>KeDd;#S9k6sH19l%Fk9h$3xWoxw~|1nlos9E|}4I%BaO5f;xaSBjKlgYoaRv zf;lEv{_h{?h_LHlLHiT=TdF?SZD0}$L-8Pe6sMSXL8&?lvNeFJ3x}tEJcyjvNg%D% z*~?R)1C(Bo=Sv%=`0m$TG`!Hj_O}8y0_^r><%qtcSoI7m!#vv`btT=!Bw}V?J8`0T z$oZC~uJaUMPve+8qQD%OgfL{zN^&DUUB8Qgz9k_R|M6`Aya`bkJ&wV5OP6xhoA%vQ z^d*I6MwP{X*D&{5GSPC3(pAQ+pn;k#-UrazUi~b#vhkyv1L)Hr*)b!cx=}V9G9pL| zV30TRwf1krhpXSrKVd-hPB3&d{DAPw;`sau>a`eI72c)IN$~%C=}9UyvDs)&B0cGr zFC8C*Q-rU$Pc`I4z$V5_>^wtL7Z{&W{|yziuru1%5MXV`b^Bi1=cek5)SOAce{51% zx~Y=R#7(BdV% zs|x_@-g+v0qhU2O`T1(2Fy(DQYxeB4E*gwjpe0m+%<=}J<1)mC{O8eaT&!FY17G#j zlqQOS$&|p22=lNlpbw-HyLw?Opjhm1%s5}|r!G*38MMoOcQCtaLo`$kiTbc_J!QQv zi7>YoELN`^RcLO*_x9zi5IpsI$*N#PArw{2c`&1=t9)u`d8-t8vJ*jC>JV0Vt1fQC zD}+D_^tLp>jt&S;Xi-da7M*u72C<<*0}|Sx-%-}dIEZPL+W#b}GEn$Qgpg736&$Js zKgGB*CQ9z*6s=!;EM!gKYt|%80lyrGJGMKXhGc6e_k?DTo0{?9DVp+|_EO93;9uvJ zG04U4-=iRS&N8SCuy8%VFncxpljmzO;V{5!Yym^&xle&=lRxkp*`?}2yQuEVp}>iA zYd&6GI&r?wiH)?9F#*gnyzQw%W736tq=msi;J+Te+$zGXT_0uf1e!#0<)xFNskqpC z$eUcL(~FqBA&j7mc@8!fdMHb9Mg~rT+kYs=BQTu>*n`KxpP|j1eibUKx%wIIE>*mR z%h<8{t%PC=nsqK>O z+rBWsL$n(P(5!wxCr@|69ST-$XBs|)B=+M$jbCD6?Yc$ zlGb-u@P{pTZ(X{SbM*z{`~C<4^gK7NbL!;7Iy^B6d2WR26r&Uyh(;f-p?|h_l>8g| zBZY{&#uY81m+@$77gV8r6VWw;ul=`(_K>%ap%06H_jz&rDdZ`!{myrwOm(DH4l~6y zk2#0S)xWpRz%@$fT-}0U zHky!Ss+c-Tgks+(*>7HfD500cJHC3H=9>wMJpK#GP&>;a7QUPl7F8C~|CRp=;df0^ z;XEkWLPCxSOt9u^5XyWxI$kY3h-rJlkhyqYRMl;8hSOl9RA8s%xjFCt;{)eBNUEhV zqp3>a1d96@W?*NI&C)H?Bu)keIR8#9UTh9%PE8Gm8b5bR z7eK0}PxuEJ(i?*;Cg>V$jH`*BLD|bDEsf>M?Y@6&M}g<0f?~6%%Nv<@yT{ccfWmz1 zXZroy`p;`KL3k(qUxU+?aSIc}rCO>OBiEC}E%!@v)RIy`8t*Wsdyv|+YnG0TTlMb7 z89E2cY7l5jNU22Syu!OWS3Zb7L>@7fz0DvG@90~pQ?5`s1(L*X$k&}M>Aj;3r2e1q zm3~Wr%qqiLGw?Xc>ox03cETmzPgV)jM~~aDubzj-Wjkilo%*NC)S2itmTLc}&Zqkv z4`S0#VH~(?$NSxK4Y41Hu406~G zO`NlPxPEmO*Z#O4hUsw5DHzkf#-37MYR=s(BY=WJvmaH0h~Z%0QMWu;y9o>kveMmP zule1Ae$DA0IqRATq|!%FY!L|-XMKkid!|2gx3id}{L%CZHL78f==oWhT>dAD^D<8X zQl`lvEBasz*@<~;LG#nb8buDtnkP7UkH_59o1Mn|4F)GfhN?ME<~LLxtKrT7m9`RF zdcNY#++Q|Uw#i%hEG@(`MsB1-=z-|YBrHT6sybI$JJLDbhZ9Q6J#qOMU%JgPl@iuS zU$?E4^QU$hq;E1o3WHu^j8V%+%v*KfgQz_ekhC|-y?%ia`4Crbo?KsYjbARE_)4_e z`O+Q-&Kn-YC(M)r8|Lt49fL%i_ZnRT+lhO?QbH2clNUz)V~xG6Qm;f%1xg_9L0G`X zqK4~2rE28`Y#heqE^oE&fDl`*p~|eA9veutM(%&YN+i1I{VDnjk%%giD?@kvDLxtX z@*#^&q1iZZUws))XgS2&E@Hu#;R71a3Or6grHuYd z9KZ!h+vLSNa#APL*HNNlr8##qRdp*u)cG2-Z55r_CxVz*6*l4;R^|#67I*z9bJS+( z*?fuI+;p)X2m~0XI{_0jZpdumv@>8<_UcC}`a9L0<$A5qQy)R*Z+|2!LK%ir%&Br% zrfl^4MWR&|31Jzyj)U>^Wmri1WTq&EO312iM#+vYS`yFRziRg<*!HT@qz;^Ms0~U$ zk#Hry@(kPjJ&Hv;t68{}hG%TwDcL)MK-Hi+E26&3Y$w8J>23#Zj1eR`r_FN2O4ER-< zUMR@_l^N#Hh%xqm5e%~*<9CZ&z z+|bXOvK^xF-a}h=1(9dw_m3^(#-~K?RQi*?=9$l^P4V=!w(7Ieg&b9mv77(WhiW={ z`j1ocbSH|@)G7U;9OZq&RIGOEyvGVA%ii$@F|Sc)De`=WHW!{{c$z z`P=Uc90~!#nlBvYI5Ct+#w;(w?Q4kV3v)pmM9|)V$c4V+%>S4>=aeQxZ3gOHb5Wul z&6@#*4qT1$_Jw1L1UT`CtSNW9+R5evy?xzY6y@UuH2ru&ibVgKWNZjCkvc^vgtlyI zT1x2pcCR%AivhGvV7P70QdDDjMe$TwmZY_iLkKR)$4eQ-N7krG9(V-3d*Zl(S%c!1 z$-%r*G;&w-=HPQOn~AZQJ64Ux%hV^8UBTg;s6l_tu~mYpv(SGEDS=`bi}r>N5)M~v z3lyx!F|Mw=V-pihED}Pq6*H>=ynNh7*rSn%8U$xX){kRi_2N;7b^NJr8QDbn{D!Xn zRIv1rObGK}cr2k~8cm*5>G-t!>&ROLXzNawzE zrHUQ+zNd*knPyOv^b+tk|M&%w#?Y=u_R`lDDK1C`y zq2efl)AzZx;E=I*BI2!P?65EIU;U`yu8S*@>=3e$DWp0y`( zG)hzNeeP}gAQ__|?VlW<%0aRK!rp)=);5Pz` zn`d$_(#zhRX{^=JhEha3Sy@vKjVPoX+2ft-N}i#YA1(*=q){~hTVh3-+`{j}tBwSr znma1>BYIVOF@cjy3b|j*Lbw{@D*3Rx(w8fHIcOc>98{qp{;QDF$DIoup4$-$7Zu^z zW2n>ItGn$IoYE(k@yJNvxmmBU`rJ*v-2~Yvz9^Se4;>H3D9c!~jLcVP@C(YaZs&ME z?*s+|3Ryx}tUE<|M2WpZV-_}V1V?coPDKnSl6=Y$B8vvk9z3sg%A91sv{cu?`Dq&>bP5G#qB4fcvV=adwwJQltA#*gt% z_MDA?@&vN}+2|lbyp@=bc#DZJ0BT?bGOE(6vZsbo9XPq#2u8WmiwtoS%0=PM9`a~< zNVZX{`VO9RFS-uMyyre~sIAxmPSGBJkG3UM#!uOH6eE-+r`~5gA2`gB&yA;U$iBp{ zLv*3uT#&#{Tj2ZQp8PIn#MYyDCJu0FF1AK;Jr0AgA#Gl0qMG|l+o6lQv$6hjb`dH{ zDK_3QEaukFCzGQWV7PuD+@#5mHgm&ckH_WQj=Pp)o(g3B{ZsTR2#uKq_Mo*+a_Q|g z>gU-^9eFwHc6+z0oxODdSnS_<<=se3u*!uS8B>4W0s)^n&8bC{?0eP)H&Av%ufVoB zwFBh{C%``yoM4>C$opZl1`Nt+FWxIF7%kI1Gkr8zRIS6nvVB11_G1zJyTq5a zn|L9z7l+^NG2H2c&y!W=^C&H;j4l{Rl{deux8fV@kdNFkaEEo*RfRli)ns=F2MFtc zcS}*vkRY@mxbKJ~-q5CVCeh>zwqLDWGT4JrAfF&-oVNS8tog17-?(dRN6oTl^kq7{ z?#R>{WAtho;w&Mo0B>|Qpx`vTPlzINrM;7@I1{>A40d1)CmW8m`qX|~X3T`RxB{``t=x~w5!>d2IJ3RBp*TC|n* z&o&!Kz0o_;5h!1v7)(fVj}R9>%fg>#IqlVqEl`kBsIg>uAm>; z()Z_IC6ks=DCp*CQBa(tD>^9x#ks{1&BV-NIr_-aQLAPQr0o!BD^JHF%KxUXW4FZ4 zYrY}tM@ND;@s~eJSO}ASs#s`@>-LrW{S){>ZUuugjp^0o7b?H4dhSrl7ZwaWJ(Cc zbbiMwpnaE%I0_?1j1c$?bMw7#yxki}g?pLNrm|5-ia*y*9-vkwObi?~fZjlckxI}H zU{+<^uegd=OmNNnuk&O96e3E7CQ{$u)m=%s=5YF)g!tPo|C??x56P)r*0@{W;hm># z3se5q1Xc5yx5h$I{dQv^N|2U;f=aSEU!21$@}^XI4P|o8sz1&mlbUT~U|&XpJ#fnM z@&GwN#=jA-FeKlQW6P0hOGEaOju0?1V$+%@kSgIZ60c*d{pKHu$|pX*xl)&U_|G?my?vV@n{ zm4r^L%-SP9t(R{jB)Ycdy_02Qtp+^L6<*$s~j0}#p4 z5Mf4RHojXk_E6cm*zNZ2gKP)&5)XOSKLS6$aO{B_V3Li(>t0#y1H%TrfKhHqiJK+{ zRIsV@W~LUmme6sbH{v)wRjD(kxDEW(8>IXj`k~s305Tf5(kMs+R0-zAZ5Ar-U)-I9 z+y=IKOZqe!OpeTIT|E}whL?Q)3%wQpiAX-DcMMYpq@p+vZD@+2ZsTec7~R@9jt@zu z^Gk(-@$h>noMy! zADQV5S7vr7dq3BqZD>PuEjIUrGjdxRWyq(lg~(C_6{MM(1#Wq4lqkqW&0q~1SLO{l*%OcIC6R% zdu6qnYyq;N;r#)oThE^TxxW83$sx&ol2_oRs+2WQOY7WTV{^lYJncJ;G&kXfRgm^% z2LrGu`FcW=jH!d6qv~pkr2$O;29h0Tsi+<$9l=JnAj$2@T|?OIV~Yhk;V%VABaq=l z?>{V#r$)9jK3I8uKnA5%>0PBb`z0v;$ZSQC2-2+yLEUkWOob5_i?kSYq$XpU*zL`{ z;Wd(uWjfp4#C_K@q;|lvo%F*L+3cQyLSMLm=hleuxn()f9pDvpMjN?xs47b#56e$kNY$&CW{_loDEB|G^c;qkZ7oX!jr2V@jML zbqxkqh~U=_9;5SxXWczN3Bda%p~Q9ByG$`4K?{V}ynu1A02X|0L(FCf2D4EHXtds0 z)ux>4j1d(Tz5&vq3rWZQ9g#2$-?!Wy5IBcoW-tI_e}!vpc|fHx4_RK%@MH4+Jo5k6 z^tc=-XTXXOZ=p^KOh%fqIVg~c);SZ-t!ajf^zh14-rgYgCBpX7mh6IzlC(b@w<@d#E7A%7H-x~LB(JvgV zKPm7<>MLTF{^9=zTFS4Z7yyh^43tf8Uf6u?ZAcqi4O?Mqyo#`qa<)os9Fk#T*ce0% z|DqisOk-r;!M;t1;0qPP%z0GIprL#_;>CkFEXS;i)PS zir@$zrlJpLvEcTIlmQDE89g1{eWim~TF$@#B@aV(%TIFO?oId^3_!xEf{geru3TfMtq-!-?Gtk_b$0- zJ?a=M-W}~C*Z(d2FeoP1k~#BNS`xX2=+EJ13JWGG8k|3Zl)=>=B?Q@9xEJ3uVEInr z1nsi`IuT|fsOmq96HtDBK+q%0st49*&V9G(5{RZH9kMc^di?*j2)X?Vivz_4IKM_b z7b2i-3?hOcn4yqZ`=*=;el3#4QD9p`5Brz6y-n`6^LyoriQ{@^(ZP6_<`Mg|P+v`# z+XT5Cy4GFPhEd=n&f%B1$FFMNcCeQCZo7Q-S38)d+E)GR{iWfj%#kOU@rztdL&Va) zU<%)HNo6B|kF=cMNx4s<+Aq6RRo$-)SFVu^LRZWQoKb8=q|nx-wdA=0H2@)JZz?&o zw79ebMjr&4m6zCj9J?LIyP^>6T%iGgR2P|zVJ6XkTS1Vq8EYBo#W$FF{JNT@std+_Q{K;RVcJA$(NIn?+KZ;UzMI9}NPJ|5s+5`0)l zv^L8wX#>oM;$tBk_YcoE%$iAEDjRM*iV)&8)to}8W0lPLamHIWvsCwpcuAdSD3d!# zb?`y+1>rSJ;^B_S)>Qo^N%@%}V_)ok#muGJO!#>$^`OmMa*U>K5FT0`3c;Ta)Hj=d z6~%74nT$yaN>XO$R2>gpG@;LCYtoZe< z!|c)+&C&^Xx@|F2#K|w$P7S5FK~-M?s$kUjzzF+59%0GzKqR4mY5DFw2Bu}PhjiI` z3k^C>1NwujoZ}x*vjxd9~Js-Qk9wAeO{cL-I>Fqj8-h z22(Tt>{yU&@qNPCa^wF2_u$pN1ik|eR=O-)m>d_!!cA{ybrZ_SUzYqH%Rfr2G|TJc zy&+)+#3H}hF*V~nz@2ATJoi+fC4gmgTEOD31IXhfSSFYDQ74GlB$+y2OLp2H%SH5t zc$eN2oE}b`Zl6E{C7m@0hSw_^ZS`@*pOaVSQEj}5#LuV9lD_`}#f6CZoi7H1$I|=h z4`msuP@2s;q`=i6%jx|=3+*q$+1Hp~Gq54hN}-(2fqn|X zsJ^|pSi+^SX8R3_@@=BsKxKOCBX-b#OG8fxl5XzPpfLNNck?gA1!g;wDpT2j=V~G} zuM?OS9)y>JUWeg1dvad~VCE_7l-4Y`kx$2o1jx z>p2i_R@Me!CIbN3kIi3po^V%O$eSF=6pd5$t2RJ~G9;PXX&rqe#A1vx^~Uqi+x1gN zLzR4il*OuflNZVY9m!Z?BdM|PF2n}RCJAN~893e{ z1K7l=5Nt+2nin9y#r7(_05pU}j&Dj1y)Spj%NULN*w5JIo0iqddzOL9BliJkU&t^>`AuAU5j`4lmJP2t#1#ojbAOM*pPR(DV9~0^GL$IdW1_meH3u`x;Z0gs6RJ|*(M7fYbdqv=g|$2i-lRRzpWRiOl zOrYd3(Cs@-eO3bI+<)3NRe{M+b1$H`bMql@8YtCi;`9Js%Nf|7TA)vDROFy`nHi}&>IG?B&GJfJ;7pXp zhpWVV#=%$HTR-xKNZxvxdnyvXk_opWMxK)vC&r8H(km|9za7u;IM_e<#0++rz>pjr zo{_+kWtkr|2_}Zq(uBMCxW4bK^A&TVgMsY-iWa2N#2Yk|F~!l2Awi~~wR|CvAtZ6mz_vVcC=er*7OqhzP|07ckN&pY0VNNu0}U0)V}^uD;|EIt$P7 z$LFsKu+U|t-+9R)#)k!vy`JJZA141}$>Z1A7Q-uFf(N4mhYR^h z>`m;p-z$V-wUgt0Y+*LR9NYDq?+ossxd~m^gq<9Wbw^Y2!^WHcr+|>W*qANCp&*VL|hHu!$-RqS^?Ek z*HL2L>30wYi6!O+)-TO<#qouJ(=FNZfx84`52%4x=*WM@TE@A__&kJYocr=U)V6VJ zZq&-t+^>HNg?1&K4kY`a1=nN%=y66(G!;ZQ#5(85{;YqK5gYiap3!NAv8C*+tw?#U zI|n9J^dsk7O}zEh#2T~Y^da}C8}wWvj8aA~Q~|<{aWWh6ekAo;3fYo}T30f2+`Ubw z6Pw9qJKyvhM-R7Hw71iwI@3ZWb}stzU(g8IRMk1y*k-@5PCJ_WA8cN&gynB&sg6U; zn<~e%k~gX&{IQBY1k%LhUoWSh!gj5?g_(w)uc*zJCH;2(glPllBzBk_za26t21cQ} zl{c6!KiKVXR}-h!JO#jYTI-0Xr?A#S=*DT#oQ(l%`^Z37Dh;nLpY?eZ>Ud_Td7zT3 z?Ue9YwObGhpF*cGSlYBiAEF{YNp&DfxN9{|`+|V2_?Ay$Hb6uWhN<(FKC^7aqEe+X zS_*+nr^!7!lwRJQC~z@g|lPywi7TD3FMy^z>dQ zU`aFE!%>Wgx^E@l4uJLyR}~3JjaydVK~KTNY?1K=)Fer$kiY$HYo3sVU|H4u591W^ z_1Bbvn;=wafl94?Rm~kwIR=2rFV!ckN3z<$V(bf;%p2~YzU*OdPxUkPZ4i$~Ac0wi zrNL^Z3A!;$(8^Ujflj=Fj-?z(naBcMr8tYvnANUIka6u##rdtyO7OZr8Rud0A! z6li}M&*)m*3)o?|1s(ALPmxf`qe{)!^-_(G6YtiHV&=*VLzEGKAI95jMlPm5M|r!) zSF4a!#C<(AlmHW{(k>V3&bMV&&~R~gBNITYAICwy#dt(!4lCg^ZuhzJHo7 zNHL_Dw>SA7or%7mn{Pbp$PvJ(<9T7TAx{=JLiJcd0X(`+PCX)VPI2wF4Br zn#=SHR_2L+5wiA#aQVdm1_HSw1Zo!00i%orT0i!!&mbN?J%kUUAz-k(bY4;VAc|V2 zhtF7@p^_-Zp|pGOuN+eD511!-mxPpM6>~3>z3Xww0DNDr4h)JEG8rH){IBrTq1X1) z?D+fR{b{U#w4)3hPHa@wmTnhpX1af}@Y!&`BYjmgTr8hV^LdO%OG_fEnty$x+J3Fg zmFq&ftCFATH9|JPUO?-tS!KBWKMh5>?^iiY%ifF%v<}h*y~E21!F0afilel^Zim6+ zXfTrBlm39dlMAu>N^H)l<#G)Y1)-8&-eix$0+@jn8dZ4(IU{z6v1!CgWD_9)yLgug z{M%A_3xq#eZciuSF^D|6TiWxn`xuSN4B1pxl$3p>6ujC(ctch-c;`iU-wN_^h+>|i zK`>f&^RQwtpDqf&GR$ha*!le1<|o__ceg3$17|lqlesnfV(Afjr26EQwM+}fcyBLK z$2PDbKex>tFV9BXnX}bm_h(xKM_kvoO%(&=RtbEXPtFG0yp=@Io1A+Rd)Hz0VH6x} zA*8Hy`5uM5SDh-I#dcAhJ` z%fI}@1xBGj7CIr>SpykQ0mUjvN?mN5Ky=xQICV4#f7Q7LV%tc)YpOpsxrqplz~1@( z?liU-Yv~<@u;8BQR-2rbOg{-40J6htDZtUi$acg`TzPVG~c> zaEp}s{1a>m^zQH0kNK9d64~51--yIv2>-W4a_yO~3lvZ$niq3<41Qi_9}6n4t!g|q zWe=7RJ62@e@8YmM!L=6PnXy;;#sDH*dXG?!3X*}O_KbWUl4Q&F2-#3F4DrPqGnC7P zKm2+i1QWcfE-F?_(^>iPYm@0rS(+&{*_Cr5?^vrwKeWq=ThNk!L0o6QWB`L&oF* zohSxf56!h%s$AVP;!<`jMiqD-Jo&ny*yx4D+qJ>N(}Gx(PWz~a@_mxA;cJ;5&aGmM zKRM0F(2#Ac^u6T}7vf!}f-q@_y82V6xG)z0ED<-X_f=rFdl3dqhBA(#RQfsBEF!%m z2B;<-lMj#e-J0)pCPZpNADRyASNoClKkjrY?FavI>?7*c%&KVhG+V(M7c{>=)|jWX zEdMp)g^%kff_p*YN7F3V=Z=1m9f00G+JPFGdoVoj)5-qsX@nF}SW#aq;#&jX>%)## z!KraAV5h8;dODI&G+X2a1CwW-x8UXBi*|`VOkbpFQ5}ff8Gv?4&TVY{grxQ=HqH=} zl3k?+=!MYes5^3QL7N`1;Tk|#d7vh~Rl8!9z6B zq;4?#kovV?Z%c2!lLbOpX^PUgUtGv83%8{`aWR^SbXs{XS^{^gZ}Q6QN=!opTCLQ@ zS)?V`*|)?5qlJnx*fcf5=f59qR7PcL zVEPW0-WOAW5g_YQgxlWZ0y4ah3{0w-5JK$NJ3Ahq=*=SxmPEdl&bXFlQBtkv?0tUz z*3&;*>b-Ac-jh{Rkc)S=k-PuKT9sp9ibQ!vHH$Ok#8d;N5(Qn zORXG#Zo?x`<9GBlrD~3`VzjDmtxdEj6&7o_9K(v3jM{Ed<=?MRxf1LiKnjDAp;$;w zFZ+-74es8Zw7g^T`{7S87JSl+eS}om%yd}`smQeC;8ab2TN67Brs?Eh_!|Cn(wSd#~&_}JM*2V*qQ1~LYYkO>|?+l`Zp&diqY zN#F0;ccAO$c@>iYh(Io7w|4Z0=<=A1dhd>|MqxL@o>&Ovfh|<4ATEhg83Iu9UpxU6 zEKr7?CVN&jwmEeoa_(1NG>IHF=0Gsd#U6X=jU5h%tpN| zLyY~n)6;u6yVhr0aLyRvZFr9Ii}z{Yy!>EOr!T$kn9yn~I8@B+xW}grlb2cjA1TIf zBuX#Q8?w;cgcGqMQM90q-o~{X=Ix- zJN&6Fjv&cXM{_i<9^fk(FF>}K?G7%H7m_h{I-l7hTBX4E#q#{2R~)YZ3#9`vh>4(T zK4^v}0cDLo^VO6b+B%1SaATHTKML_HGch1!xe15NZmdWAXubL6Pe~<%n?Y8#_H3Q! zqxE-W%&|I_IV9snNUiRF$Mqgca}T=RgR^LjhZ0Ly5KrKmm7OIt>aT-yvu%3YBHQu~fRDlp7J2oMn;T%{)-0lBj5&JmVw7}V}f1I#2NoY+L zk*DAS_b@D^R1$sv1TBB(IQXIc0|zdG&NK~^Qy_Hn-x|H4FY=y^jpomk_jvEZI2*L5 z-MAV>%tH;UN{9IosQ0PL81^mjMXhXg!(2m(t?Ft=f6uN1_(pLF+a3CbkOjUzy`Mhk zez3bnvK{6z)VEe{R%*AM)VCqbN^>mr`l_!<@vhUjl4RLCyABnt0RamIHz!6r{Jkb70CSX+Wj#1+9VHSH>B-p*#c9v{WbR=7ZN9)uhYAODM(A)bzmTci=S#mo#)54Mv~?NikLTBhU+rBXUMtZoeYSmq@`MVgjwuF#ugqane@ zS<-7(Qtrha`WGl=Ez~(|L(6&>vax?Tgs}ibu8<^RT-**^sCyTT?UX*FEvqjo`OL%B zqJqOWd!buE6OdycF;VgwX?h2%q@mI|s~LO`KdHlkD95v8QP$pUq9Ie~cw$v4@{?NA zud%@QkuRx3(tKDTB41of4>?3G9dS4*kWH$2y&|xM<1YkO5g?uF>28-IiNw zi2~6u2H0@=Rcsjq&iSdM#|DeOas8+vO2B>6(O| zx$GXX;19ky2&qy?A}$?>^bljSNMAfz7b)~}1BQX2LrCak>95)J(|$?Sp3?Rh3!RjB z5MD0sbu@)cS4OuBzOZy^`u1Hi5iGlq%j2K+L?4+42%nb);FgR?L3F%z$U@rLpZ?%; z9|i{SlHOsI_G@hUk(YCB=Ro(bO)vB$(YFKm<7s3 z#kETn{@UwvmjLG=mTX*AVYTg9Eq13?%O|<{_WwRZcP*o3Saqyeodv!4g&d}tpy`Zg z)be7y9MCl`P2MHj1%AU|&E8l|e-jhq@&($LVK_uzIeHePWY2-~Tzp{V-nV@~{?(3% zJAiT-8WfO~k>hsoWku*$=gyFp6s2NMU<=mV3HKoft0~U=Pus$$b-G=n=j-QMgJ2&V z8@&nBMByGY<#)s571m!;Gjs2onBD@pzfeZ%oC+UWcZpFSeM*{vnj7Rs_Cs3SNwO$_ ziJzX1gx#&nn<)+x92O$J^R1jJS(hN~S1`Nv5R>fI;Ht(w;_fde>SDg0d9rf;pCn#) ztF$4i5KPLXpE%spk3K>XG}?0+`0Y*;D!wfQwVhkZcCH$BN6~4IphrK_(@dBuSQ4!C zz~bVPg>l#J6J&4Xs)n{hik$iD2g2fD4CR6RP-CliFumL%*x3UvrIiLuQUn!V_sfcPYwm_bz3$e)k9suWA7 zf1BB`qtYL$eNLF|xB0t;ZjrC$ov6k~^B<%SJKgA*U_PE;+k$|nH(plw+(3XyCB~We zO02`Bwf}01&36nR9fz{R!KcU-HSltOHZNPie*;ytP^5`SNq$QXD@5Q;ICAu35f*(@ zMnM!n7C6^M%@RGh)P z8O|?m@io&n+tB?P=36p1B^{S0X3ObkeEm5bogs7HGAl9IG*0;r_uI3)rS;ac7aM}F zjcs@V#0+3VwM(X+^f&(C$ROG@n+yf0{PwTI2J&WQSBPCmN@~?o_@0nx%x{ETxTxyp zFZ0~p3Y>T~x5hj1A$;!n-#B0|bl21!(ea8@)coP3Y*_MHO`br(xg#WTuC#4!`5=so z>7a9ge9g8Z!lYg1N_RA{{Xy$ABi-d`G+Qli9<{G#6&PZ^U|7zO_R9uD}$!hvo( zYIK50Z385<^PrN;NHoQ2zz;GzVhe`#B3b^TsGOJ3Vl!Ac;$umDy0J!X;v1T3ll~7> z`EtXSspY?nOuGFsmLg!B`*WG%Z`bt z38yTUHWnb)ojHSg$iua#>^1*~SIl8~RsMo|dA^W^+_yijEN6pKOSNT}<*1^2W8_%8 z^J3n(P?97ThaIye-2Q=yL61LAl`hI|zAyym&DE!l()y9Sz|cNuL`?R za;u_8gI&|@{rj&?uCFUI0Kdpz8Fl8Kln9G*ssZF>yy+CM*V-j4d&V?!2eiig!Ix*B z9e^3`xLhZ|p&C56eKlkO{lqGaR6+UHil-p4*OiNKrBj_b&KWMQQ#CHy~n6ao}-!Yfrb{M3Zy-R0)=B3H5)zUsdi1T z(rSg5A?6{*z2=Zye$TBjVjni1wLkTzXMeVWuqh1vJN|9wTeqozJonKkKK&hH=StdF z9R(U&%-ed;BTSeuJRCiYBhFwml&Y~LLV~)MHOL1Y6>bMY+?g_U%8ri)rxz=)vS9VM zKPB4;WcR9lpw7;CNMH~2;#soDJguhmDDIL~me?HZgbYFVFG6cjFPA_DK!zUxpH>&f z|2syW%+r~90Vg}j`4Iq}dc)KjPPKLG@s;6anejP9bHZ6BBgjN|WjSMzUo%1q3(73RG9D5AzulaZtTy7{=Ji+~+$0g`MPw%BWQ;a+>%FA#DbQZaFtDx3zF z+|Ld-2J|I1zf(jx@>S>C*wd6D?kJY@s}?gR9LD=(AGmau80Pctd88oB6e4JfGez4c z$XN;Tml#xdE~6YJ*>LC?(XfLpHNX1JI9JUAo_7DAZ4jtCIh;f z`xwwgXizJTU*6O)EY593E;smKp4@7z2g&R@M>QZ31ijwyP{aQdY}uZi3&G;7hAQD# z%Hv!C;*i7Nr8~Nvx2nfS<#zifbx~a#<(*S6;czGmV}XjVYPR)Nz#f?##jKHDIt}Yx zg&frd@>M5E>k%yEM!xnPyowH#;S}%MEF&o?7==1AiN>+nsu(q}U(mY3p{s>#DwOk4 zN4ue!w~=fjB-mT-9d&EQ%JZgx%4|=~+-~2kiQYLBk}>zUdg`knlWqs~?{uwSOKbLN-;hWHX&5@i5Eknq-!cX#ZyD za|?7l8xWDss|L?b2)s!hz7h#xbllfkL;rsZ;KjZ4z#^IN+0t&I*6@0Ef=Og`H9-PH zbB^6*KxG)i|5FcE2Q|hyKYHfxhqh-M9U(DKeuq>)(`6a60|O;Zm{+W!tSkWTAME5l zcZU+ZSPDI!wu7J97WsY3f78OJ!)^ms4s3iErq7OY7yh=&v3aze+E?8cu+L3p<3cM# zRkcfuyJ^l;2lYe&iZzv66Ri{J3~y)MreM-R(!$EbO!Qelv{IW7mVgjU4JB3)Q`_+M zpc9d~1=v%F1@l_PcmsYV4$%>z&F;0~LqFn!rL{#ur~J!Jxy`UGF4$+5c7sDegZveX z;=@l2LgNmRY!=sJiFR$zQbWR^vQ$h6^e^jGJDc7+Y_g2>`SX!AtwMqIc`~9^uW96@ zc@_C>WpzznFRO3aR+ok;@$E@xhmb8Dmok(lUZ5e8GGvSl*SLwescA>zB6`rine@4` z)BDv!FkVSL@>3ck0^+`$qq=G~sCJf_$Dx3rPJX^u>G;%BBqbs&cj{oc-$hxCOa!z+ zpay%@fXndo#Pnle>rN}u@@S$5rF-da_vx|qve%Y&6D`DJ6j@FhBc>G|VSlA)7RW)` zqp&mz5jO`6Y!x6Rm;N9h9d5giNoa^7`8s+Xh1G>Ag6wK$s@@0J;gng^Z8_4KtmP0U zKNI*8UEIoL3yN-{qoL^%*=a%byo3heTE0mP^CVv|IEbs%N%9o zmF9ds%BU&T;fR(1+YRE%Ul|&U^=?e7L`VKDBb0Z}aWG9&5KrlR^z&D#6x978K9)RC z8ADB7>A4FqtjeMpLrbJ2)GfJOxolX1=p(<^R?4PmUwk$!Q|t|B`JV#!KAjU-grL)_ z>CJLZk=H4?)+9EQK)jVrKkA@X?gvMi=7Oiex&JSd;4rv-bps=E^m)}DH48XYwU0-9 zMC)Rue08onKnritZ=!8G-)L$I8du0kg*LioQ6=slXQ70Bey*weo9fFV!f%csEM`r! zB5I!YD44208{Kt3!FKtq0kLo*UBSy(_4uMwc-|8?2o>BBgVH0IKtFaSbVL}CCC59Q zfpYyD+#+={;NtJ*7)Gzz4C*%r7lbCFB&(f!Bv9#~2r+`=6}94$AoDZ*9eZk`X1<&d z+C3s^JmhLz7A4xj|BARkhmN)3gpb$0K_B4)rW!mOh>Xf8x-!VoP*Ts#U{WUSpK=m% zgZJKpBnxx%4arZLb>AcgC0Q=hcS>}fVZ|$T+{oF^^#XAOo-I>p$PtwySx;C3C%kE2 z^kko>f;M6AB7?xP^Z10*Y|MPK{;ZJ1`GBabx_;}Pe6^ZL@Oki-p#bj5<9zGDPIub* zT|&GRR|kMOC5U}$r>&8yF9p92avsi^8fkVKIO`_hs24(sqE0Y7*`RYeX7v-L;C`u9 z_~Y;HC%pC;$jojPRf_pqsrbU&0`&AvNIt_oMe~&^Q5%7=SD3GsxFb2zwz8ffmZF~W zy!n`-fX!v7%m9M%{deTyuePbInPQp!gEv^a&^jD|ErRC>E!6eN{x#iwZWb(UB<_OE zfs6tt)Sj#&L$1+)oCqD_WqB)l%+h_OzH0>Zadh}H?}Ws&Do0G(VOXvUJHS_mO6@Pg zmpZU&nHV~FmHI37UkbeZKb1uG#fF~KAg9Wivt>k@OHS(?%j2BEW?CN)isR`Ma4kw> z{agQV)l(VLN`xZ|VNu70&7-GYa*_S5qSkD_dTvyPhL4K8WG((93wkj=Y0!jPl?@YF zO9J#C3{DR>S$HSN#d`tM-kUp5koE;)AJgCUtA}S)HVUv1?B#viJZz|JY0tSZnk#pg z38S@?HZMfyx5%6)gDIrG7!@N@#ZC``kdHVThmx@K6_ z@?ilUJ~u`Z7qZYxvL~R-iGMXj`W3x;N&t$x#UXzbb$X*EcLbu5fb#RvU47(xuIxVM zTYCfRC!jf^r$sN$c}O_|M5k^di5%HQ=~$T$lb zts1&ON48kmo=mh$E8hbL{^;uw$H0J6YKrPip}|9fT}ZV!vrmy@R8L@R>S;kFKO7%a z3f;JR(0Kn)Svq1UoDmbN?3*lGeu#;G2JbR|yMmp!r+ z9^%1UH0>3jMmB&^qm1Dv=Ad-%mi!C%oo%*BA5}eqGj`*h#|bvJkj!|*7E)<7BZ^xy8rHdL zh>V3o0(c@9Y%J^kejrfqTYCZ&v=SG0P@a@sh+FZy(QVFc&FQzL-xBWC2UvPdg2!ZY zvK-6E2&PcJ?~^9!?nDr5bY{)JSI1|^-AAGh+vYk8DaUB+b?`9 zaDNHP#&&(-a)x?)RB5$ZFk%Z!ii7VjS;MBbXTY2XX`rZQj;TVVoDOXI>H-~fsJ0%IZ7 z0?i918va-={fx^0H!3O4RYKE4A;M+jFlq}tWR9Re)_!xN-ia4X9oYhia(vbn+l`IT z47jQ|M)`*?|EiP*HLzS`KM*%oK>SX4+*d_hwbZnu!>I+UW zry6V*s;?ZzdcSG6*Gw!n-cpEm`9u0ISl9huYWzoehsb#Dm>MT7qCXU#3_lOKpBx<7!DmC zi*XY?B&MkGUoBTTz1Ocnf9LVT&S_9G^kyYP%{2Wj%j5sGxGW=!OsF{t(Gf^OUk4{u z{oqm;$L*w_=}KXpFO68v&M7cSaJEZN&31V0(6S$Gc|hzi8|cEUKN}NO(XFjskp~}V zPm2Yx2Q-qqPRr=G1@bQ468la#m2^RFxgB8*BoE>W&pbU8xYbR}x8~6K;4WD)rB$MW z2ETI($J?B2U8=0EAQFOps?QtG3;cNx;%VX{Yqf;!YiOCO02aq?fn4eGpK1YPm!IICSMb&f;kzP#~k@hJ;OcHPtJhnWW zGNxEX^OU>+8-*(coR~Lx)s{F$DV#SJdtr6dnWyrxg|9N_Z)kHdZTLLLYnKB~$9xT= zOJmh`DX|#R6EjPwM^dVzX9|NFb|s{OGEbdTu4-pl+nDX&yBQPR7Iz&O!s}_Z=_N&0 z-~C?g_)NzIN)||JRAxEab>19jJ`G<&3^3Xnsv)Br6`nmo{jL4Em0X_7zJ&;;CFfXv z6Xjy>;w!itL|+->aHV^<@`o>c%OGl@CL=UWse$a*-SGu7M9qa~;6sm0ludw&df@~Z zvl>R%bu+Xe|6lHIGPma^kQSJcbJ6Z5_Yv@{YtyJl_Ff7CLnzt#XRU5KYP!`h#$%zQ zUpmuq<47OfF+yJsp^QfHa?(>JZC@ihNO~r_7Q?<$6LZi{RCaAth#I{G)*uXsy#P8KEfldJ^^2{!bb<}mm51#Q_&+Hqk5tdm@7RV>hoO2Bo zb~?Z)2m_y1!CI`;B9scO?L+MBYyo-{i%VF?9HI%@O}VUqse@1U@5cKFfxOs*@=)t1 zC2vHS3~O>)>joNK@MY{|IaWsupsybSjJ-n?M$U@e%foc>Yh1Il4Civ!Q)XqafBQTw z@)hw`q$q_w#x%J5q)g>w$i99GT+&)wD>1d47l06v8#hFnNTNmK?{C^r6^-#hNd2vV zG9!CHlL+g0<>*$Ai}`3Et{^+N4zHr~BY{V+Lk&F1!dQGF+J16i*1psEz}k|gB|J86 z9+B1Eoat**DtpS#WSJj2{6&m6K4TN_Lgone{EvJd5KeO|zutdcB!5Fj9f?W3lqqGk zJ*tXfD$l4%mW%ZB>a(a2TJ&*I#-^f`4(C%ZQJrR=Em-VM=4|ta-;zpIh@|o_@mV|W zooDpFx|RP?mXd1lEZ}md6($}fd{n9Yn z&QTf%ArS5IMKsQh=$T8)kuS@s?g|oC)>ILeay9cC7DX`;^<`15ZF-Wx^3O<{aR#j{ zyHj?HEXk4K%tMHUG(JSj4l)`4%kU&ksdVk^fO+HK1_4@v198i2p?|33u{*?cH0F7j zp2|a)%4UVc%!gP3i`a3!K5O_eBds^nqK?;^`S~$Z{mBkijh?~Dylaicze)Fvk)QT= zxJlk23JI29(G}{R`2vk>1forvp?#0LmIO^|(yj)6h`4sNYiNUb@EG6Ya$<+Y%>V%|sEqQ&qyb6x0AW3;c3`hoPf68z^f2SYH`U*PVp-gxDrn+c*{U+CD zI20qDq&Ixrox@Z!E5mh+?;T$$UCJGI+=0y+SE;Cw<+}E;5{!ATR55BPlduC|Rhvob z@WnJr#7=`vgm?^CH&gPhnCZ5!U9DhfU+Xz{fhAHj2ZH}ZQk2pZ%e=~+oZ3*v0Af^y zmHhe|DPQ#!;2k|wBM4}596_h7RCs?NC5Ck^$`F}T@+Uhs>D)S#Fl&tKcav#p!TG6I z8C-8SXA}7GoAlmVHaAXWIh#;ieSy`F7PP}-;!I>`{N%I<)U*wSIsUE70fcAKV zb!)jnj~f$QO572aS2@NG5<% zDVMo8o$C#KsSfPaOAdV8lw5564GZl1(~I%grj7Y_?aON6h{E~ae!>)xZ)iCT=fkv;jx2 z-FOo>(Jr)Nv><&8!otiS8fX_*KSYX2E}S=FeN~gZUQibzz^RAT64FD<54@aso#zd7 z6~L1u(EJ#FRC%xi@4`RQMU)Lbg9~xB9~qL~zFIp^c?u#dtpKRfJ^6kzKQcqDRSi~d zIpj$FC8wDZxh$erR__N09->gS@h z;M?X+`tOr-SKLyt1sN~yx6EE+D6&+)vd%)^l!J^c`Rs*)R!zQZ*Amv=Gs~$A*4DF7 zAtYpyH94S|7=kT;z%Yt)1YM~8O}w7N&Kc>dV)aw~&p+bzUq%@RF~8M0><&z3UR*I@ zUE{S&aCtrDmPRdT$;45+8)E~cO{0Fimw)O;Lx>JCtSnHqxcBHH9r5$c=3Ljz*^ zi~gj;D6Qg?*vl3P6TqsFz3G$gDZ+AGwk*XeF&CG?60z)7o9dYrJ-vFqJ9A*S&Q+kb zv4ne0bq-q9ir?4^zX&XZs}ILUi}Dv^q(*{wD}GRX&B|5_YCIRZD1F*no2&uy@E%Ww zAF|0|HtD8IlsKW9w|~PLRZ_C2o~kR zSDA~X+7SiNphBRt2Fm0BNkF#0l^3VEFM>PnsFYb=1AP7{Gp#9WZkA-G56TwX`hcA~ zq9xS`6PM2?O@b-PNOZq@kkfXC7&tkUQR{uw8sQ2-UCaHtmt*@eb0_Po0*tch|Ax#H zQ_+|16DZFx1r=^u-GJ>>?X6whnv@Zy|`^dFHIiwlqw`u-9o4kqrP=0DYbaG$rP6~#(=)IQCcayxcw)?^_w`%g? zZOvaqc*KRZ*@XD`I9Hmv|7Q1lN?SAToKB=nj_l{%!Bi8SR6Vny_N1?ZzQY~AxLNEg za1ey9$$9&Mb|MtsFBWj+F^upvS`;(w=;>l0MQ;0N|LBSs>Y7gME*0gc!Wc}8j z^kNh(G-FO8eW&0=ZH8PVQ~N>Kyx>Q_FjQ2Py}ld&;of`fVv7Ks__3BHmuL` zt+xk5lUnywxIc=)YE}KKV5HQr0|W~b0BAPF5og{4OO6pxsnJ$i(G9>xH_u=o6!(_F z+f0r_yFk2zgP&M;mM&3JuXy_V^Fkr(ynv z%>3^`7-L3O0n-PZVGe5Jpo{nK;-4gHTfojPJAAOevhZ)yPP!n3={xpGw3I$A8qfsa zp=`E?Qyjk0aG$K2pKwNsY@q<)z%Z^b$!ilUDG`@tp+#E$Fu+mYs>hwprz;s7VBn#0 zPww!~$G{L|3wPt#=d?AQ(hIpB6hwRX2@wG4DA^DX zUxXfy$gAq%Y;bfT>7A>$MJn_B{2HEbuSB(T`X$YmhnGvT!Dt4|IY#9Ghsn?0C^ZJ; zsw}-Xt4+tIo@*zsgK#fvHexP$Pws@p#Viy3CtK^q$%6aA+C;Mm8_YurxPH0K3Utlh9+yZ-l92QPwqou;@6@(q5nu^LhO1ik zyFFmdeFI>Xn%(p0Y%MRS=G+y5)`hpIU$TBFH4kxEDJIstOuQc&V;YRhS5H$65TG0W zL3x0E*F%3@uLPR6c=nN6ZRf*h@+;?Wz_@{@^3ae<=-~N>s$(GCz0U+HgCWlDu1mex zBH+7i;pa^gEWhlHlY2)J&)yW_oiYI3^sY5bx$^h)1*;~Kv+{HV`@L7Zc!sF`nVui7pvsKy5H#Jj<@B)ZARU#Scl};zr6#K4!KkXR1y)>(Pdb!uS@x{t>v+w|fvSEqdih)f=;s8mBBY)W zYbmp0hVLFE-^1l7#5=grl7n4G~t)ox-B{tbT?fD1HT8`m{V z1&$5GHk2k|myS~2ngy3YIITw7{`$A!;_#MFYel!v~I-4i$;D8 zsTy+TNn%4$>BiG6f2cz<#xl-XYftk5xGK+iGMOy?VNYxHrVC2eP@6+jw+QdVh?F0*-NbY-2nqDW4!oGK=0$G$f@Y&K9+ISD00Vn40R&qdhsZFAcIQCziO zZaV&-Upt6~jp93=!0YrH+xkfUF2Eq-*@D#5mY_*H)O^VRm}%in zY4{f-`RXn^`h8Xgq1HE@yIY`>0WnMq5?f^HN}uB!{kf;~xEYn$d+(x>S(@L>Z`H`R zevgTWpCwCVw(b;qx}=kEpZ~_QQUJJDIv^nT9!hi3wJ%&}nCp$|7Zo3|jD!)FP0xWi z?yT_drc;jejBAF?38EfmOna|g1bfE13+1tpP#>i3Q!5|!SMOCIiCn;fhoE>%HI2mm zgsnh>v$e8Rw$StF$%M~lR~2YiL$;_nLH+w@qEb;nVC&GjG&BrjZHzW>Jl+i3sGz(e z(tf+g{%&}ZU~~pN1g1O$0}1kaZzsqr zC}c(r!Q2-6Ol5)HBrk};Dyn15R)n^LksP&^4a-rVisw%NypR8(E z@pH-{8ub^}X;!WdI=n#8pQX5 zJ0j*11+LcF3KL+d9y52c#hhYV|L#Lg)G0J4{3|*jpWC55b-x@0AIWJT+=_IDrcJ;* zmhERHF;|>C9^nTeqbJsZJGt|&6BYu#pJ~97)d>32=@=nZBfm3@#Bhoax>HiheQbM@m_ z)<;c^=ojVoNDgqrJxR+?j<4Q?%h>#$W?J@TJ^DaQ``&J^)0hkT3F$R@gHOxd<>!C7 z<|_N~`kP(&{Pv7}?#q^nmKVnW!M%#Bk*=Dn31Q)is3ZgUgbk$DG3mNmUFOKE0W##+ai+)74j|CTfRs*x2gNPiPcO7 z&KL!5&jp0v?m;Sz)TAA8Yareu-HYYw{gNR~9y$veEtHKZUt`|@8n4I6q6{zb#hT~t zxk9RLYw?p%1f=~{(DrCqPkH>O;L=r%J})xsYKSixWWu$6@0&DGoTV}L6mxsOPBJVi zmn=N;P4UoW^m*g~r!qno>p~Hb8$ETt?WM`IPp<$9zgk`+F-6~w3)~xPdE_=zMxjQm z*@#VpdpnU#@C)^+yMo!AUv5`8CAj-ZNYeTHN5G+7@L}au0WMj0+iIivxI0l;hkaU^ zuhvI&-5ALU2LcSd8r0jtYpN6wG4pzIrJ3~Y5zU(C>%KQ!H`M6O!$;rIYBp&;$^T-J zrk6qdRJTA>d+;>ruWNSPCLv)hP!5F2JnKfN6YhNd;unPJl!Na7#B?p(Sf4mKZFT^Q zZMV8++x-oOMSY`Mvz;CLQDVozEZ>(}^dp^AhpGC_%Q!C943=-dzHGdRHw0lP&6x{T)kMMOF{ZwuW=IpILM zhoAq_bl8z48%R_n+ma!HZlkJS8ZiT7#tTQ$taOEyjBE`m(G~fnK z&8}P7LbYU!TXUP`>od;zb+@YeZ1WQTrS|e4_6)NARdfZT@Xl2B5sZ$dg>r-0Q(5JkY4C1G_;T$Yj z8Tu4hjPj)cR#W~7AF@*83f9MkqeCDs8Z!M>-bB}J2y$VT{bo$4vzd5N2f8Fnj?44* zaHiaqO0Bi0y`^+(1pv!s=3#?jY4JbQ&D{p$x{qDPVovmk>Yw2ae`RrSRNQxBq6aya zNK{RW9O~q)wnjeFjQC-#<9ae%mw@KSgCj{_{VFz$J~qQUDrc!j%0#UIFi<559{?%N zb|`+lpdWB)`6`^^u~2MefRN}2$xL^Rw8y2w^mkgH59_02c=t&)nvybHRqj&XlsPL+ zpqY?*OGPS7@VUxNG6vqF*ZF=Ks!iBZM+Ai?+Ik(_jNP)M<2v0B)<_9sIqAW%QV6+ZZ5Xxo^d1(~Y@)=r(*eu;nt=M-cb`=0L(1dcJWml=e&kkOR1D zxR8~O>}kV`K3wM#<#-$f`9Zb>mAY1He5C&Q=~Hs#@53nk+2!y(T)b`@4D1t=^IMo+ z<-U{#dhW`A6Xs9cy17esp9A2jCt5jc2eIsWRi;bbzIJvQI}I}p=^l`b(JJ9EDQ9Da zTzreu29=Z0O0Iiq5vFyQQrE26%lg_v8VsWTLvT{x<6D)$PU&RQz@p&P-I)lU8IrC$Kz(882!dvjgg4E7H;H zG6V?XgbTUsIY#kF9=s^f!U{e{WmMEpqEwOfg`h4Lo_+wUFf*DB)GqT}ln<{c$dCW~ z=CJ`xvUHp37wy2g7NyL`{uYWJJD7&7&JX%qJz-Zt#S=XBhJfc`fuv}xB`O4oNiEbv zJ3juQFd7+P`_I3qhAHkb)BBn+XcxzrR)akClkzr$*2pS;z5J-pMd?$I|DUcHV_Wq_ zY2YXerFb$2kIq{}X;9}5l3fcXT7zzCGj=1b2l4jurgh_*5w(DxI(Gl57i}d*yJ_gn z$Jqn6vRhoJ{51I&ueZD40AX%uhY^H3!FyG38MbWbjEQp{X;O+jubTx(&2vJp*ddV$ z4}MLFko!g$K?Q-7qsqzplWXzcVbs?RFgm6nIV2%hPN!s7syDzj`d2-*j&E#vh@kKX zbS^?B`$PV$yy}Vb+Wciq84!Hp&g8N!jP zZ_gTq;X4#8pjvdEJNbdt_6azIPvcpr2@t*(Z?z6Jh8(CwfZQYua9^f8$cPPZ^(gA5 zbnC?aKAS}C8srLrc2c+J%lmlbOdwULabDpNyRQ>^M3|*kN&%`Mr(#v>a9HJU-_-!C z&Rviy>6h)7Xaz$rPGqN#o5`IOMdJZLgJ7}|!#KPahf0unlzRQcCg=hIZX!|N2l{cO z5Z9T-aDdx>9?g;uFy&@H4Qk3{6QGV3GB%wg->^_rs1M7pOeL6~CT`^598t{6`5I#e za>?yJ%4WUMfZ)m+(=3+-Z*D5rPjhagUldT>C;@|(1M2!Eo`*(Acp4xRMqTfw5)V>d$EBjoc5}p5iX+TJqI$> zwN;O+7rf*!ILC=~Yj7dO=p!XL=Z>L`MhdqBpekgE%JqH+w0z6_Aa1Qj)ayz7yT(Nx z$m|h{it?9r$yn!s@I4XU_NBkf-#^w`3w|x9jy|{nm@1a-2VkaKWhGu=s-@^YZ11Y* zXX2s=G5uz3wEFo}?Fx@}9r1JS^~8pLMP1mHSQXF+#QS^>FD zaz`JPCB>*{xwgWr`_D(nDbaiRZZ8!>18ic?)gDzOL`8G$q~IsHn!(rV>CEanh`pQK z?F38I_yROxEDNlsYXW%Jw9$zulUQ!ZL8$Q(>L-!-Z>+R{~mZRuOwu8r2E5oYRF?~Xn%Zmz4k#8&|sq~60!Pn^@< zm3{!Quk{aAqb%&M70fr>_0We@;hyuB-9Yt3a)I+kgh6_@U-jn{xuVz%FEkq)%o>2D zq1$!KBj=5d3Z-zKT*)U831u0>yA>!%mDQq+HUH(6GA%>}*fpT@5EGGF>1zKn+e?S* zilF?g7kBHf8EljI*T&Yz41kV%M58K8b4~sl>Gx^+2#>gvQ@B09AOBF@cy6d zJ|_MaswdVd$Ka)h#;(W=uqLtjK{m1h`c^5dr{z~H*#HPtO0xC@NW@q3 zN{y7kdS;|9JFcWtygD+O(&bzm+;Oh1EZm};8`?Y-zE79u#w%SEy%JeG3bl)3@5r)jYX0NFw72tE=V{u%?Hyi$_@FqPY zY9eX$0xE%VF7)uw1;8mr*>Ck<=R6x-T8ULBg)bZrnnw3p$xqi-H;CmOoEjPdAQFV^ z!Q3du6^mevm1<`mE$DmUKW9km`ShdAIIbU*z6q$QnzfBP&{1nI0EE99XTAC)Gb64Qg} zSkc|PT4H?G1uYJMIeAuIaD_gUJVg$HW?y;hmzIf1bt7IVVA{!Utqk5FMtzLjm;J~#Q`f^q}h6XxCuexUtUiMW+ESG=_f3{54a8 z6NnDQ(2PJzh$n3r&C+Pf#L_|^a_sWUvfjkKPs!7{Fu=%jxc^gonWfWkO{+{!d+(&bXyZw0Dpg4*RHAPobMPw>%R+2BM(hb#=y4!cF)pgDR&%^FbB0?*erE*;UU z(l6GQzz*ILdH%Me(P*P9hf)1d(+5lsymSU`ZMR3?@iP;!=hb~~k7oLlPJ|b6zT>vHk!6R>; zg6X`%Ez!DDuI6rT~?;a5bl@cF#Rlf(JQ$_m!lr&ob4{H9Y?_GUy?X zKt;3s_Y7{c;9onJA{T&xVC(pzyItA^M~}UDi>Dp_25-#Djk9?Lk5bNrEsEE zCnL(mvy4RLDn!oH6CU4?b$wi|He>c%Z3!AYfq-00mrwV4(})6gGNBxs;Ef?YNZIxO zuUAL6)dK|mcs1^X#F}3s2A><+L}1>esFJpyI?oLLts^6`GCo50f(MHdaRed^?92)! zsSq4&U)`5&zjF9tGqf9U?GpqE0Qm~=$efvsdRLB_uFq2IUlt1%>J;Hk25I8u0E8ln ztuBNw_{}CRq|Ssfke6~ssbxksR_$`gjhGHPx#!;k=Df4E6t1#~i3`PHZ1iFj{V4b9 z;znuU@1L2@9$weAbbOEjvr3K!5^Y^V`s5X3t|a61d*7t-v-0qpMJjG69-;VA@4RNr zl$x!9RSwhkKYT7_lsxS{lZ8bZ)Xa&*&^&O~Hig-He6243y)vuSA_J&UK8aRn-Obcq z$mIIpi?`i8^Be!5g$oKN6Z+CWc{G)LzvQ3p6;CUNMh@uWkbdwi9*_BUbgKCsNb|5J z>%>$whDOb*-O7l`I~cq+4M97MoUVno!G9S~@z{tsAraFeszu^-e3Fx|f*q48<1S>E z_dVWH(nDSm>FHN~5qQ(LK1=Md94qnrzj}5}WgXsqficFshdCgMD0mvz3)B{K+Xg40 zBv}N-g!=gP1XLxI&sv6*Kb9!6Wl?0e4X70}OYvOhJzr5=dL@MiHAqA^Af!Rx{{tOp z~#?-@?d(p3}RM-7A-1tmjqL&%|Y41o%#cy2B=j%JPyyG+tPBWyo8nbU)iEf9-?QR%Zd7~ZeYCq zM;KOvN#Uywe3W`77_piy;vY-(>|XjZSW}_P4Zln@5PhEfo2tT+{`h=krIR|`t?qGX zGX*;9Myi&rU-CM~=DoI>$mKEUv-EBDqxC#il0}wMcvbQ$HyMwE%U_trT+ua1&TgwP zqqcSBsJrk_!oQa0)(48`29poso*{h_4sCB7rEV4eW6ikJsE<&_pmPbi;V8t~by~iF zSY?o#8`}=cmmn0p-MaQwp;k;5I&%bF%&8?2G+ueS!qgK0+2Q$;$)yoP)Oa5OcYCO)>ptaK9V4>)NT6RntY~BN;HAxBh$uA+2d%dPWQ=Z1+hy z1v<2e@1H{k8r(U_p>m)!(LGnn>Vs&~YWNzi0R%r^-I_f1pqwi-a9E@3CFS%B=E?Cw z3}99VkIPeu5UgRb;ku$1T6b)aY8{ zw?nA~2JTooYiTtZ@mMseq34SQq8z`(7U<7e64&T<035$oRKThGQ7}6*Ud;NN z)zoH3^LCY?ZgG6eb69hciv_X4#{jjtD3{ju~c z#~*cL0*!Whep%UbG+`RV!gICH_b=iX*UPu(vxgT%jqPoP0dXM{4sl<16lf-XDqu|Q3^lHP`82NeekbTs6Wx7)8Wl#n)Fh$IY#~-!ap^!f5U8D< zU?h(Ti}a7T%}b{$h%2g4kUaR!%t?kRVOxp5oQtlXAUz#33!{aJfuC@2O&cm3$)Z_4 z1`FuIwgnTT(vh}_vr5_;V9vF3)W*mtJsZB-Qnx>HIO)QF*zOvRFH+B_-)zpKBM+zx z4I%U`A~4eGR0S{YUNX{^s9kl1;`83vtsr6SV^m98YAXsypm$cr65NQXl>CBGWDiDV#hP3(Fo>nZ^w>(TA!Hwl}nZrT`7u)FhCRZ@;lF(7=&v~Uq3H?Ya<;{JZe%II@bK}0?@IT7>dUpY) zsb=`qeMQL+j97w8FSOl^nT^idS>&n0G6}H>l8yC|TPJ2x`Uh}J>t8$B^MjjNbh8Xf zb!lurFW|iw9taKlU$ylGm_#0TBQNt!Y8oTt)QsPfnBhiAzN3g zO2`ZF4Fx{VYLUVJMvxa~0~o$~8p7zKCT0c8*%p(ag8}tcTwAOoMvN78pOudc;05MS zWKpR)_*4qH*&G335Z6D|;=U~)3ng@=@aJ7E7>aP|H6Pod>lC79wbI`VR*LkjjC-lkGZ^9W)p<_JTWq z=k*DlnNW|9Ek5ykoT$#$n>mFC_qQK_EnsStP*ET^yS@^jW3=n+>zX8LVpIqu+6r+j z75fos{}J8l76_zErs~43q0g{L1RI_pnQ2q+TB|j@PQ)JQy7Z3B#D-L2U-HYnT?+$f?Up!Wlep!{pd@&RHtgRTg20FV! zyV=(olA~68auh^z2CBhiWupQlyrlopc+IJSN^epb0zU#JHjz;;po+$VnE&LD7sEiz z*oz!>B6H`SKs#g)I4m%h=s?#vDo-Ilyz3~8bs9xB6-i0b9>URE;IvnB1{mU=E^fwKqNrRS&-_0k* zYu)wITXdvM&pS158QSM|fi3;2B)j4f&G8Srl@sem(Rr-c?E1!;sYK7*+bimn=_tN9 zx5nON1wvR9y)%C8m^aI?(*H-Zl@O3lV6q##+*ltMM|fih+acsrfjPuz%zW;$+DFiw z21J(j#|?2R@K>#hu4yvLl-mtNR9ET`ercMi5LUfAsQ*^J(o zb1QMG-g1L;K`o_x8H@=-v@%N*IpQ9a5??JXD@YCOYi( z8f`&)I~Szy0<7xUNHr!DjZ_e~^yXat`_%g-@5}~?!zvVm7NA;m(Q0^${uW`dZfB+( zD|9~ZLz{zdLpWs>@EJJvTlbjGY7>b3w%m$CJA*vk)Lrl9zMiJ+L-A%tg8dHrL{{Ha zL*_qYCv}pKlk6@1pT)6Lt@m;!3JRH)8t|A(AfQ@V<2S_Aj)9`f7@)9DNY<^hZRuRZ zp!S3PE%DP2nr%sWsT-nUX^VJhc>_{+>VDkVaU9;Kq`W671;|qop6+iA;{_AVxb@bz zmL~uEuRtRHc@+8HA@erphJO}9Dj_Z*_0FA0G}8+v0><~Mk8j#$2+D{0%+nacu9byry$c&IR}ph)1L#tmEy#x7rgU_((7g zhjb$sc7_<~FP_jHe5qSnV9lhZrQbmNMm@xsf>e48A7s&m>{^fC3m?B1L1n1bPh2ve$fP4m!K*6jXY zh_h+yDaTE))xAE`eTV0d61VCE6eGTkN|=Q~hj;Pd<3c8v`nGmoe`PM=RAso>tx>fn z^WAV(CEy=A@r{s395x?z=Mrf*hR)I!rHw&iA=XpU=#&I@G=?)SId`@TyG3;3V@2ci7XP7^7eox2N zKmRF|lazw~?3m$YpNq&7U}^3tW6301E4*YYIc~?cd443G5>AvRBDQ+xuxCIl@JrV0 ziQq#(dH3cegCgk+l$@&6?Q$CpC=ucal{%K%AoqB126M;j8TF$^SN#`K%5#lWKPuM~<=f|tWno0Srb&Z%l5M6Dty26V&hA=Cy<`l+`R{Hq<= zK=qX1_9f+)nRO($UXy7j7q&esxf*n0(?2?oSKu3!_n|gLaCE2V4PC8j%_o`rR(0Md zg*A3CB2`Eaz8^Jqm|lZEW7UHnx3odBrbf6wKnr)XzV8C7xW7cuei^j2Mkg5Yi+M^K znvGYbd>r0cuYx1*8+x{OdibsI==02H_=E-Q<}sH1$tsSyCou+wC|3&#=WEBXP#&Lm zSJ(Z$;0IrEZ4av`su8SOK+z_w#GDiAEwG(a{_^VX(mF>+CLG7};^W#BRfd>NkcGVa znY3q@Qu zxAdWd#VEF%R{mf7V&DRgOpspgG)p$$8fQB`b^;eaZJm2X#O;{5`(TkWebKGtUk7xP zyw4@7GZ-DR_l7=z8Jz%bckx;xLNC}1;WU;II~Nz$aH4PWNt*D^2-*@OOBn`K)<*TK z5Z)w9kI&J*;AFsoY-<+tNy;hi1PzHpge8Ai)_-xgYikC)MlbE0K}VfdA50Rg5S4N| z>2H*j1n+EiVNa3rPM|)ktdpRUl*)*ZMEq1F^SRcJ8Sqjb4O!vMTr!*3=Z^!t7SG7q3Iu$LC5Y@8W zTp}9ugN8jdCHk&Jdsi!5ZjE7B1MxBnfF9_UOA_bOj3{wHJetYQ7hR6IMz-Ypvpe<} ziR=~Q#MRT-9zRaVxdhJ9)3$#y*9Im#$E@Q(j$3z@G5h8Yk_1YRs0uXzf~y$`4v;}n zORHliS6Nnm5G8)AXYhoV%tk4bj1~#p{z3IQ$c)|(g*Sa(UMWNvzKJcpz}1Q9PM)K1 z!#LQYeMWedLU=eAT^hn>^3+*9iICDfGo&AMAQktArayL^FZ;14qGkr0wXlcU4W;UB zmo6v}7v)Wr)T|zamY~grJ7C22V%E6tZq293sFupm$QL*JN0CZXFylN0k*X@PODN_PWys;sWVZ@FvigK6l;K1V+RnoErdN6fk# zv9rA`k+3|V(AvVtOVujmth(HRvmjZ?YXe2xw2ZA9fK@{COT3Kdum-X$1dL$|!osH( znOEbC%nJkkRQeu<8uzTah*l%e5SsCVqVN#WPe@U#L*WOW|5iuyTv#R+BlRvQZmH@A z_x^dxzB?OJd%7I4+)?u-N~{*YC+!Iuu8Dg>b!D2mYo3^kw{jq$1YD(+=6;Wc-fotv zqaS*Q&#Zji?{DsnB&)O9Q6Aomp5a&3LgK>*SBYB$tva~9S_$Te1(OuEp}e_o(A^Y7{oSRB%5w3}W=WN_gZ2Ut z;Wn3Lt;9~QPfrcn?jiPW^=YWIj9k8bPzMT(mE3Q(3%5bMue1Z<5VAK8$-g_Yp0`F9wdYRO~()oNT!tG1#yA=jw8kcR3ZW&D5#?CaTyjbF(J`V z8I4uQ$ou7WOyap5Na2pGbt=-~a1J=}_IPxkK_z@nZ;49GuvQ?fAu!D$6eg+Cg_4-#{2z z2L;YLOxGVUk<$UhAykpCyq-+uv!CwBvP#rYwc{}IR8vD+IhGTuInEU7 zzdK8-QPVCYJN29k(tY(u&G0^hW$ezDyej5qgTZ4I=94tD;3#OZ(>Fe-s-K)4S=as) z%LJH%fA=+gnUDr6+AqU@isV(3Bk7@_rv8vJXCq`)H=WU`xTd5F~yLYE6U zm)2W@7nKzg1|7+4Txy|4b7Y^UWjGh|yF&QT4(2cKbYrB0;T_t|Sg&Kre1Nli_nHI1huWN}vS~(sTa^i@}5UxR-j?*dVIE z`^#p@)08&=g9mW4CiLhm7uZixV9zc4G>RxAdiCK`(QU5=I9TrfN?Wa`>6M;=(6yUu zwENrLd%~piW}>(SO`hL}B-Dms&WO&GJuzT!r3aM@?0`r2Qt`Q zImFDDSK`{^n@^OgbCe~sCFFL}Q-tD0bhT9%1s(n`R{C$0##LDsZ1!Qd45;3blR0Qx zNP+_x(Xc#ebEoNov5&C}TXT3|mI}$CrvN6jQ^`~azBLHx5(pku?vaSbY4sH;9xkTI zHLkpbYAUxBGj-EhN*&cVk;KxDd9 z0CT6SRjrGh`rg%{;#8X+T*sI(sRuoX0%j`Ckf@p?12h-iDTGdzDb&*?*zPTy?vLm# zZ51O-nlU7BpN4O?ADic%gjz`}%OH_AtcW3vre3+8i+ZyF?of*Df==}c#|h}t+Uy%RISY0Wpl>UB6yd!XJux<4@qGg0!$*}b_VOg;vio5ydd>mk0fCt zFC%{R;dzvMZS?3$(k?rzrt$+35~&@?8BS1j3k5rBJJpT7R;Rwk63njC?r@s!cv4y~ zTnI~J3_QXs?R^4s~;MPy!IN&jO+jip+Ppw8i{JBG=S{ z=ZHY<1NmH1@EHF%l!g(Rl9=GF7pZJ+#B_f?8-b`)%1qOsgI4wrW5`qIDgq_1mD21v zKs1OoDJv{Y0%W|02UWnrla**E-*>COA9n13?PnroN*jJ#mkg3O2y3tw$Bq*Ony!0- zhVpe8QAp3r8iaV1;25_w#vkFGpW8S|zPI&G;x}OD6y@>N-va9U#>g!F)u4IZ5tk*A zj1;!*6yj|Vr%@Pw9}Td%}{x?L=f4C6AZtB>(V%rt2ytF_Ase%WC@Z0S%f8nHTVr!I6&)rW2XoolbRysBl$!t zyvK*R{}-+2dOCYoYR1P$m`!0nb9IcHR^gI+ZFVCM=cvsK3*83R2MN;oT%hqnh;J8vp0a4f+viV(iM6`N;8~bdN;Ri1fX@!Uv#GXA_kjTDnY0Ld_N#*cOE43J^Q^8Uyf?^kh-+6Zt#C$$KT+% zh=~w9i!9-+lNz_fRWVahu0%C7HxxrfCBZ&F+8pOdyWc>~!K($<@N#m&1=D}8n=>Q; zih|hABQ^XO}qgExuF$IA>JyFmkTWT@-#_kp)iSTsT+ zcc~e4Vz9fR(Uk{tVBgzapo~ge`m0j?A$VXXz~=1X}2l?iMjr)A+N~?U>2vNou=}FEpx+< z^BX8q5HF*B-6RjXatGEX=CffvhVkHtoWV`pnDDwxRe+_n%((0UX1|z9@MP*x8z9&j z4d$cyZVHs(a*_^jZ}qk(+KRQ)i1b`cBH8w7*CDL9-3L_(R#rA#N$r^xFrh3Q+iWxg zataDJ)6dwvySH^r{FG-JI@31+_1C)vzDb!9&t%{T>UXF9*RZX`C5rYM;*(+Iv=4_Z zHV3P(_*tTzE3_&{`?fI7BXQctx&~54%IX%6-%aU_|s8cUBNVs=_t- zW0@PVul%@c+lAH1fG&R3@B;T*hC1Cz2~TgOxkuZ#SY_JH0?W9*ZCU?VE&oDAtcJu$ zHSA2j7H_b^J=eo;+exqg&Ig3>J1suVGG^80+uWj>V@Tp+m0P#Ni#9@!^fh|`n zC4UI;>5(S*5doap0N8Aj;66j_IMvUlqeBY-155>YWQ;oP3s01ZJKcYJYK~<#vlP=h zZ~WYt*|Lvvg4?01O_(m?AbhVvJ!%D3nfEJBPA{xrNnzst`3xB=X(l_JBJqSGr?JqAA!ZCmV-a&sZ!jq9yqz>3B9r`Mp~Kr~T?piQyIW1GOA<6{ z{t)@ap$E1v==nhAa6_-xd5Ru=N+c$3ZvCE0*+>k1Y4yDG}UQ6Ic zUQs6|Q0dVxP0TZB5#=^XoX_dPV{oKy-=<7?eS`U6WnJX53q?c!{C;#5W2J`x^6+at zlAv8R(7*dHn=q*zXjbi`8sWGe+cc7`W&2HN!Jn zxy%()dQsEFYS$8!H)WAx(Zh$G(O6Y9&c$!AGj1V%MDk|$eUQfsHVWe;@5(%c)-Kyi zY#euUZvLyLmrp%(wg!?7G22qC2NDS(G0u>-FTI9|SJ=BgnpXl{n~!sIF39(d{!^-; zKtXq7-5!=d7wsqZ<=#XMqBlYH0&hfvERR&4Z1Gh&5Db>#7~K@ino?@e3Q6mSgpSGh za@Chn-?x@-z5Hun1vT=BKdb;N;)($#PP!9I7!itB#eXxu>NB~w88_%SkTRnDCT+L@ z@Q<)GRcs&o?Lof__Qxs73~ahK$i4JcJ972X!o^n7`4)a$%#}0GO!y(P2n9E0(KTh# z!FF&j`>b*#?_E8hRdl%O>B^hIbiv*1i<8@~zAbR*F7krqal~bV9m|RrC5bM9XGdj- z!?T!I=abE7JME!NQ?jAIWb9t(w{qaB+>?Jtz@Gu11Dq_B;Fpi77eg{OErq-kI zBY4ATIA82=-#lZgHTuB z?B$T!_sUO#WWy=&@oVR=2)kT3u%YHQFDWw$l9tZsVzl3Wh1P)Y#WO+DW73M8f5f!z zWUt05Zv8v1wQb9`aMRnvxf z6+a7za>`57YiZcRw0JXslE+Qy&er3`U4pUT9dwG8m=iV%1_O3z50*j#ivxYdTbUhc zi(?`459Eh_(pSmc*g3gBIj=x3F=d`8Z*P*ocpB00$E}S!9$29Ag?_>e*GT^>({T5J zm9rulX7kuvp>lrj_E0=iz z}f}VMY;M>ejUj$LfoQ&86o5?524Qs+D?_sC+&8ZpAW_Dj+VH+lXCeUH5}%xxRXAVx(YgHflmY!jvdZlUoMy zY`X6l&`dLSasm6w4EbySi1{iL-DDr}uP}Z23_-qXkSc8dBz=pbByKYm_vwJDoEqp+|{Fl_c?X#xGT`;_Qni1~8cc#t)Di!FdpQA4K! zra-&I7vJMypUL@vKhQk^3hU!_B>P;lfQ^=KB?Bceg}Z?<9+|&#z@G%B#l0ZZUf?x3 zy(4LES$H1!I79%%L4HFMP)vL~vA*fr@h zs5d`ktQvy|JUSA$w{M@Y!0NN{&K*7WilgMpfjJERS*}dSJIq zN`c!Simfmq+u67layjGipgH7T?hx zpMo*8kx(`q77=ZNvSXM?2?|1?$P)uBczn%MlkJa|=K^PgZskDb$-S`|J(;h`GsF_< z%f+>%un`#A2!WUSQUS2kwkHuA5fR$ZO>|AHeoq$BEa(TVo@k@_pdbf0<8|G*yhQ{TM6G%SrJ#msAaK7=veAQV>UUe9)pe745icD2u@ zcRs$XQiC3tE1*W-v&k&{QAg)qED!BrYJ6(j)@J*-zDslm3AMT!e@;~cxNu{5bQ55ZcyD7M3|eWrWOs?AvKEXxykZ= zTZ}VZ1Yfyvurf3pxZ~G47uPQwLO$=dz$LpyI5w00%FUi2{}C5X4Jt5AbkWzi^o?*% zUMm2|2P-Vh8jdA;irj1?o9YDb*ezp~zf8Re8q+y$M0^m4n9-dQxZ}c5FzVed6m-;j z@89AYsfHtkJp%tWfZepeP=40nK;E3JzAVXM6p;KZimz`r|5qzL?HCH+BqdZBNps{O zQb6gx)kl6!M`CEIRLUGR|C3W^WqVL1>kPHFvSf@cfrJz{e6%SOtlNOizGrtZrOJ^Hp_+d?Vli zTF!Cwg zE@^DwfwAImb1 zS)EYX)sfPB!G4!d`7nlb)7Htcma=Gg*J=6MFM>~!Ky&v#U~d@M@W_cutTnM{$(7jlB-pwa;J41G-s?Y{{bdU@8D)wZV=>Z=X(1GJr3JMbcp9a-IMNQsPqy z(~yAdCk@9dp6p}|$U?}ET@_M5ZNIU06-
    plh)XNN`>3<#=W=0eUu^}F7U&{1%o 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%0Dl;iAKptRInL0{Gq4V(nLy<%kl^ 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
  • AW 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

    4e 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%0DLNU#vX`uJ!MQ)(P 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 literal 1399072 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�_@HKsCXj&!AL#t6CJWIq6IXWaZ=75#IU}#j76b)nfC&|APqBoH- z_5iXo9U|Oi`xKsUZB1KSP~CYO!Jpy8`S(HQ_R7E8SVw&6QbU|lRYPl_%+v6w8WAJ6 zEBt{xCQa!kTtb8AkP?N7pKe< zYVU7#K}nm;7HelCN2Ki0O-6lXijblV1vGmY_jqxMxLdC6D^Z%L^_Tp&ZG8xjw2wfQ zDBrvTErz9mL>aQ5o{zn0 za>A`oNdvNoAtyB97z(_>0msji_yam4r6w+aDGiB~%L0eq*sC1YWh0V6m=V*&tG^1w z8`sV7s9`0YvQx1L3qKY?9AQxsJMUv;Tdna^Wb%q#b*J-Ko@qL(IdCEMh2!_qW#jwq zT%Y`Z9g_ymKU#nzi!1(Q)I$xx4@MeYH~JLsrP`$joo$~PnR!_HzE6s6)oVO;MN9__ zOnbYuIvcQ!vrwAobFUV%ATQQ;>#4n)2DC-X%@6|9s0;?KngOC&@O)~(GGirGs16y= zHWFcWM;H<<%n4zFU|~S^s|fy9i}#-teU6pMWXSc6?z0b|3-mGN$we?1SxSMvc9z+PyCEsoa-uKN*e(H;{iJ>NC8f#+t^ClXGOsFsI?|PyeqejKRzz zwB^tD|I~{TA9j(GnNoT=C!(0n!cf7jow^xHujjXdLo2CH*>_6luiyw0#OvQNCpM&r z1*Y{D;h6svt%{HSlL?+5+>?aX6I3x#YDRJYO*IlYj`Y?VI zU$BRt6E6Lg_u7p+i`>6A`=zt@?;K*>YMe?_mG`X>t8>3%A43AKpk9lS_FCMELk~oF zQ6T1zTlZ*p^e@ooq!1Bk;CFKj2*;is_JEA<)|Bm{>xLSSeNs%pt^nxZJ;C0Uz9Hb$A z&s8P&#(UZaYuCGA$k%zLOy1ZCI1a;B{VNF%Vd58bA>V z;7#wr=0-e@%tONwmXwcD|3FI*q~1qPw!uD^z%ZeHN|isziIW?waNyw;tGZ6T(;o0l z8J10y072vC9$~3~PVPl%7Dq1rLO63<0T#l3QC0AUET>0k;eX!Uq=LY%4=U7D-YwW% z!@0xocz7-m_QjBP6_U<(ALm*8-!9{oy0FO$LWW0lQqI}5P&}>oNcaS)>CaRBqrX+? z1o_`GFZA%IsNqDo4p*oZ%f0BWHm)cdozu5Qy{ zMSvfK(i6AeXFp#tVxU8%g2&*TbD)xkuPP#yFZZs??D_LuFlHEv(bHSz?qvvzNM;SrjSZ6NT0gnjv?w|v-x@_sFVmzXJPQH^}oDKS7Orbe4|ML zj1xb3Fs4BJ3Qf)$pM}N&w|*96>OoQ{I}AxcgNN)iYi@yJe1G=RK1LwGDad1l-jt1#1%{(r|U^*G#s``wUAld;2#-pydO1VE7B&H#tI0+ zwzvN-E+;VXPkZxKN6!CF==b~aVp?IM`EsA#KKZt@QWZFjYg`JWBV2t=P$XA}@Qp)$ zikLF?GEkYTN9(|(&|iZSrOHaTO$Y-qZ?zL2>rUd(+mYh7?2b=|Cf8+*Lt-0XO7Yum zZ_$v7r9!ApO_P-^p-%?bAxY+U+6aIKoBaowP^M%-mzu9Dj)IRp)?NUZ-MOcPJpv$5 zl|YB~9Vlg_jbMYjGVUl;G-10I!qpc2n-V5}yOUMYh?&Xk;QzU2@p(P5b5gQ`3w&?g zzTXmNHjpay>kvB}!RJ*fv+A0%siMb>q=xDpcgthWw`2}PY>{}c${)@0NF^KvWrT^D zrACmC|M!Z?c`k4^mq%K8`kwhab){c=Y`Z?L?C5yQCo{8cjx=&i{)+MdrL8N(?`htz zeWc4Mz?h`Qdv0*G)^%9=tzn=aO3*z)n3NK@(k|dfuL(=;kdNjcb~`WAS_z570=77o zLVhOs-L~USB2Lf5`K?B~_O=fPwxMEvXe=_8eZ~TUVB`a26fWbm{;l`>dfR3ASkhd0 z4M1O+x;Pk@Q#eVrM_+k_*}?VYV{w{i^#ptH3A>14x=k=H+BP~oRi0d;X-pN-q^Do2 z!N4M~>bP^w1aBea`Uy)F>6GB_{_R&pBbOwWwzH;Z_0HUnuDFp~j>;b{_N0WGlYA^~ zuvSgU=5#|i&yaWQqMR(tU}(HtCw%=la~nS*c|ir`LmW-LyYLl-u0mJn_w~&y{FdxS zrj{}R3lF03?|C*{*w`~~SBE)3+AMo=L2c7lQp3fs)pMz$Qr+E*|RDqr|8*I zm-f|p(aeb$n#@k*NM!mWn4-CxJf7^?Bqgdc&2FH4`zz1IrBbAzdOD^fk--^^KWAWE zMk-|iq%FZE0QPlrQ$21}l^Z)0!>|)1wG_l1r!=?`!ipfW3BKI4APZF#`}$U9PCj*3 z=@j~xXOhNiG{e8TH)~smz8ijB^*#p5BU$t>%{MYX4&0CB0enJct6_BlDyrXMl3e1 z(iSHWNYs6^*!9GiVckvyCBSiU%C9wT$jdA2Kar5V1B3oA3h=U}m#41l>C#X20l=c; zSTjQU%>GC8a5m>dQxs$sp(Xa>Ph&Ext3WfI<4ziH@Xz|gcE8vY!rkgl1-LYbsZ1{1 zIswK#Ayr#be6->(QzHdC65M8$T7LwF;=SF*Q<&L`)jH2H<@m>t9^ouow4P3Z(D0z; z85lN2TVt}W^xiLe?VG4R@|bUj4)qWmbOf;{)L+VUnE&RIs0c$-v7f4xX(u@yD9B3u3dHetrXW z`vy;1%s+v(CZIEWUy^^3&gXe3Gx&b1j=Ygur%hcwl_u567wRi})`iWYqsdIWN@>)Y z$)w=XhHn;KwKK@vn(^NJJ~r1g)Y%PU&sTKineqJU5RqLXBpeL z5NiGim=Fz`*h0Sy2SE`&DeK3+GTj9jQACFV)i`IBqxwZ-k5G?rFFI=0>t&;A^tPd# z19->9b9*ea)p!tq_UQ%I1pPwT_u2SV4PK4PC&FYij{5$@mg z?8tgp2)E2ztzO}H7n9$#-s`{Z0x9 zBE3&}W@hrTmb#KGZw=1r0gF|I&U{HNBn)g@A-bD8zH3b0O>1jm&uLJ?LpbsAER6KZ z-%BQSO4`G`n)`~#))86smbB~mAh~pTlCWnfZvg8}#T4SgBlKL3?aw0@3Mv^dA3G(z z>~n6M>3937P?^CT7j|!PruemaYffBVz&2Oq!*T&oUm^E7w%ClZIrp=9IS9L5|Iv6N z&H14H_GD?ku!b4jU)|7SL$ZZ_c-cjZ;m5rE-2mCPmtoD`WukJfM<}*q!iC5Jps#0Mze&4h0{3SEya|M_Ft#JikmGYCDq%K+nhH>O zux3eGalm3r{;iXJBmuy)-$$K0avNo99lsR+6FO>-1kbF-g3Dx*{`hKYXOESzzvkSpD@VPs&|RZ2=< zK;xu*lPpLq7;i>&DLFbdiitPl+j3{(qvp2ax<3Ogb-fuQv1vb(>F@2ovoCDO>S#g*JyNY?95)8+STlNA zi4xE1tZFWZDu(^yS-=dnE`$nI^cjH;>wjkGfUz5hH*r|2GdZd{~kqhodacuvIVG~MgEt7bl>VfW5=dg+QZgIq7!dY7E=kbkIF zYPiJL#AvfqPC>I(=6a#W&nk`Or*)zW77RX=Tg6=jzs@GJg7wfInVwDg3KnKvd=|j- zMAH82s6_0yM=;M<1DAXphn~v74-1!x%iv}cE$G8{pf|n<@cT5ssS{ELdvCq+awT+N z$V!u_)CQr>?RH*|-OtKwmZ23$dqIm^Oty*bIXk9#xF+IQB;vpBb(Hos z-Vn*46b*glsF;ifMQ7hrZILi~@aN~=^ET)oUxThBuP%%^th+o~NDFczqc2Il3+t=dqqm*oG!4oka3Gif~zq2!Jt~vFH zLi+?8$C?@GzxF5J*@~7!@9=nuC}BfkxdQkmSBZ#{YIa~Ebi)N@ZN-5L=4yhM43o!TQjFe$ldX0RpEN7 zvCmk|9@Z_e4t8&;7z3+p4$p8Fu91(_m&qC@DK9Do9LFm?iwUlxdG0cfrdQ-S^^o1h zH&Wb3DrE9X4u$a729wUZ70gqbbn9zWb_ee7YuIySF9ik|INXNOQmyFSquh!HJ)EcP z^|LacF**W5701s|K(a9s0!mLb23D(@+SEytw>Gl&sGPhw?RH17sJeU%_3MkSeCdg^%+7#(v6c zEliC+w-HJ0u4@D*yT^7#ZZV1&E$kCe%C^K`JpRgc#9EE$(+vkNEq5#S~z?zebKsV6X2`Fg!DPBQFkC<@b76l>Q(va1lEO zzv&~ZZg_;xNsEq(^&Bu#hsTE`tqPq#QL6VWI(%OT!14`hPT!PB+KDO;?TgY; zOl`sV>C91wQUpDlZ`tF0zli2rySGe)PDDmw3pDGx0zy|ICFVIBXd(UDF)xrpB?n2_ zg!GNisc$XaEa~px)m&}HmkrtovDd8-RuSE}Z z#uR~)K;95?BiYn#@^|Q14$%wswM)75+2uB&ml(^;xs(f}|3`_0_~FQyOoVEc!i~OR zDo2B^OSNjw_KfpSQ9`NLVC<;KpP4c0JXEr0#SX}{P(r@a`6eFZ``x6%ca#g|`LHeq z)hnpqTy7f`=mMTqwRqsk5DlDA;CSFlcPqW4;|E9NaRpAfe2%L&0u}#wnC2oay z%wVWH=V%~wo9fk^46p6UC5D8fA*TSh#PmH{nXEeP$^diRI@pe3?@9mhj{}}Oq<>H7 zAX@$zIjE}WmB-?`mNB*x)YK+5r8t;60J46~&$hfRph%y5^m2~TIOsrRae_4F=5ow!|Qqx;gRVXZ2bZ6nT}QMeSue9Ni`PUl(U4EAN21s3tIGWHVMk? zoL6fLCGt~uH;X~0#%bsIc-xHL7t*}Dw^-_Mj`f^$Z{a6A65KU_ij)RpXSKn(O@Hxv z;qmGxPf*2;<38SOyIZ?(O0(4sws$foaQq@|N?u!DG$1%-Kkky3rX{@It5cxbo0^_} z`xJckOWXhYMV{Xy=z912R*7f0MfD0gdKSQDbxAylmv(3Y5>l>co50D2X2v#3ypi`! zukYNp(lQBn+yVV7A8<6!a*x}$fl44sl^{`m0vN%_h29A^J)^+70_Myq3R`_koU%NI7W7&wJ4C0^uO6d@Dd-gyJF|mEfW~% zn|CW+J;SIo*I7RZ`)vm%tBa5xwr-UMU7z=~)2K2O?hG*JX{fypps*#9t|OwDt%ebD zIsdAhdLw9;aCFU$e)&y!CFaiS7XK?ml$}v<1%_&%)WOE;8P%S){Z}*RVVBHYVe+=% ziU(Ofoxj`Qs#WAQsKiEmk)2Wjx=OGNb{)eE!^p^Q3-Db57#}#;nBU*z+yQGaW`t7=+Q+7!NvI0$<^X@T7>g_$e3AO7lb(n`nz7>Vg)}V?*Nbe!6gQ1m z`nJf+$0Wol38jU{FVidcz~iv7)jI5TH14|T)%Y-M23NBHLz@*Dzf8vLM~QGk1Zy_Z zHAeExedhKMQs{P+^-voOwoHxmPX?rTK}QlM+eT93g_Ama_?jhSQrOC&K0E>t;f=40 zoc#E`>-o1CE5F{OaMHD*6(5Y4q}1Dp1DW6TecaZji4@ z_sX$|foSi1b>NamHv)j^r^9EcVehq@5%#fMr&RM&)eFU=HQhO5&jl3X4cEEifrAX* z?Yv0FCzZCNV2C-N1HWyrE?~hM0#c^~y1ojY(7Qk0BqC;*(l{;X4033)zuAd8>kytgA9&Q zGf6jve$(i3*K~mOB^ox{fr>b9@_#eOh@_Wpo7^V@%hZ^9iuoomYI4XWu7B1DC4p}x z9v@UO7JYa3q#S|!TV*in9(zkt_U9Q~ViJ!YOSF&#JK{WYH?@cwA) zHVbpE{O$5LQMM2;#6uX;Q7$;tFX?yRH``y0{4Qha`>tjgc{Rt#t!mMu+{w>iKk`*Y z`L#DmFiV9s%w)E_ZfYZ9#=kb2I&AKSA*%-H*m~HMn@1m44M?x~yd!yWU+z+^uSG5e zlJ%3B_RT>;={x>8yNrKRc$?2LW`(kX0sO2nBnkokfl^T{YhUuVzX{c&?WFLaPA*az z)62BU91;rhSqsqvj)t>XVy?Iew6Ja*4)Dud?aya>aWht2^~i1onBasFk^ri+lsWXZ zWs4k(tPNuDQOMxKO{&Xsru6*)Wj)>OLK^#k6GmYz<)?s;&t7l z(W^sYf(jmRO=${5&uc=4{pI4GgT9TD8w+oDm(-V>`|409emQd)+E`>-Q9PO*9QDe{ zeDH`hrcUnaq@@oVk4R%tGFYHP^+5{Nyq{D)Q%{aK%~MOO;hH0ld3dpX9C14n$&yyl(=9Wkzs4+m1g`09OVM}DmvyC>>9Ah9y_WDUU3On$$f zc+yD=D_-(-Gvo20$~--6m_OnwEr0LFx@XP?3AMW5NO4fKP&ts)8X;=-vtox{=}xvO z%!~WL%|%@+h4BkG!V#W2Ag<5FrdxR9wgWCBV{#aVp;?A~+y#K4Umgh7teVL!jX>Nm z#XRE#lD6(m=>u(ZV`WlneThhp{Guwoa|E2e6d1pK)qBA{2+;sIeh|-uQ!ibl`@LQ# z$&)>Qt?(l2bRwrv5Neg_#L#(sQ z6s^15)W%3QqOO|xQPl3pY#V?Z@Y*8bVXU&#n70j*-I`#Vs68RD-L%rlTbVvx}?)@VX-?MWrDR!cy1q z6jT6hjej%fL!9=?OZ7^}hA)C2&^smT*SsE&eBZNFnNm68CIuC1#$5#~(+-C+a{zd?rl??`n`mPvQj)9rv9tZ64;K-eEvkW4II* zV5?a@9~LASg~^4f7n=dR`FmW6mmP3suzj)cJ|&l@R-+L9y8^rg$GQ70mXLy{TKVVv za_UZG*=E>zfL7cA;22Q$Z4gj?)?`H=>omv+r^t5*OIUs>uv*$6I{me1(cbnmVL__B za({m?sq7q)iSdLl>&y27Y;iL6G3jP#Vujpw3!!{^rBF*17cZ~BPmOZWU$&?FN zJj(H&8G=Th@(GSw7ks4Oc9CrvsAY|_Tt2K1WBoVX$96Jj8HJm7^{*e>J~6r;g;mh4K>P-G- z;yB13mp2FRT_y+Bu?v`BS>Jd6RgL0r*-1cDG!=!ypIdRL5lD(EMH1c{6nkB2JB%Tv zL6J-axzuQ>uB4KtQb5OP?5QKXh$!#FLk}m>#@BraLCpe4-EZsZt7h!e(uQ+tEyde zL*AoVxPyjnw*v zr6UORlwY}ZCend`1*a+AbxMFl*Nd{JEyCY!#25}p#ry^1oS^^^hT&uC6&R& zihRNSvT?wIqVvFlKcZKR=A=DPdd9z_Q`Ir$tvS|E=Z)jdW}1Km%u?+Xz8+E{+aDL# zv)X47|0Cq1VBhR}D6nS5ZV{sCs-JH)^lA~1noflCE0BZC^EyWaHWXq_2M>Y+y>aAg zqQ7&5s%IhG^9`Io$FGS~OZ=*UPQusYTelP|Rg*>b9w9LRb z>R)!MAJuX@bOiOWKA{D=*c!nN1LGliUU`S%~i)VaF{SzaC zSlJOxjYas*yt)@t5s5xu#U4x;F+tQ{EuSFtL^L4h9dj4^g$RdV$#6`!pYYEQkUi$@JOX zmbajIJan(9m{ojMey~AP4sB6-Y?Nla*NY_ehmT1p&030scXt1|Z_$!bm~W#6`DI z4Ds?dx1%&tFbBFVEAm>;fk>3FlB7pr_i4eUngQDAj;)lle*Dl-xeu6d-^wfBvppb) zPC;iy**rWEU}sP#1J%hv&N%~>y9i_^Tfg^}K1E~8jT zU|;L06J8;$bbX-$;tsAdq>SJquSzwuTt|gTkE%KBp0kVV9|Zx|ADoOW)~- zAi49FJ3-PBSSN(aU@kg`EQ@&MNUc7`IF`EDC}s4#hx6U(qiI;k6F?S?6h+U%7h97 z=M41W?2=>QpZ9DsM$Gp8sY{PGj2;&fk?8=I;%Muo6v~8A^GMQ93Qfr17xR}Ja0us; zjp|;=T0dvT%dl!zkH)6S?WzseAxiql72*LYFuzvy5g5+u6CKjk-dTT@x zNnS>}8I+f}7 zb5wez8Q4Ya)rGz5_PRzB2w#hlu5y1zdd2u_n{B+)I7MCxS#Sk89_LvJS=X8H6R_X- z%6lkP-vOSDjdZ| z-R7Vqqks8N-W7UG% zXOco8GJ3XdGcv$b^>SmmwQZNi<|#?TMx%R)?R&dQyjH{?YQAXkMMK{8Qdc-RS#DW; zTwXjJGzMKdQnnVLFQ@ozd4e}$AjQ38%TFmndZX)N1X%<9dM zC-WZ>g$2C0J~MI{U1kQ`#kO*zEC#%aecPW*7wiT|18)aycf|0z6p7b7$83K8EJN1p zr%=y=^;oVoggjilLdr|_y2_GD&m@Z?-ZDG>lxjXUr0V{w@e zhLuRD*F(n|S$2lv0**Ym7nIm12bGYPugJQlL4L3bXp|SJPWYZ|)Ki>RQZ_kToC2`k zgHB&V1kg(EBapiQ*CK!%1PZYz9`UWBMFJ3i4#SYn#^PA8prAn5WS%;DteNb9 zOoGe$^t=m;LYxQt?FL`{yCW#Gm&uLMxz!BZPDge#ACeZcNU?KS)g(9;41L!t&@$L$ zVyoK)s|-meKdv8;shQ9;a|s=6NC+AiMSG5Jp$KYjO}AloDIT5io^;M#hXFfV_csCR zrErMR0kKvvaG~KzT;f|+R7a5_GTzx9ByjdpV|w(iN=ruBQA|_|w2mB$2niNO6K|bbyXz8C8Uku8)nR4L- z&^BSmp6jhb2xkr*wy4VKKRUArXl_b?tz;^EBHi8)!d?{)5Xlc>NxCwmZ^u(>mE!Rt zTx@^YLY@}+i`!t)%L)Xw6t6z$v4s!0Mi^!W;?^}ei%?PvgL_}&hfmW!av;zHo*sB_ z$3HmKJ*WK?2^6I&p3u?p+1R(k=bBOLaNZ0Zj2yu&aXKbF~)K*H8V23_OM@fmv zwWDZ7yaM7mq7MBG+&kZ>1>J?f1}~T}@tsnAma9|0tibQu-7L|DDOrHoy9}Vy{N+@;%v7YC{~)+WG#@{33k(=#FEsL4Dl&5ih%={2nG&9q z5>)r$5oPhEmcBo?`s9|VuGRslAXLK^N1Q2bb0TLGsbGBK3|lwUmP~J2!Xjl_zhr+*tbRomV7jZ>aZvoEfX| z)B!O!D`FJ4eCmExJ+<*!6P0amg3@DuSF@lb+HKM8qeM|#akK&nOtEwPg4L`!9UT=w z^xbUWq}XC%f0Hr8GXND~Jb-wIp*lG%UkAaRvI+q%&K z#*je%eaw}72^m+f9>G^1w4Bw%9_Kk=AV_%MQ(xcwbzs&N1E`lcS3y&5{-N< zOefA-z?x+%8RRc1;akM8c$_m~SEag9PZNRMx6&d>UOko+xaf#61)3lukZc!hV`4+r zVN+RKfveHkeYTb+?Y*anj>t})8jAHn_V$IC#8NrxWFmK^Apn}~?6CVh{Np6`r7{7V z+$bj=FL_$Pln9Z-Y7guMP)Ar_{gAX1+2J5Kk3oS-z_l>@Q1{Kd>6Q%1_ zqLczlMf4L%N<#Qa8s5WsVudCgu)Mo2PP*JST0IMn@z8$sh`Jp!;a~3uPs=^H0x##F z9x&l0>li!gd|@wgXIH#XmhT!0{hpL~1a#U4Cs_&zknIKKxGuxn^g_UB14Dfn!e~iA zU*&<2U5jTUAci-EU1hyl4gOSO#SAPg3Qqh(oFcTB^h; zhmS8Cr?XeJ5pYBaAYJnDnVW~>#&k6qq3CwIJMwA@jt4W~3TD^TT(T=AwGB6eueT~_ zE^xf8)PCNK^TuWdOoQ|dNh8$(HQs8*RxFHEFr4S5B{l%ez|8is$<{8nhEeeD$Y!k_=5QK^HV<7{b*?7YR0^3V7U}J%yRvrlEgkKf6%X;-u4fSkDFWK=*W;Aa{&+?2{6}+NDL0 z?NZBtw@$oMzJgkKrh85?-&+4}w8v%cnMTyksZA3PKwezJdJ%SOajyku>-II?v|z` z=6GBT-K=-0L-RS;+GAHhOaq>tWg-IrU*GK|)qvfo%I?jh`rA|F z+ARf_g}kO2|IQZmCdcDvCUrA;38CNpuO0yGjk7w2XDXT%*UM3!i#m01)7(raY@$X= z`^{bZgEYXY9?>KvNW5lIz%s!$poNQ6NH9)afpe3lmO1qxks<+yg9Ry9#bD>?d!wiyh=hUASXAoG%R;O`V7U;u!-PVR;<_~KZIG{mB8)h$5mWpgg1PhEd+QGD4&~BxgQKyn8 zDoS>vD0&$*aQDdVQvZiW`r9wuY~GnUo}CxZ88h`r3umvQzQCMC?JHbQ1atEph|YUZ zbd&M$n-j~ffYkklWT$^2=KcZizMFiRD%?x5Wi{|OrCz(XE^~qJW+S%DU>Qo&)QIDi zSn%w7FH9WN^xU;S&s_YhdDf8OHG?tRnT>`he}KmNKny*P$AUf0IlxD&i1qhOPIggFh-MaqEWp3fybu=8)@M-V)hn51H93ET_f&dfQK&gE* zEyx4P!){pIN#~PjPDi=;WMmW4L#rIdBIv6&N0nh;BX*O6cnL`1**jUx^uz2W>Lx)jNZ+l ztSJtDz7F6eb`h!ie|Lbz<#mL+@~!VAEdTIT8WnrNv-bogvmU@&`Qjx#{Xd%L@P z#$QM6eK9i>N*tcU%%1RkKP^$s$G7k zO$n~Xi0rILD0jB*a^NZH#A3FDz=fhJia06ww@A*I2^$w%9;Loo1OFBt~- znu8K^?%H_d9o#bxE?1Bv^k#(AZ98}?4{;ZmOe4N5Wa}~{S-3)au=R(T#klh`9;RLN zmird>sH4yEqB>q*#%&H@4I;bMf>$*Gr_6qe#6tEr9Weu2^&ftUXrGy&E}lzR`x5lmHhb_8{qCRl8M&s}v&>`1#w%kw>OSp53> zwBW-8rH%V?fGDq%+-EaFJh`dRk#3GLZXdb50|t>szuNWQqn!V{BK;~0qtKJ_iZj5b z6Q_Itxwf7*T;qox$~~8?+a!t1BfczX2fG3$xv7d`f5rHK>(ZU+Gx6tGLd-dpFM>IO zx%cQ>q*<5m663sb_m0hPd_&u(I>t6MwZdW$gzc2i+pSPnH?^9H-|9c2Fnkh4sxO$r zL+#``q@DK-)=#a>@Hu0nWL`*1the*IjyS2tN;y1F&`)q``EEcG|1$xO6Fhfv4?-2%VGM$`;O0xDIRoXY|?#}DRqEymqmh6jz8wKR3 z*sjic!b18<7q#>_Q_c2*p?r)!+q+ljr;O)QhtH(T!?=95n};}mt(o0EsTOrvh!4+4 z5QIXyU}?PZR7Gxr}BV}@LGCJ;u5}Sg{MO@xqOFydciVZE|)=Z4SB=q3KvOF zloy{*h;6HnOm&^@5Z74?ls;^jX?8=K=Tk#}^j+j~lpjjo$;{?Xbggdc>Y7X52=pw| zvQ(c-;r`2Wi?KA{fQkdano@ld{HNmQX}I(%M#I7tDB@~UJxgMRVkoW2)ga|p;D#-K zRlf~x=KcX#?gVsGiRgA4T!=vcR94S)4bLk_@4cqFoSy23rk&gU!9}tKqpGb#ZN!h= zt3Ob6fka0UrxOUI9ku!)1JBsA5s|>JWHxm#K;Ouu|8<=*!RrAxAIN5L%`zQRNvOU( zKb?!j-g|e1xft~jmn5WT)%BDfKqhSmYy{O?8$2@lBHPYnQ&k`{`Y=|pHJaA*M4cWV zqYi_r*|Wk@N%PY%2S9Vl)^9CnsISme6(R=Q(04U==TXU2%WnLC-@^_Zl_O|TEL8Q= zaY@XlP);-~UgqzhsS`)Q^G+{vylMF*o?sqR8?f_dOgX(s6@1Oz0!EQJ7I02XL=y6P z#=<00m!&|W*{x8ipGn_xA$G;rV2sIJe#dCFv4^FM@Bjb=oFY|YNC+3+c+WJ%Uh_GPf`_8;v%p4OeZPl$>swD)wZ z(`0HL9Q;NznuHBz72Bvv6R>zFIB8ta<*pIH4y7J&EKXfl9^?a>CmkpyR;8qH?M=4* zc94!F;+~Oi6PvRA?}S?#i{M}$jd!14?dQ4ZL^TI!JJgAz)Lv#5in)Q!N?>Slm`Bi0 zEM=ZXiv+k|78cWZ?<4IT*Ia+sEHyC~!2-5#9!G^btR+bXCAk-L_yx8me&mI!k6FduD5)6bwP~A9co`tc0q-cf`PtX)$~s-$_5Rt(l${{w zYVL{vV<<3@8cJN#gKd{HIjz3Kcr;(M!!l;2GG$Lbk_JqRrtRl2VUNBr`pH%|Q07dQWANs{iTLEY9=res4ajW<#fOY6RxOk; z7G+t5E<#VO1Wv+3dcPV@0TV}GxRPRtJvGeoybYH zRJfDz?DP(t$od>yKj4E#i;gva^=Ul?9wMqSN?*wFBjk1CXWtKmpJd1~xU%)2?Gqwr z_#>W@63$f=w?p@2#I`pOEAuRTBS&KR*1TLagk$1SN6Bjp2R+Rb{@Rk9qltyq2{X_D z!pMN{x7Jmz(;AKCI>@f>Pys&lHr?J{cI`mHj5JBqnxUGF}z+Q`wo6 zZ9xp7Y#5Ip14XC(zey1qO2Bkb_s&}eRGRY%!dT-gxI{f;D0xPBN{PWA`x_`5cptNz z8qquJ<2~Qt*m4oExO?;Y&PUItW)}2HK`Rk~W%|QlZ26Y~$%KwsCy{q?N8@CCp&3Yz z>pmDj4EeP>zNn1oLQR}+Hp95;?i^o>QSe?vm=lIk0{F(XoX*7aWv;w!0ZK8Zy35Pt z!QjG^5<`$AYX%|J83vQBZ8u;OIb_NG-s@+c6g`XhQG95qL9+BvrQNVvZ1W$QhB6>- zkg+uAnZ%<+yu|j(Kz%UN$e0j!ihf=}QL+GXD{oa!9S8q&CP0`O>&JX? z{XD!H%aIZ)LO?|L4Y_YdpJGC!0&nT3u-LXu@0gmLU0ybKOrB3Curl@d|9_f@%q%r+ zwtDDo%QARF&3PCXi&kObXVO?pzAD2Io|JjXDyPGg&n?^17d;B?44YlWLo0^!KKJTG zSY52Lqlcx{JsG6<8sKB_ij3l*a}7wxmbWx4nlEXPdUUh(?Ho)gl(&bdW>3JATvffz z8J1M!C_S!R03)UaSb*zMqj!=u-pe_qF^mad(H=++<+yfQgk&1Jp8ohdX*sD$H3f{U zcJE>Jnf)$u<2CZj$wpuF>}}Vsi3Rjw2#MYQUt7?F`#pV4yg#rH`jYAvJ+jmXU~uN4 zLi;?}8Qpw~GHner4jGmreOBIu#q$RFf#=l0V9jipZ>zXYjAI`Ge-kI#`;VAcz{q85 zT5Eg;-lDWT z^Wc3L2$*Z5iAcIMTT7Kz#P?+t;UC%c%{g0ma3EIgz4feFCE6=lKVKf`Vixw?N7Zk! zOZtplGav1a`F#gq@b{(4S_@0g*UZ$d;t3O79r&Kwu;=yMcdKL>!KDQqa#{w1&4$mR z+FVJ>=I&s%MUeAH6o8F5G z=F5?(j!ljo9Wn3mjQozO@efvOClU%|Q)mB--3d>u;QMbnwR^`yo9dLq9Z`BcR zAwQ|s5XJBRn9)f~b68XwLx!lT-Cs7{9&I&qs^P`I9U`FI1{76TomIFzsjYm)BkN8V z`4jXtni(dq9wJ2;Sc`=fIPIMj^NaKCKyu?Dp?7FT7C#T|PcUf&ilK6U$$j6l;|SM~ z94KCeSfIDff1xZb!Bqr>A)E#D>Srsn#IUUrg`r5kcnG|CtTKJ6wrtjIBN^=T5W@q0 zL}4Bv)kE3hiXt*7>V+OcD7djphV@B8bE*;e9H$FFJ7B_=sLlZXD}gxCxbj3LDv0=} zPR+y*Y1pZReK)q?!DaW_#<~8XtdI4yZ+m8Z$rt5m=HpW%ieQY#n;+m_C;J^1(POiyo(z4R6<@xvN? zJ}up}v6;emZ7Y!BGc1PskGQo&*NfERj5Cw-_;S$$l^bLWgin|@p6-V)cmwi5BoTe2 z@dJO73ItRzn;=nQ*t4~G61dweNGhe%#j2&vWg=P5t_gPy0~gjr;&7${y#x`WExI#X zejF!=X`~{N$Yk%_X+;-Jek_awaz5>59Cjr4z<-*A!xmpST|J14ufmchTzld9ZW2V} zDe>1v^+SZMSxbp_k-Y{eP3jh+2&9fIQ`dMmZ}bd7EWtPF!owEet~}Ho75v~XGR0I} zuG5Mw=HEykh~}~BDQi&|Xqw;~Y@>^_jwTg!Atj?+uijZYOlHNCSepz6BG7tr*(9zc ze--9PWR-}f4GKGd)MU zg`3kZYCI1%2GnglQ4@0?W2UxF|B-e1DHxgA29mB74{L8JgW^}A!Mg3I_)f2Jshe}} zaO1Vmr}cpIQM8@LN@pk6gX`q2bbuPxt0+x|P^szQs;LgD3dZoaj~zk!qD$O!h$ex} zXx>LB5i{;Cr)1FqoTS_ZE5}J(=piH*l-n9hnRwZ<(augtGc8C)$XJtDbD;{_Xcc{{ zf!0d$LDS$$MCSJRQ!Bdp^6##%fMmX^6ZdqZNDkAX3@WTuP+rtfqWX@1vJ#A&mgDfX zVIvI#DE?zt3af{|?HZtc;0aOT?h7OJ(Z22fS;Z;4HVc5<-LI|+A-ZEk8@CdLJ~uXT zh=Gs1Q+THP!tE}`w~qY4{o?C;%Ifi={jK{{n2UCTgz&}|V79WVCEx^3bh5~9>XUg3 zTOqjZ z0^&)ht4B;TF{V=+pF;@T2U#DoSD|&UFC-EWT1-DlW3SS{UQ)MTmo-ujhF-GF)px#@ z1W6%m5A-$SW=PMcw(?ZoY!W~Ya}J(jHqNj3U|j1UH+HC^3VJBLke7#6CMQ11$lE`7 z$1QQ!xSjfc?&&84zgiharkc~rpGa8GKRy()Yj_~WoJT|6^YDjPHk?O3&7}~cIXT-S zF&BIwfOZO(t1lhXC#Gv@mH-#jrdZX`UG3^9>Y2C7&Ih7p{5k?lEFpB5)pdW> zIP(IghJA#qrD*L;#ZQh3(GttJ;GCz@eXt!`I7BpJdA!z2{%IueaJOq@xh&LD&EZDv z@@1YhpjVZK*8@rPuG29{DRb9g#>+;&UZFgX=Q!;YKS~w>#6p7`C{6~5?kUiFaRRKy z>cyEbq1#w=&|gPMC;!b{3T#&NrB{?aXDNZ%&0VVkXBoaN-kYRHEiDDKQ8E?1Lz?E{ zc|KI@tvX#iTP_xq&exyMVE!0CREP$`IOWMpVo9ed<%4@s;C=>7M)|1EN$!mNt(qmK z0V$E`W_jT8w1QK>2;OE6!!Iz-^-Sk;xoDrx))(cxS0(a=-IKDoo`Ha7W&BZ!`gb0W zf_)fO9&DY-Q(ckfz^&|Zch^=G(btedSQ??|ZdIYX8JP-ddNg?NIAzHmtADP2C1vF~ zH!A}JY2O`b32`?Yn-3mLrpydl@9ZN*4~U?l05AfF3AW**6BCTmAXyG(D{kfd1=2a% z545}Iet+#o+_)1y$^G>3gD35|DAe4hx9x>4S+$qY5Y&LMZ+JRWJPa$W;0kZg4y zRwhnx9|N&Dd$*Uoy^6?3R~^y&Bke6`G(m*f_(phaHyO48+6Wtm%FR%s@3ZEiM>mv? zmb{tkw$jnf7%56~a0YLRbfA@D`605LuM>_z7m}zjC~V-W)jbn|+glp`$MTl|UY5;I zgnw~rnOI~O!STI^N6m{>Kfw8H_DJNlT=!w4#PgF`b)Qht&W#IFMPJ?+L4lZS)vo#V zA!!(N27!lNz58Y_xcgA+O6%WSC!=x`Fnzm{J?6@YyjOXa%_L>ER*CZTH23dZjG7@8 z9ksi5vs#LdX`oih%|}~NuIivo>igv3DQoFyZsj3zy?QPW(M9U8`CB`3O(%jL=Wupd z>VWH9t@Y`>UVyze$;C7|ToL93AVl-iO=@aru8gi%Xp6LqAFfH+hyfS|47pPSP|G!O zdM26@vP@#P>^@k_f3h*hN$R84HXg|_S3kHT6&3&2_(am&#Q-UM?dx0%PoVJ!KRyMu z{;4(wPrTymZzls(iD5vqYLhM?8$gv*=r@bEa;!&~%8b25vbr()vW!3t6e#8$WS%)F zApj~ShGkzI?nF)NJuwBBkghUlRz}(?4%Vhkw_n8IFZU_>8^M?c4A?^@IRwigq!;JQ z64enRBVHFvyH}XwX<2TXl}|BRq9_eg#(*82zYP!kg>7NPu-Cv)qrq=B!)g3^%-hBg z>HmxRW`cd8?U^89@jgBy`A8axvT%A9r5u{_C`n$y+2RD!*f62ov#0pjL8j+PKuJfI z#&!Fw1Ow#5l2Ja{pEAU^F5g-d23c$FD%Wc*DfBWu;w7;VG8nM7MBQ5BlmlOxXui#o z+oJ^(-Gvks>mcljwqFwVjLm7cUK;gBinLmT`s-SFYamk91+6NMh0Ej@5p@g5Bj)`U zwO%=Pd|!sxsmLILqHvxx@G=<@kh@5oUBFfPiwmwPZ_E}A(qThqql^0eUfO#&&6ljQ z`P~oQM|80Et-r{Ch}fa(4?!yI8Eaq>{&Qjru;`uD+1uSgcFMzJ z(1ZBwj4oL013CnKzCA1Ta3B|Y*renBv|lCAbH+)^9`pQhu=@-S{kn{(3FO=qbM#>MGm z*In?(7^y_XvwJuk>L6n|9HsB*AxPq$4WC*aA95|$J~UAq6tC@P8vA0vIz!Dgn_ao4 zZTO86Vje-M0tt+a2=ixbx5Y^~%9cLEY)Tz#AI^PhQ@*xjsEm*Sol0{;5lI#if|?IE zj!zvunk>_HWbFKI6ei=jd@I2tP<8I9_@9z9WfVI$Q6(Z_+jYEAeY5;oUDFM zl?MXIN82c|>=B~67a3P=rMkE{4%AGpv*MS(t38`Jrn=cKhqqbcp@TiDY}*H~e=1y|ghV+0nU+ ziaLMhbAN7%h@(Z6lK>|O*Je=533ZK2ScGFY5yzq}3izNVr!2C)H^UdMQc$*DqBfav znwSr}k2%X$U*NVE(!J=)kaS9_*x-sNSU8nM2s zJyBDIg{Q~TelHlxJ@$=msxmtary@wSQd)O#4=r4OC4pma>AmW*c~*)jVo`ComKw{d z<8wwSTENM#{JV)H8~{$$#QjcmKVvaSwFBg_R9&=(GqoeQ-J>QG~>hadpCvvu`q>{+~NS&Awx=xBj4A zp%8)9zJ`~iaB=57j-VP$a|^lONh;A%6}5BKTTBeqwe4v7ePu&u~ONJ21Z4{@dM z@OEM?_0lr*Gs*Cd>frdsqBoT%2F)QumdDvC2M(C%yJSQi461YrS6 zd^?ISX!Nm^ttSi!yELnfM{41CGTwNt2Ro1e&)xao>t1eh6nD9&RseuOt&o5p*_cuN z+MxqE#k)DaHm$9R@*B=)l&5aI>9!B}f#x@KKm%9=n#leBML*RFH7_w8r?rsfWVpNi z%#P_PMamATq6wd>d5CQhly(kQ@yswLtl#4h1p6E?8|(;E+Ke#TxX`7G`qf6_X3R$W zl}v)>OPq2u2Yj)0>b?CD7uER5&uB<5hp+y#&ea!Y#tT>ga#V0Oj%MV!EskqZ8*X8V?LfQVP*X}e6+}f)j6CXmy;u6ryd!?kgHNzt96eyV!|F)&;V=)u2-0Y1bTajjR)>mR zHr{h=k9V{F1k-^j)q(|UXT~f21L39+q$23A+;=gK7DI>|+h087D^KRrX2rk%I=>xi zlH9yW!aC9AMQLTK`9g&L?v7un9y;X_@edJp5WBBAi3@GI1mUzu-p{N~Ssyl11|_!D zv#&a-IeZ*S-S>6&Vg2OgT?uqtArxUEt#NtU659rR(n5vXZ-_}KA^58Lv=fBrEjP7I za7L+w#C|n|N?ndQ5@NZ6DT$)#Hj9xm=ZvkqfpO8Y2tKKa^*FHt+C81q*q(5;IhgO` zsm1fo{H!r6H z^0k$X^^niVK98VG?N^{R4bD-Rfe!$$79K+^|IN2iD48?r~Hf3U|D z1jG#1>3k(e&^mr&Bv|*YnC&&yBhK#0D29uQ;Jdlxe0Z3b9}rw4UMh1|mOc-~ zRB8BG)=&CNc4CA&VqHu?NE7HN$Xo<3VYt-yQ`nCq>D%zx``7jsY1D#<3MP?)r9;xW zO&jAR1O4j&ta-oCPl#(K=$`$tXuIdA`$F-CPiErG;zn$bP_@BQ0tB*C6M+g z1}iJ{0jfeVclqJy<&TQ{!#OqTGdpk*WXk6l8KfGj(VgH5J{bNr>0jg*o-M=FZXAom zD(R*fAkC8QLWtmxaU8I36vcj>)Sll~a}W~tCkDPq^#)S`{`sgc)RTp85&?S*VXglW zxEsY~F1(Qn(Kcad^Qlfp;pbnkMHgb@A!9#D1*f^V_^Z$hXCo+{3cOmpKgj%hw8Xf< zi~Shr9ALV?I~_LRTZNkN9F;sa%()m%kOfTY0zlAi2ftMYE_UvTkG-yTcaYDg1gi9K z&Ot0VufACJ06SaYAhsev3bejh(K^R$(+MLutF%Url8*zMJ5~5&wmDL3tQ_`q4v)mO z(B0~j^Lj;-kM_X^STWZ5XK~8;psyEbY~UuT>g;HU;g&qK4z(YNfFP>4a!20QDGlFL z2K6 zU@~R?jsXLCks;;94hqTNi*~V1NvcIIZlm19sI|u)=xZ6hpi^I!HBWq^nMGzfYUAD* zj*1D)T?Aw@?_BA>shVOYqZ{t;_(`-|KO6SovNl5W%fQND_y3Iyzj+4Pn2t?#87`CZ zmV!YqVBonk%8UH$D$Lh_*TR+Ir;p(M`e+M~KKp?6ri$i(qp}?UHoHSSxj%7lZx?G6 z{7NSUOZ1wV-OjUiTp|sXra$&2cmHU%*r{go((v`OL5}&XgIN}-i)boYF~NJ;>hxl3 zYRE4j#(`cG4=Aeo5r@nmCxGzljIItZZJIgvM&d(EUahlh(3JqR5?D3~T^k=~k0}h1 z$s}lAqg;(m!^KS13+h} zmRtt};IfsJzs(|Q_dQ?CR|UqT9T-PuZOp8b-FFYq<@<9{R&sUU3<)kgrEn zun*;vKmoxpSG>WZXqmouv7PT1z&z(YO5|3lmv3O4b9jzhVi-Cs$e<~0{!eGhunt9g z;~#^oSgjbXg z2M|3H#z9t= zdkFf)R{Ia@iwTs^eMesBsd>GG9j>AW7XG(nKO8nw@&;bTSy!s}bxR9@~=7aZi#Sg_7$_PL;G++Wot24&@9;Ig2 zhJQK#^(u%?vZt;LMXbB2jF{O_9l@yhtCiB@>E?~F`LBE=U#E8u@6TnPIADq2gCtXPv72Wre zcvx->!ISv>wIZD0f%D>ZBR>N#dFGPL!=eaIr#OA}>r*W)(&HKwcTo$!;eE}#7XO_( zGPC!s3_?>_%?DG6h@zFt%ID(wsGUA?9&d^c{xr38Yz%Fm%KmQL*c>o(f2Syq1e0dw zCh_TO=4U0=qJ@|KBf|lpPoxoHZQnDKnZ~MoUNoKz;l|dueYzT~!jiqYYZXh8@^#>Pm@IqlM`pgJa zG#$4TA<4;hsat?TtOW|u(GN+#d)T=uN?A}l3 z<_hrz8$&2AGmQ3L08)9~XX;~+V5%(EL1!x33;bZUnk2>B@aUreT&;QP>j2BYgH(+P zRr+sHJ8@*I7yvmy#=qG}wQtZDfTf|9A1>wn-mS97rJ^G`(HGS5>C5l2O`TK39;B%+ z8~$fKxXK!Q#oyeYV?d2gATk_ECk1tn0Zm554^iq>~|fBX_2p4{A4MH z?wIbfkcVeNWnOa`51Xdq8a+x1{<+!uWp#PDwap7@3t`bq?HbVSCx}PU4Fo&2g@tQ( z<9Gz+F|e+;*qrD4?D;@z7WyrCeqhDS5SFEFSqzFGXH#;stomrymTmO7n~vR{EIh?9 zl?pX@c=mBJ_RuInGAA%>@1MqQ19;^RIxUDG$`Qo24(E|L@*utcXM z;yoKy>dFs+3gI(Ezd+UIUqhK+%9%)^BLFo)esg`zwi}khHQyh7+0d{*JHw^Sl|!4h z<*6oA2lmwc$2cv+G0xa3PU|-jbAOZ>n}tZV6Ftys`*1j{F6#OvvvM5ru=&_IyjRTP zY6*b*k+hc|sU}uD!v2h5}eE>eQ)>|ndXI02Th>bS30HLqP zpfmeRIpZlN5OZ2IM5kHeKU{308s|L~a3z}Ig(sXW!AZCNx$kU&qGGP`^&G1e7sV&6 zNBgU=<0775AciM84AMAR_EcU`m8=dcXR`Lo^n^EG3Lzbc&E63+wKMdh59)M~=;e03 zt^x#1*ln`=?fHxl!U3%PyXE5ojo(zoqy|)(PT*&mco|;yG8|ri!K*uQXN}Ey##njn z2QO1Ft2Xwl&mVR(bu~kS^fFU)Fhs4{r|OqIiw(F0xUs4c<1OZvuF_BKdtZLDrawQ; z3h>B^Gd-FYWzV@Rv4bGEkDrppC`PcH67y`LO{t%CAdgoMbW4+$SlCQRT%Z2S$0(9H zCtoyQafir_BOKUc%VrnTvwynYC+e@}|Ac+(dwul1A<-$nbQ5HSwof_(i1@7Q*O>RS zUJpS@1~8xLMk)`nJ-hrpE=fk4-{^l^DB!Fu5cTkGPpWfgfSO`7(6w@UIx4eZiRCci%_Q0~NF>qFj+lJ_lTXBO@kMM) zSicCw>+!e(Za4Vhroo$+aA`j;$G;#ANuL)U+7{2Ab3`09h%DNF$!fd%S7Sf2eqs}K z_vFy-8;j55xh9u*K=k9vJp6AmmOi^U@bR|kKhq85EvMIQHRlTOI+~hj7I!u_H=3fb z$A6YrMFGE!esZpTjF0st#<>LWZHd88780^|9()UCktZrp`PNzlIAJo9&yf{rooym*37#^52B|X6 zCs}IuYo8IpOKV+Is!QSG2-^aNHpxYYXmn4tpC*>GW|TfH8k;4|QU%$tU8xEfK=`|v zglp0Y(jm_t^IwJ`^QNgd{%*&Pc8?W0pkr8mvI`3BaX3057(!?0R_C#xJ;G(jA&s?+ z6}etI3KjCSZPS_u!*nE-2iF$h5czV~(T8*qrd@wu2G`@+VHXW#?_D55A6&d-e+)iR zr^Yq4u^H1#_}fAs+YrU7O@luF>L7qDG~WPF=&*`r3Z6-Uc;V&FS+P zP!ZJ>!Exq1Y%>3I!dVkt&7uKuOzm?e{Refb)D=bXs`T(7tYoH~yMF7$2;OBL&^tBT zmW>dIQ~OFGSp{qqLu6^@`ikLTzt&EQ<>kP+Z_gy)!HX6n$1J=8P1yQ<{%nk5nwpd& zQZjPBZtz;toO6Zt0f28XS~}lo3lX>umBuZfXYIS+%^iiPK+bp^+;ilf{(j&=tKbTA z68D(~RLTi(^~QX@E#v|yAp3%A66R$PRVK?=znp`RkpWtjNal&&W`0Sz|J z;ba=ziO9)0QX4OT80@Q!(10pQ!<2%sy`AP<0%{3AF2nEy~HD70ff8?(vxFr zSIkASR7>vGEpwNPSfns>nP2Snqhof|z@ExHd;OL(ok~o{SFcX?4&P}T6_@t2ilBk& z6_FCf>PrB=HZ);+0dr-I3E1|R_eYD1dQzN@F|4D2Iur?zN@Al8Ugg{eI6ou5sF48t zouDC3;gUECFIX>MdhP~o9hT(M5{Y(JcABySS%+37Y)4k)vB@B-=IMxzSpyGLdoZ|H z$CdD|a~}ipwuHI}qj&z*ckEA;l&XZB?4`^ZzMZ8KB3M4seWPw1P;(P%vvUOViz~~< z;^F1wSV4}3@9gAvsvfwFMt&7V9%YaYK#5e9|L}_kdRv98V@9$S24|T%X@#@P$pvM% znN?SMgG#6bpgTgxYgv5Kem3D-f^Qv!zmCUt1)Atq+_{P?$~Jwu;Cwk2a~eS0eQtil z1*SfqeY-`%n*`x*i7#$kyJ^z4JRY9tN*ym&0zkBxtFI=*SYrLKiqtq57(-o$jDlu~ zNaC)qG8lfRns@Rp4mH!6lYgbQK~$6Q&5p}wNJ~*#Bd4DCGRi*t+9Si8?9mptxImBB z0guT+h3K0DqaclhdVv;f)ql!s8*?w z+n)+WZ>j0_NqhNXyBFUp8JThhE7EoEF0u(^;`_MOS@Sjy4f|`2eTH=Oaj?=*ii{B~ z*7)hVypx4C*eKmxDlwgpd^nf~k+$evV#mr!YPiQ!ODMg8g;_*)WuEj%zrTQq?!OY* z8%_+}PWDui(YdtNql~Tk>%=~^ij#aMV!mFsix*Gf(XF|yh3L!{FWXT+Ij&>f&vqqa zXc{0UxgasTn;gq>Aiy_it26utJ9`0=eJ%J?pK!Y#yy&g0*Me3w_j)dZp(GPSug zEz8A;$o6}YkO|4zEZC|IB?fW9Nkv}m0xV_TZgbHU_ub)Tl=pK5s2s^-JwY;PZIVW{ zm0^I-!*g51LE!6SKt;8gb&kVg7R@=(uS#Q3GkDwcH(n&3gQ)9ja0+k@)(I@noIE8c zy-nPA=#n}j*n=br69$1kn_p<77Y3wc_yRvvg^Q>D`nlJ@s4+n0sQRV}3}K9AY)RJp zd*fz$76y7ZG8C14y*}%lq_CY8ykrcmAIemJF1CAFM?leBv47Ptcfj1~#YbYg-L}l&)#Hpknn47Ambg zm1+d{^6#`!uZNNzou5HmBnI#xIrz#P}9iZ2|y@fu<7`y$O??8}!{i;e=^ zVniz61Xb3&^3OY)vWbj*oYn6Qqvw#u5nxWjno)jd`(f6*u`KC;cvM%y)Z^VN>g_)W zQdYy5tS2!|z_y@RaQE9j%fxi7lzt@4f$RyK1v3>%W#1G;-j9vQ@QGukT5KBaj$?N1fcMiwsi6y!A9)IstObpWt@wvoaS(C=u#>TaQc_) z;Al#O^?x)hd|)v^Fwk!TBg%G=P{eyYY(RMie*-0o1q_qOcJzh^tYev=Lbij{j3NM8|aGZpl8 z5kn(wQ8+6H41z=RZ7&1m7p$F@f31JM^BzM4YdL}-xm7Gb7i#HGg|r=(DCau%#s?C1|L>w-wwTwsm|3H~ z4t_r1nq5|yEe*e?`_X+{mBD{%ywO(>E9O;uA4sm9io(YKP3}i_MJy>f@K5#sQg!0= z4dx!s61bCqHJ*FdsV;SRzSm^l8#A!}Eryk_hA|dx(-r5Sk+aW>_@aa&h_>Gs^IkszCeD@!~?rvDe(0 zC8r<3;bBQ8urfDLnMo9U%Gd8({FTc3c5p7orTXLNokM~53*gULZZfruwO2a8K}fLE zpTJY6VQ4JgaGyzfFkrU)0^ww}5Whn6p~jlZ`1TnD2_=ZN1S4wa@zen>;9jts4VwOI z8~}C@T_vn23`a2Od_-J8`tYa=6V!j}8>3OtI3hnP_d&;uCX(FR4LgE0*gofLgeaZj zAGKhqhRkY|N$byWG|RbPiqt^|=)%qc%5iXM9-dPvDeh*piKafcWDpwqzqeDNLnZ6E z6@jP-s=ypQKS2yU!G!2=x~&?Q7>!USK%o|gRmf)ZdG+&Z0-kDnh6a~(769AShzV_n zwZvDO&eHKUQh6o6wN30^>aMo2+`# z@%Itaky9>y-py;;D3~UyP~IhHo|SJ>1h0Wfj9zt?KYu|G-qXki{j~jD{M6WLZ6Q9F z1%#ZZ>vELeB9@>3pg9OJ-iPt}xLP#v9fvp3wp4G-K`+G%D)BArNXdZV{b4gOf97H+ z1OQ{5D_|9;pHoq|IU9j(=6|y$shz<+>Fp*fj`MZzh~to1+X!BNl@8xO1l9HjeinUe zWS0!!j1r$|2jZ=hr7cmhe4bl1U}<%UADion|B!sM*_V>2@P!Z2g9RfaL1`AEvsKYq z6g%o#d?wzwUtW%GuDhT1_s=E$W1Z`+!)gewGHzDbdmRBsC(hy~e#KO997HVj+$IF8 z&C-!OkF-=YgUc`<%2%OoFdQu~k2>h{kItng5g+tReHQp~W0P<)pAvrrsCS_L#QJrh ziu!UNBeXJVQA!~rcTadUjhS%I|_Up%?jB3QX}`FMI;Ez7#$h`_rW7&0y^ z9^yN@;;G@m{uf0o-9{81%0&1o5SzE%aXF0?+pVhVb_=>gtqP`-;G1xXwqV9KYK6FC zTK=LZA@3M`j`#@L(r-r#B%ra(Xs7tYG|Inz4Xxups2A<0Q;sOW4*;J0N2{No_=Fg3 zAYt3HEGJIH$tg+j_cmq+vW0zwDmbDHrw1UV&Tj46JTE0Wi-EN z2iArnF{(@KaZJoh%f80tzB&TNhlQ%Mo~aqTahueQ#rX5QbZ&cUC2)WT5{mPxq7@#* zKwX~SpH){Okc*tVn_auk4hScUgMWqHPZ7%0mN>u0TUXZcmbhFK5lMYTbb1)Ss<;6f zw(*O*ve0+sR_5TAiK>$SrPMbxAvWI_Vg9@uqPl-Scz(l^OzmHo^eMM)c2nj^MEl`E zYIK^{pp}joXoCY1e)&3oK?@Z`h5kzpj(?v=x}a!>7+HlPWkd}N>~ftCv7`Hm<8ujj z3~B`xp4D=fTZq~~FJ7+^-{=#{q?{WjaU z45^sYn%>m-R3av$QHpyv6s({GP{cP-)TBZ~4dW9LlKzPI;x&Ss`{X^p1N~`7hroi- z;{>|SH>T`)IDo0E2SLvbBZf4VOt-X()-h=;LodivZn3LjT1~s>2CF9r*ZsI~XU0Up z5qiX{-=-WqcT1PmJYf3Kx$)!c80P=%k>4M=LFswye15sgKEkc!NQ5eaG9_n*g@yvF z7J(Dsy+9P$TCelsetuRF*W8v19cp}sa-AfJRiheUPm;804&YYMm;B0YAM}+W|B%fZ zCh@$jVwE@PX*3PInkqW(9yq*6)|sq{c!Zzf{7vi-xuxVi$r87PiAzIqsH62p0vY9V zrdzyo9!NR5ZdYX`>UTyv)K3dqoE5u149aJ!;~Pw&NE{HpY7?iV(ZWP*Se#??d0gS*hG`eDTK+2_JpgKB{I1@idUmaz z=u-hcy%@kRA2bCv^f5IQjCRwrMB$-D;}bV6*+Y_(h3|jFwO`xdg=7sBE2 zv;UAJJxACzNz%}Coi zU~F77ZR9*Zw91X3V+i-u@a|%gVOQSyBE}Ud9xD5u8I-63TO;(BQENvrrhMupdJvHt zMU~R8(UeZMazOpwh{YuDfpIt~3eK{;MS6 z)$@<8WyEp-Yi+bJ8O|*=i=HvWdS@4QULV@q&@dkh7&7Ce5ziewV){LQ$Gyk z74BKEEY$!`e+Zq2gV*%$KIJ{%yDZG^cE@?~J3`5L$DVj5FsF=3t22dC2@7+nfxPLM zp2c)kKM@msvVt+UZZ4-HX;cSxCp&g=&Zt2<5IK<2xKyOIh5lu*5)k92O(!#CR?N>N zJp{k%qyopM^G`=@&k=0)tUB%qRsk!%6yEPoPGC88S-i$xLTQm@vB2s#xsy__4mExV zAhPD4LPatcCD_~4eMNrbHh{}wDt&IcR`A;-q#WySJIL|={X^T72MR*a@6Q5W<@!od z5Ofpu0ay=kl}H}|s868ziEE-pq}oyV_E^xy*9`=>tBN!W&SqIy^hAcLIxzKN?9RiP z`_Pc{e)LKWL1>mtIwEEUBjS2%zRY1FGj8MG5os<9Jr+^4z&QJD7)jV)2uGerL%=#8 zoD0iB#g^$<1lzdK`yBPiBk$f*uK$>}aBW>soOqf0ju@6AlS5V>>1daRV_Yv6<_0`d z{6fFZC0~giv{cq8Ge9X19wKCtZh3)ypGA-j zFdj}=o?5YNG6Ln*3UuUSd!(~~C7iH6cW-#VT)p+tn=+YiC#GNes3I#aL4S_9lNj33 z;799|tEjRsq`Co*^5u&p{&HUU2W2nVGN$W zzLVEZLJ^K!x?NnnsJ893VlNcB=uV55J*Rs#FPB$cO)wNKX15}$5cyV$Bu=N>?)qt8 z^FFf>*^iPiMJV!@?H)dme+M&^T4SqfQfwO?9H~qt9n-_5K#?$?0SLI|cLupX6FeEV zLoj8?w>am!($K0lQ-@KLmTd#ug9xad+PiDa_VK?O$!g*3EG5kGZym(<8giCR$eko0mLYpXND&0bf}M zWZfy;&I@1~xz9^nWk67Z7AT_4d=8G<49myv16igQMuJgpAaBd31VWHUw$^2SH!H?p zvGhpmz<2%f!;sGG2lm_h+A3Xca)l0YH1L807NB*d2N<#u#NZ`bP38jQR z0IY3Fu>ph?hH{j7w!n5xd6s#cLcXpiYG{({=_(yLz)3f*Y$j1UAiZS;KEC>{PF$b~ zoKXh%Q6Faf^n>xHzIB{%j_(4o!HQ<>InS4~-~G)Mp9vrkAcTL{yZrW1@ajFZA?J^X zuyxe9^?J^-r$uc$9+V2_eC7x$qZp3Td?qVAZ2U|gsB12Co<#-7f>{a#!4BXv^@n~v z0fHb}vKw*ByQAB|eaXuGed1-<@v_qU7;xf|_!)`eYw6;$)r$#V6wtLU$SBa7Ki9{M z`vP1rAId?Jy4^7v*ntFZsO&d+Hw-lV*!Pz)>6;-{tV zmE%BdEkH2U=Dz1Qmeb6jfT)4*BTUemj?8*jx#f{^*}~Tl=P#84eI{l3!gK{jioG^@ z0-wC2q1Y512@3n`9zrS)f!8pC9CeNOyjboa#)OqR+1g?BaT`mI_#>J!={D0vLiHoE z7uxN*J~0FJT8ChAc3Hg2w;^EqpMn$rb+1xgD^psxt!R5da_kgyFjbRi+-jY7oNde8 zvQaMM-{$O$1j9@X73dobEo{qhNJh$^54)>+YKA{k_DhoU$Pg>PXN)*_mM=`EN2di1 zmZiVdz2aQdD}qwuq_Cow8SNxALr6KaNMCKIPiL@4zQwudZB5yQ4qfkQzh;G#lLx7D zFf=Do`vZ;ED)v}y0quj(@kN6ZCYNz!Ghw=6yRnj{bz&ZoaqQz zBRHH)^LJb&a6MEXKax-OU#FjmhqmE#c*d$G|EM-$XL)mE=T=v%jFK7f)-Ht;O8Utk zkQp6|ABI*>_MXRwJQuT|LD_Dys%+OJpP)?#$=BO10XbIQNyv8XUCghEO~=MQGFoG4 z*z==*KP#r_WZPSc`vCt`?w(^f>hq=t*g^!>hrhfY^9!pr6OA_KdFgbw6PKF(HI`1b zfpr2V&q!P41YX7a1mrRpjEv|n0MqY0a8&4B!Qsqk^CxQa=FvHXNo{2^hMahet$-z)$2wx)eQ=vW~Y4!zrg88xgjnw8q`Hc=a#<;2y52 zwYi35$u^v!VlRVE&~<79)wFJbgyDa`?Nv(%PaRcm8}An-s(tmPH@1~Ene?}{wI0l- z+{>K!eKN;Gf}b{P|KpiC&Nfzt#W3kY!~6QTiQ_7Y4*cDp3y02gPp=J4d5r1*rgytZTt}vp7t; zzSS1re1~vDuM#DCRP}t30wFxu%PXcJt4zN)woINgI>lJ9$d;!+I_BKZ#-0kJvkMWa z=0yoj1S{Vk)Q%1x(M!D`iK>XZhJ4!+-lj=8an;vcgJ;D7M!?AG)c1^U;~Q_plASlZ zU7zc0V0bftdK$}|V8*O|`&=fVfCWa!8q3lq7buz6_`n@iI)s18Aj$Dg$nHued&V-3 zhog%BFmr3+7!*Mj`mTSDl#nA7k7bQC+`oJsTDH&l~gl)tr9QaQWNw&69SRqJU-z=z8A(_GCL zx78;6#1s6?$&jshrUKx~_|M5RFT`w?q3L3s6N9KvS2A7!A38;rEF*Q66P5+`w zUbhnI6(_7EVk-UICP4dp9W(__$i@%T=NRhWc6x(ZR;g?7Ye~ym#alI^&sMFgjshd# zkp9@OOREo6@vMjE-a{uj1p!%M^UNsrI>#>&jBL5_Q7tX;2nLHB=k?fj^!qwLO9!GF}m%U zv?xL~JLr4aQ%)U`0D_J7oa7MMCQ2v&hjkmmyg*!e5|Vm>f&c(py|Bq*DhNE;RDpN~ zJOBj%QzunE$tgUID|h{x_7LL>dYgLTXRA3`iJ;bza~Af4*6flBeRUzrm4*e_;1WNI zCBy8eO95yG;I)wXa#PL z_2|BqpvR*wl3@|Y22O$FX38^JImXpgxR&GlN$g28h8>XE#I4g1g=im?nuyVv#e?3c zU$s1{awD9dSK z;Ls2u(CF{-ue->XRL%dqsGdKAfrSX}PJEdF%yGXm+eBdie2Z#?u{zEkKR5vP+Bc>a zBfs=2BCcG)jQXwnxY?9?N!tV-H0#x|ds?EIagaMCX8nQV|K7S5Tjj$&TABK+{8fwx z38S&mW*0Gj4^E4d5fXOBIQ|Ul3=iMkT8>qnQ(18aEqA7QJ`p+?5O^o0ofq&h%{2ZG&r4oYd$MI;MHQ` zaJIh!Z6H)$ReecfDDW9aMIrB7(b4^@2Or6X{sEmoc%nN)Ds@6F*!Caz0~5_@CjBmy z5WA)&?R?f|+SVCvPa)tEdiuM#ue`FSL0LcLH-m(uJDUg$eb2tbB%JypgpJ1XQ)S-3 zcEbGfXQXogl$D^#D^Jb%dn?Um`|&FTnMK;4V2#g@oUGF_M@tsmydPu3?-dFE*LecSGrEIrUI^6RSwfbI3ZTE z8BanfU>By-AT+(&4J{9c$sbcEV@U_1OdV#GJnhr58yEzlz`koP%SvMA0XeGB!sapz z?o~kwrlgJd(oCr`mNcgr-=YZR-~ipPMculPlY3_sjyn}{-rU5`V;2n!l3Kd!zVTvn zyGdlX1p?oO1R5{);vMwo?Utx_p^m5r@M5UyZGM}}{Vjwn`M>JDx$AcKhuH;iB-^tA zM3a!Nzf#pzqI?~_yK9?65jnaj4gBQME*-54j%nP&6~{=rK?6O4IO6OOs2E_=&_H1o z;wp#!Wm5d_$qpF(Ky33)3qO+2`(tK3@|sH7Xf&;0LmgN0(+deJs(~PwZe~M8!4FVU z0B?e8F{PTZ3#$p3b&1uyZfDsy?;r8jVNy~+skxc0P0$#3* za4k)EVd#|l1U}{q5N6G_?m{<^nLrC!B2_DZA@fOwSrDoVs`DZ#Vt0dgNc&hR=TJve zRc@0Kw^?XDb)zn;Cw z@9OaPFatoqZ^D5+_eyEgKis^<^fK6r)z8IjU%VeYXJNxLkwrh8=@8^*`v4&xmqqL{ z*-jD64};x3C>lb+fbI$6XYc(cZ9-eSCfmwUJz==)Sk_-2mxS!p8H!aZNo9zI1&@r1 zf8pF&XPl%8Dpdiwx3J1=78fdV=FS%pfoJ%PvA6IA(UlcA=5YWxxFJ4$_iIWd5j_(5 zqO%@ncI8I-4|YmECkAMTds)6VutP*u`1 z=T#&f+%O%eE=w__Clw#>7-tRB>|9^~_d?h0WpF#i-?6LPAjO)6+Rf(FYJ zos28vTAK?2fBp>bgr2pj_=AXJJF8{s7VcYfC;HTSFme&S+;A-Qr19D2wcl$>xoF6A zjW2|1sp0I8zN#xQjuJ$Ow2SCF)M~S2T=OFD?(*~6@Gzjk(g)n%yc*4P_ z2^$4FJmykm)q*&azmf&v+7J&psf5Pzp{>qoPz-`oNAlntb;gdQ*^xvqpz!DQ1yt%( z@~?lxkxWe-O7lvP0ZRcc*rG-Wrx!(UY#&b>}pbE4BIp`;Wz%! zUg3?60dY-UCV%l0X8#_Mw~eOZg};58CoZDhRHW+PE)T9Ds?fB$8+jKX-lp#-djoK} zgFoV82QgBlxVlby;*BMdbeg;&3SxcREsHKh^7={bVb8Ue1ssrYi3cndVC@NRcY6Cq zxwxA{DyQ>6&+Ji@jvT;`fwPC$VLs z>C$#ps1O8K74Zxl3Hn3+<6+HhjcJZq>w`u5)4s4$2d^bI_*Fz4xAQOy3?`f-p~qCt zjw#&c588+B!vko*H_yGoFrH+UWjHac0oto+8A8`btylI*{@Hq_+^2D@@LqhZ;#Vb* z#t9wFOe^0&Ol^tRYcS*+-M*m&u&QpgGr|ESJGa51irV4+e`7YBPDhalTUA(IxGb8!#8yGz za+ZHWzgS$PzQF|#aw1Usj!MOA@)x_g)n#AnI#I)|?eP2Lx=!|?w1QDJGVr09h-oX@ z@mF@H6dhK#?;M#`SkJ8O^($>=jdl@S{uyO>c25kgA#Nq$l3vi4it;ToTA4lB3*|`Y zO`2!)fppV>-@4uNFf;DTjQZDRsTUmq){LL~GBO#%JMxT}eHUc1zqU+7#0JqLxDyd1}BHr1F=`cx*IY>w9d$LnOJ( zo^et-d)!LDK(tDIpo%oU3<~C_9JX`u?#muLOfIRWq4XQ6t&q>o7J1VB4wBd5y|z+n z2!a3JsYYmZ(FC47)K+Kibg6obzgRy#bVN(RE@(JdnwkJl!-dx`V)+<*9atf9uW`{lh#P78ks!A;BbE!Tu=SUprrdK%oKuz)>k#D zS7@65<8VuCB*0WpKOodN|4Q>0fJzt90au9TRi#4{*~kQ`Am`Bh%RIXjTS^~_!1S{a z^gymh_RSdLCSLpN=Im!o-BUT;z8dj#4cNOQF=6F_F<`}FJvkV*85Svcj@m3(^X&M1 zGGjSx3L8bajKA;E z28G9;k!NN&I{^Y;khLX%zAIr0Y3DnjbgwnuVqIGOguMu3f`ms3iv~jSKdzVnKaE3k z-6HCNX~Bd@t_HC)RhjNfFZ(!U4eDRpM>&@ZbzMMI0Zhg~zQmk;d_E$a%*7~}_9&Ev z#w|QnWjF)4>tu~yVCtT-P*zA9iC&NvoY*v43;F-_BP`M^=D9aSr~+X@}T z1MGVm>VRF(Ihhkz0SgSx7Us*-S;!`L(rTHrBdonbtDnR>owKhsWNnQ1BJGm2xK6fJ z_;Zfz}!p2tmyI6Ya+Uq2!p~R+? zQKlIiD(*64?=qQQ4+j9S01Sq}?nXuD2J|l$^;dks_wqaZFgXf4^_&V6ZtKHM8JwAw z+d`yYoe0*n;8eLwft+%bPOmiC5!J9b71ZX;Hhuv<$jxq^d*O@ZipvmlcAc&lyU-&( zL4Cnz5rPH)2M0YA!Hqg(vNMAfO!53ApyxCFhELN?wQY z>HG8`N-bFUcY!Ki$DnPk&z6P=+w@Ecm?s_JayFG=+hL1l034>ST-_w%QvPzFULT=r z6jFURa*NDuKCd=Q^BX+<;}@@IRMgg8aGNdwtYaHoyWqix%%JI7B@iI*Cm2#Pm>kHl zhE*x^+^I^MXJJTgFdA?4|3U0)KLPmyojgqi z_h4THwKPS0tKk__QdXTDiBo}j9Eo{9@^3h<0pgNO?`ompt6Uga9SocHdWU^;?g;%j zLO?e6vhIbfs78YNA z%6EYreQD{KM}O$HV87ckSo5(RF;Z*9`_IJRuYUqGj@~t}gmN6(6>cnDt=8br30ZKB z)*I<~Jd*Fte9k{iFp|XmuDzncrD3pZcgTSGy2)>OuVK8=)ar%+iZ9OldK5E)ZuCd> zF+7Tb2ikI^pH9|!tx4_4xL_m=1MYHkc*AC5IT~3>If>oH@OEg+^vEUE#F%`ytq2n4>IsYF{2(PY z*&QL8yDU;L)Z#Ifil#PLIYN6weLs<$cDMlV+4#Qik%4GDnmX1z1Om1b2KW2E;$0MX zyx|JmnAd{c7EHxL7!$UXO?frh!VNGy-SB^Irc*s(HS#9|(Iv|VSy#WN zf1y^b@6t}eH2&!vM=eB#zJ%&XrG&Ux+M3aO@?dtu%V4S5YKb6TYpTIyLE;`J%&8Y9 z9g1LVp) zSlOJsJkWXl_`rZ{r50P2B^Pe^xq%Qji0UA2V<2vZG3f8Hol>LRUp==P#0bJ1leAVm zgqp8OJJI=j4_#sIOaE03NeETG)G_J={5%be)~Bqi)`y2Y(<-<%dr%z*LS@E zSAABdMvgQX3Mh&VJps!(xf`#>vjZg^ilqdMzaWb>eWpSNPRgrRyB#_p+EF1yT*|lh2v8{DRTH#( znpkuO7~ZFu`+=-yk_oBZacaF-Zjm*yC0@e!n~kt2jtb z?4^^Yw_*`#n_uheV>GS}U&tflhwEmSe!mm2e*h^TnJ6yRnT3IDhY)%-*f)-$oY0}A7YV^;nDH*=cb_%=E^*x zIy7YIpN}F^ZTwf~QNl2|6Rb~?E@Uywv)81DCZpB`(oWLwO4+|^T(T{1#i1y}5Cu{$ z4&d^woL=wfbaU1>&LRFjCSIJLxIQljTgcftb{x0S$weHas%mnrJ!)9;FLlYA#7DOH z)U44C@o8V5LCD9i(Y%e$~^>`n<+fZS|b*<_V?>| zLSRAtTLt7@*6r7ldizf`n!H`ooAy_&4;j8ci3OSL#X^rU_Zs?G(aq$f%%U(!I!=H< zpO%J-in;0Tq*t@X<3>LHLS4Fi)V~+qi*_tlfsM;+HT%kZ3ny7lZ+Nl>7de$;z2(~K zde(0hmvELG_UEbizb=cBSz_I_H*brgR=iop;1~^*d<|Z2?5{yNSHtWbD{V_6P1>GZ z#%tiBRowvys*e{owYmHwIo82mEt7FTwOt3c`1l7yAoV=^tM9bjo|+^^#98`~Amrj9 zJggrEj)0?qi1k^y2UGl|-QHCP(CFuP%;5Hi4)5?E>W;LJRKLwkC&~vSnlZ{j9T@Lr z&;sz2iT?@wuz0SQypL)Li52=VC@CoVyzkfrjltHBbKJTp&l7u^bbln$D}QuT_?M9N z^ln*MsySDBBvsCo<*pGlktkaT#lFipFdRnE+X76H>4Dc57%JF{)k|yO0Y7a+-s3zcVvg;H*f-4Xo}2ol`|&*G4z7{) zRHa5QscY)oE6HeuBgOpTHE~J2sJ&LVM4q^gsXG|NVr~jQkY->c#5Y{qVAI}5D_o4q z5ZByo@n~O0Nv3|{bI9GN1B>M@_$H54Yc_#OeR2^PF4K1})MfpK;kiIVjVi@(KZmoT z-x}4UDC4|s9%bY`W>DC zfT=1lhIeN&z#fAM8ya%t8!<$%h;G@}!LV>Xm=mXIO~ic>VjRaEp2{>e`&X+@p<5*dHMb4LSp4(KoW49Q+4+i> zm-S%-9&{aqrP3(CQz^mU&gJjm)+4|3e z*AqP(`rxpp3~pO{9t)W-uSOKxcn{4HzNddc@Kn*Cw~KbYlXE9DK5y0f7Fn(G>EHRj z{GwG^u}dih>Ft@V$`9&6wXNHkWHu=FoOx-xM&_knQO=XC{rB+q6=s5Y#z2Ygg^o(` z5%{`8q0M0B1uR*x7TLCtp@bvx@#{V`o_)Ms)_5r3!C9dBb+OB|xXo)wva^*#*50HC z*4cXFJ)!T91~w=*rJ^`&c1+3_h5f^R1oi?tu9Z^Fdr{>8Z#3@a%N{ao5GIitHdM9h zPD_Q4{;83sktHUeER5FN%Csc!%}byf@i*%Awm0M3iJZQ0{*@?MUdCN5I#o^lyg?A> zFUk^vI-ZL>Ab%hrGOuWZ3e0R?QE^ogk6^yT^h*!~H8xTHy9ozIJf-vFpKA;D#j9wn z$R|!5k2XFc|H|bJ3$1-&p+8srxN#Tj*+>~(VlwkJEbnC)Orl8ScKOatrAV^ey@)Ue zKD;H6r2WcHi~Yk}7NL`SU8*)_<-;a+ zL+BHD#Z9iOn+mk5>w*lr>U*&sY(e^D5jq?lq%-FZ)X+2sFx(rZa2^f8CG+2p3zntD zYwNV&MN|}=FprHI_zYQ1K~h#uA6h$ z1{DiLimUq^I~IZP$=s#@Vx9;mBm}PAm6A{uB5VI(g?;|ktN``Q`$Iu1by#mb6uvk% zWe}gaDMIeriV;du@C?y{RN#+eqO!~B>%0A)EsI90sR3s4zUCDnM*UAPTB1g_*<%i+ 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�Pw6%HzlyNn#|8 z7>}Y}q%owdrw14~rrFoO2lkdC^)(DnAdfdpoD=k}p|a26?QYG&Zo+{kojwlr!+I&6p96{ff$52u**)e2x;!)8NCDxzP3VM+ya=qY~enoV>eb(b@~Ks zm}=s})K)T=EVw$I8ybx!&D5_`?s0;`2^ve)Vr<0j3PZNY;%6yMwwn-Vz(M+;xDq=> zk@(VR&+Il%56=>B!+Bi;PGg;;2xg$V zxK4Gpur5c!&}2`2EC*W^Z~K~92{(poR>ROY98CT1MBB`XI`@>fmia)L6_Z#_8IGbs z@>1U~T?UHfcOw3j3KolT0hLl7DIST&$IOD!%J~o%MIIFB$6n*74(9So%A1C9s5BQx z%i#w2mXmkA0m#sIeac@Y5}IvN?u!Q?WfDbu{TtCAJHC!+RZVuJo2cJ+Wg_u2pE&HL zs@}FG(Nj!al*%n=>*`N;uRm@UE{yD$n}$PJ!m>VUp-{iX|%ST5YJ_CU_?8HP(%^#zv# zPeqK!x0HDA-0?sFE9h{68c@sOrCBn1FJ9tu;ueE??%#B9Q{VPl+WB3zA4hehNmI1mp@Yvc4NmvYE6Vw zCQuK)*c9AKW4E=V@lLf60q@K-5a_<{jSyOSkHA=N()*FLa%~Sc1rk`IRV4(n8+^?t zIA_U1IF9!@xD+X-KalQ4U#_L3$$)d1rr?Wmwos%0F&(+P-sdRI)6v}_baLqzwAFlD za+XeYC2hZAvt26h7_vOm%=aWvB@_8cx+#V2MgfWKWph%#-p*n+&DUDC18Ne2)Gyp0LKdNhu+_uvt7EElj3;j~ z02B$IjDcY6s^j9GIbQYAD~!k^a>MN*)oMma z^2r=vt+^V|4t7TQtrWSv9uCMo-{m+ou`*;4tTe=H-Of;80~{=+nlhM1IJLqJt<^S+ZtCe-ya$H~*+GHhn9e}AU>-E^u)2E0R zr;ReH95$iL^pv=3I4pA`v2zO2RA|LSDmIy}A3!q~<~OHE22Z zJd~ZsK{kO^wLtj5(BBV`c|3Qb=CFU-Iw^4g4a)5S21CtF?94hl{i7Rvgqb}yFf6gy z9`p2u1d4boFLaYj8_J29d~` zR+&K{${j_W0L`){EzgGRNrLOD`3=aq9vaG8kiJB_I?Nff&tmYaH+SDe0IQ`-Ou&e|lj!rvDZ(oou3vI>hgCcVPJd4#I6^0$gHbtKVcR zS{*k~?-gv82Qk#Q_q!!BQG~-V+B5p6!#NY;tSH?ZZOP>3u%^=!Y~HPu$WDNPIbk$0 zBnPj8XIC=D_I*9pnG?z-e5*lXal}xhrBF9*9<5cK+uj_5|IS|kMi8&3e_+nkL99?2 zP)-yU6|JzmhtE(teXj}%5cT#6fNi~{+ZbWIka;7$CHF{?{#m_!L!`zkiVEU}%{O}c zjsfRQ#rak9H^Jxw-6|i65)eHr;h~VBV!*R);t~EkHL|ofvt6n&A9Nyi+8qa`>odza z$g>ea9IL0l`7L81%k&TCR<Q2*Mg-lYvhd z2~s5##1Z^CWAydYvXeuhXdEB$(}aJx{2)p&7Dp!4E@#9tIZ;O`k2&zzB8gq}AhaA? z&t0&71JuZP;9=J&*dx;wUH;}ISdQjiggMV8SVHjIG8|&ypTmx*TqWi15!NfGJF48SNu0_y=RvmP?1BT(E!} zvJ}3Ke6LnTjw`J=zVL+nf94uRCpk2kzkuJm3UJ!5GEC0h`~I zMu4BGAbI{wr!#T%oeY0uh*Z=6Lw2dqrZ^u=VWD6&LLgoEn_+7DCFa8<5Avb9;R@xq zCtI0AhYIh4@F0fO@5W5c_`ZpXom5sM3`g{vq#qXIH167!Pcb0hCoa`55gQ|lo?1&#j!te=qF zntvcCWZdyEaa8Maf8tOwT^nR4Uh=x=roBkC6E}pmBFy@+g$++XC?i656tPZp432ir z3`^1ubFi=|DW5Oq*so%M^CoWA-TaJ+VQf2-0&uyh5iHEd55SVV>2#|vEn-qI&^m&Q zDdT}UtQ&V`Z?MBLnCml`On+J}ER!Q#XC_k#hZ{4U%upRlURn&PeiW|}J7X|{@3ltl zbA&^BsQ5g`xfy+u>8$M&R%?aSjGvN3`le@T2)0Uq>r2eCqI}@jU9ZLDD7`1@qe0bo zFRS@NAQjz>G6N_+N7#B7*NiZUeqnqRH_^RXLQAeHLozSd1BY>g`6<~-AG$o$JA}BU z&FD0LFnW_#@^-0Fo@^tIrT&-;Y5{IikxNFq59w*VW1$2e-Evw6;xI$iv+NjV!$+iX|KQEcHmgKxkp$--hKogB(3ej|Vk zl*`;AtIX}hSohY3{X;I=O_wGX-p$<`9L$n&;|0{{Y>t7$EOX}lO~pL`*k-WRMycb( zL)9$Xi7*pwti<2woZFN5!7`d>*m3CEJ?3XXQv=~2#=6c zB#AQ|gw*a+$g-_c&zy950!$!8^TW>dDO&O3*`Ma}Pk0%YmF$x0ZEmLK$=7|?00$?V zlQt>yZ!xq=6*z&EBE(8`Dy8KutuB6RqHAGiI>lSR<#8eDYw8gh!^E$dY%trw2J#U* z0CH?|*|e>Q_7NC(AjRNEiJh>|8*@z-0jvm@%pP+GWv4^hA|5|5G;k`Au=C}-vVBu> zlcewn7&SaF?Zx1oyFHJp2h^FJ;3@vSFuI^8UKI+qw+CS8k4164YIzJN}X&p!nApSkj3JKrTYY6q&rYuu7j7bHgK0 z(l-Hwx}^Edn=J5hkkz480%h0AK#?a@;^clebwDD@K2x{|= z9Xm(8Od(iI(zI)xpu9L~j*7^pn}~tJ4gC-n-YeDagtOGT|Drc_*fZT>Fv0vDfW#i?32xXT(pxiFd>k zyUPbT{1Q`Lso&)4J)3e9E_C_A#AgAEXrEh#eiY>x}e||8}qKAEB?jtFK{> z2!g@goDL|$fpNHWha7j&_!WkJidjxqOY>NGwCQYRyk&X{9S+Y|pcw>t*+E^$45gwm zgFhk08YsUn!XvmNadcapGo|L#s zr_H32I3{30u4ZZfpptl)c@RjU|4SLd0Y*u9$95|loM|-u4SjmoC^tPXejIvc?Stn^ zRw8o2OTZgvob92(IpL+ z=*wYJ?22kj*v*dFRX?Q-7t#bb2QCavU|FWe(A^tJa<%D}YKEqJZLH{KU`*YT9gu%_EI9IGe?8N(TMiW3s7SO{_{DZ9AJeEaC6$>5#+DPfv-( zK1am=vlo$P)GXMI>Jg@B#014oP5Awk<7F0ktptkCtPcZ|B=TOv2TR^}Z&pIN)N9U4 zl{&nlPZC}q5D7S-K@cJ5W4{)&vsux^jQ%RfH&Kn(m`5OKW()v@hW(_oj+*ON`1+2w z8EOX1ygb>vrq7wVp$Y{9ALW?7$5WcSd0j& z%jQxaCwp-;kgTHdI9M5zsabzJvks`Ttu*(`T#hk*mA{>}eY2lknlC^8gNmZ>5n8&P z7i`sG?nD{Gz-0doKBR5RDqVbtg@^V&_!zzGp@R_HLJ-s83nn895<^KTb2W7hsd_%xMpk}6#TXW` zHBA2l3-OuHG@N!$r*3*}gD=WdG^{&%@QlWej8A}aV(zFq9Eikg77VUUFYp3!3-}oQ zB9@>M*Cp60rL@v|{?P58cpMkq}9p(l3U}<3#Uafx9IrO0dRFqpvCKv|}*P!>B;%`+tblH>)x; zFJH9*&9E_{fNN-Mool?UZ+;E5ScV^ObstdBn-`#U$(2ep0-|0a#0QG+Lohz z{~R)tC`qYmX1Z=8*K;nJo_m&5Kj$yFz^MO%Y|pvbH7}AzzEDdY46j8Vq{CTFsujTU z2sk2AyRNoA?O_itTWdu&(kelZ`}rz=AF=OdW8Fau@J{a);B5Tx;8Xv&Ur#w4fcc-o zxV@?iK2#^&HLlxj9Ko*hE02G^xN`vSt@_-GZTPr+(fNGp2R(_dk-A-y^Gts#yHKX0 z{5Yp`(-()1mhVW%@781DddX)M-RYv&4VN~E|3~o2vr4Ua#YQDl=N7obI&b*Yu;S+a z-&r|$R(H>x5O(lLF)Ft=p@vA5#}uPq!3Q+mGkKu}h$f!UgmI=1_bMN1aVf|VM5uQV zu@VInHY9HMYU6%rb-%fe=v3EYy=?pKwinUq`3Yps!OW6zG{}U#y8K|1`{HfsUlsN* zlp`o&PUJL1j(ngMBmS$k?*2uS$a<^qKx^%$6Fd_{uA29s?>itd;YCvbR;XPg&dk1T@`FQR zNZ`mb96`YlY}roL;f#v$(2Vi>C#BXim*ILJVW`#4;O->J5S~svMNq8d2dkD8f57z_lx$WR%Ha*$ySUw3HWLzt!7J+Ox_%g0Mp&Ux(zoQ(D-llUJ0^& zfBd20%q{~<2tY9@vqiyoJ&7lcM3l4VsI^7~C?1eq zm#HGfQ#c0ZmbAMJZNzEXb3}J=y+aoHv49Np%q(AQ-E^=*{Hyxy3}Xct_T*iu=bNY2 zDu-E$n(?aqvs3*1D+ET%TFZ0RRCQa~FcV?D_Y&Q0ef|quM+{6Di+5p{@cMJc>}as_ z9F_-w8X!p#lt#K}gz?m%q;gl+Zt@EbR8qSuUrKIxsRI~6KZz`q@H<_YOu2qNCQD&a z(z>C~xtCHf&|DcqIG)q&*7jF5lO-^L7vOjyiwm-Bq(_1=*4@iC@0wGqho#8-O4fm~ z_aUUH!Fd&v6!_4U3YQ}67|EpUfmAmlxR@dWzi%^A^WmdOdqBmkhmi|r9xSjX-plnu z1JI!R_5!q_V2V3nfoUG)0qU6Wj}@2;xjz-qo`eJ-E?N8;0#PSE&t9Bp_;Q!m>udY*hhjmaQrF+LjpA9B4wY^xR{xZ$$*N~D zK5A7F72ms&2_E8B&ensV=Uw*ftnQgW08esI*H0Lx>71?OH!y0MXXtY*qI!oEwIdVg z(ZVS^37P1pzQwZ_MEUC3Ugaaqwy+2{^QOk)C z1^nf>C5nbq$deJXBu2(3&0DjoJM(U)xU8{my@jO@p!km7tgZ4J8JCC6Quv7=1$H`t zTdpODf5Ve#au=F}f0z9)#eN5C$v6&iQT340;w~2RXGKjDAT8+9K~T;=(I#B& z*d07oGy9w}!7r6*x1|0xKyQCHD zRr%i`IWyF&MDY+NR)kiKQ<3xsN=a5^mxOsE;&#ba^qe;%^2miXjaI}#@WFl}LJGQO zJBr@S7>?)hgWM>81ToCi_ci0>UpVHxEH^2s+@r~6}tw=q-8+O%>Nz( z!nvne7NO^OkWA$+on3$Z^dJ=Jd_|&7-xQ@m62?EvncZ`w&3es}1N!nbEzf8y<%WG> zvR42^YDQy)P;~^4%fqXtTlLE4W;4^3VXMob;ERQ}aKb|!7qaABcbwu47#{Eg)Xu+p z%8QRMM_ri#7S!)Vt~sS24h72Y3RNh(AnLgHH;Qei$a~Q0hdHtu@>&EbUstxmoX~@) z3k8d6~A-Mirja%Ph8_p7mmt* zFbV}qkJF4U5APpRsD~Qa+i*$M1RU{XW=0nfTxarU*4w+ZZvlM^s`F!mPEHB4b)(l+ z?LUagal+U@XCy%sW;)HKSZsea-O~0PvyQinW7sKmnXuo?JmCN#Ss;m|y`Z8Y+~`YT zL9~bCmDFjAcT^+1j@`{SDbNy^F3n4b9@!_&n$E$O{)QO0TY@vm*! z3Bc+s<|g^vIGj`O&9NtOW#cbE$}@co;+Esh%uT=7ED*dH3kHl^VJ&Qcy|2f{*CNaI zI)RUjxOUDMGCkM0^JxZvT^A{}tV0*#G)$Ytyq!4{=URkc}`=xAwcpP}WE_~~1QubYo;~D?=)48EzDHGup zK1_vmmEsu7L?SjZVPeJrjW)WIy0>d?HL0Zbf%$o640g^+oX4mv7WH@qm?&s$1(8W$3>^Gp(Y2bEJz!nw;4jikPs%g&HZ_5)6Rj8szJ90q-vX+#BJ#C2CKr;dX5fbMQKM zTnVz;hO2h12bzfq>b+!*Calbej?3<>Njw$?J!c<>`_{4@O=$@6*W3WKZpElYJ)%`g z_Xkm=9_HMklaVpXw)NVT&cA!yTQ_ik~!ypOisQLtx)@kX@&RfPM~ ztbNp0hDl29zIC_gV%)Oi7JClUz3R@g{MD++T7u(lQY6{mnbh*R+v}M0yYJ;%mQ4z~ z=pMO0bqpOsaDM8+!x|=lyarHaHUyVcsiCpk7{P*@0Sl~!+7gm!t;kl5F5tyR2-Tag zP4>Z@|4`rHx<9CnIOgaK`?Y0o2Gc0(9oOOic2Vbad&lAY7w>q|!_f!}?@2+`Y~)?H zd`BC6AndYINOPVH;Xr7r9iKt0sC}tP3E|YxA@q;FLBBN`l^QU8DiYJ{SArVY7}loEbDp zs4vryAK$2lji__p+5oupnj`3G6^t;kHM?}WU+SFR1=4u4?dL$I|%L_k|Q+@)*Qa`N#R^7uiQzq ze0FMyIu&~t@b(1|HRc&sPpZT`8K8{COwz}^lTUX2h;`)IJy%6LK61weV)Z;mOON-@~>T7CvG9#E`~{jObw-}tg> z0kF(6$~$X}>sKy7F8|%C%z$DRN{(|DnN=dg_RttiwP&^1iZGLdPC3e*@8^Tx(8c@} zmz%p+JKleP&lZXb*wcsx*&n8BFd-!D&6u+Jdcm6R-da*$p6Pcud^y1&RXJ7xz%6k! zVZ3BKx-pZ`95LH@eH9Gy^##tnzwM{Z1ij9 z*!iGX`D?7_X!s+*DgQQ_>NgYfO+b^up4yE4G~X8WAKMTihi)?F7j$iylA!lvDGCF`~@T$HO)?5JvsUb z!IgK1fLs3Rswc&eE?n@fj6eVAX`)V<$P+6~;dCo}f@gJ&#t@!%;*XCiT z7N$3hDbU}0xyZ3mhz#3+^p&;kw8RVFpQ`{D(m;qf@PPA2E^H~ZLoW~m;DXNC`C=7S zm|=s4b>_kBO#LdvJV3>Aem5#qFX4IiA{yScDiIlx?%ppC-;Oqt-b)_L#8_?f^(8@D zH0XX2&_hXjrhjM}?*egUJVS35;IpzDT7tHamH*8`1c$l>5m5Gw`09Y@Cg=>&B!ru^ z!1LLWmWHISC)r&1U6!@+!;(?vje*P-1@H%qQjj@p5h-3%kT%tr%Gp=*pMv3a$M#dJTpbhp2<-o91$d@Yz2w~G4KqV z_7&?<6y-*F#PW<^`#?)GYXlK&| zVgd!W9pb(!o^&&&&U-K#aX4kc_NH6YBuY(TB)w1ezz*?lE&#u_eH&q^kt@(1^`Zp& zwBq}d_;*#mSiaz#1|;pNALP26F`$kVPbd~v|68PPwq%nK`f}IG@D%WefwWT%nM;d^ zsXX2u(M$*Vz=iFQWSojK^@FPJ{1?V``)hNe=)6{>X?G<8Ec}xMd8JW!AoE z#};Cche&pkOZqS}K)vvN4PDH4vA|N_IG={&siOOAvB7Iy)_tu5%li2RJU2qBGPshQ z>J-%1mCHCuC=UA&QM7*onD8Wyn^Pe^B;;=cN+fRNh{U8#*OL0`+p%(Q%{0pHR;-a1 zb8Iu!;h|%Fr7>hcpp7?-_5oD(&v$0$94GpGRctUyA$!5megY|Nue?Bip7>dbe>f&CE4(jQExZfQ zK)$aHU~FGpsHJgODk!#$sn&(2HtrSgYIE6?%O~2XH4JT_V2HF5ZuV-(nR6AFk}e4J zx2(cQ2IBKhZ2!Q&_+H1B z$vx@>{%7ixY0sqRO7k~}HPz%cy>gXmShSQ}EIys!!7j(iDL07b&N!C40&qclP}_9X z9YSOJL9=pPRZ?{^#cGicX3HG;V{jAR@vb$e6p;*Ja+I8QYC;Q1P~<}N$Pu7egLuDi z&l9AA7YK0~u#E)}q9X@}z09>%YbiOp3C`eyYgU+Y-+n2xF&>ywc}>hG2rP~sBkv^D zh>RJ3rzYiM;b0+57Rw4Tj9$;xzYsiC&#KetAp$5!El(m2jFX(RPBg|RNC)5HnTs*# zj2voR@tDr~o&(U35A8)J;XQybDulNu`J0kp3vI#LsmNzd2fI9fz#PD!LWE=qROwy~ z_LJ)=8;Ig$yW-8;!4UI^;hd|6IFu4Zu6^b6CjSHX^uI)Q7kP@xl5O#nUcc>4wTOue z@g7)05;he5Z@~Cl&+v_`TC79YlFJr;Y%)?zC)UMaL#&oFHaFV=Mb>~$;{>#9sq!rI zW;+I9oO2iy`nIz!*Me3_(mvECZr>de><)(|Q#n4PSYAhaln3>i)3hg*(IEJGf)8g5 z!Rwu?ssFsF!{7=co|um9B!9-ds=j#4;SJ9c%n2LzEvzBK zSC;_3%kgeVTUw;Us#u^U@{V!bND$__CPKpA)Q9&p4Ii4whrp^OgUY0#9uBR|;Uy)& zp6O@QMwDz9IJV)?pACe%afR^WolMhHNPUGJsFl zSE&UTp16HXZ#rgxV5nRI4y4`VkHTSUNE{sZE6_-gl;XsIJ47{4&$%{9+GUEI%Ax+( zVKxR;;wbNSYDENB+d$hfQ0G-$Z;G8tupD)#@;ks9v`d)uf0y+QUA zG@pqfCTOSujimG21iCp&a*M7YY&vSpuTJjfIG(s{#!as-ss$aj?wqqXp)!>EfdUL< z0!3!H-flOzM?CtSM!Z$kkiGV-xP&Yll z7jx;l0D3yD)_b4$SLem8DdT|IK^xPPhGm*nU6l%$rh}OyNvVI5usns75km+(Z6~N} z(;@=YwtxwVejv0Fyf?Y;9aDs_iudfo1b3K@hO(LRwe3NQM*_}u11c&GlddARIT~{x z>iTV9c+n6swL5HgyvrM#Gfg7isu>FfR@1{)%JRV&R0q=X*%89X`@;&N%};nfIp(pn z#FBpehLIpuGs^%`VUTg(d?!!qVGYbJs+DD&sc0?^@No?c@%09NxLFO$O(HyJOEdnf zC95WvK}+cHV8dbI2*x)K)Dga&bgy<@el6ObF%imjTt#_mgXq!lALR>=!TB$F`2eg7 z36x}B1n^(@u?RyvxXkqiJMr(4!}Zn(ho1IVh;Mnlm1$YG%lP z1)iKU#`BXSa9(t){gE-71id~G9VL-=vTwHU6A>i_5!=}%dlF8tQ15(<%}-pr?knnV zoZRft0kY%o4+ojMuF*rq=W|hM_uFfeRFuDdg1?|-RBKen6UO7M+eu5X94YS06A%!l zDnyD&VLswt7PG^({~plj#N&L}O0%~n*=xqe^t4jie4=C$xtWzn8d+1BJa>){pMeX` zj3{Dyx{c<=v`*&6Rq(jUt^aR%OXN)k&Q%x6jX&^NIi~pL=daX0V~Mulu-iBbgo$=^ z4j1+F+iSsi*HBwU)tjLgqB1D?!e6h72cknA@c2^;*+;INOI_psGTHMf!6}GS$NQS@oq5a_GBzi)85}hd48Mpe_ z-s)VmA)b+MNyjO8CkJcRvfL7=B}4l9K22D*IArdby=^5R_1E3hs%hxou48&1vnv`u zY7Bq8aO4`&WtmcvohyeLHwCPF&v-h9{S(1VB4PD@*f;@)O`vnRc(4 zA+)$i#jn0e0Hl~+6m+PXB@3h*8HdB4rzMO;^TOPjHhMaahR94WJMdS+JLqqA@xx9K zR#LLU62-Rt+TpXU{({>J2t(E}NoLp_gJ0#7vdMndJ&i+K%MGKsO&(WkgS3n^o*S_&65Yv;G{ZbmG! za8X`bNBhPgfLTEIS^rCd{2W^cLXz)D>MubwI)Uz9<7M7s0T7 zl4%K|Hd{NGlo+QB-&AUn2C90P1p_0nFtK#91*8Fc*AS)h@MXVJ7};E@$o?UCY`U`8 z*Iy@0PoU7$9a%1Bm9vP`Lp1xxzx7wfjjrVjg|%!$a40vWKW!mg+}Jz9BXAiFV(>Kp ze=LDl1padcn%POMlJ}L!9)7u%V7okJU}iSs0#+c>7_@fc^;(4p>|!~UCfn*tR9*Iu|({9Ni7nLw~&d^D_EeHvl?0}>R0lXOC#88Vkv4hDLUI*x+U$w7U!9GsR8vHIf9uRYXo`Dp-jPLnZ%F$xti`4XskNw=>J+otVp= z{;;;j*#+yz@SiL6nOsjJlyX=Xd5ZTl9Mm#Nb_l;+KcP^1Ew)I*9mMvbvfHsP%0ml^ zAh}jSd=IRDHeMaUz!xd8j5i)BGH8jK8^9;7mkH`ValGkw%vj{x6N&ZHJs9^*GPZEj z9U09j6@v8}*IAz`|W@g%+vAI?% z@t-{|&6Ms`+}zg7k`Q~e8wPz&-tmzf!U9c#6WAN|V%UnLvY=HwPXUqqlm1wE-B{Qw zoV)7h{gQDSDGui4rhrT5`-W$iRwd%zj-~)YVW7hH0jD7-(Qyz0#n%w z1FvO!rn%RhwLrc<3S3*GMT^>d0}pB4m-%U=B1kJP3aiHDmFkvnj!(lTdw##% z<60eE)OpAM?+8yUz6LT?v;ij?Ga0V0e7V3-wEtTx+xle#`RxKCq(Yv=yDkviCH@vCeNm2hhnNt67-vb=pbe{)Sv(50J%?cEU&P1nPWx;gr_{%;*d^0-kaX96 z6yR8Q|LSe-Y$#IHXOA&{B33zC;{i)C=mtP6;Q)F%YipEv#*Ou(a%>0R$Q?pJCBHQE7^8u7ydR`Dq7U zhmNjaJA5B1qhBLMk@skp{?351UyeY~-lOSU%H($K_d8B6xUo9FLjnXQpUOC(HWy#G-i#{=-WIa046 zs}FWk^u&|1w@Nrvb8^5%0m-R{K=%C{@4*!p|K`mXCm2fx2A1ahwzfD*2c8sA&_0OsNO|2xG@5muP<=34ivltxn)uI4@hlDbpt%o}%PQiRZ# zr==)zE0RY8OHGd7s9dwc*GsCZZN0i@QH^IxX1zaM8()e;p>P1L3Tb*OG(^}?_|p7Due^$P5KLvQ4I7!t4sMC=z!q8#midM z^CE6q3j=fAHENuLD@UDuVS@h3r@K^`%453|5{mkh76xtwQ)IM9zAGSWmZ{o_A%U7ozy@}777BKtR>oS_2o~9(4ValAobLyJJbKTt6s(9Ce}A zJ>Ll~EW-!~covG?6Q#U+n&r{x)$Da@>f2wlRwo1BuFJ%A?1-a^sj{7!^J#pX5MS~n z2|h4o*U^Q9Q|*S`X_da$@aPHcs5l?MEkY0$ZWzf}oFsHTC{iy`PbI|=uX1kx0zG$W=eJI!n;&^>p#P{wmpjy&mhb@sbhu1WXE;=L z#7s5nIyobm$U*CvFA9tzf>~C()z;Zje-b7X-{_pqqvU<9(fO1OnmmZ^fvr$4rWL|R>jnqNvwXl zzrz5^%1y_}=h?pcLgI+AjBcn~{AxYtXj;uKro_qJzAub>ZRa{X2c|Uy&y@xxF~f9E z6FSXhtUJ#3OZ3ZVEHU!h)FFiCMD(#K(ba13AA+UBB@r4{(FPvPL~zEzi+i1$m&vbJ z76mJ1C7p_?xH>N;B%`TtYC?}CTTy2Gv8fvjL*;x0Y_(gYWv|Q!wCQMzuEY- z{(E+Wn`=~EHzX#BVp*s%|MUEHCe1uZdvUFoW9+fVbB(9oJ7PR_ZRqsf+=6vo&=YOZ zn+D$3RRfmD9l_(>7YmNGB0scQ#v_b5$Y~{tw!ZlbJlbf#f`o&toxC}XSSJdeJIK^J z_NEcUO%my^-VxPw*0`EADT_7;^_hKzR;MVYMzh0dR#d#CUIx+LpCqv1=)VK%_8R*W z0TePUAw-uY8ZbSRksxU5g`DY=H!Nb&0(q;d5;7SN24+{mh83xX2wYRiT@&drNv#r z4&jUzBM2SQuCq3JMaSq2h~~jPOkj-vk8~O{x*#{BrX!>s2Li;6p85kiiVv|M>?$L@ zUZ@M_ozeSnu)(I(={~H|nR!ijdzqh zOF}RL$kr1&rK<#gYXf~5UP3j}KvzdDj01=z7n@&{#(+PB=t_jRssNTOfDLt>is$FM zFDW2G7Ucl<6>#AsOI5guCgv(99yqg;7~FljY|k`22*`=TsYUo?hwyYDRYD{q4=2d> zGw)aw=)-}T#mwP6)#fMBT&Fw3SD-t1n8Ou13b<D8Q!*=w z7)azxLyHY0+KY0^v-XYULajF<*aIAlnG9Pp(Y$mqpi5KHXPL1vUJ=H|^FWWbr(Q&- zg&Whxn?IQ1YXuF@0$|9Ssup*c62@HS`a!6LZbA<}Hw`#s@IOMRB)Q*(SdeX+?Cx>q zmJzg(U*6U8z91bu( zpDy-L1Jepo^u0x?%L_P;K^l_l6d+ursz_6sP6EGkq4OIRB8%3Ag%>FK`C*2>sa>qy zGpgvMZ5gHnz`K%G4kjOruM3A14ueGbX%g(28*cC5P>>wHETx?aDrrrqeAkW~FthVs$M&yN+Z(?S8qy@j^xExD?bctK)peFl zSipJ#X7Y_`382nD_-@xoP`iY5*46a!s3lP_nuwxMcAty<5h|3}Vqsp(7wW~-b>IK` zMs;ZH$4=C82<-JIu2qGAW!lV`v?)>R!@ro;li~O}c}Q<;!#n-z@bK}!l>OWU3U(OH z%AtU`k_NA+RQ%^9DoIH0hxyc%HbXy}8^He~%p_Rc&Nu23I;QJxpU;-rqsJ{nUfvtsu&(0Hp%qOaU9> z)I4>&I9PUIFn2Pw2aDdl=sudp&Wy7$jWKo1HP)=N;*2AgBA{9@0aqKDNEnFb>C_2T zQWsalw^u9RI)h!+pkgME*dzp%Z*BO}Opv+pB!bF1$0B>M<7i)4t?F6i7bW~3fp{Vy zWsr~n2%aHU52AlaA+ckDp}?IIZInU^5*SgG&aLc|d^=WR)S)s)`#xuonxqqhXhw{l zgFIuC^R|&%Idb`jF4<41h_<-iS(=SGks?T?u2I?6Ixy425O5F|TP$RX8I0bn4~t+c z4_f<#yW)^T_7OVgM#{6}IALz64ZA|kQvFj^D24({ECQG*XB49(V%~LZYHIA+&3~`c z8XZYOXU5`2YZ8P>^pV<6FMuWg?S%-_pOI3FCXC(632d?{z~LAWsv0HUPPqVzXAXJZ zrxe)wU!DGVnV8y>904T|VTx?qW7w5<$FgMh4!yTT-g;3wB$Y_kS&tcOGPJpYu>7Wi zJd?1hg)%nBmJV76h3Hb>U6Wut6589_oZB*dA>>skXHjug4-`yA0*H-*3Hj%5Y2r@wH74f#)g6A&i1;V`|85Ds$VgQuITfsuBDBq|Nu#sXt95p!_ zxRTo+G}JhK+9*_W2l)KLufMNit`8kNyEY+xQ^-i_(7vgr%@YZkmTPKu=vkRu4Adb2 zV7QG$xsnIiP=>~ntboOJ_j_#gE~}?iwmO7Mz&J-f>s{cB%?77t->n7-yHoQcg_{`x}lNS8?`hF>{Be7`M9fCMY5MUHA4FQVq+F1ne1KAPg&@eDK!B(R;& z>eG_JznY@&{Iw4>z#Tfo+-h>qD%lz%5Qn`O>)8|>#{5(fw1lQ5F)Ra2ixPM*+M~~! zG0^c6kgWCTst=^}Q?WvjIW^Wds_jD+GK2qOnN@O^m|$@nq1fKwJ;K= ziG6x|*LsX~9>{p;*jCPq%Z?R(+q3NHG4?L;#GILy-xaNB_??1O1Ek2_5@xBgn1DK` zM_~AJY_j3@;CddxAbB>K5bP&weg9j6!Ck{pkcT#pGnT+Bx-TnsG#uWCpu?NH8uTfx z#wp^3At$s?>wLg>jQqR=udog@FeDuqMR|~>g$zn{&f+Ezop350n$;&kwuF!x%Nc=F zGOTDO3mX4CoQO+(Ar=v$dt`L^uUJ@4QpTv~kZ4(K12wWk35}5N2aW@I<4ODVd9PeW zDAv1G0pAVRQafjPl*PzEQm6cFfG4-WVq zG{XwTMWs;X^z|;oLS;s2^8#sFJng!=DYRq-<-eFYY9~O@E%L)%SoU%N8ID{p9#fN6Bu8oJKD7CZ076lJ3X0YhsDRd?NuFN{5x-Ov?7LgD#B)TR^QJPjZ!@GZ2`Y!;`e_A5*g=< zaIfB`1CfZkGF$|)vp1MsP2ue<#H?ar%$u_ZimN=rK;8uXl+H zZ*{B|8UbWP|6E8Cb;?cK3^EB*z7CUNmG3Ry$89cw@tMM4OA%GOs^6FxT8hcsZy<8> z2_P$Hwug)jT$nKWKAu1hv6GVv6g}T{^b+e!k;LT!Ap&bANVw$&b#OhB1;335esu_8nmno+V;PFt`sZ!(F%9I;2;qlYkLHAxBsH z^?Y1X^1L3h5PeS~P7lC<{AUx0&P-VjE%QaN-B`-UL(S6ldX_Mp-T)DHA?J-SZ_v$J zU*;9x+S}z;NlCX`al}0pkGs6>cA3e(*K{JjVsEq<>V|6=4EBczf7BoGGGNo5WBmJp z^v6*1usV`$_f3zo2N9HJnY9+f@-1BOZUGtXiZWr#nr-T|>nHjF3Q1O#(@XaVgv}IF zMpY&+5aMQ2cq?W$q;Rvbngpb6$I)!=sL5WRT8wOgxF)T_Tbu|3zY2vqMP-XJ~<{Uk+VAJ4@?E2SyFy(a4p11KWk>nq$^-tbo`5=Uy^C0VN*ht$|q zi!uJ(lJ|{CI{#$P<|Jy^l&*s{3g#fysJ~BFsX@YtM(9fMtNq&Hh^HVAqS?CTFicS8 zNIv4tZE0F};loiBU>-RPA2?N#Oyh^4T=ou^rd>Skc@tCn-ye+mhE1``a8umuOr|^F z*=MM6-zOPHIg*&;({T13gug24KcK0PT(&m)EB873Mt(fk*yTKL zR{;FktbGYWryg>#l4UR=I5cz;gaS`*y2|zz#x=ZW&~kGm-1}T%ECT%&ze<&0=mp-& z?$0F{lQ|g!vu=qE2KsJ;(N9-nRc9U^b z58%ZnfUL>o|0YWTjqd@}TN}r{B>?hn6O7phXs#<+E3!D3_<*A7&3O!Lkfdt=Z8gK* zV{_YhRb#tAd;;?$hB&!_5SK-jN(E0DbCfs8n?I-?{0So5vad1pOSOo+EM2 zqNs5?FF3$Qc~%C-o#V#bDEA|22(`w8s;A8bD=bh@AHbNN!n6-V;W`f)xH!&v8e;~7 zto?|w{zk*kE|C8f1<>FD&JJpY*kQ9m`%n@mTrzVQ4YQ6!Q?ZzRLVw7MT z0VUYRFdK*_i#-lMzT_gpY9g&Ciy8c3I&Gxf#;xL)){V3KL%*B?#kAf2K%49aNtH=9 zAe%?C8r3FX)b%*;;EKRr%C$godTSTxQ{xv^Net=$=rGA4cU+FQstB1E`~^*6?f{z8`n2!;+;bF;)0!TexW8 zwf$!Z7s=0mbRiFv3H=8-rGb5D5qtq$#yL>G39J8Z4)-zy`{8M+E_byLA|ci?1+XI# zDW6D9QUORYXd_E*y4c_yg>(5<%Hk?l%CeSRlJDC>t{5M-?{qgbb_H2Dn?Ao$>C|sBN zrsQ<|UQgq-m$FG z;_0{#d#wT@C=Ly*v3diGP{8?!pzR`#8#8>!@d-}pa5qJpfA5TFnY{VfDD8FkRP*BB zazXkj<>JE#>nhrYIxS0{^l?_^)d)JO@sEHeMxIn>WZ~JzfdHa?0a9bd`mA4JE*$lnNiRBtgw8e(R~nWl)as03Du2dV1U zW$SZC$|4fU+k}~G`lm*sUMtc@BX<+EIl2_a`7Y{H?(2ursW;T`cf<2I?A1FTCH8vN z(v!LnhGVslH9`s2-|cLMD~0NoX=?%2I{gV3d#}vUC$Y?UR9>fHrHYtpaXK)3pXFVB`o@mQL25Ayl820( zl3a@Yd8J<{tB#xCt2Xj*W6lYiTGlOt@k?z72hC4ME!xDFkC_&sy6SG@{RR|2m&VL@ z@`a8=?@}PX@Dp&+y)c zs`sbpjD<*xspFNx1CTxM%CIV4XSK91$8`2o?90Vblbh%W-)`e6Y7M%$sgM}ncEl(6 z_dA@d?-NORTyf(x(M~`ttuqHNK^EX^(?yYfdjl-px~%@-upnLr!#^ zmS!I);u37C#7IXHjlN)xwQe#Z=Bsexi6G@`u2jNmi;!I_b(cjt$~I@fFwItNSf}+gO#^Dm-om5-TJ>6l>>0d5Xv6h_+iW0ZTBLzCp6jZ6@54v|X@5cg9f?=v6 zD9m7311(^$1rU$gq^DU+K@~`rc%XS42IK(9fvvnf*$RAqg~l!L<6wu*JJr4^4=8S< zpy-6AaNHzKx%Lx}8EJDlf@k2HJ}f9_Tk!~Qv^?g#xn(#G#;w=rYvHRcSg1H38Gmy< z7dVO8!~l|<<-)e5|D`?DamYGrSY*QY0f|{syZc}P4pE_70XA%@%QIzq1|SIw8fM

    u{+-xgpzh@)7Xq_Vd6YLcs+3)27ti@OMnD>Zm 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 Yy}9`^RWvf9CVK=qeVnS+qemLrhBJ^G` zSoqS&a=kB+^Ta|9a^E+&Yf*f|ITQKG&;|mdh{y$ex4m~$s`^{&F|$ORbO{9o7x1SZ zragDK&#O@MYJ+Mhd%%XZ&*A8?%nyTas6_~4Yem&SBiE&V#4Evs0cpcdZl;v{W>1R~ z1~_#urb+bvA+udggDdp)()_g=qd?p@$X~dHppclim1@2?7aQG^_hTid?cvh}zA|6% zZuC4#2+81m`eE~1Z)Js4*FJ43;oe3`YKqUA6$|TkCjr$=x4=@4O?Ml}ho&8I?g%u~ z3(ujp=jg%JCBM=E3ZD*At!?0tdtn!l(kqhHFGuuF9`%Og>RkOUkO<8yU|!*1FGzdR-2-${G1M7H8)YVE#XxX_D!~Quo245h$Whm=wt2WO zwECE!-ExS zcs2F1j&XNez5oS%dV0JdkW-(yQzeC0W84F9DLYK?daV8)UM2w~GZgOwp35*3a^!$s znHMf-VusX+EaQ<9HxJ;v;C#2sfN5t3abB5I4Z7A#Iec93bGEAgKk|`D@g> zsSK{f>E`UZxUOk$LgF}S1uQWS33GGyE( zZ)0-igTOILHrBsEa)uV6_AHng1fS}67PzPlSw$AHE;|TjW22bs(|xymPgufxnygUh zuH)!_#>Oh03ngdR0cc<+j!qY|CeTa33Vcyab_{78?xEyoIQoom$Zro2bC`U<)7RDeJrCo2cFEW z)jciV^o7(X(!c8myft`yzHVsMUs@7Zr(kTzDPjLBHPF9)`R2IPeU&wK9Vu?okO%uS zMZNFPo5OXSEV;hdumj>Nl26ujL?0nyf(RQJzrF3+>u(Oi2bNf4$hjejOT>^>)L zR;G!y8@=v!XgkGY^ld za4`JoK|SE?JIgO#%)C5R@ykQ6?UtE+fCkN#FKjfMG<;4;@WQ@!IYQ*6>C%PHwrP4~ z;a%V)_G?Zvpbk5&9TaBx5Yx_*-B=U(=1Ys53A23&A((LE%9^@&xh(UpFYL>wufsK& z^W5|p!?^<(PLq;+xV|5O@;71GzPs|bOCW>dx_b*I8+jqI#RavR(Iy884XG!qKC~w0 zE~Zb7asqDIFaO((xF>Hn8acrSBxFZhhI2D+H^D7VsPU$JbL5{d0VgnO|7m=Q`^Wt6 zXxVTq*l*3H_Vq1%Yo@%8Ze^;*VhF>hi{-t+} zEg?0OgFCdOylohtgqFa4UyS*H^Qa|(@+TY&JE4{fw+KBO4=f|6q!qav#=T{%;OfWN zy{ph?Zz0ecTOHi2)fz-V`*WgXt>4LKJAc-GCV80-4nx`;9gVdqubiDG&^ZHH7?b~& z!hNkx`9BiAWR|&zsrYv3cx#XjUvJ28lsO+8=bV&i{6D?Xl>pJ_@~LzvmSlk!7ISIm ziLN<6Iu@%2{k$pvy)G3Pd+|yq7o3{vayN{uqq_KRu&Ca#GY+#}bwy*REy;AO&q8h& zHT;!drX|0PthiKT%*;L>ijGorr4G%|3pyA(nrAtV^aNu?%Vu*(E#CEx#c0A=1?d){ z4^NgJMd4y}H7|%J3kYH9>*;j60iji%JY42-j?-Srf$SDLBGZ#)qyC^)?{d~3sP!?? zc&aeS&Dg+>SLk7daX^s#D(g{fr8D(nR|ui+D@GoY?QKi7se?$gUIrdlz&VH{!Ir^t zmuCfKM{R#XG{}@ziDX$@6AXd!?)nOE3uZ2hr@11D8xw#7T2X4$Hkq(*+bdP^`@dSh zl#^uJj0_{;#PCFZqko{zK{+htAp%*lxp(cu#D^9_Du zFq#&Gge`R4j8%#v0DP$-)Xb@iebHyy$^2YP@0UxE;CcL z<_MML5rwYgIU*3vh+JT)@t2?GTD_HrJJ`Pe;H=fw=~5G0+3xtrnxE|E<+m^24`IhC zd%N#j^I2S?cnJWgK^O)b;SMVj5%oQQ30pl)d2OpgKTHt%$!*`-;_kw5uD71g*LnDy zvwxiQ##3lp$0n}`1^R7M2IFZaLu#?#<7arIkVqd|8W3|8WSX?|u9R|;F@FJW+FYHO z4{ut#!mII$sW!(uB_}V8kP8CY_zEj8>?o7P51Ey$060yJYN+9Q9`f(8RJL@BevY~> zqvQWK8^FiQd4SYgT#Suw>^D}zVtBTL#8wHt)jSbXWSSMe;!xS+0BOspQ%Z8`<5<43 z%|r3U!wH|TNeF7c;Ob6B#ZNR!?>%c1S{1yqPd&3f|r8Q zw(aZ5CcGIF#|!MMbMAIGz>16D*l@)7kJ3n-+!H;dYt`2OV@-m(3_jfIE8I7mVLWmB zvgdwj{KFfQ*l+;Qrr2bYg3_iq03QHr`L@~gG}0~S>84lGV)k4)-3g_s2VJ?WEnV2m zOZ-~b(548#49RF@-!0cg``M!G6|6uuAcPtwAe|q3k9_bbEsMO17y@m)yBWH$>0hEU zX^?=(#CxNe?njn6;v<2RM?rZHA?*lTlovbcq)_o&PcE#?K2P)qe|whgmM#dn0@F^` zl;=WujJ7xn>hT8}*L7*_MZS^qn&-*u=dhZ-7;eOwQY!l7-^%7ktvixi7e#EK<}NJh z|NoKM_3C$ruEOqYME0P2nvsL7)|DR_0SN%u%mR@p6tOKR$&%VKX`}5@I$zS`?`t9_ zu0A}^vjXT_?Q}PX&`Pj?IpoL_ZOW`5@oi{ht1^uPqqb8Z2KR!!kx0k}m7ogAQ5jAv6MOcz~{F*QuNsS|H0NRtv(C`-`JGa1p ztDpJXCd#7I7?Gq!DdHeeZHf!+t@P z1)r`!)4Zjyc!(>`7ivNpAySkmA4FJ?*+1+9!jOI?qzKRM~YV>po#Olc)sK2#XLN);LP%$G+ zrzO8c(oQhSGaF3>h6~9MMDYr;;f>;+gfv+USc17>YcH2U)=ewUg?_Rz(jvTDeby5=0rqUE@rTk@Ufa;?#`B)c2*BwK3mGL!h{$x zD-75%xjRcas`%7gGWb+VJDn1F$q{$~2Mp~As}#PCItVpE`p3HBffTxS9}nZ zr<0xy9kE?eayQ}gD+U0g8Wp6_k$*g`1i{~H+0y14SZ$@mhkmXSL(u!To{Zi8fAyrW zH!w;(o@HEOt7*7+$=!PZjH|&GG6f1;z3vw2cqLgpkGDKC3lO98G>pFQ-Q;k?K3SV1~fIrx1yIA4| zz<%zq>=SXN*K~Wq!9mFob*85jbj#63cn)LNjI5%{S|L!+ZWw}ldbJF}Rii?oCNLpz z>NS~Zf1M?R`-mA#_9G<5CmH1xPl6sbPa@Ud$e7asBd2C%Z2Gfi1*fH5I;eiKZRxI|T&p zvzQZYte0rmuUAcuditvt??5Tv90r zE}bdq)ZYOVcIxD8`@&wf>f}8;KdOxD#L}-lubU|BB4IHAMNKxQ#*$hBRGyoAsNw(O z`TK@#wVe-2zMvr{2;tq_n|OF4bWG%MPsNaXMjXoDZe1>6l**Yxe***5NUA2bX6uRF z|A4nm(LvM5|HBp6gLo7edN`2_r3k_lCg6j$ZGwu`gh&_Rxcng)X@1nY-|2;hd48(H zn$x|C;9z3^SCP;H#ho zkB=T`6Xq!LK|M_1^|im(PyJi$?Eu_WW>@*$ZQWn7WfftH-Ea#@a)QqDtBxXSQs6ts z4k>-0^tidDg(F)F+6xv)jYe9Js<}DFY=yK~+*nW>wUs@r_6MFjKI2}ukY^gjfIrHCd?zCC)!&lUoK&O4n?d- z{wXN8R9RcB(E}BSZ1HdWxd-aT=4a{D$mUa~t7VyA>iz4Z`eMxeO3Q;yeIKW_jyBjj zg&2|cFW+ddld5^{?rav|@V;ixWkh)8>VFqhO7y<75w7}VK zlmvRVN3b^)&pz3%4K_(FVMB%3s9kH>Cl?fnWlE{j`Fcf1tfpO7KoImqgpziD9}hQ2 zr2XG(WUlt(T>xR=#BRZ%cahj>y@NhAntE8(ObUiu0d5(`Vk7BQE*QN#Z`+)>H)K$_RfSjwm=|YI=Aso`(9>v;7v{ex1f@5?KDf)un zZW7#1vU4p>{YbNQ!zTmUa&Z%1BLgRNcwt~HZ8( z&W^vz?;vM!wk;ij4`+lR-N=^{uv^~4?mG`!i$}k~4%gLsO^5o4(w8xRD(}U0LFDM7c%${5VfD5j9vN+0{t!0201}a!t%NuN@&mI@{SD zZoz#_>mB?Ie#bcf`0Qut0@$)0I_~IaX%D-tqVvZ24fy)m|3QYajMd8lt9ZVAAR2ba ztU#y-8W)*9!;k@yyaOw>+uPAw$Vd_uv3cRK|t1#`FZ(`3+Bv`yXB#Q`XtQ8Cajm z52*Ao#x4?x?9&nbf=`oGX^^=myA*x0?$bCINp00m|A@2sEljT9OA1F(M!2cWGAXCT z;!-(Dg}Ig3t7f*~5H2h<#z5StDT+)YXTZ}URY(Pyn(^YpU#_S8qRTpM$BXR)6BdeU zvGYJe0-4dcF;atxQZ6D>5SD#=|7vJP>;r%b!(A71p|w3<_YjJpD}9^$NC(zM=UEEz zqGKFzV@h$hnBFa$hVR)Oj@;eW7Grw_SvTE@r^2>rL-yv?3bJcH06beIfcKW}H(GS_ z=STV&lRUt0_3$iV=ANBb@cKU6ZAj4~MpOE>^M{lP30)%ZEdEya5&ZN`100rF`A83Y zzN{TTYSX=Ee-pW*OJhlkD6UF_Z|5vNstd{$%hjU)9IrKJ$k!4z=e{;nw>Pl)473)l zm^O|pdSF=(SmA}TQUA&36j^d+mbP>JD}jH=lYeevV^4nfPnOkSZ-uPlHd!i4Lgi6f zYST&LlO%O{Ko8K+fK2FYjeNj9M8G^0-^w9l*L9}+hnp~Ncd503&bDUTm@WwD%k}*O zlR$j-{)*Q2bs^TEsiHEH0DC}A)mY9b<&DjQsM4@S9)N;gwuPBZcqx#T5qZNj)auAC z3u1}Xxi4AU?y%x7q|!S@2Mj$e<&?^++>P%ssH!jf5%Gmv-O<&A%O>7LkL zR{+UFrkB)c9Das?G_I(v%EO6LBuRFUf-L&4>dxa7$-1fsOG9RWw}3f4*OO)q&ZnP# zKxV4nu>YsPNZ?-gQwy(hA$t&=Ek1E>2X&Z^pLNDbq;`b{>>sOG&aRl`;UDb2%ikb` zPyt=#wN4aQNi7Zk!49Tu%Jv&&iRv43I&-CTDt~s7RU8(4eOIS+GubXM7q%_OkL73B zUcvVpq^r`WAZ{IeJIQ=!SJ{u`n!0d-0~RS@kzmpyu}6qkgxsGaRHm+p&wAk$)m{1V zgWeuBy1S{P_HQQ1Z)M9?*m|#@TjaOeUr01Ss4hPDZd+q3OXZzF@-5saHGPN*vs`8R zb5&zcSn=SA_qUXqoL~_GBu)6+`T(+*{q-Cddtl{ce5qjX2~Bws=tDHIQ4@0qGy7B7 zQD3;U-~S_}8^lF4?|4s|TDBEA9kc#z>MlRShDaxDYC=}$ zfj$Ktjv=8j_rH8`tpTkhvdqMm{-tLa6>d(g?*UtddD-FW6poP;>L-a!dhQ4+v6c96 zx}w^9VeC8DQ}qPm>FCYsU3$b&^z9Aeg-stc6aD|vZj;JvnxCg+fqt=A0P#tRR1LE( zVt4-nOlO;Cxc4Dy0rOKvUmooFE+G@6~*gM_`X$!y7=H*=EkbZRm zK4(PRuv?0i0s$^>+LwOe5E9%?y0XjqqgpVgek8rX3ras77DNN2+LK!+98i;cwYUS& z9E&{ZC7$|0g;R{p9^Vb*4epG`Ql|!HevIdT0G&~Z`g>L*QO}3JXeo`Ju-Y!u248g2 z9a;-tOmItI!iDip8nU7T#bt{>n3`^Wox7Lg*AmkCgY?ys&x z71SYhL7NPnZ{GMxLj1uBBqd`103)PlJQiiMtBgRaC373{1h!hHdl4o7)m^^?&hh#U zgE$$Tx&4MCQannxP1wo~Yb+1-4q;x8H2zjnPs|q3Kyj|606V4dN-(c!*uK`$NM(?J z;Y_0bCG#%a!8uM_8Fy-b8ElU4efIGKYBM>deahTn`^eOw2OuLAWr9Knw{LZ8s17q6 ze(Mmpw_EM4oTB!-D(12@LpEwp}QTW88ErP|Ni4 zV)uMgE;nBGLv`5#r@}eOnItcqIkttdBGO`O!}?aRAKnEXfIhYHZJRc3N$3IZ5vy9> zX)cI4A*$sUD-3%mm#&p6WS~IsAX9@5=DN!JFsO0|utXF%h@rM(QXQ*0LCzB;#+1wadL!ts?p=p3kmndtBS11T-3%ahgL z024>y_aU~S+$ZT*n>G3o&MP6m5Lf(3?2e##HEXNlHJgRy7nMi%kmf?MndAwBO~6Rz zt`v=|{L3kGq%10DdH8fR5iljcx$DWOb`pLcz^%K@4B&U9j4f?AUdb;wM5qE%Ni0uP z`Ouu5bv)Xl4dBx2gM~`3z+v%}{qH&gN=FfSz9Z6|_N3{t1eOQ!RmEsR>!Z2s(n(=W z>A^#N!FnV9G@e7YML?e){v%SjZ1gb#`2|^>Dz@gV&Nk!i=2v8(cl+&#;VnQ+p0>(= zrF^XjHHwBgvQxR;${rh1X0Em(JxdR$WR}{#8lsW`%-`Lgg=zk+8bAKvR{so7DC-#n z+prL_lsiGW@Mh%fx2XT+W_~KiA23kzS*_hOaY$YiJv|cYGHB=`QzKdK+Mly9#m`mTjOVZ zWrW{##N>L&^we#WQ&baJ>jYj467u#$A^Eh9k5$1C@JJ0c*6mV4KV#fHgTI6wK zyvm@x-N;8~X=YFh0S~e<|9M!Dh)IK+$HXz<>lxa+hI8gRV@5vbIu4BIawdejc6dDR zI|t>iYC}F-TO8}(>=%Uv4P3VZ@2y<`wiIttNZ^Hl3wI~Qj}D<$Z=L(vFGpT**7_5X5W8wRu{pFcp4xbvq zjp!-NUp=zw#AUlN(S9N)FnhnQJV1j*1-!^BTWjU8k|u@Bi7#0CHq z!TkZ?8F044@a}*l0Q&4Ex)S8Y5qoWACCk0Zz2=F+sYc0mH$d}T~p?NI535^^v zq|z6=<1BXPt0nHMb%K6A$IWmk8?wb>S_5MyPyIhA@_H4ZOmkw?{dqpGGlM;cVY0E- zce8!6~1WnDwi|+AaV0wdE+P{I|+N*MI z?;m}ruVqsvNme+hT%0e3C2INf)1tVo<$vm?b+I&Eu zH);eVR~R#c1h7153?f_8tV0kNpB5*GZM%+zsqD`qP<8{xeR<7f;lrQ-RtH9J*H;4< z9ek!?NqVJU%m3-?5!R+7efnyw3FOhq5*Du@o?1I4<~va6>2;8N-W#dpOf_(KJ{qcT zLP%V*4PDw$f`zfY-o-M9|JTOuowYY^;0X^$-Zi?B83TtI5&;ELtTokjoMDR( z7OWVL`ueq9)DqkSlx4rYjMOFpATwLV^rD z@rf8;t(B9-9HP^m$%H?GY}1~_naNKtw3wVgu70qMHJn;8lK@;SGsGJ=MIq#6>SIxu zF=^=XZFNC6q*=-zq21a=DdLE zbHT}dmedTys4sPHM(LyT1bk_DoU4uEc-{Dqb2jg&#kt)S&XUG}1`x{By zgY5IBqux{Va?Y80i-sC0U|pD>u~Q}iRFOPQ)Db4kV@l!_Crpknci~^J^GmI^udX^D z#akyl_l{er(hhe(rcyI$BJOYKn#|%+<@Yq3sON|$33x}o_IB5`8BS#NLB-?vK88)t zGjjkJW)vf(8uy*RrRA2xv1xMigLdeI$=k9PGI_>rzLXS30T+g6OJS%Aw*L6r$tP-ab7ll_v-X$^r3384=7_ z3HW7(Ko>_fKI4Rny`F6Sf@wB)B81<+l-i3^f9pdvc$S$W3}`g>yBM`4>(f$5Br>~~ zL35*!rP;~$A9>3m`CrM2&F{LtLR(U_j7H!#X0U`EI+Q%b#wvQCa8B5j_k@LJPO76J zH?O-se-{B_b~u~+c_Q8?XvHii_jZKSIsDX7H8M-G3%GdtU!8F7vyJ73&`cj)0l+(sv9-Cw}2yS?9cg9*XBD6KuYA2*evZFP6?X5LN@Q${Bqv>|CMs>Ec_^ zt%2~6aL{-eI+JdwoBxSzlwfE4+xW!@akEU5^`3*D+v7^G3iDeaUb2m$Z#04l$=c^M zJZ2cE7JTIrZY)%Z*|4(A#5ITBHj;D{vO#dI>zqc}uqnz1Xw=eB4~FwC_Fd@+q9)6t zxcJjL!XX8dIxv@n1Z6ovbbt#DgP1hP(oA$*erm7VCzx|L;Jx($+d}&a+eu-V`j7%J z_R{0jT4?DV77Dvlf*XDtks!FMxvgBxXk90^h)=JrHW-~;)ni1?aSGNWp7p(_K6>Et z=5iLY(`M-d1=#?I*vtA+U+0F{4C158k2C0=N<`K>q^@C{X|sYEzN^WRr78ya*Ei0~ zH#e3WKO&_3u=~9(4XB_(?c2-!ZvEanRe=#?ou z8uYhuFlEplLuQ1)t1I;8H=oDUTUo0)9gIg45Tz*W`}MI|IIzM4QL zZ^qPo!;$5%o&9iN8o}ngWGTp2aPX-hurs6u%dY1>MB3O5N$9@ZF3HJE1rINj(hh@+ za-6Ecq0`rOpNi!8v61)>uWdy@soQc21mjn7z{KSR5kM3|UrYP3OLbgrgztLZB}|S; z@`P9GN>0ZW(TzSDB+%Xs!e4` zQTH)z?;bp8fhUjpsd}-+%N+#TVqj-5S;6Xp=_pn3)e-l2 z8E&LZX?>l9WNeKO4c)|`^0_+uumi`sq3jdgK%E=3+Gv}9NOT>?>5AiQJJkqfJrH1a z6NzKBF!fzrTDcl-O2(KA)Zk9;|D-BWJXt>PXO#~R;I?FX{TQ?{R!+KfjlWBK;5ZjhEK;E*(2g)BNp3l|`dFcj(v1ZBE(VpqU;OKC z#c%%vFamWSd==)I6^>G;+9*u+CoIYBIIYS%4;B*U>ZH8o2sxX!?wx>y2=dcuVr^7` zDuBylPfNaaz4)HeO1f_yWaKE#bvk2C#mB9Lc2RaSd@zm7qC4liSP_3PUQwXu8d)b< z3g2zo_)!ZD75yNn@;3FP@%Fk5Zg^}x8bvQ+D9$}BR3?-Y8u}yb?%_I}zvK9vibAur zyDSPPM9WZSCTosNC9y`EIJ!04T@)p^{Qe7%T^4@Q#Dga z^4&mGE#N+E;5+|`DL;(cG@86_GU&d|V??eYnLj(-W@b(Dz(svnhNzPu6Gy4A2K$?w zeNy$WpPn))D0M_&{g#Ya?-REnwojPr1Ee##ioXr+4p1?Oos4J|ECa8>PABbO+Jgyq zXOxa*puSqzKjN!OM`7jT!6iv_L879}F1Wz&c{VT$*X)!|`m-J^%4rxm-VC`wUk1y% z49Y(59}adY$Je<@s8xhDcpuKD^|rqq-W@Q>N@OIccBP45MHQ0s!h1r{f|nBSi$0kl z;4`tIb|!qwbCFuwligUZYF0LJzRUm@4Fv9_2&`}o^!KOQJZQv_Lz_j}oy*Gf2nsx8ZPcZ2O4xulE|EC6qW&BcJpO{qS zVkgfXJ7MYiy7V;90Hf`QT5P-`W7xZkP?GC;&^XkyIrZ|NQRN>hK1*kY9tG-rDYF+QbV(clZss*7u(i=KhWoH`<9!q9b zA1lEWRd`Rqp8TMbz!h0d9yCtN+XF7IadWaf4s<8EmIQ?(hLu4z&;riBjvbId z1!#I7ej^E@XCmX4#|&ie9S(*SC^Il&q241Hu`7w5zdYN@plXwR@8RRz=;vK!;~fiM z`%)0%A`)MfWeN8b=4}+8i@@v0(8%sSFQ~NZpjprP*F<0cr>ySsI>6N05vq4`jqIo% zd_u^}L9XpKKX-}+O?4k9`URRb>+{g8Bn3TiirrZn4JGGEE_ey6Y!I>1^S}Zx7zz!>(3pfyo?LR6Z+_m%L~$ z%B?+P`a_t2DSSOZZJOT`%Fb`^%C?2SmFWOxEe-fcDADz$jq;rlO~?mO8rbW;kB9Em z)0A{z?FTrKQ-d8VchUx5WV~_9CGNkV0@Rcwwm#8NiY{81*G;_K$cheW;6(9Y<%hgq zQ53(ft4&xXr}!8fr8hrf=VJpW$u3>bnF{-n4}S}Rj%ZO!f_)8#!>Yf14^PW`EY!kc z$J#&+6kFAy1~87&2594@S018t%nCGk0aJT`Khqs}`hKx+E?#44s5NOmKipJ+lccbae=gu*Vz>rEuGHH~qf zUzTfm4Ya44RQn7)g8v_D$JF6+;Bmr|{It`zz!&TPL&(}>*V;o|dQF((pJn}y5Kjm5 z*m)4mS8QbsdXV7qJbsBlrub0x9h>>Lqd9nyrws1LH*%@8xCsfPd0n-^rRh?*|4*ow z&Evd*VF@lX-EGzTGDv%>66K~kN(}0d*yu&X(PIltWg)Iw2UV^q)#I%`Yyz3qdfDrW zOx+}_rqsoRO=JD&z4ZfUj2k+#k;LBsZLAq_QX)RPyi=qF57pniARU_7BO;Rfh7RkZ zZx>gzufylKs^{-_NEPiXXyE2#oQrqYk|E`T@TM*Ih%+hL8u-j@1qD*hqH@H8#>%;O z%rf|+xR{1ABep@GA^vClFv30I87c?vx`O9RELb5q?{|h)06h&-7JTN#-F#w z_n_w+Jo;1mKl6T)@G1jB^s7ji(1MD1Z&(XKfTEpn;k)6N6NVqE_a;7;op7Vu=R9jg zmS;UZ1^9Sz05Wrr8Ttwov`1``k^=DV#EPFxzE5y7&AqhtN7~GS4}&=+3@zzIijf%XPU>Z0n?@Hxj>pqnMAw#jJ3+p3(}hfsHcEh1ibYMs!x6F6 zucE;a@)G_jKT!zbc{j8K`DGh4A(`*_gycNe^}!Sndai$C76JB85AdbL7z_>KkFv>I z137xR(iIcsW$%C>1URssKh(3juD8`z+?E~+#>Vm=0=~% zbW&>kmN9ferE$l)RY?ChuL|5bAc5-PZ1fJv6*q%(}_2bArk=rd3mJJ|yt@DDW?a zn_YFu)F}VB5K>R;D=H^{U{>CP0dxmVqJ47m>~#>xkNb6$OHq0xiz*|s+~nI|iIG1m z)K;dlZz;DUD6DsU00j*8N;4>qmZIInf6#x6l0ASM0&uCXFC($zniOf7pT7D05wXcw z+~Ur5*)`GP9f0p-0m!p&sH52dOb0y5vWT43#Quqd&4v~+Zr-M2E~7dGHo!f%ROre# z(5Ef!_e@R?Fgf$mRU@0=0cj$bh_uxRbW4@l{M57kdes0yK)%1U2$;V!$uJ-G@!CHL zeoCy)C7U>x=N+NCCvvPaJvn-SCCnyGkp)xuI2fh&+xVJFmtx zjoA2K42kWi^w?i$DsX-^RIzA`iU{h}fS4xl8X?qbe|6^=Z^^zImIru|L80{|ZDhDo z9X+{}3|G4QER=$^FG-?}fnTtxW!>PMH$IaSPodGxhW@ZfSRDB@^&{nT6Gs(@pvfi`(9YZ`o4LXJedJL&ogo<&4sZ)g-3-%5@*k&K@$>24Uzpv6=qRn@YB;@o4G_QGH zR?DQ#tyYE-?o^t0F>(8s%&8%yu5BX7@4uZ1QVQ5%T)^;*hkFueS1O3aIdiqq!nwCW zSPUQSLw$j$56T`YNFuF!UFEx`$d|L;KavGwe+3uPDr9An$Q`(NXF#D)xX>57WRtvb zj?<73YU>fDWP{Ej%CFv1u^A!|4zLGAMmDI{8rh>^D7d??K+khsN%F15dyIyq3M?%_ zHR*yDpIce>*%TibLo8QM>lI`L41$P)(^Rs$$qy>5*x|UYi8=#U^r+C&r0HEmK9iT|>!L&p77FR#xM&tRI^f`#~JV|)?uB1PD z1fO)_((yG^`>E~8?ck6zK|wWsfJEm9v)nMk7N z_dJxWJxoF%{Ku?QFxRM#=l;RJym6m;!wgl)aSV7ig85l&dmx@s_89`EXu>e2L-`8# zF(SvW>DZ1~IQpa#c-NZ`Wfr0R4}a*6Y858c`tb+P9ZC6UP2x36;$p;Okl^iw{I!}=3A4p*xPKIq0U}y8qutn= zTb+eXbARhO!EnwD!wi~}o+Xh2@3OqYSW(HJdO%dqbk?!>{~GqfhkHX3y~fqkyQTIu zh71e6fZF-$J;XuLf)%DC7^{bY&2>G7RIItvA-5~fBPQ$tZ>BN)t9PvPyrE=5-hnxt zi-h3^*B>O3&0863>fiemaiR;l>vTw?KkasKOSd7@m&TYMZf)l%@Q~g#b;E3z?_HkM zGtgeb9A}0isYCTK>8S#|Wop5M@c~i=fJkeNusSBau`pdVa4({>LNQP4lZKWar7BG! z(&@;C!yU+?DKXSnD^jnLI(B*qct$qBMl%FIQny+NCnp93H7FRZaW?4I1K1>nrNi<}BK(ttSe%?*?&d*rX%rRn)yKGo`8_Qq z27GVRYVnbHJ`X+%cVeJm@yU1k-4?eM5x>02j5spo;tlOqw%o zUrvaMHZ|WQ?(*0f;*%)Ou6n$62~Z((vHSbCS;*TgbKQS3`H=#SU-123Ukk=Mo(#ae zdNaWQP#+h>M>`Veno^onQ)+>yJLY!lTuHgH#}!(NxTUn&1OY-EUEogj*p;<^7u!7@ z@dF;BEO@g*iI(!S;?!g?&U5!k`ChDQh*uX71t2QX5 zVyBLR?q69m6$&0Co*>mme|)D&U4`4gZ?&!bpk!5FO@?^K+9eX4r#%6AR64rVq4y2Fx9NtW#NtNaY(nImMtvOp{Q2~TUd`ttJBY8)(uD<>HbR;dF2o zYm>H;$4(kh+zq(>5NeGNuyg(OPeaDs-Z6SQM2US*Ek_r(So?+1kA$HWs3d5|4i)&q zNJjwCw;Bue^j*#%$BCu((a)ouc0pA75g^S2L4r|Ty2&bW()+B>o~pB1+Z$w}o|PgM zsb9mY1CI4ohY3dP;iu)Apl?0=0C_riUc$a_+K8q3Ocai6UnSPa^Z5|!{*>3BtsZwO z@gWU%A>vtw8IuZ5;Lw1njFPMMMVy*g%qv$%W4R%H%rZrD1k=!p-HZZt=M|cFf=9Bn zN^>=V_a{7N#DwI5^|&Q^RSpE4k^eTR>)y;OI5-*Ros&cYt0b0Fnf@$?3G|uM(q5#* z!keJQfKwl1ya1}Fo^R)d6E{adhhgP}-2;ypM`IZ)t!de2rEt>|h@h|!|E_j>s1jC! zSoA-<(q*>&xQ2$%yfnBV*(=g*j)w0QR1Z6?T)q)4o+XKl@IeDju%Kw8s++f^? z`gM|o!~`JvA$n3e=CwIqs;=O6gT`Ju`I^>PK7i%)eOT14H5T3`S@N##xVO<&hP0?m zIx;jG8Y!|U$D%)j<``T(QE>!*Zg!(#&ic)&>ceVH5>7L${Sdoe!|YuVo%HS$K^AeKtZA-X$dhyAfxZmBPX zARAx?G@&f8)RU?Ig;S!8Oqj*14F9An(7v6_Q_|-A3dak)9>HQT?x9cXh`%IGc5#vk z>W%Z)7w~D7JbQB7XgdfC2c6tp;r1b=5HLG5PIH_;fLQEl?>Mbed7j`i<|M8f1t>eD zuhU5e|BQNcpgssQcxZ{a_LJ-XF4*#WWPpe20nA^4q1Hi69Kd>R^)H2LxAdyY(=ldz z*@4SYBY%$nyOfk5zNQS&BBwWf!Gm2KweTNk@8eLExlH&(;JzO(+)PB;^--evv?>fq zn&Op$ea4#=V8*4)dvZIG;OhF@1EL<>J>;!>;js_Itxp?US9fyV{H=K84Va|th&i(d-a@YXcR8r2{$ft%norHyN61DOBPMLUXv9w z<#gBoPmVmy8LCSGWq}&6F>1id|8pm!#3Ii{^~5n|%&k|e1iMeEaQFc59dq1XxK#;V zsS51yjB$-)){jff-6MVqhtG6W&7|Q1^ScS81t-JD8a5OgjsG(7W; zSG*F(jVcEqmP<+JB?-HKXL6o*z^%A7Z-S?G6#3dQTgQkLx)SyIYlOea&QXLd3SoC` z0qv+NmUxuCC)UiMFGoG5<>E}^LOv-jitz}OB99_v%ll9~<8z4Hl*AIz+r9z{`ao~d zU(aez2UYP4%m`V|#sLB=W~UByZz}6I46I577E4*O5F6;yh*Zq-z8-&s=xxZjQ`kjVGo>vesKuXnt_2you}8Z zMfiU}t);P>gxn*kDw!zj56Ap@#O5f4@D^0?|s1Yzk( zlK(-*I{3T)U7dnA(+%`km+S{8ZGdj+feug0w-hz)&1!k15tP$ZNZYpBoR&DFg=V-w z)5X1p`7n>K>b8WSWo_q$26eFXt=ezzo7W@Z?({A&c*O?;KL+hrNmf-9U|iO z?bAUFD0E?kq|!(B(3o(`Snt(`c=1ogKvci_A&DN>{BY@pEDtbDe*h;RbpF4Ow~Z^L zS+uHqfI72Gq$8L}ZBF zIooVq(plXltVP~G^_sWyP5bl33KJ10chFUU>N@&2gGKffcgSNY^8atJ(EVQ?2x6Q} z@B8G4Q65-XQ`Q*hq)aY!H}XxvThwKn6s~et(MuhgcF2QGwNqb(H@JCOc^^uWRl0R! zLjbXkQ#2r6thv^HjCy2RVw1VT&AexgvrGx2#4;^Y|5~2%Ioo^Gco$3pyqn9g?A6@k zDZsPyOARlSleFWFtLN_ag^U4PlS_Ch%Hfn7AE&7*3k2)MTRQje;CBZ?T^(54vAm0D zLskDK#Cv45sfXfFu`szmssmYOhOApe3LH~IGLGsIz#9Am^B4QB*N=RxL-S2fyqkM> zKNC?@ke5D&6h%Dg0Exf1ZkEc&AF!Xig4egTocus}axr)29Zm1u=AhwC&go6&RytKj zx%KAJW_QO-O0E_cE^!Srcqfj(#B9=DeQZ*~N46v*kyi-=X#F^|IppJ3ZyAO0oUFW? zV9yx>qyMTy!=e0mE-h+h>s6N9a`T-#xT|?5PIVhKeLPifb^IW}SQ#73*IrfoPVdbI zu2DIZM!W&4Ez`rHGL`wiBR+J(rD^xwq&%ZO8kv(j%Yzrxtd7t`+ISMpE<$pNYrp6erYxQT%NDSf)+a#Q9l)naXcvygjDUX#I%O0H9Mnf*Qo<^MueMy$IH&>w@bE{N*ei0Kd z5lp3)vx#E#pU5*~EF%R1hzO@mTf@8RGvQiBvy%cIvX2Rl)5*Fqp}Y{2I+VINs$X|3 zaLMwD)~HRBi0_m=_HVX{ne2HmKvNguU|V;+lHQ4#=PqTXnu?ETLx^( zf4dmHDOn)-|H(UlGblf$4F#>`*ZU?r6&M_f*ksK_M2Ukr+T;yeg^Nv-ibOWUorEzj zXuLoa*(LBVKn7kE;toJ$0UJk3_o*u6NxB0w=~dgd8^i6Z&=f)1TXoP$dE9ATYcshp z2U9VyUsxm{&L;|{Vs~8ocp+c^vCUV#eo%Vyb=htOk1W%&nj4*n7(TLbX(t%G!?(<9 z-0C0chZR;9gw{T=>z>J;{sE*1GCdcO`AN54rFWOTaMbZLydPEiSnXBX%|FW@^3Hwx zpq-a(ZrtP_H`ogTIO>fz1g33xAv#~&aY%DN7hGOZ8648`jQG#0e`p{VH)bA<hbM6q#G^|5ig+uqzu`#n9okMR`{asv*F8QM<{w^fz?tF?SsX#-~dBSU*%yQVq z{BT)-7(z()?htzaWgZ7H?g0dLW)%&M$|5XR8Tu?{rqB9nTep@_lvOK;E}#v|C~1-6 z@{ZvivhdaMQ&6p0vKQIcoPBJGpV0W6dpyI$ttTTO-jpS!6T`=Js1+}fpX+J7fqP-@RLPK3w zT;{F6!BZOR1Pejn++$V)OM>(!fvP3o09i10R8pUQ4}QF}f(u#XpmF5hcj*6SO0U{o zR0Uzmofnn3D{uP`)KO+f5nD|jk}37ZL;|2?nSY@vs|@_k5;mawFF2)uk^ae6VqjD$ zGul74>?F7Ea;h}ak9nlK&kkyqd>5)gGM#lJ1xl~P1gjQ*eH)uZ{BJBKvE`vKv!<*) zWR+Zyd_oNwX$uZ8*A~(E5kB>hmy5jD>j2xUkyvoGV^e4Qx?$?ck6k2dDuLxS8w5n$ zgAR1xspfhWL?L5Flhc3xEEs#<0$PXbfiTf!R)8 z;FC)E!cae4e0|&na5upp^Oexp&S!^Wwv{VuOjq2>{$9*5UDhLl-pKaIE-&f*EZ1hf zkg>Qa%Fj`+ZwvJ_QE8s*V&{aeziOjfbyayBtn!{>cxg^(BqY_Qocql^I(5Jh7f4)qM6Lckh>GfYF*AM(ifH%$0~qUfM45eAya?T zDkB#;!c{Wzejl7>zJi7W*)c24)KS|!jm@?mQyNkx?sA^;*~!3|Nl%lg(h^gyW0m}K zv6pEVMm()|)TwI@GJ+661Br|<6NpWdUxmUk$|Pbt8H95Q5TxGvS8rf#Rqte}k4+NP zq39?oNXkWSDM|+(UATpkQc*|ukmZvj0q4ns$VA?;R*GCiXVsf!)8_7W^?F7oYj1L# zox9T+A>aITdrfB_LROW)9%PHElLOOrg5sVCyOqs?W3DK8uGGV~z@vm-IMb^LR|@0y z5;}<>8rnG^ueQvd@stG?clIuK=g8s5is$401uq*bHJiXV&s3Xok}&gR19iZVG+>kG z>X>F5^$UPup#BG0<6yTtI90HZtP<%$HF1I}Wo%uVi=tdsq(d=p3b#SsH6b4 zssg)YC>Qf!1W~YFLvTlfw?8-m){({C=bWBGO}HEgR`6Q?fOnN0{ZUAxJ?$xpCep3Q zMht=d9{<527kKZuD8457XJ8dYoX~PqcwU*PabJAT6Hp-afKw)!Y&$%`4uC2YE^(QO za`djC)xraBQy-xGJ?v&v8Xv1e;cJ7jAoF1Sr5-<^U}I|c+}xKcp=#cqJYzNfCMN?Y zV88ePmBLj#%8s&SLYKnCwa>bQ2o{VfBR2$bnqxH335~r>Tt0-{uBl)U? zUR#)AJ39eyvAUU6-zJsT$OEFdUsc88i|>$T%es<*PPngFIb8Lm9b?k>C(2TyNTb90oJWePi%6_S4m1ciNP~$wQX6}C>(4A=# zX9u?nqd>!7BGbUxOeZ(GDI+i$_ZFdy+ZVz&7kmfhbkjjv`>f!IvCkTtJZV>Y(iyBE4L@Du1q zyALg%;-VvI3x|ug;Vs68C-dS462a$WXfO#T%F;VIpJHNYyOo44jVS#76%OKG$x@Kc z`L8aOajbuc5U)=$j&#&A76>J7w-g7M5(__%pA!#Vdf;K@Q|Bys12m%gkNG}EDUn)0 zN^HAi;9l6v!opA?MDE~VcLE4)-*3k!;Rm3<-gU68sZSS%v97AlB9anW_{^xZM}g7x z1|P4gIsfzslBEgmRz*jTVVbdfJ%J^)KxBPsDwvV@u=zd=sFFrdZe@Z555@vqd+PS1QAhiEMq8&@sm z*_U>>S;Sgx%6@3ce!pyfY%7A5E4WUhZFI87hs?QKadCJiTw=h?!%O_)MqbF_uJGi2dZ+el zh{nDgs)SIoXU^CN>NY8kGwkczpj2q$5CT`RW zvj?b@0Owr*Ay!O&*(q2F1~5+N{SxD^WOB zvU@FU<1rs)U9gPtuvF{JHJvrg&H1KkrNP>;Ytgq{dI&k_(>9EpCzn_a!^J4a4}d!_ z03^f2rLkOnV4^tdf0w6#K-#%29s>zH?%U8>1GrdmM!K84HZ=??O7!+kI);8`TON*ajiw&+dcb(JqEZv)`bWDAr`OpBUn)0bx2Wx0rm3!efXg|O-x4V@CoLGN zku(n;!p>7WH$RpiDv9*y6Ye_kWuCBXh2Efxc@#mO}n`(aqVW9u02CKMN z_J=K{Pii4bWQ-DK-{k2ARll5?PT7T&V+GW08mCi+?Q8PH_Yg*ppyETiH6q9JiXdx? zCXx1|O56_!&2wKiE>$wt5_a_a;V*4Xn)J@LLyAThW_gvTAhgkD#dCmZjnQ4I(E|QD zXG9@mCgr^HIae^*Rc=0u2fH7AV<3@Egfcg4u+z_8_F`+8LT1budE~I+E9)BKo(7f8 zthoPiio9ldZLsJb_IC7%>uPbK$KoewO)fR9(s1p1sTXQN{(bb+ph%MC?q1RPWT*qK zJ?XQ2at1p!&bfZ6{6?|tZ4Pu6)!hsjjGJ@~KP3vX?O^Z@94GF>scA!qQJKUwP_;6% zsPG5aI>;eF`}>uqLOr}F^%xdcliB^+RQ96A6x3&-F9f8Fk~0o9Op`MX6st2zr{BuP zUASqe%zY_*BkvfbN|2Ec&Y|C=WOSZ@`swEO2OE2kpzUO-H~ewgmk4r}8b?*2u~zri zBx6n^Q8m}Ccue&Q2CJC9Pq^sdo5paMbL#1%CO)KF62Qy_M~dNO#J1tuN>ozG1YOZE z3>$q?g+npqD24K`^DvLk>l)i=VxRQvPFUY`=1;a5;eUw4rEfVE-`)OhVG{VtPzKZ$ zg(=8%%JPB%4W4E9ypg2^O>>4x zvx;c!vzBYjMDDWav2IOeHxF7{I{)%cEqh6a;dvvKc|s+8&E5>OZ4~4qP`5@Y0H{k3 zXn+@N{iLn*NP}mH>g=1@AwkEN+NQ#g|3fPEm4o?{KL@MaC$Zc&4@!kSur6SD?Sbn& zv*oF2u1Gge508vtKZ2P%6}fLn@`l9=$Z%z9*NJWh?l*zi^uGrOBLb6iin%nKi^x%N z`pwy1QaA;PzME5d7x5|RcAj4=HON?A|6r*LWYHA1cu>WqTv)g9*Af*kVx+nA&huMYF zoEwhb^S|(yzs+u7AXp&fA%vR;pO-gl4Y2A-*e_qTmkAT*_{1f<~}!nr}uSDOn;rXj(S5#>337r$kO=`O>AKU+4yCV5y$p z{72SLUP*P7NqHM%epz?6*P8?* ztxnCGwSFh9@7Rc-BIN{vBKeln2?9+PmdHm^W0cgJAW|cqpAWxz2em1>EZ>5o*PlA- z%$c!LKrdlQW*%XoeV4WEQR$n@S-?~8Hxqel#+x6!Yr9wm6d@q9Z)^w0LTK$Vu6GMB z$)Vccteq5Yr9vLB-lP~%iTa8eFv?h;eIUm(DGw$LGA{+nu9iMM&$fU#wKE%G)X$k@ zHZT3eLtA|~#WwUGv+XKDr5@)?!rMT+=O@RhN}`G83jI!KU+(aNq?|!sIz~1B>qo|h zeGQgFF5SU1-j1vt_&TS>%LvvSUYKN?d#egLVG6~!XGBC5ZpS}HBlP_bl--FAgS|Ns zpi=DxgM1hLyUJ@EFJ}u-GPbBF3T;hPWaFz8URjyKI#U|6tiMEROjkr^`L+`cUuMRz z`|M|{%@6wkf@FStmnba~e^&Vz)eF{~5X!A(i#8g-jGD?L6gMkL zNTI=OgOpp5Rx+?kkdSlf8IrLcmzsvF5Z=_Q-pPN!rxMxh!`3V2$8-(L4d(Z$_H2Rx zM$*8iLSIkS#dd(_+hBXWKnbXu3ORuBemqLo%jjsf#q_x zkiPTYj|Fuz1Sq=qd)eo_l~UX}$l{xS^!i=76ms`C*(<+lGL>h8n&t12d>e=Z_GlFQ zlqp>{#d-N54{Fb*Qg4;TaCmx9*;VW5m7dt+>d6=yB&pQ#<=r^2>`%-AYfXF#Rlr~j9O19Fj$~cVB zy+Vp|0}rb!!Qe1gS{pf>6x;#8toL2>@#)S%A+#QoXIoMJFai=h(MSe~eENmv3MLTq z;jSjuzGrX&B#jUMnBu_potz=C@Ev&d3pTp#xG`T^(|~k@{r}`^87c9pPJS5h$mNby z#u_jJy9GUdjw*3$xW94UfX?7|hQNP_cBDsW<=;l5D{P2I6-}Fta9$fxuGJbf(G%l{ zIfy?9;v$9eIM+T*CcX541(QsqMNJz8bl9ZbVYOJ2(-}wFRwUPzmD<^H)E(Sn(c}-b zz9#p7@Y*qJ(yt~rX)%5syL9*4d(N;&WP%UOzTpi@SoUqweTQ@nb}rz1``M-s($F|g z&q8NyMmXW8z>R2A(;D32E9*MRwq${1$vxE3E9kE=IuP+nT(M-#L{A{Ls2GE38%P)j z@-^#!LYoddg{+-u@QtzF680hR2_dVCHsvE~0I%`{ zTROV#F+g}`o-mcM%&>i&K<*oz`gf29MeWu605S>17snjCNV=pLy!t^ND=-o>rWqRo zvABd)Zp&1qxpXi__)EbZ)ocP_@HwbbLk%Z(n$n$xVn-v6aa8q_+ac6NX`FZU z{wUftx2|oXeZM5v~<4&W~V64%L-JG1r1xKXX|-}Z?#!mQFP7FwYIa?Yod2a{>5vsf0 zBnT5dtHW@H4@u!0?GGO4UU18I>9}>vci=OshPXsu6~mXJ?P*ov_dPrCxDxyZR7igH z0!cNjHbh&lYD$SO4cwdYD*}YgP#?Hy2@lz6aw3LJ#fg|aQm=gukmbBs;t#&D2ixmP zmYE>cWLClZYGwEtBubNfWMm@VjcRE^4T>-C=RM7tDi@DBzh2H>;qB|n7UzrZ^j417 zw0*m))SLC&G*#YchO-e9U}_hy)*`JR!0muqF=ffLmgQM~R5O4dxPl>`u|Hty}{L>1GFsj_po_s2)veQlL7yP z)i(NZMUD?Ka!l%+Fk_D>rpnD$1APjHB?`i%z-*U$L9QDJHFn$y4d zM{All$H9}J!B8*TD1VX4_aAL-m?33LP9OM<^kWlr@iTIMFzW()57*&HL8u9r^^ zw=J8%c3ukX2s55fyd2`_>1Li0?}3iC>W{96zO>4Wo>pE5(hhp1sZ=?+yT6mS+P_({ z?!tcJ%3SZ`Ydlhwpac`p7i0zMKP`j|ANw~^?nED0*=jIzr5Fg$nD<~kR)c!m4a4U0 zo=+#nl)@Ac-DI_bR>J5JQ1LJ^zR!f#Vyjj!3qB{+e)6%-P6s(@loiiT>$}yy5Jj(wb-KPu3o& z?C?O+x5D*oc%_w$sp>ObI_p!Z;p0eLjc!oYZlTFUI@ZQ`g&^C5EdRCqHx2zQApnIQ zyBktRw43Rg1hpUC#nZrwsNf$&f=kz0@ z%JX`pdrm=ddilVXaLYxZ^tPEbxGSTHZv=N1)7Zsr?xWYPmA5efxkRZZ-5|x-yv4PA zpI?y29%Aij1(lxSI7zjbl3l=-5aZjnN`(5fn-Tboajp8~-fQ&~?qmqm)%!(J3 zt@TGf(O%+ZLICfbC4y|sZuIrhM0jo*#!g&=w-i_%+F_34SX1OvzZ>nog&yZ--2Xgq zd*#;;7u2O>EdZYh)C6|<;wLmdpEhoI5KjLy6A!-Ptvh8otAqgM(hdUf(wWGNAHQ0D z5vm+-3@KfyvBKb6bQkrsx@{=}4-XZO%Z_8>o^STTO86Wc3J$$-n=!?vg09`}~S|nSE^)C>z)%?6y6%6V#k% zBC*;Yy90~JtLg5ytTUIL`ARWTk* zOv`=AH`Zu$)Tr7q^xp&z+u0sqP#O!Dh}O0uq5?*ks3qFufWMFszWvNZ75z%fsN{Ha z({3I>eo%@~YqB6ABW9hu(S3L#>lvoqJggG_TPF^a`|+wAJuJv=SyD1(kkI9HaTC0Bm>mITiO^RGyrBcXf?A?(P;Lr( zyYq~ez<;Yc%dg0GBPhdSo!^N)*CBQ*IuRrfz#c(%-2s(4Nk9Csq94Zv>yu1nI`wH2 zTqql+LYXP?O7k_roHiuNA8_>$^uNiBz@6gMC`O_tnXD)uUkv`T8ZE`%Bz6%wkB8gK zfba`&-4NHSzyi2i(V~+n3P_u zdV0Fr&4mi)E`!ttX9PW;BzL~-u2`7DWh<3(Yv-lV{xPCcn-x)KutEc5yM;&(E=jiL zQ2s+FK-ERlPE+SpnT0J&It?art6S#;>fH$bn|=Em^I&ds+WC%c8fbn8MM807+7Xo2 zQe^1KIGrUe5tP&{_L_bDba)GgTKvikca_n)nkEL@5@nNxlX{HLi%{jJW%fvW_^Gm+Ee|{P=5K!Fsm`C>4fb?2~c=AU9U!Iz)P@ zC1pmSKd{Mft^<_*))k{aF=<$FhId}Ye06a-D7LSAR}|BC*2hR>#C7xF3*;a{9-lp* zURUp;+a+Vlv(O<{EP?cC^g^Aa!>ZmM>-7)`v)k;y;6|B^ez;6XYYj0S}i;zZs1* zNU0H=5N9NJESehuZYFYbUAbU)yS5Y)%Ft@X2g>}0-APD9wtHWFByr9*Rj-Rcs^cvofev)m1erp$FLu_;%vVOs zL&(fifk@NJ@a7R9rfGl;OgJ+poUop6xhdZHz0Vr|8VeHg67FR&E--th<=j_5pOQVC zaC_)05W3|WcG@FxbDmqVjIVX&1|X;}T9aIYwX}G?nDF+?z&9xhR?xeyOF$}wvaoXJ z#CWblbP~2JLQ6I^d!$5~>fj=9MjfAUxja;6gv0$gA!e+?XJ9W!0kFAMKojN1uDV?| zTx%7aLEh1aFf~2aC}Kc^DXne@^6K%l3OcFz@~)N7YqW2Ch4%-INJM^?&r|^!NXlTr zz)1px(^d8u+shX$x-4z}HOowh#>|`?pQe1ESpJteo6oisa$c(5I~u4Xb=;~gE-OI{ zrKD_{L7P^bIx790jXpAzm2cNzVnx6EUZ*#9{9|e$1^$FpFxT!&=_dz<*sM6_E{)ir zmeI}~1qxN(LVnVBc~6A!?*dWjL_DY$pYatICKUW!g9yN0Mcn#Z^_5hpcN#sT-6G`f z%N5LPuhRJH{8Hw0qN9AHx;@J6uV0oNqxBVgu>Msm7k|Vbwj3r`Bk4aTe;a=#*Bm`W zhocZ>%BFG+IAh>c9h^2uA{I!|ZdO7*z5R`U!MY4WSwsN~U(S zQGLyqha+Q+fhcl+(*$J<7N5PbkdsK0BrP=(4Ar0H=xwccUdO%*8Pkp2wHzz|eT(8v zS@OFZ3f%c3=JQNff{Q!M#?-A9cx`VrYqsx!=3j_YZlH1&*hiUlauhLK59v2G$>3?K z#XlAzr$%%3+-7UzHg4STDK}!;n{Rq45-i&z5>I0|1`IqLOzIuji>wJS(P<~2%@M?1BTodUGB%5Hr}r^R(LcT6$K2lT~F zBbMx$j5aaBQBR!54PRGZDTU{&3pA`Yr&9w+-D5>mf) zhvK!VyExPI*}UYF9;@FBS8|V`-oKx!zVRRPqGFqLTI1&JTVG*aNB@G6V~)WOkkrh? zPN5%=^Y#Sov(c(8XsfSMfkBWv1c|8^G7V8ZF1U;eQoQj;15;fH3mQWHU=vWzcA zVZ>Du3;Z%?A`^@)v_yI0eN|GX0KgF$d zGGFCYw~YJ(gGwJXP`oT|-dkCN#@~kt)cjeiTm}`Gr=h~9=HIYKRJ9adL-IE0dooiM z67T|1jxEh5*;%P2I#D5Ft>S)w$$r!x0QA^P8_qK};IH2G;znV%xK1ZhFJp|i-e3J) z8u8bSgL^nBNWYNf@ue{tZu{mMjlAV~uBlXs^vqIch<7mq_6wwCpu$iI@m( z!R2eNWm{r+*>Wy6NJ^fzql0+(5W4&S1sP*^WTdo~<}+z5Pr(Lhdrv05(NUeyArf_Q zYvp3tIqN^U_`(Gtz$^>vbf-6VjvAH4D3cvoB-@PN`_ig5<;JBbDBNHTxz4f6P_a9B z8muvMcvf3TI~1W=m-hXbes@$syOddeIUN!oKCAi=SiQ(07#+Z7u>wY41)5Y?h?F_1sw4_kfI!!*-Mq@J2^t| z!m}4|)|TWvhDajb098pL6$VL#-?FkP72xWk(!p{NSIOxzHAhzD{E!5ub1$tdqOHLt zcNY5IQ|I|`=3hKANn5^zzs-o5bs0ZG7Im{_{Y73V>;gVE7lY*CKPHM{YJ{m93l9s^ z;nET~)dAtwqiEfVHimp6)zMxJCD}{$aw~7yU{v{mp zA!Fj1LXC7vO`;4FE$%tD$G?uomkk1+u>Zoy9rZk1rP4#LtH;>Yv9e=R5-2=``M{}F zf2x@(JIE=q$|GgwRCpRazb9p_MtO;BzD2fW5x>I^8fNd&foTFlc}$oCGFn^xZ#Q0Q zch=c*ngu>IBOD_JXG1F)>w4Jo)|?9SAF+Ew$L5!ONHtN){7`YECVAf*j#E(&$1EN; zu;EHI#yJjY^Es64zG6>WPw$+M45d@mNM^Uu`ktArupVU2L{XHxz^WOCVB0y@^|i)) z?668h2z3~I>XlY%nev9}Zxc1lMY+VRo`#_S#ee{(aclvY7nN}4v|8eE@G^W-I@{8K zj79J%uS4ET__0wr7DEYt;t6O#v8P&aY=)NRjCBQR|K0C^oz9LK1;{Rm?KWl$a~7Kc zyMG2cHF7`I=7n1WDOAiZD6SMh(#tMIlg#dKUhT_rbJ{;$IPHJawj}qh#Y@>L@>RCplp#9laxX%d0ZhkN?=su#I;e;O{QV z$u!5EW!Z5Q*WcXc61r6t;(71iB6)WkG0T$Pd+6^d@Q6~tnCcGw?8++})^d-Gjo?pA zNd7{OWdHi+PaED;MpP9A1l%+4jyKTeKo6QKH*N$>7KC(- zZX2SF&MvKr#@64CkX{u*>f%|f;3FerKTm~TX@F3)0$b3#qyL0k z%Kg_kCxSxsOhSNnon5~Y1Yk!u2P0-KaRiG);Xakeh+&DSK)8!?6Q+8WYP6DXT}%gA zo?i>Vr7SMjf?3N$vSH7+B)@C1xG@gYAZS_@b33b{=6{E;NRTZ~(jYk#Btp57`N0<$ zd0GkL-XcB_|dz~DJ{NzTBu+R=+zGuYrw&8GdTQM@$66{Q* zXAYIr(F`ZWmHWry;iTvtlGWoK3&_U_5A+GiS!~wJ2RsVdCAhy6+1^jm^Rg>)G&W8C z4Hwy_sujIcdchN_ZZ^P4k&+;Lr25M? zp>ChN`wg4tlq0D=vS&2*1C{7@vg|3B6nCkc5x)woQPhCE_H`kO)n!tXj(G0VfyH0T z`$Y=i0=dp%S3VcOL*{Hlwb?qdx%i z`s^8I>tT&5V-u_0=H9zjn{T?73xMsjUBEr-;<-&mhUFD6<79k z|AdK6U%UDmqF-B6vNm6G{@fhMM}L-u|6MIS-G3L&yoeT6Rs=bWg10+_4(Kp$)Ow$H9y)b6$EZyXP1oQ# zwJzNPRFG3O+-;vpPAQBYp|Qyk_AepCSN9zzY->c!_M8aUO<^oj*KXLw@W!oD=^L>! zDvD{=tUf|*&tIm0=$wQ^yAZz{QiV-gM898^KRJ~0%ZGfz|*|QpB|Eglr zhRZi7)&BbKp}Y@gwUK#+`PVrM{=i}8_cE<6!@G?SBW+p54YV0!(>h5Rsxl(^z7QX5 zYFU^1?EqlMX!k7RX&!A23y(x4R^4PtLuYL6IDkRn4i4Wkc!3!B#QiN5s{RKd1QY6Q zou8WDb^&LV+UsKVv>qLkZvz#tec=ZD>&w&pYtj-26LVlxx`4nAWZd-Z9$O(5p{ND5Bqct{uT5bW&5{jTn+blpMG(u;Cg)7;aP# zqVpXMEseD((jWsEFQs_DdV1g8&GAfW$DVIhpST7FLo^LY{nB z<4xXqi5wMuGsS$b^x>OawKejisZwvwAA$3=J_DFxK21`v&*1o&My42Md_&d$!v9uNI&J=lw=lfv3 zz)g38eEgAxV$vyFOA3=STdvQ5euWES=Cx@g_wRU+uu)t3T2f~kz8E!45AkT72k+8Y z_vXIzmI#ja^&Bho48l@tsRQV40Z${pfIQxJ^$6uw(-bIAYu9vfvxXeAJnz@ak|DUO zm^bs!de+?a`*p<{89Y;ge$YRilJUNEoQjrh<_|7NkSYcE6?!0hx8&SOCGXBh{gUnt zI27=*!e2~YT|&wOe;(HH@P~{9u`^?9T1~w^)2(7IIc!vaSg))@+vN-4pf2@J0;02B zyMl)S8?Ti=e)V)A=#xSA>||m;^mqdf^DYWDz}8TvrEr^9|BxP98RTr?e*h{+JF2TN$4n_>SI2ky~c0Lqcqg87iljOw;KdLP?#9AY<&r7yseFe zz3avM8utdwf5K31>m$FWuxV^LGG{(Zi!_^@>=~B*H=Mt%E>n2nN^p2p@-8+>z;ArI zHTKI1_>O4%T24FlA+FDbx~n#Pht|rBmSfd!a)5Li=VW_nh9+Vlv(N8CyJ2$^Tf8UV zCMnw;ss8iahAuKi39cr}-9pivP3C}6fEoW7f2zAKp`eBJsS&WF)59uCQ~T$dykTpIKAhlG zwfdDZOD`vzYD>H1)g*)PG*aastRZ)ImSAigU|4Tk&nylM!WGB{*N^C46vFMwS0#13 zwUzu{z^D*mqTT_F!-%U^!&S_=RhvNV7;?si6mbdQ4o`@O4|NQ3-pEyg`{RNw@Uulb zngRkLb<%dpqZ#5=%XV6P4!Ga*eRjB;Ya??4V*PMFLIYAdBUm_LI}UzJ0g&UxQZL9n z-2H&pQf(H_deMX!{b&)`Em2+XqT}KW{Lh*I=4^a60g^Vw_zFF_7iy9AN2W>^N79u* zGPm1MQv68+Bi;BWB1^SA5Ls`J=S?uh)@W6t!d(F`fRB-uRr&B@4|>SPiL-f5@1tP9 z0w4B`J#uk_uQ6C1Mp)>;4I5lQjyJ1$5wS{IeHkWTsNxgRJ9?h;kc{@aPH%qWz84Gc zX}ybRK1gF+s9H<^FrdA!*?Ctid)eikiNHo=Qb_Oem8G^3~I@LC%GoyC0-*axiGtF>$PAwN=q z`Ufas08RS`%Tb#kA1rNf;=@L^1lQE-rbD?vZ!r+w8^A^VGZ?S>j$tAlW%xRU5&4i| zw9w{PsL^Ea;CD7<59!S7PC=?>1nY!xaSrgS-UxVS`9XmjnuPxxAlB`!jsWFK?g_yV zC_Yb|3DE;Ky*TZ3q%^LcNF8y9YOHtI8*d5p#e)$D-p?+AIGMRLr@}e@zD2<%yy`R` ztC=(rSunM516V8oYgX|pWiJ(v7O%XYc%wQ^*}h<}W?06jA_ng+|H(ZfeZb8iQVuPCz)-qGsF?tE%+`vIB7Dm1W~!V7Ka4kE7H z3(JaeD&1ydH`hG>FoXG2`h3K%2t_MQ=D%oWR7s5$zE`Z$0V2va-P*6dSmDZ3{~PxQ z$QeaEpq`rKBunsyQ+GD#&%C(Eu4~DcPb;sv)Bw3e&@_}q<5BbCkhD0a5jMMh6@C*j z@)?D$WghNO3@f5vxJ=<_X2onar7Q&& zl?4^48RFBS_3+RyV-ey^ug{~^6)Cv!8f5dwyYF%HE-NLjgss>ubjQq31yEvTn(B5q zBwaIs*%HDb2RPb(Sr$~=5yh<&M}0uBa&&dVi3eT7ETY0I;wdn$2X{$JpuT8=(_t)y zW7jB9*ayT5(uYGcYYyOOTliA)13`b*Sm8+>3v2Rer+R;_hVf9)GU!NHL&bxa5EWH|>EsW6vD`|ni?Gm29WemQzzLqw2i^3pV_xFzw99tqc{4k_2dKE0HG)r|U$?&33 zu5k{T`YYb9FZNjJTlXJ+VhJDQ^NO#xYM!8~R1Ems?$~%InyAO!!nINbZI0DdBV3TQ zPLzJS)T^vZ=8wXaOgf(H2svCqBm36HjXd+MsQtEZ<0|CMKwwC9)%u-GAl3*Cb!Rg= zUhX&5X(CfTacXQmgt)4hA@)nMk+WE=qsB#6+mcxGwkK%E$%>!DV2{YLrD6QXW6O${ zdcSap0f+Aw50QV$!ta1q+ts^KG{H`sLhe7&-O}nqh*vn|BYezx*_fRz!}nuMi6d@=a(|ZrV8RX7l4qRAOcCYXHz>Y+xL_{nf<}uM(%ARf2TLtke1VN3fJDq%y*VlSJ4)lNs885N!;>L;NJut~E|RuhT?p-s(gZUKvTu;|6D1WM88A<}S?Jmj=`n z(l&@Wow^~hU!HQsR0BBG8#9xAtg++VUyea2uRGI_&(gw1RrSc6yimVaY%FVEW+_!6 zXh2q~DH~Gi4_L=uL9NZaARaGW9o}N#lT%2NIcf`;)x+(I!9_cQ($^DS%68U3RwAqj z;pRUQ304~f&>zAwqC^8j^j^3FV_!*(Wm86y%PRb+5Ur5l9;^eB5Dh8OSUzkDz%eDj zn3DY87n%(wM9i~j=s-(j3LpqL=gmF~Bg=(rUC4yuJzqvgjn^h7N zu?f+bQ7Z+R04Y@lreln^(TQ<}Z<1PXsdnn6*&%)sEyN-m77e2PI5fCd7ZkUsVRC-` z&TT5~iKLHl7wd4(AvgkB%r;jlRUqLI!fjqnTqQN~A6c;=hiH=3phe0_mJha?R{j)J zYffOYhPDwqd5!M(`67?gg9&tZPwxbfKv>?tipnY8oxp7<0zY(gi`6|O(bNoxXKY8sbK=QbOr++u5X$>w=2 z0m?U@s&OX2L5~0QK=hoKD@83x3K&+i=V_msz)esMvd!hfU^bjrg8GAxZ-~C8*UnBLv`ZR>OTdje`=5 z)jac@0!E7l#HIw2xZJ1(&}>#(1srD%CFL!q4(=CPO}-o2YD=Of_Iz1%jECztC$R8m z$}PzR<{Cw}+)mnn+1t>KnoHXXbQsN7iqN9KBD={(k4wFJjyY(R{n)CouUeVO=?GRO#k54k+f3kOK%>{*apgNeTP3 zqii`ST+0d5DNV0;n@TPZ8biz~CXB<4glpOQZyN5n;6+Ew4OEoBa}8o&aNV(499(}5 z7*vU(y1Ct=0?IU+#r%-QY^@K~XM??qhM4AVt4JDv>a9+-N)Y!OK=*uMF#huJ5j;Gs z9G0&fvs;!ZCRU5mrnMtguLz@zpC(`n;onp-O8oqXtc+c|;B=iAyiUUH+Rdi(udwi? zNWf@`R8O5ck15v`IO|y;n6_jfu-bFZaw%lX_cEq!42;ufzSeo3KsGG$Xs<`rZI5ak|pvE zt`BP>6@GMlHYCkLFWufRe$lv`Xdcm6>>S&Jg?}u*uyXJmmJM8k{TJ{vuE`MX9aKEnvjWfA*G&cqFLIbd=yhex3WKRpR+ySSQl4BCslG0sp zmKTvMXI}!qNTb!)4r{9EN?n$H4>canRk5o)9JS4-4RoM?ymKlq_Z^Z1m52quc)m^U zK=C&Jvls2>YDmqSQxKdIQkB|h$Tb7?9k5_Goo*dFX<{ak1vj5Qhumq?)0*Zw^qN1~ zOc&uvYAigM2(sf28n%Y!^rC)x^ZQNS$~tqjbo8&sV0|k~h`c46q$bcfO}gKr3PsC1 zIRWe00zWGW@eg!{sDMyLAp#>#VjjOMJ{o{P*WS(nVAK~kk}}NRc4H5>kz9X8-A_*A z7d@8yV~-on+r4DW5IYxyDWumREgx|^n0M#j!qRH*q!rZAgv7JV0>A+UDog3vJL8Fx zX0K%4)NnXiHQqw4H6kX?@KPv6j!jq|xOn(hhoz6R!~lN0@ARxUB-MB+=~)&eKPYzQ zA0DB=Y+4aHJit`8S>2=a&SmF$!3(x3PgUFoqxX0dSy{+T?297y0@c3NTG$tBeyN(a zI=yXNEP1V523MQ#WdlY8XgRpvbF@ckFj=a#jF5-DJFqctN{#|)aFc`` zzWZ$*goHyZA}o8WvZybTiyn>?F-{}5=%v}E!POvbXlBp}LnFVRi2Ion-y$(+r$(HZ zSi-)h-hxtQueJh$nabyo+wIY|pHd{-lu~YmTjYL#wNGXh`Ij~{z5# zwMQzG>aVw>`O$)&MyVr1)6+H3$dU(2u;$4DJ`YdtTW<06H0VCd3Rmin9xTgp ztphr?DN$0C-(HB32>PutN#SfRDg+jabJ?~=3B7sD%jJx$$Vm%8F6nV`3g1YCpYeg; zB(-%r{EsaFBoXJdp&zKoF=QsqQ2zsG@_m(l`PJbS$RL)|?7_(svw4CmYYG1RZ!~b{ z-tkgFg8MISukW7XT%s$vI?_E+8T&L*X0oX!UeE7f8de%kxhGPWzmIe5RiD z9lTl=_xsGcdkCGgZNXZT^@%>CFQI-PIDY#&8bn#}B4I-y`7UBw7N2jq83%%-%5;;o z5oaFR3NVu>bx}jd31OJMZlA{E`g6ZJjRM7e^o6hWlX|_E8CdCS>6LCcut`AOr&y@H zIz`FFd8aPN(wHc8JFCHlgeusqhgjw+jZac7>ath*SIayAKw$}bxMh7i<9EjT3pnKs zHK^AJcaZ{@OYE8yTL~6#L@kwQ0Gf7n0Th`PZH~0((4TEq-Tck$Ujiq7d!&tnm!#}d zT#49gala~#=eoB>>Fw~iP$}j* zyBosP&W%xlKy7|QHLu@&-5A4TWkn1aou=G#>pJ(6lBleW18HdJUL2bB9Bc)pRVN)Y zfp%FeWi^p>4vyLnuQg|V3|qQQ>j)xgE{wHY^&DJnke$tc5!)rzTL%ODVSMQ?r^;B> zBC3fQP1z3hlIlmo3-=)iWTF*Xb;|lZ!qaojN9ZJ}sb8xb7}n#wFjX8)$`5aCfoW^Z zrz^&J$bp0D+2;&hI1*id)f6?Cgql`q+!SK`G9-E-?sQ5bpkVjFmx7nI@?^k>s}3${ z@0XW%v^ygJ5Pd^+h^AtpN<^G-JP>pfqvoP2*4Y05oJ;$uh=p2%doTGO3zj0$g55IG zn~%)J6pYy#Es zY?J!tMyOuaSt2AjwV3mILeA5N>|rQLKn^@6Mc;NvEKfrC^(urDf?=9**D`K6@7}F} z=V8}>0 zbIwwzl2SJ9uK^jGhUCY;cTR`nbO>P1*uRR^7{1tO z6XX?ge5v8X5leun(K~+y!gVP6-S$W*m|5ytxN!qU5G@^&w(QL%D3pN)+&~L6&7AvB zcH;>>re9p=NGIul+Xm87YnjIeyeUlB+NGfJ%JpyLpFVyH}Q$9GMZY_j#>9rv*?+W4A^grQfZ z6D_Lh!g=J7Cw4ax>VOP(CGaS~mfm4yFzc%xSMornf`|ht_j~wM!F_Vdr(rBph4RCP zSmyv&oS~rWMJ&aH?SjjG^1fokOn|6Up~u;M;kPP|Q_ih>+7hyq?w$)gl!>^URjTsu7e)E2!h-`6QkGN$u{7DY^Y7h2*qc%RUa&JIfLHw7ENuOM`|_H z7DXbB!r}r$YAXr_b^CTVJSCI@Q9|M|dwx?+>$1B_9q(T9izNUyIrX*{G3jz}R?FJ9 zYv)(5?_`SYl3<6-8s{d?B`ymNeIeosU!e>B*&li5%mMNJ^J^m7@qBuLB@|05(}Ha< zUumMZ=a+EbEcLGMda+Ae-9>r4-rzBl6*U&>(NopKXq{BH~T84T}w+QWWHUAWp)%JHo7`y+6vT zEo?Hg02P?nNFsIk=B|#_x{24HFVq-NB)2v!S|&%j&HI9KHKS5=CY56z?VUlMyMKEa zCRTal=1L^2E??bFg!H@8E(Rh7EEDv)x+<&z&Z1cazlC~H6AGuVr)<(GlFcy%7+;xO zT=b8zrxGYTXIfo1X4^xZgPrb5i$h|a%KyIBF14Yl4%1z?cPQXGn+&R`*FYtIXHKyv zZEQ#6QS^#!uXIQsY5C3WcY-XD%=7B+_ID45oH+aR+nlvgY~$mIrIp=~ZL}V|YdsCw z?gYl~HB%+G3CNbI>5HueIv2exXMwUu z5ex$J@>u0O<9Ft`l@LSWVOA$F!CdU}K-5xlS^0CXW0sU|8?Sn6z;IElRj+za&1p0; ztOPPHEwl39SY_=G%ty#(%u-er%Kf4ElC`&4)b;v0T9dCxsL;lwKbO~(|pNW#<&|eP@!$)_662qmaI*huZ<#Yk(pr(747z;W*sBz0aQnf&29(^XbIgmNPk@Z+BW46+^XF?b}sMtNuzw9_#s5x*9)kt;B~n5zMtlTi0l0BNHzR_~8>A5X`@Q zK{BnKkFHulNS7p-d$4Z0mG`5EvB#XFm1j~$cd;d8!+)BOxlw3L3bZU+NnG^~1c-~- zaT5NZ{LX_JM3KQDqwT!oTp?oNhh{{qT5pi4t!o+Uy+qn!KhDVgScv#Y_p_VcTrYp& z83T=^)LUkWgGwrTEy?4%X|knwD}Ku8{u$koyGi)<<~jom^a z)CHd=mEon|ix-|3*|Knedsv!s^bDd$hEyj84%&aVFietNsxb$bob;Z7$yj!J#}cLY7*PvV6NphWd)>q>!>X zTGUGi5`cz;jwnrLe?m8pphH}Z#{z3!rsn}9S89~`_@Wi3niCebHMP-~3@l~Ccw&LW z+eF0$2*`UEfQYMh=gyvvwb&4@5@-!DYM_3MOr;`xCbFhFQj%&k|CA-m%}T;oZvd&x zJw^u$E@hmGup#DNiijKT!$|A9aGO64c3qnK1vKnlG*NT>a`Te+y*hL(;&O$TeE*ih zs(E^SxMlyyX}ntJ$&hUCM^;~SU)-RVbK{w@0rZ-M?Q%e^6Cqk0zE*xA17&i_`#quS zwl!ES2-8sh&TAn=sE|R+51ON#_eLkI%%;J4w{%{SQK;i+4%Z}=mESt91kN|R$Lhnr z93!Ku@nT$ik8TQ2|v7O@QF@_F=Zbr0|3MlF)M2!7DH%E5taa*IHkS7V5d|g zY8afR`?qspKJmA`zqeZ8=eY^R)<@VPkWQ;GtG7)%p%)Fv$biRDe>ygd%3{(*0uMIv ztFUUhF5UqV32-FS;Lp^#8DRl0ipAmaaiOKJn6njFsT<^I_LDaTfc!`lYuW(ksW$@? zS3w?_I2_NO>#PpmqT@_7QoCy{OyddP9Ughk=BS&cnY(K(CwWR@?FFWBl7gA9VoW`Y za+})}-Kw_xZ5En%3ZZ0=2Lia^=12g>E*_vE4;~-&YOp>eFXdPsk^j^WcV&BL<`=iT% zE|#KS84EQpy*@NQN|S)jq_I17#PdfGIyM69&B_bjA5&Ocpt4Mz)y+COr4N_V3Y`9-uV;ss6V~HaZZw6 z-y1#suY2W3ir1$mlk@hp9Nf~P* zLA?pfnU%adhdoAK)BL*cC-W3{J(e$!-cv-Fr3iK6yM)7El23vPzUx841(q9uYH9K( z@=20GAH3(u*7-<>2gMH{*e@pvm_TZ~GWJWUz2A3#4Q}Z@Q6U$BG{|@J&fM^!?XoGU`!?HOh8vXPFc6cBgTiz+4z!CIP?b>-J{6Xa~u75KgEv!K6}D zg}&5eJ&Q#FDgGKdRnE#}SI+~9ggIA508zyMTB~<8J!i(gTuJT_`~jm)K~?mH{(7ex z`zoKv#(r0^w6`;7j?~ z*vX#G?7%}pi#OJ%%P$509?Q4g(F{)*bPtb4awaqu{I~^TIe5xaP>{WKB_48kND8g` zXKqT?clPsl@U2IvgsGSy9zKNirhpuB8SgNM*YOA4P$BWpnid83AyA)NO8ou%6H@U2 zULbA-uPJr~6yIu0hIh`KQmbcVnCE<1JQuB68$tq%WXu> zbScE@t1R4hO#P&c$r%yx~D!?coYWYCy+LY6Pd?&a0IjdCjW{HoBy!>ebuCDh12`)# zuyX_iC)kBjV)=EHUwqnTE_Okw3N}R-jJ-G$MyZHZ&hgeLq))R1t_tNaNQ&Aps4=XfOr?U%Hrt>vrT1-K`v%u;Re47 zlg`?tRn}9%ez0h^-L2n7AD_yf(_6Q9Ch=bpCL?cG{U8aW ze*-$)zn}Zeo*RL+dH;LS$IU^c{BRMxI_)3T4cbhXWK&84c}8GK<^sg$En6&MuOO>h z^jsgAEb|D-x~sP2a#Sepzr zYf~}hJ;=6H)k83GvleYLr6B@&v>b6i-HNJ?M$ofC77eo;6b- z;4m*a`vv0LX7Y_Ney24)#Rxdc!R5&Vze~VKF~xqs1F`FiA|q0lk)@EryAE0D0SP{YyulgPvSJb!uF{K<}I%UWIvVgXn6ro z96Tb>>xh~ZGeI*dt?xV*C?*#zX93xnr)l8nyAzvk0p=|IHpy|#v`TT-iZe#!CfRRP zgxnbUKz@`!VxZVVzmMYb2(Yw;M#Vs4`uUI09QHn>Hs6HNF%zJ=wKMF~bKgcFn z8G^o123R4*_;{Y@3^|YiQ0Wq>6XS>A>ew~JStV}Pvpcr8uvqIlL_Ww%HA#KTbXcn0 zk^bu&ELr+*-W#L?hwx>ZC&b}P8bHJE@2+59OWg6Nr@GyYhhoUhdfBqm?SY^?!eVS! zURWZb5i!B%(lq4&7yL*uI07YiO}~GZ zK!T4|YE0BpR`t0tMR&8CNMRQ{PmRpgHD)#dI<5s)?@Y;l@J?)h)(xYW&;giL4^kIMG zFPhM|E}$MOls=@oc^>4$cl*47O1DOSZ*wq&)R!CJYw2A~PELD4X?F%bPqlawONA?m zPCvDmo)hSgpB8)Pci>--!3R4!Q!+`Jnm#o@_^KbO7s2`MFX3(*2|NK=2x)zqEk_z5 zr^Il;PL>B8LruiA`^k_FiaXncs7P#F8n?R4_v&^W#in`UY`&Cv%cu_l1Xb=r;!`R8z$J6|zb&X)}Xy9ss)AdvK{cUlIz7T3J&LH_emRtufZaAjx zsRq9qV=eBb`*UdI;)%zX$D%okj4qvUhbRUY*$u3Z{WOHEZnI|A+>jvfXyQvQL@ao# z38J6zP&8`bULtO}6#mk$q35>rikQshTOlJ%ngQ3bTP)o?mjFkl$GfVNuL5mInba+faX zfl>fhY3fxf{3hr|s@-Eh@b~<}xs-pZ6>+rZ>atjyyjj;z@%v~$kVB#EQ`jjyePgh7 zPIj3M50)~37z`(@(73X_))?g4xYEbBmZQMSG53gd>&-jZXF`C zCoj6~GO-V7piqoXZDU@g)IjMBJa5KqOAJgmIdVy%94j7v*cTL(78>-8J(&KRPVx-8`O_f#qu% zTNfWMk5QUJUcd&zsK{iX_Wnxn4=-iDL1kD0xrXy9iZZ9*mYqEw(?e)Jy-K{8ubLub zI&&k!Y8K)Cuy-!Vv4a=Gt82@NK9GttD+9!eri)uTlavo=FcmW1{SXQNqWan1O8vuh zN<#8!oB9*h`}F6vOVq|Dht^bQ-Xs~?=bjW(NbLvndy2W!W3(cT;7g)nG_`WP6Kt+% z&py$o&<-69{hZd7?YwP@SP84 z{mLt+^q7`4Pjt`pcH&C&XY9>t&1zeR414sJgE_Q|M6!!eeA6`P5kPt_2tKKS$1ysg z?H_->ZQwu2v5ClxtwHGo$AMOfwlV&fmoD6Sc8AZZy3O1u;|wRyS)qCDf8A@x6JEI$ z-Bft$-+_>2KW!MqC2bmRLGgw6oX^bZ_k3uH(QXUEg`*QNAhzkvqW5Y-1Ppz4t$=-uaPMiiftz) zpG(9jKe)@eE>m=C+Mp6QK9UcbfY3i%h96v~Y~;5@`jjH4@X5$cbA!2g8Tsy=I8>1` zH}t(P!uXWhV9*IU9U?)uBHBg3*E~{F+3a`7*6<~|2tu8YufL#n|L4%+S|-ujWZ<=H zaUsH(G80shBABxGcXieYsg6LIJJ#l+9j7E=_3xgu!;}*WD0%c@gYLwHBE2mmeEY=X z5hTwL%p+Q8dU&JsmZO%7TUhFOTT^Nj9&e%I!qsa?)QHRHMOT@LvX5(b`cyzPK^4@` zVknATe?>QFc^lzMvyp_Q8*^c2^jR$R>A9U(!WT3Y_NWpSL zbO@_fI~42LdFUlb0QMJ^pW=pUF^qi2I+@ztD}d};Bl-^iGDExVgG_{41sVhl0ZHGE z{g3V>>c}qyi2%@vK^$&#lA|`?hR$Se{$$gJSpaiEW;H_lK4fv%mL&?i64PL`8@f?RN0Eghhzr-t*AO0PT?x4Q_L&eT_3cmGiiUQF~ahT&|9^zlL`O+iO&!LR(tS4we@-N z{I6y2K4L&#o*<{ilp=)IiO(Y?J6yk8;W>ti1fTLPv{)Q|8KYZ!rjT-f^y;7znEZD@!u8=Nv)6Iib}DyVemqVp<1iPho= z8u_{(jiP-E^lF1q^R`bl{r#_O-zxM(0~#+1cVRv69ijrck=R35sB3i)*ECG25w(vi z*pMect})+8qX zes$s@h3;aA1mZ&pu$oG}w*I|#Di6-gFF_hzm;!7kf3VC0kz%%w*IZS+8AzE)>PCEN z7%h$tAkdwS+5}{!}n3ra;Bc;YCVPPA|#Vvk^4JwR{U3zP2 zT%@XJ4#)@#J3?xL@#cfjGBT4FVOQHL*-Le)3GQDgsZbF_?_-XaGC{(7uu=m&d_%yL zW9wfz&`uZi{&q3lG)5d<@vo&Z^@)=|m$v7F)_}Hk3Pk_oZkI@uFpo7>Q`vd+swMh} ziS}XCDmN%>8vwfxF9QJqQ$k75$M%O17oKGNr18VtNT@~5`36}$uj}T{WtoygQ)7s) zbKEQImh$lE50BI9k=}9KDE4-T9LQaYSf3HNenDBwtUnjSFxp9v^)1&7Hm#%%HCO0C z+9}XJ9Mb7J4NGw2Y0PHeRQt@=SRY0gelp^SCich9YN5%Aj#18rP>U)GOw!^I7n?LD$KcnI?|1*S2&Ni&1V~o64 zF~T5a_7(w*BGIEqK4x@(ys!<^T~!-oFqH&Xn{Xpb5S7GO>K9iP8M5)71v%-l?zF^1 zS&dQ#M-bm5{9L_QV|Zr>l>&yI2@@BV$}-KYsRt$7Fk%h~5{(3ko4ZMS-$Dgx1Dl%U_L6XmzVN+!_M zEDnM?jx^Dg0DpAs-}|XWwabP8+!~@6F<%N;J#RS%vKH0?_a`A>mWjMQ;3F$ zJY+qe?lD6f1QbMQZEp?@HSa!qHcjmax~g!a;yWX2z*e)h?(+M6@U;7!{BfDvF4yY* zSkg{kC?7nEDi4}r6B2)Y?YZ4BDgSlvVM)4UR;?~vh~m*6Vg`!dZKIjuH~Kk?M>q$m zSD>it68|r#+Uz<-T}kOS{OC)%&9I1L6QDYDO-lv}^v5sL9n%nOa=BgHQ-1VFYk1iI zPP9kB6K)BlV?yCYX0m-u(iAVaIN$D@_WkY(1hKY#mHZ$&SDE0bg6ipd>85T1esmP% z0Zd~g4L%P{H{1)4K_Xkr>cHj6WclcB=t2b^FB}_SPOIhkIp4b{P~R%%_bE2dD(3qz zC2S#FZ{-Ak$zt0?bugN=R`KwVodC)Wp&E|jZ`V~xh+cZW>MO`g1W7N+aZerbR^5X< zLy&E6e$9*i`Yq;&Z(ZA&3a*Aj3&2CmEksy1LPD=bfNHjdtty)Tld`_FPLWw;Ga>6q zm$;I}D~hI`h9csoal}&4A1Q4ThA-p9!|zT*0iuEUkFj44uwnrF)cNM|@!;?in+oRk&Uoe>EU08cTl4yWHSY6*8q z6mdUaZ|=dPeFhmRhbwR=T_(lBM6bbjgZK{Y$vl22FsKH=%Iop&RhXZ+^`X9!Ldnx8 zlR2NYAJ-A>zPm54dU{jG;UkP#4`{J}ZOxP!xpG2UTFRfySr?YyV2my&mA2%(6tD(M zXEO9Af<#dAT%`VV9SJtcizC#$Ko5 zF*-b7Cg8y6{BrT4RYTpcr0r9*KF?a|` zQOT{{Bz)cv!GaP+tNI^dP!gElNgOa58&_@*wrZuB1z-^#EZ0xmBE!5}Rs?9lAk*;^ z_czhZHum?oAH+VLH+*9fB5$&3M0M&CP-L~-&KKxLEY-N7H=0oMf7J3Xn01GkF;9O) zwuzBj!maVqEw*#R|~)HqVfFh`;RgM)eK=kL0ylofd!5R&?B0#72~!luJvR zFv%jJ3kz4NnY&fPsVun~0d!x`KGWs>$Y}p8n5ps7SK-2Cc8H2|3$i{5vLn+p-<)&Z zQxV;iZkiZ68uvokVHbGb=flvA|G2!|5J;m)TxhV+7-HQ4g5Q`FeJ@$2I6PqN#M=IX zF}sr6cx*bI{g65%DmAP~RKgBB-yp+3kE4xKZWye+f`;!VWl>9i>V(dh)=`{_kgLaG zRZfWP`8Er)(j%Wt=&8L%h5%FNSA1jH!wXQ11G{}X8_Il&+*A$lSp>^Dt1>Vy->-{# z+XyL~szM+uhB&bD@9P=;k$_iuC68V+grS1k>H1YZeh*K!BnkOrq&mZaaZ$O4s{Zc< z=?j6C0zP&TH4Yj`lX})mz-w;v{(0E3^Ykv&#PA=(QhQ+xd@aK zUxQndV@^d#4`fJ%AmCG5eB%&1xk3P@Fk#o*qUk^_9)r-Okw&|276xcKal@*?ixzSk zqK5KmvVYJm=7R16d-hpgF7j%S{yD+tR#u3NcXrdE;s21M3Gw~$3YKmhcFf}ReFW$^ zsjgxYxSZ#b&}^$dBpl5t#c8_k>PoaeFffk&X6!IJowQ^h3c6Mh3_ zvOEXyx}ppEqPCgXk!Zvkm4IYKW&#B|10f+yorO+DXLjOitdLf&4JgkDMG0B9)P?^H zJJ)2WO7lWpKWi9G4J7LSm)mD)hypr>WbeGhG*?KHV}gd5J4x)2VgkD-v2f`<7uewv z6Y_=&ER>d6`V){K&kI&5gbC&Xmp}5$M*O%9Y<7&Mod;npKe~G{c+5|N3o`X#t|_4A z?C_`vRj~54kjtd@3WrdNf)f`U9`zEoG-snB-J?ouI5a!l^(1oIrBhb&N2j(7cmgZ#CX*U ztDZ-&m9IQKGW$cPA3_r$4|fVI26o9|-yIG2%PFx5#gQ>@KxwQ1{7*0hi0(Zm9G>|5 zn1EO?${X%$cN!dzdYlRgh1!}E%1J+`RuEGZ=%4E*Rv+^Ogyuy}w^1tTJlc{b*Z2fW zBazZ2!qwl@eJ&uP7g8iSrajRVIU+r#B|0U@GX=_9ZqeN0$3H-@j+M=p7?vgL@NcNF zqAA&b1eovc#8tTHVtRvF{y{;=zgdrr9qKaP@LEX8UeIgWSIsoXP@e$mka6;wAsOa|SkQASu369cP389^zUI>Zkda?5oqz2= zU&gR^xXlZ%5UDKl<-t8OHc=b} ztS-clbWZU$(}!8xWHc=Hfx#BQ-tPa3DDHJM4uM-eg; ztBL_*1=(Zr0jPrIlcz5DtJFd+o>_GJ&I^!O+wK;g2idgbbz&YtQI$w*C8rW-9&akF|x(w-7T_W|X!zPc< zD*!Z(dpyi>nJw$bTitCLPu_Xvz)qzjzBr&yqs25B=#SHQ%lmIYUi9otLf#`%+l*YK z)T*Sw7{Iy?OI=<)pqmqcGO-QHCJ&Ma@H2B+mz5MMsToYH9;19YKd)5}2jmO8-ffH{ zoUwgT<eW1K>(mpWRn2Q5|c}Z*tbmYWuXVHZRoqH*G8Hrr9mA|MA6Zl z78AJqobI%|`qsW)B9~JY%ccr*JaObAd0f~yr$QoBgpO8B`hnj^Dn~*)PBJ3u00ooe z%#_|6Lz^et{Vdj&a6#e<2A4nvh#tt?Qa&i$HQM3kU;0xf`$axDak0$3k^&{vmM{6v z?Ey5Eo3%c+*Lo#fXEqy+6!*u8w3Hfr{UzmX7aK|`uQENL*2J&9U=TmXH?#7kOCSSuQeiRdx-!R9Y8dnEID zdnO_qlfJKXoE8D6_>a!oc2(a--TY`OwlykyIz9aucFq<{9cpyg!l-t(BUHs;&=z#B z{zb0M{nGO?``SGF4)~vBrmTrU#)NpD_82sp*5peWvDTOw!LJY5#sn7v2gMgY(D1e; zDd!GT)gctXMaVLCPia{crYsA5?f*J$TnO#(a{sRozg#zYWhQTOjq0-nM7?RhbGTy5TtjPJ)hbkH;guJKi?9Up3Txl3Ldt3D)OrK(>=cW*B*Kdk;wjb5 z78?HZnFrEO7VST3XMZ(NTFYmn;#@wDox0v{Xj zYOLm=U1TkH*;e+=$#4>cnNG>wE0X{ z<>z?@VgOzW1nC`~etyZVxSO^zq%FAGYI z=?3&1CN079^0Z%`!Xtuf4ElQmDSE()_sQ`^$)}?I?$b=;q0{ z*WKcKVdA^vDjW($=aVvNefn9yvabz>vkKfPuCYN9f!45ULC^(h*TpAd5K2C>Gz%Q+ z(u8}hyW-FeBSKU#g+AOlb#Cs_(y}_x)fS=-MEgOe$$mL7o~fDVx|5|hMBQCVrKU21 z9LAvdREu+#Y1?aDHd!3lX=N39e3@O=vR%PAdhA)3x4SH`;y4LCO;u^#!#_< zTJM3b1*Sj%&&cwj#u)Zx)V3)MxEl0LIb`n}!ey}>lKz*SDg^N_63g}xbf(H_9s>DE zbC*RwA|^DnXaLnG=LWX0@0fndVUyxxQ8JYWI(^}Zj+Bkg4wPPufC{Ux(kWB5u7Jn~ z9rxpAX6Xi0)jPHizq(eL+jB>a8Xa&Jyk1B=nw%Z*0su%uaJY0%b(7Ex=JTAqa}D0w zPp3WGM@#gHBKwW7fGGx!2D9Uv@>-j?Dsva0w1KHbiIMMgS!-zrUHnZON%w|PGm-jQu1X7taMsvIX^vGPzK1&w#`VGu5mRIO zqEvXfR?eO_7xO)-jIF1^X!AvuI&cY^USYz?YMVtkJpzKj_^+_3Y~cOAyZ>d=lHbDd zKRsDH66yP|Kk)(QxuQt34$5Q@|JtalvnQ@{DVws;S zl`p*Hm)pNvQFdso{8)UF{;3pjwO-2DA)_HpPHw~h5m3N#On@A^qjB_aGGLWj>?z}Q zOocjcAW__*s&@qQ@0mn6aVs;8Keer3-XHU;sW29G6?NjrSzIQk)Nng<)43J-JPF5q z**V6wG=Ka*6iuqpazN^4&M@t{Fdu#gjMJY%0Kkhe_KYDQY;!ule|WB66}MwKn3kKi zB(kD(!(OJmZaUbE_NqOMa{1{l=k%ebenpZ5Q-@I&z}a=`6QH&Pb6`^Et8{GD&EtbJ zSS{#(d}l~A0a=FZJ!*yfB+$eX6pNLO8 z6|+1>$-yGPsTD?vfT(Cq}j`wdb`#Yi@v^7HAW?>{52!>k?=G3%|;9Bp8y z&Y`s`NU#$f)xS6lG#9BO%maO8mWxK4&^(gEIl@GB2< zA8P@Pb4m#rn+-U&yjC3m6vf|d1&lkoPyA2$Ds!DuiVo}wa7K1ADoR*H%Hr1%L3Tv* zXiq{KUMeGW!j;`M7GMn^jehbiIOiyysaPfv>d5Jv#lW*neI3Q-!S>kPH? zO9GD>q}v&~AlCBf71`bE)&ufg-Bf)y5M+76>iU0Ucm4w$#K3CeM%l(>{5L%j=oyc6=Fk3gJs#`7b&kxHy<^Er) z^>xdLo4p`q?rUICky1LQ$8TM+FL}A!ddYvQY~HTQOKdWVjHy$L{f65c^Oak7h0;MY z6|enI^Di{i;hU5|9OgHGyqk)?Af9a8s1EIS zVc*<6bh2D?39LgAu+ty$t;|x*X)I(K5<2HCKodc;pnPKk1#=6xf6RGeKRt`1jy=$Q z(Q2x5ixVzQGGoiOKEQEgEoRC3uOJOCPSRB<5{n~gX=t0%`B<@oyj^e_l6a^q`nott zA2i9-lAHF>p=G4E9?;yNsG!fQ?(vMBa04k`iP`pk#qXMH&oTA;y*=7IDHp*25@Pt% zp>YOYgWui@Wa%{CO*oJwy?%U2IydMi7>2;PoX#mW;?$0m7PhP_6>)g{olN21k&h9@ zF<{(Uxg~GZmKjSAB;M@>$`;SfD|C+QkV}KZJKWcxOWZ)tiOoyqg($2t?OTp~DeRB;n;z??coh1_71Ij6~a;FNhQVOGVrc(ws=YI`jqinw54u&*+L^rWzEIgEb^6WCq+G{ zU@So4XbvDD=&x_@Lid)zsr8lIN_z*rlT@C?S#Ht)Nb+PQ-|Iyr#>8~S!SQ^Gb~@zT zy~iz3o|9TK4qUQ9N*Q4{(d)xOdc26J&1w=0T07N&~ z|0_)z8cE-eo5>cHs-S}5S}-NC8^8O{(3lG*i8o72(F$B^uR6rF@LMX!WGFQn~T3J1m6 zCJyvF!4;5T=YH}=E)w_WyN^2+by(kR_%(!qF{4D6N^{Xr5pvZtPI0d-r3GWnutfjx3x6Ps!vI`crA(_9d z?{j^R^lAtz zG^xenk%OgYri^gfUi4|@?JOKS`wTIkyt6*mui^}oVoMj>0aijBw;ty{e z`VlfDShSX(nV-~CgZ!SANnCyjkjxpF-b4w8Yo_O(NSE6Z0J88}q;tuj*ly);#pIeN zU<6TGf#@u5ge~}Lb0W_J-&P~EUyXwf6R4WrJ*V7B4(2veOpGm!-_JLR*1s?5c-zZ? zx-{H$4&NBw678R*M8MT}tpCkSFof1N>LPem-0%>Zo;twaYb0h>UAi|N^c8P5Wv(U7 zgL%P78?;L6cYJ{C*a70d?wy&o$BfE}C8xc(ck-BGKS%7=q#7#rCgF|_H_T%{-6LUW z_K5cJ-CB~w$wh3Tj@i0=>*xL!UlJtqTSRgM$mBF;uo7&Wz}7Gha_a@2Ol!0!Z`YJb zJWD|f^O0UaAT3{niYtlUjr)sNr2kxOX$_81Yl&gg0&-KhrP6W?t#LKWQL$s8q<85L zXneC70Kq`f#1tEu{+O65H!UVKY&t2_?m@E{tgLv#hLYKYY3SrBr4EO_d8S7{tYYQl zs&A}^3g}H9&`~)gJdN?Fn6oI_M|J11X^O5zo+T|0{+ld7IMR@T9h?U_HSw#PHn)uO z9%S>9l(LP|PD7@*@Bz41BkMR~!vxW5(tve3Ny++FLa)#wAnnZ`g};PYzJ(s^>Wo%5 zzbw#V{18_4Z#cMYC?-_sh#9^uLZm0tHTjilZ=|wt;JtGe?Aj%(rtONU-)v`^Et!s3 z*p~v*GE)Y!;>JORX)*<)nb_o)7(mVtp4Ekg>^O0pn1H-dr3Vdj*i5dAl>2m;&PTEz zPrBS*`{s0h{+G_l4i|jB{4)&ugSpAEuf5T(UcNAO4aIP>zC}}SmwkpSk0E^k!*_eV zAojM%3>+a|s@5+6JY7LUh5>fmTosaHzq%legxTc@CYYfcC(bO-gS>J)F~%5w@z1s*FC6ra4##F=F- zM2!Z;jI#KNKr{=;-??Ll>sMy+BVqx(1E~WyvD?v;#G0xDL~VnK6+(W`OB=7eqNIk9 zfDLgH*P>4qKu%Kc?Ob%*R{GBn|3Y-gyJ=)i%UH#TJc9>e5#(=d+@4&hR5C&(&zV@& zqALgSNq=O=2@GF$H@^lL;^HN@`9{A0cWsL%igIbkVh7=h)e-IGj29GAH>uH}yDYBk zl7jj1nL|Q1UMg@(9I>fduwBl0b&{9w3gTLkSlM%n4|!Wr=ncHYQG=)^z*k_Rv_-q! z2}P54?-fec@OK^3`L4HNn#luOM+N3%ZQy=mo5mx#Eu`tOQmn0-Cg7L+&mX5&K*iqx zT+6504Vz%)Sk5?*uv5u=7jDj33bVdB)(t7+>m~2orl#BttzF2%Oq_2fdcQ|Me_&xKd*Zy2npV5>O;~RNsW%;K z^eyfxNh`sD@is|9C>ZuhW2w#JxK?YKa#LQORW$_hiKN;u;&_g40B+|V1jg_@1Y8L zO~4B4dh@dl#QS)z=3YRw?Mwu0#RT%WSH9{&3=5-J0&^yfeN@&i1U`GTwK^j6WH*h& z#T%b91AXHS^64)p7x!0YvxjSqAHS0)jqgtAEwKMZJ$G@54AT&2 z$;D0uo(s65S9=44;WE0W>g$aU%OJ(rmqvd2X`|FmSpY>IYfUVJ528wUUB>$wEs%}3 zs_FRaA#|}oK9{Q)ypdMMhr#@ayiuy*du4=%*#P)Y`jh(8B_4 zu{dlE_~;U4#_u7E69jG!^YP6GLUpX`tJeCfh=_d2!v9`i;cHZ{bUG=I%<=ZCApfm# z`gKtAhdoNPK`s8%?Z+Pv;wheh=Yt#!p}L!YBmG>67>Qmp zrJZM6smyGAc5ux=D2asqihzrr8tvrJfA)lnK?fb_%5B{p+s<6}proyP3#4t2OsN)& zy50znkjxoLaVpuV|LyS!+h^HnYj3YAJHRJNkEavQ?Q%pFEutaAdqAu;XUy7y!}33c z%n}s^!80eDtC$^~+>L!Qu*F=8lMwUjwebFHWnClKxE5GE=UXyr*R9;E^K=I9aKhP| zvIgS#;b8ulp0TciQKl^#l;$&xT}eb#*R!V6N1xaDl%_hOmtnn|Qs^s_f3MD=2iSQN z3B%(KfZ-_XqqXtwnQX01=@ZlQ-@mapy(kLL9aOGK?&qLT_bEm+F4h-@l=A#PNNd!G zs03fOPy;K}`AgEG(*i-4-v@dhXvdyXmgc-l{exGK&g4@?NsSjXkK&t;3#X=!>DS%d z2t1%jOcXT38D2!quNZKXHxX#FlfrP32&ah@h^H@bvtJKUqX0&iWBi73yZ(komI;k> zuJ4juD(ZBmIf0Rq*7KeM#HbGkn>_1wn^M+8(9O*bj8AQT;Q9s7%iV!*_y5Y;Zt)xO zupm8jsVQU)w@Ba3c@x3%n!s{$^%EY%bmUdU0hf+Kq}PKf5SEB5UcHmUpDSi31qfUl zFm&t|LH3x6)exuHD9$_+FHt=fDJzTTQbCt zAyJzAZs~m5rDZQ;cj<`fEOd@W`Hqirr`ld-RM;qc=krif&G|%%tn7uhC_+cyEmEg# zDWsBn{b4=dfBJ+Uu8>fWZi#Jqo&~bDs9LjgA@}d3BDf=|TQ5ri(J_Pk@EJ!zSO3WM zfh0!tX*!qY(?vG#T@hKdT#e9y@`R`v;tWSsfTKTxVea5QR(#yS6tOrVp7>dZcHWVq zcy*C+Z>W*nm##V#w^U!QW@r;eEy!?LSqtNa9!=ZLopv+(a9&`*;Ul6yP1YmMk8=!S zcc(nBO))TnzMqrI%H-ew%NkLnOLN9`qj!Q zGgiNxdCEQ;ykz=1#~vuY=O0ai_h!)7OMjVcQY3EkNQS86#PqT?V=P(*GX)PUwJsB? zH4w?yKN1Q}ZSv?{MopUN#${WtgqY2lGaq6QsQ2uSZ~~!}x^B}oYiE8b2C1hn$3qV3uPokNq)0@r-hL$>jlpry&4%(R%bR=(6$_;@{gP*nu#q7k9@AaEftGzXj_=>S)yc;YC$f5c?P~`SJ~_?tZr~#W}2NRP<;i zt=VkgRCq;{sPdI~Lr>K|7p24!Ifr;8-vytb>{eGh+uq^oaUoL!4+E+>d77Gnx{lg|fZ~DQ=h<26ajpK(=&p=1o~>Q|idi|sdW96( z#ItTlANhPtd7ZAN1ru8*+8OQP$8G3wGtQAXoZc0Er){#o4?j_!*?v zgF&EqA@EYozZ+P2?EQ28)P>h{@iBfq!&#TF-_iaarzMQ|eU8nixWcl?6bSZbv|9Iy zvx*S`VaxxIJ7!J=gku?+=NF7c^Q8ns(+<>EQA@8Ut%e;&qGWiA?)sH*WW)mDAU|7T z#gXwV^0M;#eH?HqMx_VD7iH@|eXQhzukq_Q@(aD0Qk?P{b)3ilKsY4RDNo_icBB?= zwj`$*%5a3+(%fRxeRC9pm*IGcbA+Ml(7S5CYj<#uz(c+QhdatwF~*zs|3z>(a{s&U z)fDNJZ)S~yJLWYVZ|-u|MQ^#r$bQkb7X#Vln zONgyb4~7*A>z4*pd@^# zZs(!VP`$3`7-tlj8|kK*pE6q&Wo6{7Qc=c|B9z05dF&i;t9cm`@ikmgYX5;wbszK2 zqDWZP?f%sEhi7Rf365lbeu9M~w)`yN?MQ;ImRPjh*BLJsl-bS5`CV%fYQAg{Z=IRDK5VBWT#)+fz*%~UWd$}d@`ncJwJvp zoU}pN2{92u%$&$lCyK+NcH$Qse3rIAdyw=gN!-A{q1&w&yX82bLu4)>4KBu0Jy$w7 zlsZfnCuj#4&Luq4uRt%Pqbv-+)aOh;6ZSEVsWh>D-=TpYKQ_2qE|2p%&e-TFH0~Gk zD^WS1$(3B&x;tZ$@isttn^$3F_ndnls9;_F)Me0^dC|2?$GDNpCqFhHJ;;w4mmj5EQQ4q5xAS z8ogU8x+)vJ0gLtX`Lh@S(Mzi%M}jeZ&v;M>y0n|42~ZS)SmjUpDAIx=D(I3MgI4l& zSg)HgQ|mxa^(@=WP3J`-g4Bm;*yRmHPXKJOo$#|LF<4nH8aYiGZK5cWNL^j3HM-Lx zOXLq`_AvM~04hQCs1ZO1HgCLgJumQv(-uvJCl*(_S4<6Qm9MRDCg4{*Q|ciflGQ95 zKZf>4HjoY7kM4^DNViPAFd$uUVpb3EU%3L~7-}$cfsp?Xq$=E&-wpN|#%+F*<3Kj+ zc@$31m~xw?I3~C2&xoNXLpQV9&A+?1!tbzk;QQjd6!;pi>@ET+I_(6%;#PjwFnW5v z{sm~(oU!+Yz*LHgXl9#4X3%W-sMawps9*>j`ggqb>C4fGVq)3Fe|V;@-~IvwC&V?j zQsEXUNh6IGFbiF?UDD3P(%*mg07^bz#^aX33U+0Sppzg)?P$M>_*pcC9nGxA zR5XBeAjtTNKz4M6(&yn&NLmF)#!%YRG1N*&&FoHv7na?wy~0dajCr3M0W^4j^)T<#qQjr@Yf4n+iw~_A8Q8BQf;ombCY`S(|G8 zT~bU-(MKPIK}WuCnby524WZ|9CMxAG4%9ulvwJRWgT zd4UNlhu1GoV<9k4BMor|N2`|=n62nfGuicNlO&3&^nG6RKkET3)J+bB!*lbru+AOp zJpD(jJ;tf-J=2I;KH1mS%R!VAaHllppXwbYdW936oZ)Tk9ap$x$<95gQ%8?`bk7OHI1OZoO$ccklo31- zvB+!HsYOODj-AoggCuPJ0GpowJ{=yeb;=P~0zj{VXj}}Pz$Y~|q;uo&Zr>c;R9hgc zdzlTuOu6y^f=E-ID`=oFrcb5D#%9HWs&7CLZq+5}ftQUN^dM)SA?es+tqa$`6NQ4T z(VotKcLr{Qr^p(9-06w=sNc7E&BoWADD|(%2m>S}E+@NxG2i7wmENO< zEPt;9mVi;8U0N!S^ke?1eX2iFc2UsC!6DmQ!_oC}qrmc?G;d#w_mQj<{~tJYW5E)= z^JPf1h5gNUOERRA>gl^VKmg7JX1qH5R9sINgEX)sfYd~zK>hf&T+yw@9Pr_18_&^j zJ#8HVa>UdBkqq7k1)3fNV$&NIEY$ zE49PDOl`7WwLE;28)&$6Ne$fHf3PM<%5%gMK2*-Rvk_ie_@oY?Kqr~dD0ne8ig-VK=pIFm!0K6Hs#m|_U5{m zdG(&r4T5X`Ve%QI#NXaZ8l|KQ&+XU-aF-}b4H&^`Q~y-{9_@;i8M#*&>88h?$@NCcdd1_a5fe*DvE$v;F7NnqB*)$7>YG(Z94C14 zb?MPk1`xU$@J7E8#r4~0yxLo=2f(y8Va9d2pd(-wRK7M3~GT=4ou=1LfWU_u-N%gx- zz;&TD;5pGBi8VM4LH;Zc$9Z+rODD+dvHXAf{48nOq0yiq*I4slAPIyUyzeDO0va9UM&&D)EWWGSh$Fc)c~- z%BjvCwJYxid>6wi5|BGqvit#$ zPH#dUPR*$Owe5`Pw?25=u=lq_ATu=S1D#KiIBc^D?I<(DYZvz`(t zcK!B3MWpbb;{zS}`+S?K@bf8>W6}sQue0kFO=K};dP5D zndWw6{tw3n;SI@&hYCqq;JAErhKhN6x#%j2UPQZ_xhRqj%8z|FW!zpb{bomDyr+dh za;aksrcjqDAc3Run6}RZ?PvLfAvEL@;FLxdx=BUWwP`Xmup-+dqC@P@z&CT#xd*}jUOxwq8b3F;7)iA3s_h5N0SvK5b803VdwvsK$%~yjwMudB zcL+t@l9aGS4q_CEsRaH3GJFd^{dp}9m|4^sMjWzL+ip4kxebwG0!W{>ADQG|VDnil zz+}@)A-+!qf-ismN#zY&l-|l-zxWE)Ty)Pw9u6(yU@1+759DN8a;P3kU2`v^jacO> z&&|bY`!kt3^!0a^deKmyJk8By6_v8@Q>TRqF`Y#iHF zbRH7qX=T9U=1+(F!gjAuubTqxl-KloBw|gf|6f;bnJh^l77{L!shv6%>Ul2S))5u) zhS0x&pSdL1z@UY%L_aUcPHt1h&x z0&};E2uX#)e-6aU-sQp5zpNl zDy0=O?HSqEA`*_RJWs~7OaQ|ZpP3H#hI7UK&<=R2P9=1Q!hh~1=1PwEtV>%6SCY-UBz#iLoyMpX7^avulCq3{`MpU+PZDv^fuYK2N|_Lr`wk5!x+z_2FHd?8>Ne zNOUxr>ichY(d3`3pNm#pE|Glk8ctN~V0A$^MI_Hvgo?HW^F%(rRIkn(fcM4B?|kI! zc6lhv!H2g|-L^3(hPjVwc9iA+HuodkNx*ad-n}hF)#bZlzabyZgBsZPeaYCOSsT#2 zA~uuN)EC)3u+{hh>4k&36_Vfb?#DahTSae0(;4OCKRYUgMgnC;ui=c#pnjH59d(T2 z96qHH*slwht7{V_S?w6HUFUNE&!W(gWrW2{z5~T1XrT&TY7Frd(AwThFdmTFlxN*=IkoLpy97=~p^VUR`6y}e|DS?L=e5_0i z-h2DoSwCJ)I^Z%d%4sUNA!dSK^^$HJ%bV&i2UiO%$06mLa7w@0G#BDbl~x1@J$csu z^1wU&ZoF=rF?yB^>ep{YQaD|gA`GEH?fgGM;-!KwM;0AE)r|5Z07-XkZhx>#1aGDR zFBOKgQeWBJ`4K9vfkh>ht!x5giF?=deL=}1;3_2)wj3u`)%*@5m8Rk;jG}(%J~hZl zmQ>H=sR~|fbKXFs(gWbqr`mVQtzTfq^n06${|xz=F0$iV_ZKuY;IQ~S(IvosE#xTO zAY~a*o7d}^>2MVkYjuA=SoDJ+OPWSqP7Z)WUrbRR-yY;_zfP4mJo^o0WRHQ!P- zakH89*5FbXAIWX)oP3*Uhi(XpWu70P;z>#J#0<^oDS5%)C=~R)usWn`?E+Gh_e-YP z69Uqighj=Nb6oEf9moBFX>?w2e_OgqS;CEG^xj~cTK!~^#Mg_~oP?sfOkzh2orG!s z_L2rROsq8w_0 z;D9}uv%^5*%7;++v!8)U7vT8YCck}ErovnTY2lP?Aap=8LBOrggpB0F;>*Rn>%CBh zJh<8b;O_LelDN>ZF5=kv#~Q5XE2QJTH!~vrXPIXK6NIV8?%SrAZKa410)l(OJ^l3(3$sj{FN`6vVHh=gpnJ8GIV z?4olM*S%F&8X+}M9xowW4$9l%FW+GihWJ{!{C=MlPOANruH3OBIaQ8h?al2us#a40 z89_>cLa5%wT?GCRai~Y1o=nI-3S@K|uZaA}FTNm?Gk_^L+I!~M4#$HkA04X8 z`te{rn!0jXbuaI*leYQWQ2Y7O#zObQ=HZ+TJW%`im?J@Rqm}|g3@NW(zckf*K*1w5 zQEUn<{SNk{%*|^%i`$PwH+pU4QFjftu?Pj<6l14b@ktmQNb6 z`YIZ8wMjALk*3a*_T0I`*3L@Z$|yuW^@BH?^wBPTS581IOh0;-E8S<|MSl)u^Bg7= zfD#o}wEj?=3e9L%lU?S4hGNtwr* z^gr8u2C_1K`s=wX53AMCyB(GcC`_iQ;-A_SuCno%eo3u)lWlC z&VzSvkx-CUl!FS!FyItQlN(OWhpO%n%F}|s^Tkkd0Z5Q9N><6Yak_3LXwxly#|OuI z)=f}?elhq=^8De)kQe8OaQ9H+34}b)4w)19p^#GcP1q3huebnrCtucJ`y6i8HGk^l zVh7MW|6j`@H?U>&=81XvTTvJ#P|E>|k>Ni(4x8@RxMU7ChqvPSiieX#`Px!P8vo5P zStkLymb1^6A1_Pq=m5@irxv*#j}{C)*P=mlBgwb6H-gR$qk)C6r7r`zG2`lKwVmx6%(Y}x*;w7XGd7< zhg8vDTI^V05-B^!`)$la19aNT9~v^By%5OKAi7}VQ9ZpI5!f+~$C0JNH<4d0_C1K- zfm~?0+m#k{>p65PxF`9=PSdtar175P%D{8eD{HaFfLIsmm5oSC3@86VFTl&Q$h_Ci z`MD3aCD~T@0(}OOB~@`Uwf6L|-XKe`oCxPDy$ycDBQ2F7KPIRdRoA$)%S`ku1{h+H?8{kHD zN%4gQa0YNL=Jpa3`tNO$$*^Z|hXyh`y0xt+c8w5IX?pJT$xn4{$`u^mvQH*kmqLFKT z9RYE(+x){>rOG_cc}>j8QvILt5zl@$*T-~|z#%Hz-SGP%vk1W**S4d^ofW*zNyZiW z+i&J(F}A8l&$K1JtZW4xSBA?pTmbatwM8W9KC>?~JMWs|6YWjs=TWSO<~(=*cP7g4 zC-o;ns`_5UYt<_!NA+NNV@-8Sq$;mZVPj14TV1uYfzAH>gqD}NAP%%P3`Sx7k_f0y z(R#HpU9>vU7b=e+_PMCR@6T~$Vlz}_a)_xiQ>OO8+KgOgE(`qy9Q77{h7!Lya}jNe zXI2gp7Anb1aZg`=nz%+w+{xmRwSY@kl*(-anTd%;bK;`ic8wDHWx8 zc`Imfr27aFyTV+tyo*s?sKn0vMd5;O6ABT4M&%HAHy-b<{h<(vKxW^F|6b5}>M+Ng z?@qVWVwDtS4}f=^OrW0;bsq70)A}b5?i-#8!FrxwbMRD8C9Nu_mN*>u130b`&RSN= zA1u7HzDd`F^xu&nHCSxEVgmZ1jH$Qt*9cEela^h@JKgs1?{a93(wHYl3q#tPpx=Bl z=!@T6<3f?71r*B*qu|EnX<&CzOQPq}FI$d4OAk`7KbLR({Ia%5N(53Vy67|wvUFO4jjBW)glC5$>*P8BU&(1| z5T3*AaOb!aT3ea9r>E-%1^6)m_;xe>v~}g1M*X6%CSoUj$(DXF!;8hV5GI%K>yR7q zlZl*pU+j94uJ02}q-Ep5d|;u@v8mb;URg)BppLz9`2SfOj=gNo7?8MAkc3UF#kZj8 z!|AtYQ;_M+{T41MqnIr}+^Z>25-(p_`=Om9k~n<8gL{6X^&u&M3L#-LF0P>yjwFum z&86sxPZPM2&QVzK{6Y95C>Owc^KSb)S@vQ%?#l=z?l>Zuez;DyyT9VoQd5;4Niw6o z?i=)~V6}Fjt%sP{bV!C!3b8u@S&TtVH6rV-604&0JwFnJ!>(t-w`kM3B&&)4x3l1} zWcdTGm%HIhrxIole@Jc4&|<+GtxFz_ze4N^xLciw(jAB;q|gDcfghTR8;eL&x~}Qc zqp|M0#uMq`jYx|5v$mqm3z=>Kii$&Y!4J(Pl?7^K>^6~IOgL1+Hq%FYw=>(7zJJ&` z9|v7s;iB>p+VU$FO6=r;U#JZon{I?1?VAuuWAe^Ih93Xi1$t;9Uz(VGkgnr7WUxZC z2QI6{Jhi78Y}+2|$e9Mpq_&O1eTJVuWro*oY5p6C6+w&(UA)N72qnxIKSPOJADq~$ zuqj@3+sQ)N*R*{*0h#g$nhWbw-+rCfQ|VNT8)bG~0&G4&9%)U_&NDorcSm205wuGQ zx^+}KV2e$WdY-y0RwfN*C$qIp2rcxfF@;yvym)cl+GhTFb8JfH-3X$OOL}=xELI+c z6}y1QzZFW9<+ALD=ji_~0Kc_^%EA`tzYyt}<5Umw3wQ-8k%CaX)(rWcK4$nyxZvyG zc#>6Gzn1?`VlbXiR5urz{e1~sVU@{jWG7#hqzDs^v0~&s<(u6Ta&#SLf7j`M?CkQN zN4_$7U9n9KqP21ZQRyj4vjhf4x8=*MeE{sHU7u20hrLvav~dR}$8Y}j=tY zN;c(72s6qW94-~0{YVO_v!N8vsiDKz-sb^N^xM;Z%Nr|cxzW?gPW~wMJ0P+j3B{4J zh|WIgWP8G0ey`+udc4=KDgU>(G^+wF>OT|twdv$P6>#Ya6;&%U%-$XEp%Hh>V9o5L zSTAr5K17CqApS_t+#3GqE-2p`-fh{|{$6v29CqZ}T1mv%jIT)KF?kX0oJFjz)Ml5L zu{d*XrI%Aups>^K=iCEBqY_K)CAk6k8FDa|+fOHpE({R_`Y3fBXm`ZayzyPE@=5ZNTsO~roGLKc?cKW3aUE1r-y_)5OipIBT z)-NFdcV+L$!B}~(=ETk_fSAw)buRrVjJz(68Z>6khKC6Eb@0Z*vzw$+mLX2SDn7(~G}07XE$zp*59H*||We5*A( z3(APo|5ccW!Y+_7redkvQ_vIJIVwhu6x*Y2+9VDkiMyAVLXeOBnKuC%R+b-v-HvGb!gYjL1mOlUgX7mpLJMTRypT`H^X%lvNqCi`w+?nsA% zj3aK51QOy&1jnH|0UXw{C)C&yeS!*&ZS}t?ec%x532#{DaqB_(C_3Sy8p5r-%B57T zlS6%Ql97MJ7S6Sr6xdz(#4@a_20cO4E_oazdu6YaO)y5!aDtb_9lQ0AH@LPpMPs-KpsO{8dB)hQPc6cT*mB|S@lN~RRe4&TV z%KkvvVann5&-ci#(94v9QkD37dp~qMEbbL|-ME~{?3XTxb7w-l0MC3D4|A_lL%4-^v`6jZ{=}Q1y z5HP6iJBk?JI>BbzN4tL4TVlyw%`ymu3G?Hduihcdp8-xwXc9aSpkaiqoutDRQiDnN9YL){P-b+lAW0w;*R06 zB>7}PEK~4tj5IaMpyQWWy}bYdRitnGvuER3Ofc5*d}wV>{*d$%%>6w)H3Y?5(OWU? zSYMQboIhJ11euwG%Q2YRpC1^U!jp%kpKiHBhGvVdY+dCteP>7PP(8%7-;!q}*!Xa~ z!z^uQG7>54^YeGQ2TVb*-WBR1Vyb}Tr6VCPDBQl0sg-9da$=QCKW}>2E}}P=v}jiI zvb{=V{~mugf*};1mn;%t=tVyG%LeCh@k0lVASMNVuj-b3^p8X1N%1_om+JVoN7Brk zyqaUiDqy_WR+IJ6E5tp@23rF3pqF-l10ACf*`09d7IuFANqF)}fOdbzs#-jpiwzIX zBZ4m{?Mqc@kFqP`N~x6!oNKMP4>WCvsbm2ChPE8IIyrc{kQr?2q81XXIhZ11a@N@*YCId-g42ENIc#EBB?mN?cSMZN_wJT zt@fZ1P2sNGLtbDbxRi{Jn?25@1u*`daGDB9J;C&@wO#a4jISiZ0b}h279+AS^H%CE zt)buc5#hRd@)eZl%~?<+j7g~+CD|>EV>~{C)jr!r{LcRm3)=uzaxE{(q>xaJUN&x? zNEVOM6i6czt;4{8Mb}kFVBU67iAFX$VO45$VsHJGXc1nLwH78lTxqXUN;eYcR{n-l zbvmSw0EZ70J@r2)Wb8jlFyh=e2=A}_SMmmUlg6-1-(4PlW|xo4E$+3uxk|2k%zm#z z=objmRJQ6{^gx-K$|Q+Vfw<3{Np2`ZC|i?|46T!k4tsMwNA+P$c_b zBFV!zZqV+7v%KP5SG;2?(a_oR)g){MI7}v+u`TgNtYsR$3ZxQYZMy_?cIt68tTSs_ z4V+w~*b>V9;}iu}d$;6sz2a<1BPa_`2(?xfP|mV0nf9D1m??U9CGto?4IAC-Q&JWzl3LY@kP>$W&XJV zyf<;Vp{(d0%E7?~uDOa|#8Z!AVnkllPiJlRTWr*DXpbu$eTYz@Gq@*~%mo~H z_Fhf*CNMopeT`8nJNb_N(ySO9uXJ9j^Q<;8Kz&N1@s7@NtB16piimh z@{iuHu3opTup5!^z1~QlAF3(7PXKdlYc{mypu9QS^KvODG0@zqkz2PwhP?=68d`V z0aJG+Ufq;iRj!%@)D(sK=i>czF88(LWQqVD8sd03GPn%j3cvRVj?kCL2{nRJCpFdyrn3&d0yn+a^X427T>)O0Fayu6ZRh6Q7E(_$QW6o$+N^mIRp(ehWvuv^I|K$6wCLMr@s#rww{Qv^FsT2Vp8a@zm@gt zlJ5?$`Y8d_$6nX`nr>81IW(s78j2BcOlvgycQlOQ-{}2*{l}FZ(I311gsmKIFBu(^ zPn9-ts*EyZEIF!~H10!veoU{|1e^eLC#GFVlH-@6Vp>H}eaNiQ5+gZD=YI_cg6$ zrC*lOD8tm34N@tXx~4QaM?Kvwi zn+4jsoznY9PIpLg4V1TQ71VYXEugS@D_IuYl+90J{`HN8@f4?`oTAbUgGsm$u}vC* zWZj^DIq7fJ^M0VflO?wg$zV#x8C|69yBp!2>3iKf7#&sU3im(VQ;lvcXihb4S7Ao)KeFjeV_|ck= z)zn*%J1f~eQ=owJ*i%2w2S5YJ7jM>Rqbt@LRi5N&d&HxWyFHLDzdT=4x7N7Y{I?3| zYn3DC2&cX53f5D?6w=}lC$Os4MMSM_6?l&Eshsr|>5iu^;=EoQmg$|w8-Ug;1A(*4 zpImA=9To4WOe+WCw>; zG33#EfSD(CcCV0SQ5#p-0dP_%Hto`X*r&HXbyk5@#(YC4md%a%j5BuTrz`FAB{r=C z=(=^y>(7GdBq|Fw?p_X_T0{Z}i$-1V^qJ~OuP@DG-vQ?iCYS`P8MA3qqnpsF^;RG= zKsyJ-dhO#Xj3k=n*6P0bus2MN}k2q-=Wus$lsk z)2{$u>oeZzr=?e*3w)DT*DP0)HFZh@i;R6|7TiZ>j}bckfF`0?(|!XvQ?#gz$DsXU z*&KaHc<|u|B7(pjT|B?Qw;P*zUDLpHs(MJ8@Yn+h%Ddi;!Zs)*BB2bI0UE!20Zd-Z z-VB%#{U%^QO_Bz&9KB}tX761hJpf9DKfWaZ3z8A)DeJd)Z}iQil7B=(q}C8WJea^$ zQ!Cc6Q=D*f)$vE(3KbK8px09^f0suHE2$w9re18@uW|?!y8f*@Nr%iItPot0Xmh7AN{C_w!2p?#k%H7cMR}{yq2XM7_bL5-X-OvCA$Q+YEf!h=N zZx)}zXhr+Zhufl4U!>;_Z=87mY?R2J4<$T4D>x#h3grhGt-jd^U@rTS{-jw;IApn< zHP#6^jGKS67Bx0(0taa)XOte51D%##L=W}$=1?LiDMQipJ)KX~_-aM>{Cnld0#W4#_zDP79SBol0YpP1Px$;d<6Zrw>(hH2OI~ z$zCn~tm+OCH5&)4dhc$@`;gk(%h3JdnFUcjPn4pzEGQP zOw19OU-=`rJEN`^#rQmLYHQJnQ<-(|F>@hIoH>3QBwc7FdvQVVl4-qCR!NV3+B-q! z-q8NDA;1@tjN!u{TE%h;yQIRjCDQLx1j;^URX}o3N*FG%jZU z!uIS6-;36;xf{{|jkiVRKJf5vdIbq}7un@&;?&;FoB<2@j&zxa^9Qp^-my53gZkI|orm!JHZOjRYZ=TA4pEA9o`E?dJBrLqh)>iNE%4631ugMEw=m(`m z=Ny^yegdY!%_r(hqlDYuJ;eEl6*rp3y>kDz&+^Cib>9omTOxH= zESEC4a<_ZKiqgj0D~#W>xCBW`zmJpsKObds6+FFXW5vOp_P2$TBykFOLqkjQVV%_m z5kQJbX|^nemAf(fCS1c2s!#PyhfXmn(&&X6H%i2M(a~i19p%}SIy>TRw~QQloGE6# z(0H&9uML;<_U*A&Rb*k4HFPf3;EYvd!J~=mhj0}Td3oxt2yyrfou+BEnu+=o-W(V; zJVf6F6yR^AXXZ398sRZo>hQ?VgMJ~=E#9+zTm1K(qo)6r&2zrC!G%!Sli zfvRrv2mj*{Q;1a*U>v@@Kj$C}uHzEEIdtzq=SS;bQazXfJTh8XlaMlHBSiV}dq(GG zuJ@PJAanup0)UkM&htYE4Ln1zpO~NfX1=YyAK{%fMsVZU6@>e-<=T!{J3 zRxjtKXx9t!*y|n;I}3H$ytSmYEKhBugYYX~kKvRjXvx|%F@?v>7AcskzcN9?e;6-o zjWa)&oOu)p!o(F31MywHQ7I2X!-R$@lpC_@%lCI6l%Ka zLcQ||Tvfd~;ZM(oH3);zkf;$-&Z-@vcKhiy(I7|=qedxSFJAT*A*dhVy_S=|Eq(z7WvbJA;v>)@kw@W z`u5nr?*1=KF}Ec7qKmcVz0$_z>}48eB5IyZe3~438py0_yqt{n+S||puieq6)v``< z(``{B7lr1M9+R^5m}^IiR2~=+sAPUI4DHJJ(~r|i&9d|4O#TwJ4Seghui?pB@8hRu z^TSH{KAnbSK#FzJeZRXz3wOvw5Cj7cE=Sq4PX~34j4#JYkzcyF;1)*{NKwnYEFPY zil*5de41#1g=XTk{raT_!ll?_$d7T#h}=8w)2evp5urA`OT-H`-!ygM5O#kDbh@Mf z?QG?$G8R}vK!fIdGuByt4}0B1xyWJ|m%2k=x9dq0kNKoR`DgrxhEi)<5W1r@y$51f zzPW)~dOJ<3`wGc9Givk+IP1bgSuG>6lSK@Tt9`U~Qu(;-yksTC%%vWL+h<$Ey5P7>Q{d6G z43Z`!7cxDli|eBR7t&i$84dBvR28xf5S{@%oC{O)+?Ay=N}-%gGVu4GJ%1PIT<;Er zJy0s)pQ;yl)l7N6CL1}jlA)+mP4I~g{rjQk6a3i(vG9uZCTc>0eV(VJqml38Sp^wY zkPM`p;+JCy=5Wu&%^21SDazBJ%>NL42Rewi6FWGN7!*<>w6oH2*tn?WrBRv;A@Hdc{KE#-%8g$kk_XB^q|m(GMME3Z*botN;|GP0vxD#$B$81yv5;YbT-Nr z-VO~(@b8#MNAi!DRWu@@Mn8tJNwzGnTv}`EE-YeW@orBYxZm+il;I(8!??SL;?X6T zF;1Pioer5V@ZW zviILKwbV|)XSTh3fhPaXn-T3(*pmfV?KH)H$x4$V&vXK8ub|i1+$nCF&B%;a)Wr<( zpwAvE&Mw|l|C{TXkz0;`49PKPY? z6$XEN7-ljT5%-F)o>d7F2(7#fnG($Q8MpWDuM*^!ze(-xY`d3M9)r{Yzu6r@tk;>P z9&V&1KUcy!g-aqG`w^!$6EjOEQsG9p=d-AJ3{P;jkB?vkM3<_8w`De=G68AvZjmV< z6U0e}D;=3rYU58`=mT@-AyzXeg@^AOb!=NNO#-(F`Xdkh<*V@EueA zOPvA%_OJg0kb0Uboyyh}v^x(dE zFJo1zK8c_&?@~%n^F$|SQr9LH6%W2`2JzpgWyJEbRUjZMagR@(VEQ0~mC44&1Kh9s zH9T%k=AF4dQTuG5TJc5*fhOG{%7NUj7;1eFss^&OY%HClXTt7AW8djqWM8=>T6%ja zr;;bbGc`KE9fU~V0M(ZuQy#2$_EAE?#Z5ZGt=rKZx3Yi>GIrt!Dq z`Lysf_$}#CM>h`8X=+L5pu@Ed;45;Ldbx!Q!(~cKD*dH@OM)p{Nx2jtAy<(RAFO*h z3?tIwPR@QevfkyG^lT%B`vdMY?FN(8h z`$+Zo4v1WvReB`4qzg+k@Q=B(o)HLJC|WZzbwSM#kWR~9PR+2kvT6gv#@AVSMCcVyZ&s5;sKV-&6kv8TAI=fogH zUmlvY|ctRH}zeL@@JJRb2e4Pn@dsmX;8Q4!hnE~h&$&6rK%vh zP5gfM=~@cqeP%}H`+Blj_SjMIHniT*759!E=sg=1tCih|fPcc+%&Hg|^L;5AgND+R zubFA`#js_@NL|DH+WBjF%e2J_3E@A=F>6khTGho6;$(5Ne-PNDeQ<~YUO6J z-Sb0dmXgvxW?Fbgdbz9OOo2ByQ4Xs1bhnSUhm^peQk>J<_#72ZGSKlzM(>c=-JV72 zpxpFn{6DQ`U;Xju;MN*xNRn>=d~iz)rL51>>tWZna9U_^F>aoq!psv^>er?(S7Th& z-$w@YVJ8E1|GoD(LC+jGqOm(9GX|bL=&Ss9qLCrd_Y!mYRnJy`G4RD&< zhyZ6kbz0+*+@WE6%!v~V)Kp38%N1u#PN7)_0R2Ly;3mR<=@M1#f!&dD5Y%%@$3Bq4 z1Dc5{qLg4NPvRLE$|JZ4u0!xL0p3U7r~xAyFrNxj)o^=0XLCr;lK{HsClgtUe*}y zYEn7ilk4&ciCDE0CGr<7-$Z_c0A{>=p!O3`&TU@%6b9lOY*4lU{znU_OW%CnQkUK9 zU>xc5MBnu3Tid!|5~cB-Se^#5LWr&`Tq>?H2|T>=28|j5_2!kf_BoJnO`8MG6w1cc z7r_*S9Yaa&C<0_H`%IwjBd$6954W9o zjeZY`y}zYw1IG%Nv(P2~{2O{)#VF{E6-TNqZF#Ea(F~QdIKmtcAU}!%qBigSE;xU5 zPS+3_^m7!z*z8F6AaNP~HDOEsh zr-&TGNMi%5Nt$1PgO#j_+sogrhUsx!ue0x?#0{C3$30xj{SJcxCT({brIp}fs;%JG zu6j13aX6A3fi-=_`-sIFC%r*Y4XraF*qYM$Eqp1~IeI&J_!liWW13ypqc?ag?ywl? zz8>t&o!1$<`N}!SONpErtX}kTp|Zb%y_w?C5XN0Q&Oy;kH*qeIvSDsq3)1S3z`ie+ zJvs<2S1v2n+rkM&24aTY5~{6y9laz3X}*_?GxR$ypU3@Nr-RgTxRTuSFkmHDf|^gya{WWRwc~ zrNw@(Of>Fz7zAO4`ZedNpwR__oO7wX_tHPni#_!U$YwxFCbU0VlauP70L6<~eO8!j zkp`wbd!{Y5KM5hVAzfgh-w5?nwZ(q74!EcG5wt z9&({6HUl)Q@t(!RldwBEs|I4q>_F$@3iGaE{qHob|0+7-vD3DcW;L#NvW0kK2Q%GJ zL`$LKT>}9iOPB?O*-yy5Q)ok38z-L;HQ6 z7C2>Iv!o}uy}Y1{imJ9P#VTwhv`>u%trN4OF{y-S`P{}O`;g>wR*|d$>57&j2 zJwTD~5@QL3y~6vF099Cqq_X4pEbKPW#an39asJQrXa_XVS2TT-SxeK52sg~R$uZJs zvH0XPW-;lEdq0AqCkg|RKoo057Rb7o2*Vf=57cesv&6jDDD|ho9Tv+46PpUxiRf^e$l2h!4j0N3&g{T>2=cw4!Af8cOCp$|V8@V#yhRF-RxU7loGA~2bALL2St zXX|4f0J>%t$l)14g<-WL8tk)+d6eOJ;Eu^_=lhne_2Kxvgg;NfKD++$K~-Gr*7{ritgLx(LiPa$Hs+=hSQ zshZP{`!S3ctAl^0QNUR$=-4XdBs)}~qPu#F9}Id$`V|^jQCh-f&3I^O>YRh<=jVx@ zs|6-t0F7;}9E)yP%Ki}d#9M%Io{7^aXSt$}7+<~$mhXN6L|DPZW%I2^$rrpM>Rn0) zw24uwQv@Y~-B9)h_|R%WCysa?VX9aqyn_`lE&KX*m8>B!9Yn+tPa|+VMM5ECTdZz_ zC?M6*-5N*1ki|9%+Bu(1LgDc5|9+DsgS7Auwq8VdlJ$bU3gE&Xij4KYiS9MXiDMjt zC?k*W4>V*h2-4$isJ{qGSSF+Kw4kxN2UB91+6=YmhK9>>-MKTiP{#8*f*z@`0vS7@AXK4X3YR{|5 zWCP29n_68CG>{Eamqq53+T_R8^}8Rz?u?t6q{u>YGWyyf2;_lao-JtD^3E;zmd zh(MbHCt0Nda7YEJrkZHo`IB2m%-c@0gopCi7I-jr3WH|MqzzsT3RI?{8KP;IMB-~R zh7GN=Ig3t_^=^WVKfDKmkV)Wz68?#5hPBAoYx7t_e_6dS;GN4hp4DWLp5-h$B4&p> z)Wh^zJw=Iw-sBJp>vRpM*@1#==e(!^?X-%88mpo+oFc~1t}RD38=mdA$$u8U4mW;y zL~e_~9tXFHn=+ELzTi!+W`KMj|A}&%9~4)Bcnzt8(os|%jCY9Kya(m5MO^2CqDJ(( z#1eLnRO1rj6mpkoB&+@=ElV)KgB8w-xGMC_XWp;m?mIal0<)8lUwDVEh!%&G|7@gk z7AEfXUV^qx!C7h$y8Pmf5>up-lC6X-_oCH!sCkj1%#0G%(vYGEW0RI&;~I?<`3xj9irgN?>r?Ko$p$`3_(_5Pw>MA?c|X@zM-0V_FfLR83Uqu3Vo zdUkFTguqG*PQUQ~db_ssR>!AL#(iYRf>tqQZ7~t6w|Xw^T5t~vp&q@dRglMoQ1>cIw8uK^VD*|g?b(RyCF6a*H3k{AJxBvd zgFxrEDr;c?F9{x$!{M=-jnZ1yBjCJVQ1A(+Xoi%*hFh^gb3-R2MW9g$=m>}QxLd}b|8gCXz6cE|xQntAkso?QgP3Lld7SVb<< zSk#`c-wZq3xXx{iw!cBU8v?>QKN~fpFz_UO;_TOnSw|G`0=~kAN0e=ke<{KZP?X_w z{%mS;TBRrZ75n<|hKjaXKYJ&RKPBXEn#>6HSA0$+jr()**VIcc$=-?t$?CvsOv1s+ zLL-vSSZB;i;gJQ|-hMp+I&#Jqc~RoSmW_Vi(1b$?b%T20#@vY)KXGtkv80QtE7(;*a|iXGaUMNUn*e}WT(&!Bi)j98M>J8bzyvf~j28yk9$ zQ8yBqBO6}Ql?$J@x$g+qa+Jlrg^eyvDi@t}2#0+aqaSxdZ)USdT!2o&itEy-ld}%} ztPoPzSUgEm8d)xNxAMN>w9?)??X!^n;EBcCsLimR2!mG$qRl93QvO$USXrC#cCrmO zK|WP%+n{*49GVB3RC)p{=K*GNxvM@6jZJ7SK#aKTH-l9{cRBWILVM%Us%(ig9^y$X z?r_!ZRDqNGNfhZF!)yIVqB@#ariXUm`4&2<-Y8?9+&p*R*DpTG;lFI-RuJryuOQ#_ zCwov2GCT|ZBde7M3Iv?wCaAyM?|;=Ljtf8u3qdHL8dD!s%*}OuTIOF9VRm0kFa)Oo zq&w1+C1*zTuHlLy-SFz}uzfqU0e@5s#06X{iIXUJ`!KfvI8-eAR*FYR6_7d!F_M*& zDUXc?M;~}8Y0b>U4J7>nvr`OlOX%0jp=)$J8z~;CPGBpN2LZEqWMsiB64}@s!Qziy zf``R;z+;awu3yF;KkIwSJRqp27&0+@*{2Wq5G7yQ(xif$tWyXoCBaGJ>dOnx)hJ{FyC|-#H6ze8Q zwa9Nlj|o)zrazOaVeEx1$7*MAw+C;;NY9^Tkbwpp&}V+V(^BM$Ta>jWhki>p?y+~i zR70WU<#pd#@%;f$dtxC*TAC#aO5;CF{*Vgb6bin7uF3Y+diVa}DeF$(}C@9}KA##wO{ZLB{tssN*W zuX%)lJ7z@&mNi5O3C|#m$*4>lEgx*9p>8!G*fI*gz)0V51Li&%@!~S%U7axeZ4pm{ zJSb4RAff@k)-A!a>8SFtEU(uo`LG5&!oYJAaMhV3?}Ygj)>Tc^a~2SK zAH-)ncx7G5qpny4b&^ZWOOsU_eki)7B#X`i?DP%u+C zTonOAqndOUYw0?Z-Qsgt=2LY5)ic`EFtcOS41;-wl$D@uT!MRU*=;`}WBk9|)gRs* zVqDPn1M4J#=?3;POqQ=4MHo@TU13K9Xd0^~085Zy_(Ahj{Fc#d2-MED zd!mg~mZ*uFEmoDj@jZu)CV&&U<18zqyVOva`}dxEaj70C_^UM;Bze^1=>x<%+(k5p zM+MPNnFVMLtiBS8ynrN>b!rtZxc|_C!~QfArvTe$D`Ak)MT1YKRy>4fvJXy)R?ud;k(Q2 zY363Bzdm<#_O1CtK)C;G2{!VX#FYW)0z|OAQqokiXPQY31)Q4Ao)EF^!$RMnP8U0A zG{6U{9BD1n%vwMpz?Hzo+BE})3zAtGG*3&>D z&bOv@ki~m~eV+SS4U1w$Y|Tiw29MQGgSJyF=(ReMCO8%KT|iLzmD!j~n!BrWl^j@S)39;t~v<(0t^^OjdsjcgBZ4l0(u1QUj_`NE2 z&&Wnl@cj61`Rth3SvX?;qpY}#TM6hw2@%er#K2r~Ji0q5qpl%gF?1+Odem@ib&}yz z9MA%Sfk+-X%`w7&ORYw4TL%?Z0|5YU>-+uuQLGMLBeJA7SodPOHJuu}hxDm0=px6f zjqNZT&L{qB;M8oB+WsM?Y%B;GYq73TowngWE)vrm7*}b%h2CdkfI!yDWZ@8?GqQx# z5(csIG+WQg%ys0@@$Os0*3b8FuGK&pASF_jP8^V@06pQVh$^g9gf}Osd}#_{YO2c_ z^+4l~4yvh#cTfPp`Ej1AKh33AtIz+_ZS~;p_9np8nM>dXkssjBZ(rXxIi3E)8E!Wx zjF<2+k3JUJK2kRP6z{H6JM#_Ytt)v)rl$_Ws1uH3^50)es&XufHBtT>14D!AWg zse(?&GKnb$L?41be`8Y%Jp)e~R0uc{ZyJ{{U9c?44785@iaP?JFoenQT%+3qk**Ow z3ocXJX<$yQes#?b+)H@l>4Q;n2AnwDQJzLZyqEdGW;7XP@fc+;@qdsrrpElfD{PTV z&$I?Mtr3G=GecfMvYXS}~{^JMmp z{W#v>ftv7czxo`wyyYDmY)Jyx=nT&IdVNp8=WRWQCAveY0&+vDgz=!g1U3*WK^9o1LhxF65VJYztaMJ} zzs**?Wu~s!PvCYA)jBY29RfEio$Mj6SEQEpUZ(}WF46%?rnKKmHb^K~eqfZ6blkmh z_faZVrlt(~oS*ylbgVLwrJ;L!LwEgUA^x?;`?&J@oqpxNqj%K?z=iS10I9O8D{nWu z(8^vJ&<4M&x%Y9_t1TNQv`>8LBrN;!_y~Y?gs}XPcu$zkg1U~}rEcbP^2Q&u`$gnH z>a~Y+CUT0Ls~K=S_rCn=mJ1E|(Q+Kb@6(%8vW|;(lq`SR(cqMUh}66nN-IATI1CYq z&c9>yt31t&3i@Gu5G&3Wrzpn{NSlEvZ4nPjM7$MVJt+}#Fh&u7DAZ7QesvBau(WCr z8v*D;1Nj+T+HN9DIEsY924~(#rWvN4LI$a9GwMc(fdTR3w4%IIya6r`Tb{QI9YiAF zauprdcObz2g!4vA!j1b|QT1F*d@Ba3lVH}Mnfx3bJKcZh(nfz>Z)Kd<9CT%~*}~rK zf02(ss{42M46U!QMKU4`lrsE{O9Y-3023HI2_+o9HHw`YnDyj5601S9@sq?WUTg>M zpyHnr452ouArt`@wCw_q`Cp5C$a4`9n<2@cXQvAjQdY*kW%*!HSX-nG8pq_WAUH6- z{*nf;X8!>sF$Ts|SaI-(W$LoK0qe@PDSVPMO_EMKRKxzlJ(vK>!A0B>t{E7e)->K~ zXY)bxam~^PIUzwM3nBW+;Vov@V{S+ew#0Hif-7sSxgONoaKexx;o%Dv$*=YTO672l zG`Y%A5gy=1491>|tW?FVZx2WdWjYC1n0e&I!==UDTA+nkcls(%V(Gec1%Lvud2Qut zCK}&8q*318-oQV)dDA!~*d#dqNaz>3p*^ zFr9K!CB%_kuMN;bR%B9)jM^G0(NTVS7|RR%+XR#lxBx?J048=8+-Aay6K5kIh0o`5 zq(1n&f&7>|U`=@c*}r7;(MlBt=y z=?J_trntG^9geE4{Upw^gK83ELm71Hp1ssFs61ix-sc|KTEU(q4HCZjlM;a5ZbopV z&K!F_JdGQe(uGi~pyB=sCKZE3p19ehs2IV`^ z`M=xn!>6_4nQC?TIx0>$88%j4=)j|T84r-|Kk&6QyTQGw}%2q*t`l0Kq?!s3fxVh3R007cb zYp-l|i-&^Ga~*6!kT6V0dDg#*xjzX%&f(-wT!JF%s;tpuA8a?5DF+6==cKvAi-lKP zS0m(I-+jE?5iA6UP$624`LpTwb(68>ak}5JHaze`0&;4+cIx1M_DR3ZyPXQ{6dmK8 z7D2md+>SW8#3Ox-R*GuV1pGNZb~Ra#Uk?J*KBT<-u}ZRag~EWeCwG%VlI1ijD+>>H zq}R|CccK8>XwoIH1FN8kRdvQ_Fd#i3g`GY&x!(&hT2{7E=Ol2)Xc5`@-xu*eNF9M&$^o z>|0RxL{_&V>hz+dKm_`z7lyFN2nB9@;{+_NM|6^w-bD(!=^)gQBo3$+F?u-#@`zDvaUzLVFFQGZ`o_PI2@0>pzA&oMF*LVuG&DO;nZ(!RV8J zsSyWBO?njB3WWSQX}p#bImxa74|eDDt{{)8P44iNHWV>*GNS45R?|^8_#oR~Pe0co zUReI*V=+s%s54QdS1;3aa$IHw<>IHtMW?qWphB`0&|C7%#*5Rj3GCh41KLR`GThE< zg~}|tfNNlQQ{~*VMTqcRJa2A_P1iZfYXTwmGBA+u>3icSXkS{Dn7IHH0WsQwfiaV2 z(Em1XiPkRF{-CI}@hi-qi=vq}sn7iyEe=%g5Qww(e*Su;uvy zL#RfryDzm6u+royv{F>uZmZae9p)+z|30j5Vyq-K>w7J3h7Pd=C&9xE zDYgYe5@Uqt+~W@;Qy_}{447$3y-)!$Y&cAVG?ml;XLXDgmXAR;eoaJ43YnJ~oIon9 zBfPJ&(W8i1$ujT72^=1wHJwwZy*7`Sh6Lt3XjPU>T!y&CPbR69#`^gm)JTE5&^Wp3 zG! zvfAWqYi7TTkB=QpbwM{250>~zIkIv6{_@D}`vaksO=KF>mVCJG&(6BenD(dFKWxU_ z<=5=v-jfv>Sa%r?PD$XiWI}7^GLH%*! zasS2?OS>9R8i4!#0r)jaZ#{I-$06Iupa)@R{XCiycpw2!3NAu@Igp=0oyjw6W%SZ>a?1N_~_kz4&xmHpI z&*N8Ur(C18ip#R;-q{%0imu;0%B9AY@^AVUnL|(Fia9@}A_)Rq{lHA9gL%{a_&Z$t z1pgm+G=}SL*58it<&P<5MBRTR!X)Thhj)8X)x2FElRR{GHWxU>=%@wjZkTuqkIiRz zp=;N|JiVS$&oM07yzI=R13D8l15L*B6VTxD!@xRLQ+0aK+g57!dm2em;%!ibj=~f& zrd?Tuc{(nz;fP$bK+54i7A0=+L>p|%SaL@iEGM`Q-%$Z+gGtoJLE{akOd_=x-8d`P zuFC3Xo|m2u^bo4dWdn?)84pIf?JBe2?5QT8O7@E(DZw(rc@`%lnnlmS62mbzl%d zIlTA?OHmQ@cw0vn9>%m_k{vWLO>r&h``5K6MBfAa%%jFA`gQ`!V|A0`QS!OQ^rHBF zf4s46R@_}*I0jySJ=1^z69CV`WKaaTKq$U_B@`)+Jv=4N;P4bc4@3b?C-&iBhXnFC zB_0bjVi=(R#i`sUQsq=bqf1z6_@*KEZYiCJqUJk86e>a+0#pJU;*{bn1gf$j{jK)T zo}_(b401`-@-N@l0hEa(1N5Dj2^%=zzq?aQ81JYWFnZW^)F(oF;rlsYGJhfQq+Oqf zz!&ZLYNIedwf#}Y)>0k?L~D(;Y|&h>hfRA7Si5HYE$_YRvZbtzMQsGeoI?_Gv-FZf z7IS#2%@an4Myiqc28EWntFC9kcShx_yx(VO29eEFN}fHn`}l}Ikit-7Q1&eUmVFRc zpEYr{wl=-#iF#FBNH!#*5~-8kwZ0)F6Eg{7rT)<+R)}(2$K~Z@T;>RzLOV@M@hqay zIEj9SW}Q7-x^vRyFrBBPjF`jzs;h+w^nJzj`wuXi(qyRT`FGdwnWVoFnDc2Rj;ET# z<9P7tLNnZjW{)U(L7^WoFu$tT?EV4BSwYxBt+V3$e&PjZ-^f2?q`=3OTawW z?+oi}zm22@ zB2(39vlRi8CR|=J+2W%cYZ-F2NL0RQ@9UsI z6T5sBErrUbza#fvny~6{X;n&>Dg0^h0?y;@(tV>3M8F z{t)M)*_0b94%Jy6vc)*rn!FYD2oxU|*U(m-2`ZVs%r{5{=w^X(cAO4}a0wVk*aP5_ zg)>|fwriBITIN=+9M-G(&Kup4>^nxo-nynxygeI%M)x@;TpVA{LG?h@5ZQmJ#`w zQ?n@6L&xO^5oY62gE_p(%p*NK(@h`tSehwN1X)(DCEbsIG_W;qaJB>PyzU&qTzN-E z+eUytqL=)jAvE#YMhyF#$NEx9uIB4&r zPOTm{%UmRe$7KT8PPL}kjhsMtnD|P<#mILwNI(bV)os5bNTzXZ8$WZt_|jm1^AeA9 zNi51nQHc&Cy#}EuVRV4^-N6}$)RRug0ejpZSBI=HA~ey+$-&MCd7&L}_&_O-B(lS8 zW^IrZ30@B7uFAPyv?Yc};HVa#H!az7;G?qJ%2W`0kZakPyGb;lBvt%rwP5-I^t5U? zxA><}bQLOy0p?u~INYmnUdCM6J7~agP05ve^l4KuajD}ZIX9P8&R{c1jEN%a4o_2m zz9KfyrnDXjJ5clq#8^dx{FvFdut{PO@Gwk}rUtOWQ6To!;z&o4=}rV$76aK<YJHDy4=RgeT9I3xpSWG&^r(m3y7ob@^Sr_N zwh<}HO`sbs>&ULEx89L{!YVDLZmuC?$n*L|zfjD#LVDYmhYPjOw)pkJ_=6aoFyg2v zb?-K_j$G1b)Sj|+#k&z6%?XZIqlwTQ5ViTW7Xn}|KL~MK*uhF+qz8X{N4fbX)f&TJ zMxOBEk1;8^Vjv*h`x(a{cP6sl8DE5R8Y+1c20?_4vD~&z>13|7!X$HZcg3Pdj&~9( zvmN`U6Ok2P4mk9F1`G1D{RJkaQT4ccYVa5Byk9#iek)#*D>9pmvEfB!cX_*T?5EkF z58PG~Q9^l^lB_F&p&T$eNAX3bacYUE|MINrTwT)JKK&O$hZ^M2tQJGp~Gz%mLIUo z1Y$;BjmNf{&>VeHEc6Fnx6Od8%`$~9E{!`vgd_MD=M zRW5->%lf0xO&|XxQg?;PQ106v1lM)X%AWQolW3iH{M3HBkR0EP*0~%T1UBIP6Nt@qM=56{2On+WSCfXg<&n>lipU>VK6ZI*m4k~heXeowE5-F8nBcIHRXZUC zIKv5W$9opFFouNI-Fg9z+f$gk0G{Mob5mxV5D0XY!OBdHq#Fs=n7X5~_Da&d?S%yl zmyKc|ZXtTF1jr6~N4Tis?ZBI(C9p(4!#@_4&83gH|DPezzyKmXqq>n@NQv4JpKGT9 zlNt=Ra?i3*8`%=GU5Pbw+&V#ZKEq$>7^g-J;F?_))bRkK5FJS@v{aaqhe{0;f8Y3H z4|>TyVwZ)+Y#H>225xG1t!Rr_&ljbymYJ)&uxDWYc>3Bx5G;v>i4&(3-ahy(p0nqT z3h37lskf!qAVQgyh91h6(zG0tz21F^FTuB=mlsh-@a$n(V686(Whu0845mE(&UoC z{JI}j3P%^{(@IM{?~;WCmN^;rU~`Sgb?|ZOa9Ta0l@Mr5wu=DqmQbfM_z@}lPwPfR zl`SdLb^5eis{1k$Z$&-kzUNV~bLSI5H8D&kU!m0nNZf(nwueqi@*kdS1y?aP{iI-l z+Sw9zRNr=ngYLE+jci7lW^QlSEQlle?POk1fEi1+^By0!9jpk1+_R+#O4pvYnvvHy zU2U#3XN&2lT#S6~LaFj?M?-p8+|=xY8%rp%js$(ExSB0#PdLFbaIrHhCbc%m|KuBf z7?zR|z3U5{0_{rcqsKz?ijO~N11eHAiW>QHDx=$uz{aLIwM7$n(O+A@0RlHC^Xx}%1^j`Luab&M?9Gup~ z)5ar*%~EuLh2|OF5{*v#Xom)yZkg8aGRO2=?-Ho*dW!B)66vLullC}t`6A5sBXV`K z3frcDYUg1ejRS6LE&dMP#5|@3<|U;tYavf`XBJah_E^4>)aR~U-L&!D$PR3eI<(UP zL69g_bb1DPLxqg+%&un|sFD4giT5#?-iCM%tnNwp9Zs?0)xzTXP=)Z4&$;a6{cRbV zm*c^fK|a<(P==-oERcsk&SJeCYfDbn7scpU6ff>_x zSbA&J!OsekK54vH;KNS`u$tBwRZiVGH^GalMGocDD1zOG$Cz zD&@d3e$+^c>4J1O3au>~363`OZ4;0-v@$tN2lL-sWB95ZuCf8A8V35;gdp{Hv$08SYj3Ud#kL z84Lx_zn?N-*uM2&>K%DCUeb+GjmnuiW)2TNo#{3ZN2ZDmE*l8iGHFgP!fQVQqxM;o z54K!D_&|g@u!A|aBn#TdBtDH&LxG$Nlb23bv>axF z_#Ti*$HY_2{_wF@8X!#8*r^H5kMY~?gp3fDaWWQq<}O=qN)6}Is-Z3yUy@ho=PC9F(r zqYOwBZb-uX9ybe9#FMM^@Yz(WheK>GLzXI$|8DX0_yC8xK;Szq6rjaq5qv16I8euI zV#hbZs~5;CiIEb1iXb}Uw!SspLO(XCV8h04x$Kfg;UQGSTJaXMjf9_NUj|iI#kvXa zN}}#l5jKX!epl)NFFB7&1!;;2BKwo4iExQcz%_SdtRvrJ2W!L5?Wz05KtZx3)`z=l zBiZUziWd2uh!DnfPZY^SPY3LD0H+_D%E?cqesX9hLz#>$q&l-(!*xrK{^Wj^CY?3o(TsK-Y-sxx zGH*BK5ZH#?#^LYLKOBIvlbOmcWu2kWD7Lp)&HvG>d3*eilV;aHg7BYX6-d zG8M{^aXeoA0bqJuSJ^F&r1zErhR++8|pS7g?>sJZB=*{S#A>Em)*wiB; zsNvAskpHOraI|L}>z@+25nE~xTdlPV_)J!btj^HQ$yUtC*@^Vl?@5q?EJHe>s@O4> zHd{npc&}Zh<|+SCa;u!}jCvVXN*W2d>R!w&Oha!V;>A(Rlj`BZVGFAcS-y9B*^kbW z2`3uV3!b>Foyc}+giAqbTP@tQPuPT_x+74}my@357=2CJK(KC>baV|G)obLs6m7H zj|IhKv@d@0o5IUm6EgO{);77xn=s?xl}a%O0B+ZEcZt${{B+;4kZ^uoidnz|I_6bv zC}&P^M&#omCkvn_Nb!@T+Cj6fXn2z(hVfU#T;}FS2`1k72N6g7((e8ook5T7Bm4*y zYQ6O>*0ZlM+rL8Y)jWG$OB4Ik=&rv#OL&tKzNpME+Ljw_a3K?JL>vqMM3?#vEsrj9 z>KXAhltb+bVYe~!D3Gn0e}I1bpYUu@RMCFdv(+ZLeyB}He+UB<4dFxAA+-2PNS&^h zSA4Uy!xy-$yUy!gFCIf4((gXvk|*(RqdTSX+YW5aNj=%m%JM|oL=~Dc0UL_pFB_3} zAg1Yu)6pg(0_6+0wcf^kx{RlqYs>~g>$IX8+S>#5{!l3nR>Y!K9RCXruxoO4> zHwa3mpCedAa0XKT6_b=VUQ7ZKpKaH?BN3O-eox&IrNGE-==;D8 zErPkJaPUAjVcw0NTA*5G>Q}`x6-=w9E~7j{iM2%Mh0lT|im3IrQe43Mz5s=#jHB4h zY@By%ZQ{pdpnP$(MDsNm7?+G_g-CITYIaIo%0!0W7>_46YFz!|AVGID zpJcp6WfJkuuK?1>LFO1B$yas(i}Y*m`T!7PvH#hZ01{5 z3`C2RwU$=(IkK?@%w%+#B|?EEPu*>;+~$PzW43?RZFz z(hM=S!1leN-3d;W;6Rz6cQwnhja)sAwv#jQt(dw+H04V^mn)}(JQKZVCJg$M< zxT_a(BOKTlgD6*k@T!}{>aq+$s;;NS;Z0gD-1V|k{;PN6j0a;CHWhx=IrhlYK zMeyR`8-igezvHqEDA=b1z?)Q@h*tG;W;q4vOEq zK8SKFHs1xUCDY0#xt0FlNH8OnME}(F=>5Lrh92OnR;wza<>XnzZ~d7oUh_`LTyZlI z3f@*|oY{^k21J&fI8EtG0IimHO@W9U7Ebes0}wuKbjG2@D`Bx*wNnIrCp`q)6YK5< zj_cqmFWlwL?RhlLAtKrD*X7QG?N_x%FbQCe-yKi!d;zwqK%H(O6-iClMk0e9T2kFe zjKi&YXEzwMR~zF3q5F*j21jAcnvQ?ZX!Q_a92*t4AN+n$}J^k+jXz6_cQ1-y@<)e@g*Up&awsVxYK8R&D*}D1FY>p z?T#>=RyNslG`v4-!H*~4E5}!uN##egct=?#sDvhNa5izKzRQ2xjVqQ#h|yF7`-pkO z3~Us9We2mYPI`kAX0^J;&4PHioEg zp8xVsv-!9{ewqP=f|IfYj@BoV)&Xy&gbS$YAV|{63SjFRyst^M;gNPAX5*7WMtv99 zUix%*xyT~*161(nn1{Qb@`%_cU>dqAFy6Gq6%2wZ5h7H_z=EroXmW0X6ohDnW`qQ= z(@ZDoJ=G|pSm_R#)mc&4*@VI1%crHr1g9$Nz!*^Yj=S@&P*p@tRp*37iBf_};cMBd za$eMz3S-@C{#pG1 z%Y|4d@%XR?Oc$`91d77`O;~G0X27EkNeOZRlvSQ%(gE?AdLHNF^=Pa>Q7bY_n^ixh zT%KG;}j0JSEJg%l~{f^@!Ji_y!XLn52Ha|m^=yWd| z{z0w}Ovpi#aL3Hg;i&?n7IuD>2jhyeC2;UX4Z$dODONod1if@5g=|S~8h}^5 z6#VSDB81z@C&sh#`G|T9?>VwvTEhbXGHNM6l#0T?#?kA~N7zQ*XtERqd*$Ei}6sY67x@1_U3aW`K|1}PGWF&^{lTMkAvCE~&T8}C` zRTYv9-s2-Y-ci1!jJ;}=hb~qUXB}BI4PKV3RaMc)q#{CPI5to|lR}m-Hdizjqm#>K zXSiI+FWwF15|qs-N@OocJI61@1&7@k{A{@j;bj*EYu*tJ2AxQ`I<&Do{i$35Y&rbN z)$yIO+lGLzeBE*jBL^tB1NAmHv+J+C9 z@unjy+JMDxn(>8)>aa1Pr~WvLw>cVTcCrlK!f12ABnTa3{!rsyqQ7lfJ$uJMRpSBy zu%49vTR||Fq;`X`V5*74;wU@c+#A)Y=wp zdP33KCS04N%v6EGIri-Ja&Ze~*uh4Gx;A19{3Gq|S@PyM01#BHSRJO4Dk_GhLnAvN zUKRufQ?)L5xw#l?L)d^ z#nC+ejvP;M5!Pw$z2=cOl%=pyolzWdlWlEe?^mAxZcLMYwcH2Aw>b=oE60C$*L$BN$V1$&M%n)p2cSMv`P?)OMcT)-}UQxp+Izm;h_r!jpC0C zHpbl{0^mVaba#>{t5AXzB-|UDVm=HgsX$L=_ZHpy%8~JM+ogdo<98ll0|h=UgAlz! z^G;wgJYPd@50J^iR|6u-NW{@>Vq~^JAR`wJ^D1Fmw7_tfE&Dvr4Fa!$Vr&FTF-YY z8N}l0ogJd)>I7>)iH=s!VFT=aJg9sNgrT_#CIDq3w8`T3jYkc$@YkOAqcjJpNdX?_ z2xo0#kfh22K+z=yM(Ze#cucC#OVS+%@7MR4K#pPSDYintq2>H}wNs&WGD7 z(ApmaBsR5uoM=?7^rvLIkS`IKGYkAT0Ca5K*ZhmCIb_RBWS#Vg)VkIi1cSqh`R2+bfsBR0toz;I{??WOQo6y{TUqr-d~>3G+h6JE zIG6FVD;K2hFqoqKAMykycHUCMz4^{N*uJ9g?LkP6WRApm7GHErXOAq|Xjey#$bej@ zhZ@Ff*R2CpggX`idgf!uZhwb633}mub561*r^*_2UX3P-1>d)pT8++?YnC@e#`Yd% zOqf9%8G|nII=P-ONA{CSjY{MH{G;^Uh?Ot_@@??o5@Vzi__c0gQGU#STqe{X8_0c; zaUl{}KTNPEn=*`VEbL~c^M!O{X1>FmlbrWhAGtjNTzEx)KisA}EcnT*yrEeUO>N*_ za$!THnMUM!fiWU4WrBl7$9NwC6lqXDrBQITCs@z^CFjuVB2(g~6wMlV?7MSzww{Do%}J`9Vg*<}(JI#SD*j&gI z!|7&^*UmMp-QalC?h;t$S!F?S!m@UI-$Nr_Jx!nT7U|30KJjmwS1Gxq0vS4z#}lI7 zF8K!-{+HaxFI84F@++o)_@fKRC@t&6HF@bHxC8+Tl3E5kbk4=@=OuNWEMZ0MZF`4f zqdp_NORPDid1B3zJ)N~$#&M{U5U(hmNLh)BvG;E%ZE!XV;A5%~Af^b@X)+K!We9g# zx`WqB-Ai7;e}|TpEr83 ztq+$v4tQa{b5B_j{=Rsd4KzCxqB#wGtOT?54LZN|0pG#eI&hI>AuXlA@Xw5g&`wb+rIp>*$FFSOYr}xpEzf5&bEiT zBfpxlE9Ld^l8LEktYMitg}kQoeTc*-)lPxBKwy!O-0?>q&=HtymTyu5thhtfPjenw?1*1Wj*!L3 z|Et}2k+Q-5{<8L}^uwFVk(aD6Vqh+2!2|n$*KA#Z1gRb#JHyg6Q0DI&Rq4h-!-SI*Y;fS_XQgxCYka>Vn}^v5R=$!j07 zT8qjq(jJus+*qbrf4j>R;1O0k zN!qDE?O{MMH6W)Hs}UJb&gkbaOo=bPKrKjoR>jiS%!`{V=G4%CsCV@EhP$Eh{PyIm zk5zNW0Ev-k7KzA@RiA>(inWBBLvD^dL=&lN_?pj;u)?PAOBj=cDi55f4SP{g{8^ z39a6E19Rln-FH|@`y)xJ$<8`nT$+p0wXD#hBj(#?P#Gmt^~oo~B|qjiTROff<$gOy z-Gm^UW9Zi|H&t{L8)m-roJ>U_L8!J}k90<)g~FUS~o;ZKcAGcQ4wJ=cBI?Bxh(%LP|&l!>dfjS($os>X!wD!|dQAH+naGkzN1SFmuVnd!^-ko*lgsk_R4x@qrH^FnvaKy5;I)E^{qV zSSGwN*%Pn92btUjpd_5*3aN_Bom$){+ho90(>3UTXp0^`ulbJSr2H}fR~6^#9JlSR za$&~(s5=%`L-cbLC3?5?$ERCsD>{6zIcYV8`{;NgobEpA0@Z_Smua!?e@c5Tr33RMu^8$pq26_W zekA9@SaWM^>Lt5tB?Cuoo=*cECa{QHPeiwC;kQW0mIQJbhI;_JtN*z=@(R_|1wf1g8UcRJZL6(?zSQypn{~-Q0y*_F=1bjQeP!3;8N)o^3#{4k2385|ws<-+?=3g~lXlp0)Fx-&69Bk8#JdmOaMXRq0P)kfZN z703@(Vpe^$v2c{#bl2s!B6`7A2?3TId3RN`-C9r|cv|n>7!JkGQEnRB*mUy%z`;`R z>)EPXylyP)nJ*h<#MZ zndZ{#Ud_AC>?*Q4>9gu65uPW(qW%VctErxC9$NERix4g_Quy@A75!+qiiC9jaDMoh z&Zj#M0kT5_$2V+q=OZ)-SxKC|V8~lNuK-xPGy(l9;*Py)cmjdhDjdQv-#JC%u(mmn z&4FdoI+Jg^`XV@hAOL+-Uy!#ix_dro2TD&q)!V=N;brJbByrG$p`JQ|gQ{EQ@$S*1xnXm>;{PC7N>MCW zE6gTox2!nKRwG3l-Gr942K*&&)^D&9V}@7#F1g@4`>3?9k8*9$7M|5}>wsozjN7cg z+GZz%hXo^2Ovj)EPE##sR_P=j+-hFzerNgb^kJ z&~g?Z5_TTAxGhmz1N+rJqcIM-^9@*#`s8?zTcpfIc|IHC67Om@ZgED8cZ$FY99N-; zi-5{N&^3dlW5HbdS~=$$Z&=aSaH5j^Cn8yQx{)G2E(d2HK(;jw0g39z;JWvlzmK8T z&`pg215Z_F9yV_7$?+`wk69-Kax5FI2*!M)4Cq@C!;TME804J@<|P@PhHOg+^WFR= zUO$%W(D#s-^lIA`L8#S9LOrV7v`#TAJDC}3UEMTn6Nw8hr!~=wO1JR%8WAf3ax*cX zXR!c&vL5t)2R&qUvtu+BZr(Jui?bR965{}Npdu_Eu=mZv_$7r5_h%ltsv&pOqJyt2 zM!;m!K)6d+KXdU~$zSUgL_vK4aHo|Q&#?yzNrrTLtnEYW9+B8S$ z8n(l{=UKB#pdM}W=Z2|J|Ds_bg{IOl z9veY5$2b4qONtj9;c*O<`j2}1#z*NCRH*84E}6lcm70F70#9Oq0Tz_K+TdY3+(QMAMr`$h;*aqz0p@}ta(zB4$AYsG)O=5>3O zqc2g)Vav^?`EteZp+BjFsP=7*z-Ie7Y%2t)Ei|=Il>P49dq2yDB)Zxsk5W%1WfFVfvu(!1VogREOP~LUnWv z-f~yXLC{eG_gB;@b-q5;T$^aFknS^R|7b(wr%+j2Sr2v}j=&+&Rtt1B9!QdBWsGjf z;2v^=>@5b-HITqQUQ`l%ZA0P$EN=F->N~}yC>MTi$?htXGgcEoL*o5b4m)his*Cyy zj|FyX-t<}p@I8T)R^0b($ICi9rxac|sM8+i!43$8bAgyuVi~~;plSeG&eOc4qDQpR z-C*r%jfrOR!dS4+$YylVU?{lSO>dnm5vCl_sawt4bWV2BGDbHCcWZ(zco}{i$A~H< zrX6nSojxd&F^c>9pIRh;`(3Vraw? zizF`4P(lcDo4eXl!Od0_=WIGJkZX;%Mdab86Vx4`vbFVZnhzO%5d$G`$@Rcn241RS z7KNEhBPh}EXsB_>8$39!WL3G^XqU1{t9}RMIlTG#u5bOdCn*_bJ_k7v0pB!)+hnEa zZ)Rs>Ce!%FD3|pDr_C2?B9OU`JOMYp$oiKsL}C?q3Gwid%aG)f%>DYc(;3xzNy9H9u{$!B$6 z8nmRkGJKnz3cxAzmF{ZsyPB3fsP9lI`WX9}J)yq0YF~?2H_(^|gTU=cdYWnZ;QO5+ z8QZknPq%opO0GDm5g%`8mSLgs&yU8iwMLVB9Pozm<|C@sFDOP!&U~f^dFFC zsM`}>{(lEFNf*W)-6cC4vfz`T&^tVD<#f|?4IoYXNyxkd_tJy-LZEGbiG4~20By!5 zP{bMJVKvdRk8*?Gts|`2Cn$oYH2=z{D%ZVoM>k^fA4_Pl%n#9)tW$@i!?O*@* z-fafly{kZxt?ESFsuX4{l~=W@fdBY;fMXD@NT+}KXnazvFCFw*fYyQiB^NQCgvYa> zuy9d@1|cqFjB!}4g?KA0uJ|8=+4XBt@NQNAY{eIcyIy#zd)(t_Js-mNacfJ=OUV)j32fC=S>Vs7mTvR-zSwD0yq^T%iu^N;U%2u-FUzS5m31N=`nyoZ+esLX8$XB;%W=^A|#!(BaiuBjbnzeK!6hamGlz zk8)jMERXaNm3}>Xy)mT}Tr{zbR3&F9xKKs1D2RpFYol`U8*R1;MYVAPk(?b7XKS+MUxqfQ>Jm!qFo8lbx+kCH~y z*H#uXZrdt73A{O9>{zR!FyH)=nfOkxfwG1*7e<6ev7D)O{WD;kZs5j>S!;T-Vur%h&e| zo_nqpgP{Xa@(wf>bwilTgSIr3(@&U1mxu zjWUJ>52u0e3dJG)Q8^R6S&G?6x44ZNvB1(AAnCDbn&%@HQ+S zL63Y+OoOod_sI)ej5COrV5JulbOtV7xt49#N_IO_n_)K)1&{faxdR7h4KEtef*;h~F!plu zWTVgul5A&pTzfxkd*-+^VuL*2VCP6y6L=U{(CKf(2!ZtLjj&ZeYB+;Ycf1yNp#)n> z#&njA7OY0D5}MR+JNPmz^s9G0?(LBGh}tAur;gyMjKWSAJa3HV!>P za`%JURU^`j!0zL7U=gT8cR_)01Z7Hn$qn8C7SXM&#UEIf$0#!L?F~iQ$yM14)Inug{|$%#qYTw~w;?t(D1v zy^*~3k%B|e{OLm5NCZ631vH5k%GsH#1PX=P?NKZ#};47r}sYSkI<2ekq4j*5#=?0Ej9?HPl_9l1D)9HE>`k!eIpmM06gGc$g?Qt*mfF2_C%$xOi#2Lu?dN3{i;g?Xq)HE7$?;Ur`! zo|`KnbRs$d0Fb*`FI=hql1uFNV;)B>IH4wbHHj8Ev4;*`@>S8~ZZPB&4-PtRnaO6d zFDG$3Ba2sF;Bk6NYwFP)F8H2}u)uRX{79F`As{@8e!a7I5V6bJq;S;<$;};1sZgMu zgI*2yQr2{F#I&7hCNXKgl^^BAxv>_WLBaz=+#e+S`YYR1#|<>Ee&z1C8H*4ZIl>pW z75G!X59bdvh+oBZ+Zq=_?>@@{idMxFMYd}*Ju`HGR!|ZGfv2GyB*t`gnFFEQLMlZc zU7Vh%x@Iq=Xbj;{dG-6XQj+f2S4+o~@)LRy{dEKA?)3FGfK@A<(_F5X-@CgcvEY&Z zL&(>HOk}V`h_U-`)lnb_v^Iu`A|bdw-Wm4g@VqQ=yYn@}!B9o^ei#Rss^?69WYTiH zCSE~`Cz+CN`GYt9sjZc#*B*Y))Nx1|j*m1ep3YINVFr6yW&=ORNb#RL6)6YGnZZ3< zw6lp#%jAF2F2KuSK4259{{dqxbF*kaI0YOyzyqmP5!

    | zx>wB#Q>Gq5A$CO8GpjV7*2nU`5+ukBj>!ffPfa}U7TwMP)11j6ovg@63_Qr92hX4^ z=2Jjs28d5hhIz~(c6oo-bh)=k1sE$dW!gttk6ip0jV~~Zg1d$by78nAGrOLBXs z)yE~X6|(35%|XXLHi9EGL%doizTU$YkR(UduTk?do1}|@G^!u!3`~GXI;w3{r~+bf z!+~ovN=D`b_u1qH23h@5!;l6cFTKJ+RP}-#hi{4o{!!@*Eo~}{61~4)Hp+Sy6-o8T zrg!i<1!%ud;a%Y>{{(y{j}4h1bQGig7!0dRTT8jeKzE4&rDcgl z29~oRqCCm7|L}W=rp81g4G#mh%`{SityT3^oZUVD{w2aF+T`k%p5~Yw*IA05g)WFW z?iXtqPaqru5$9ioA>z@bdWvgvyG1R8YA-6Xt1uO<&zENfColm5Ih(>1yCkF-`Z4Kv z5}zlLvD65I4DELjz%@Hp}=7IX0@R(#mz!{`~yGRU&fY zL>PNS79B8u`t~crd8zC{8kF^ZxWx%xz3?xeC2h&Ps=o#c9q?JhhQ1HjeZYe`9f=== zT<{aMGSw5Xa~s3vN9j1BH6QCw<&34QTjf(bphHnrM_U%|qK5Cv5)ac`lWDi!XC4 zth^9nLbCZ}mZ${Q#Gv`C)vS-xaAepuZ)aKY*(ws+k4>)#>~>4_^19p z##X*1z=sCrGbR<0pXDxSKU9Vtzv4$54t zM_^7V@oMt_!lnPX<5ReRBB14P8}EPFZW*3#lLU9t=kHWX;%>@$92S11h$pPVN%q{W zfuY)&$evn`Nq2*|pqY8I4H2LIDp+&OWl=B|?-jkK&XEy;OB$;}i-1+rlD@1jtnQ`6 z1g~3c$ve9Id%GcYCbj1K4{<}yL9#CaYt_2sQ3-$HhthndHAufA&!eaDGh3p)9v$)5 z3Z5uB^;@m9uYdpWG&RQ|S5oA%BrIb!qZt4 z!AA?0%DGnM7%jDY_6bjY(kT$2;7@w{x>txaQ^?Ny^|QlG_7AcxRnO`Fqu#q1iAiyv zBT0)yEGzn!Ujz0Rkwc)*a9(#c8|pvNae)jdJdB+?&Av!JyIUOyKuXRHokvO6I&wt* zCFBf>)l*1BR!ByB zdCR(|*G4~Cn?EJVcH%~9sy&eXy+xg zP)@J>FDBfbp)U!Ez4+oRc(98Xf(^Ml!$CXH>LymOLL?00`P*4r#eV?ND=hy)yRgU$ zG5zEgr+Rq8nD}XR=`qlx=O(d$5rMbEThB;n?5`|VxRG~ri);*6(XC|Y4QUc~M88sF zAAk=V@2-iM{c-3$%ragaz-$m8)mv)!H+seZ#_nyVqxYD_MeS2qMLf&wLfW7`3wK}} zZo;eIporNOZ8T|6=miW)9`*t1!n0nE3wF+lUE3Q$IcVy*&Vj6U-8pgLz4xr;McW5K z*w2P*Qn@3%I#Y+RhR0tmk5Rp_t6NMQt=KyT8d1+cE72Ol8Iw)L5+Za5@VS?(b(4Mf zhDTndvtdpv(e0e9Upe9nPP+VGn0nOyzB@}a)rO4Pw?RD^J4~9W^DZO%eUODNXyCry z^+A1nipMuFDlsN^DA(-c=3u4d?h#1w$gjcEOg;L(I>bQ}!ee5Bw+fXfzJ^Ky;oj;- z(cNnu?_P^$kRS(hfSE>b2>p5D!))n~g|&i*g@$ZK86otcakN%6x|I0}(xF||#w!Tv zc0HH!+nmt74>gSSWV9~jb#605iwHt}^`+zsL+<3Im0~|Ft*+m*_Zj zQNK7Z50sKUI}U&*119iE?i?1}DGVm;M=}4WI|xwP=D@;pK#4`>F<$m1e5k+m(3^;w z4M|>0{|xA)p9tQJGNalwa+?<9xW zl9U}_O$ScRAgBxr>9Ddi3(3*Zrnm|7TI4_;P`bltiS9x;{kdS-i;QBCD}t9m$&5fx z$V&;twJ`ZV97DU+N_#(TzeO&C_$9@@z(ell$PIh@w0IIOvAhkY_a6=k&miD@k0@D z>_TEV!=w1`$#fN#=J_I5SE53Op~JBGGCKrI{pN23LQR3m^j0)*wO>Q`^?VhR1H+&p zn9JwXtY5irCmGO}E1yQNRId>4qLCb+H!hJSt{4dz1O0)5B8gfJ2+L+7Fw=#gC{xHk zkBJLS*LhxgQ`zeNP>qqt45nP#r6ztj-x>4yeN)UVl_4O6UFjtlgdXoZ(iioX>r-hB zU{CL1#X`-9L9{JU5E+=`50EpGl2ZnFNn9NT&D2EiQoI(Os41wn!|eJ$k8fSr8SlZv zwF#g`lkBgr@@InBW(2hxX#0BSRp-g%{%cLH3Yw?qXz6~DwJna@AK2{dn=Tb+xD=cX zW{&*!E^@)d%CJiNnHO8h)aO2#C-v_0q_;IGIozK$GQXs$nil(+2!7lR8h+X7jY;AG zkbC1bJP!Qucj}-(YFpJOo?CllysNZ<2uPWr9NHO*2_s)DGdIHC-S#W8HVsg*qKMtt zl_6k<%W?Kr;`2yl2+u-rV!kU@oyBZiKQ%0Sed12!*!onkF4p~R{@O@bzER95- zG=%Mf$Cu>knJ{jhU z34Wj$xF};V-VGHFJYz-lKF~ESf8V8hKs;)_QgFfZdhe3#Y_(&8f4@yF}D(SvTDg^zvaXhC?wWAa!ze{dMTo<~0!82ln> z#vAzfI*rW<<$9qR(-oC3np3cr0|Og_n9gzqF(=5t`Wp;6*-c0WV3s7Oex(IAeB{tZ zZV;q{<03oZI?aHOX}8`vnbQCR(yq6WkHG-;Hs2+KPxv6wutIRiC@m}fKI)W{QgItc zVC5jNQ5^{eDxkIJ>}G~`(4eY-f@x#7R?~X&=6k#Nq{WPt*vfp7DY;NZ3b$1)<(OzP zOgFSh+%Vx4{*N2KUyI64T~vDow$e-_f%_;hu2hcroZv=__@xP+ueeF}(mKn|^~NH`}tc zs0-lwc?Ap8{z^PlzpT5 z*eslR5YE>GKzPMKQ)%O@8h*Z~#+;dt}L&OqIVN>?KLF`9mL@K0Qm9WYml zsruZNQYNf&L@W|HCT1_TaZT~@OwW5=>#M308}4tm2XWt7W-%l@eWREwZ^aSm!sAJ$ z&LjRDU+)l|Ev&J50Lm}=Z4@tf4-b`ib?=d(dXN;pr(7FJ{oJdG{HHI z`!l|TH@fO9E*O>k37Bvz&TZbXog%aRII*hx^>rY2P=e=bc^ec#tHBKi1?_Wi({+mP zf#Fz6NhMB^Kz#}KzcM-JYKjI^;P_ZSxC{L_sQWv-*$YpaK)};!S>k*uEv$x&cVdH8 za^M;^)u(Q*JSYvK{U7{1O{*`xHLW{Hz#^ zNMLj6eX#|J`~Va|hEL{SI}o%Ij@y-uKDYEh<^LSrZ}^c z*EiVIrNGk%`%$dqhJ?JWNn~;^3v@-Bq6KZXu9kaVi4(mb2HdclCm4aK&#KfX=YG89 zzAcTIL>r@|B5JLhOVX4cKZF;nHMwOq5e90X0<@4cc>Ve|J2uW;>6K+L!H)#qnlYpO zSORw;F${}a9coiC@AkPljWHVg&P&S-Oz~uzoIX@xkZI;`=ZMONYWm(sO8m`<4@y^k zh6@C`Xf@RA|2@=cLMsX8eSU}1$(^HK=!t;QY%%wiPbvf|{K17q$E+V1k?PS~Q~ ztxZy+c@qri!vHPVq$=o^+PNySShwEvX+dkM6+ASf;U#!wN*) z7c;_eXK1fAb%jbkb5%5Bzi_)B8L!4U3Kk-K;(q*cgoXzTQB`{DEvIw{V?Ty*=%D!> z9jJZdmFdn4QRFRQ)4XBkuTZW>?vmHCP@pOx)M6Wlw2>07XPZW* z(>+BLuASKn=#|q09ZeUxXLK3Rz)ojklwReH-A`>cce)UFaD2I2522_QnLO&xt6m+C@dpCHRfmj!S>u* zosZUJ?nZ!^;r?rV6un!OZLEjg%dTEa4XdHe zh+rSZRr+r*tU z$VnvY`0@O++A!#rT5@Il6!u3UZPXUJ1doKZZIs@+@pgC9pm$lj=H8nIijQC0B`B9N zHYh#UHKBIk)Le~DqXnYkVYv$CqiR|qEa8cy=_j6|yJC#kcd5tZD?Sz<)iGMSLK2w0 z-_5L7;0e*73oGD6gqq75Ff+1^5-2V;vUaUe6d&Z3n5|A_xtl^=0sEJW*#!U!ich)^ zrNzt99QnhQNKJ7R2omUcfWJX4+m5U60cA62QGH-KO}DYLFc06&OgJCfDAh1Iw> zql=NRKD&NE9?vU?66hB6_wzl1kG>xajwHjx=vJxG)89^)iMp=%`tz9p_!|ss(ydnb zc-Zc7F<}w(PTDg02sre@6qZUXuHGTX`s>c$6YAWJ zAdg)$)P|&g&a6Wnm!YLi1E*Nxq^N@3t0%Yz3H-7V#{>cAVEXOb%1yZDcWEM+3$DJH zjJt!X`gitE5}|fB%(!}I_G#&+yODUzU?lTMd_xEvxb~A_sm{pMqs95~!I|7Ab}}YkrUwqeKb}_WsWM zv+=_Ha`%kbohOs)(VcX1EhkKwGnD#}yu5sDscVJ90h{&6-cOHgqQ6sZ5T&TXzYXK<9 zDr#tFKy}rvlrt}!edYmGABoLlS1k-`hE=dT>u_=MQSP{)VkZBhj6)-DNXTH`tT{?0G)!)mRYc$m7h23RJsr2Cu(rWlyEPFAZCFa2eLUM`YZJIk(4`uL4&Tt zAW~*sk2FCRAJj7iPcB)=1zjeZKKo-{M;Ad81vB@*JiWY!s&b02nakU}^bJRLgr!{E4VwMO^ZV8rwZs(Ef0Mce+PFBIH#*C2ST5rTSN-_k;nj?`H-X4HWJmTg8zhL%=iWpu-?W+ zA0c#3cU{1VkZBz+^_`}#tU6t>L3)i=Zv5noCoVKd&MTBTG0r2~Ws;9cq{E(^9*}K# zDqZG+V%VK|0sLSWIF1*F70PZ7+iwjLYsJEOA7-JF*6iLxQtdoQ`}H>b_J$M}-gIgJ z`EAew(R1aWoIHwzXMTB){<~LgE)F>$li<7-1jv&J)Fk~IaaT74CWR!incTM8>D{k( zJbnCc9#TK33sXU;p~xYz+bw}SLsj@77IC^%2mwT{I9{3a$7D6Cs*|6oyfP-l1gy__ zv5KE#sB&v-uZ{`ZXd0`g^YqWJkQba3Q2gew;KC$KRn#(eL?Q=8v%xd}2h@1(p|AmV z(URDtY%a8o6SxMu&>m4`hN<+|w^i_!p` zBf-=`aLQ5YHD|b92gETqcIR!=%{#lI^8z}A5{U4%UOXvM6=H4O&KaJmI{9j(G;Rbj zwKhKiAnRbc^LQLTp(XT__nk$cYh%@(S4h@&g|@1}P{OWQ-J{QS^EP&s%x!ZOk~bKO z`Yj;?i3ADZ<|526sUPX^>2?wvKi|dCT5U}GGwF4n_p)FzjD)*TWHwci z{_lZazFoS2<_uu{7-twspo6TY zdYjk=95(XR$Re-H_~y)@q(wxXhC{{xo~Rm2KySoG-8dzniveEV5p+{3$(bs`?|DSt z^Tpykuzd&cI?A6WCIlDs78q#O&ZJgarY-XD$6{1sZig{Wq?#rU3GE#)+u%Upo(h6w zhE$^brk7QpmbML{(Qa1>qnHHEe;K@IsWoT%pt~PI!oAX8jCNh?9v=c_93d(==3b9V z!W*)Q=lpu>Je$!{!dfsXjdl{CdW9D|K7!VMclyt|1nlSFrX;U@w$3U&V_*dGAJDIK zr6s8kviO1lr~zcCuSbI@Q2S+GL^G9OD0jXBgF9xDXXjFDphTH{KN0Bk?|N#^^W#?^ zLUr`<2v)YKpFL)uh0YrEzFC9YG^Qy&Vxb7?v0Ju^f*D2Z!4_ zYeWX{>C~%t^-Rc^0_V-N?#+ApiG?PHj`=3jK1IlXI2p zp-{r;C$&v*4hWH)>@gWbftz}vFw`iq_g?7Q+;}|7bAhGAy>f3`l#fi%YPJpx907BG zIS7^2@{5J7_uW7Fm(WaZM8q2pi;5bAcYs{ZYsRK=i2) zBpgsat{6+xK!Bt@ssZ|U(n>(y%?Zx^QR%h`)|ZOcj*wa)A|3gg+uUP+KJYJG0wrYg0)7AJO1cgRk-b z*V562IN3dzTklx@UaKXLKB`&CC$N12vB4Jl{o%=S-Pb1_jZfvezhpG^Hw$O~Jv7ev z6D10uVZxn+O)63aXpwvvsN@NJNi)HXyuhZFxo2BK4BR#+@>nea3hSa)ZF1=Sx!3`C zE&f(yW4%at^UHgp4f69mT}Xc`{#{O5t|CqOWn6T={Q zIO#M*=t+Qg%mRgJAN=T|F=qffWZ}E~bTh8_d+&@YcqB{s+;!B`8^j5s?rx}Rxf_&H zQ+3C=+=JHmV5KH)>Q4 z+x)#v!g7LeOKX^1knJyfNvoK)B@?wN-f5gPlm}jV5w3s0tLt^oc>i_tS>fF*Gv5jJK^$LY(Y|a%9>VMQ*wExN#;6(y>bN?yYDkOM4F=c8 zED!A=y;Ax3G+aT`S%!@BWz5LLmcsthYONxc(xT~GShP|URJfVjX=^Tj_EE_N>|>;e zs5xfn+F7Q#w#uo-eP}Qj!_)hR+~p<_nW?=IAj5$!#d8BQf=nhxbVrR|RpUr^*>^qn z-Uo?d!ob?-{p7)ImayS&5!JJGU9Hq+#7ZLq>K65RT5zwbFP2fL7O29GXFmk7d)Q+w z?PUCL;wwpNx$*Uk4}&~xX>l+3swtl7RTCAL9T{&lugAiBza&V%91I

    >Xs}2yAL5 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%0DqnIvneE|Zu?5ovLn)Z&4}QZM+&-L!oF<@ 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

    vq$(0cCZN4S@wnG=&Gc~CA){H&INQd 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

    H?Aq_j8iVL^+ewU$FSEKFkX$z( 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

    W@T25gol(m~ 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

    =$|NY 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∓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

    J=p`Z;! z0>O`nX(pi@(_+|oZ`NYg<|7u)L0+LxHgG%LjCkI`phy+hkEwtDmZPBDkJZQE+V==Uz_xTN)m=GIaF)wKqOj7VYYgzRI ziMN^$G|#_SdvKlJ{LWqDfHuqYuwFr$ZR_)F_cxh~wbJf|JZDDi;({Hd4YmSP8GJMZ z@#M?>`%mgJ;A`T$G_vW|lEO3QV-DXT_fFJ~Xa_dqw18(x1=4=S_p=>;z_uzCy6#cw zNa^2VAp=N9A4iV3E)@efx<=-DdB5e@WK>q7jNx)?H3xmqxWLDz-8(0)|;_Y7_9K`;9hzJ8|zOKDa@&8Ifj^uX4-cqE8LUKY&5|SuN z-^Ok@jGw-qbG{hwq$OD1SB!1bQ)5YSM>c{Mto;>?UdHCpWzLhXI%l*CnerQl z7qw2;R`!yM_b`V@yy4%TiW&qkY8q)c&`h|cVL5F+eG66^00!TAK~4!L<(!=Gw%Uiq zz3kEnZ#J7Qe@CSyeoKEagrWC~x!OGoCT!OmAW;N^OYnG^8;NtSe>-lDMZF z^d_-y;|CW$4O;*mk;mj9Fpbm+Z-?;1((xU*%1W9;wZQ9Hqj|aMt63}=HRCz z3b(vy*O;^V@;KQWHWluta>dVf@TNSkn&I;!SF&`XJ3Sr&a`oKy-`?aJnHG!hY~{pb z>eDTl=IEW7ICT_{u|pozE*axF<>)>i@IxiPOsqhfHpv)c?pVfEVA(`H~>FDz`whCBWc|78pLzFDJUZSjN(t@Vnt}~ zD?|MHiE6w};wOYnaZnWqU;&^RQ)mM z>_RWL+a7jPfQ=xa6_rn?ysg1k&S}ThUEiK`J7%rQ4M<%nUPc`c2{((04v&9a6>?C^ zYo%V{p0?Bi5)pd+KnLl&-K+PsHy z5GX&rLgY)WHw=x&KwLFq7mtnpPX1>Y2Bui%)or=)TQjFniZ#0Y`X6)a!XDTs@x6FN z4;7PI%9HOS@ak|msmB;(a(4>j-;GhNb+x;I z?IuI2BPX3Zy@64Hjp4fr&XqcOaQ35m)W)S_Nwm&q!WpRpOV9mR=DTu7Tx7WMtAJZxh5LGb)tk&bP8;_R#3 zch8ggJtCR{oSkv>^WDmkL*%sv*T3SGHV_#p0g|+-u-{*Y+vh_L%rm48@lu>w?}Hr5 z#gZK3vu_k`)YLk5%kZxw|IAUyJTPQj+vKl21HlmrsPjH`(_bV4)I;@dQd`ggx+c4rvS z8A?usSYMqN?e1+fwzG=DLt-mR+q>J~px7n_omiO)Lb3i3t4B|p_s3fjmnfqP-q^V^ zyirt$(;Y8Ko%kIYxEcdcr&@gZODbxugc02S>>GV{9mX*&Z$cfuOc*Qur_@#1f964_ zF^Xp6 zE2Y9-{|CuvCUiv7;S1hW;`;E!(F$V|x%5coj(zUE%aA4S$%}l-clGrY7+|J z%*=GbG<7cbpmGxtb&qO;vEr@6Q&LiEKN677*hfBg6O#|A(a~FOU?=M_luBZ;R|}sD zEiFnRXzRg;#n>@&AV!_UFXBw)`0i$zznCPch^|8{S&YUAb#&t_AsD}jX#r^LJdLS) z&qNIyOm^Jt|$Kf zY*8@xNnlYDV@Mf*;u&@XC}ZaijuhXgYlLP_J8Ij}LI@1WeJwfzZ>?1evFP$7djbWi zi-65_qIxc1B3|)!nC>mRMlDaFPxfz4%l1ERh7V$#Jy=(BSsWZUX+G@UfsU&l?!7}q8M8{iId|L{c zP&3;GT9hD1@iD~?9|U|4&$jb~dg}z{u<*M-{u2Oq+TRh;vK-?A(I~anXTd{&_>-?N zHqR=vtb?Y=lMK*d|(Mx~5u<3yr*#oME_Y+z1~(9+3QF2==FZ2J~_)NhQ!8761|B5k?Qfq9K| zA0osXRx7`wYCPT+e)lc`hkv^Ij}AhCY3*GEHh)a0&33{;T@@{F{O{*a3ve}Gd89J* zkofi?)>LqOpWq)MVqACP#pm815l{QT+k^ad>eeWAq)qW6#+7OjIt;bc*U(Dhve&8c zxPf&P_$(3ho9vw?OS8S8>B5aUt6%p>IDdcmIq2_XBa_>vpm`)vsR$`g%##?X{mW=< zgknK4X}|k6gfOE3FCSn^X$l>tP{&Att#HG8yp8iWn&_VCV8Dug9oQP*`br*0*PU=r z8U#(y4@Z(Im3!a6-bpWHrme4iu!Qo*U(XyCQak1P9Fo&mdL;XQFfBHzO&wH9+%O&; z;4`r}%5fj)djt#_)IdfmjppKIeZ!(xB4D@hvzQ{a`Prpmw|%)sorsWG;gWsaG?-wQ z!X%>E&?az38PQ_X0T9(WPACN)GxPo@$Jg+HP9ycMNe)@p=^TO6nt+;pMP~t^F6r2k~EC7}#wxNk=RhRC64 zTqiiRl9lHc&yOUhDb(RbXUBT|M&$e3?Jif_1`ewWMFCq~TnlcToViQ#&9~nF7eDn*F$=+FmWULL!8<5C zGpv4mS`Z-0>HvomfBzp19a)F!PZc^i!@pv%XlDJVbh5N@*bnVA}ZS#k^s!cR&{Fwst)UD&M|iE z>SUSN-hOYUab6>w4MrkND?pDCdh>4NGXgFH!!`b>*1Kld?diYSMVixrRBe4mtL}L< z`*S2ScN+KTpeGAML#y;hVdzzDeCBpZ8w#>e-nmAZr-NYE3Z-eSH_*tT*&}Tcq9Uy^ zYp{`>3?f`PeH|>nNxpy}wgHHd*mC-+I@;sWtMRR74MYSFVbidKeo#IR!lDJZ0IhFI zp_*(M_P=kmC54On$;HpO8!#O2I+KJhm>56WjAPaX8y|aSlSUi}r>|+*u@y+3JA6-t z2n*JcIgkqEf`&TAq~Isv(wb(SuOV>o5GWx1Y7EdZmUDu1;aFYlic(#HrA@S!9MoLmwF)4PLTq&iNCtZSX5qt5@G6Zh;fePGMKt86n@d= zqmU|57S$*O$XhF2Ajc)&6QM!pH9~xO^2}>TxY?pA(BYiVkc~^5q<5GD-bt`C7BGc1 zY>ULhbb*Mlny5-`HoCA^?zg#{8^2mAS9^)P;76>;N=sbCm~3qr*__MmjdJ>;K*am9 zjCv7HSF|AQM{iV`+X4gVR37(!!n?+^1d|J>%Xqc^v_t}%3o^2hynS`4IFKkS9IBMn zXDLUsq&&B%W{#WpjIH83oOkp3rAk~q-VX7ns!iT$QXj41#9knIY zC`1ccwVwSs;03CiQyzH^^F(oKd_}s>6IX`AZTh!%U#fK7PLlOfuweq1UG<|l3I1Lx zfb1Ynwc-z6IZ!0q1cQ0_@-h4YwYcp>DS4&7pHFsCVVo!-bju27vaxqzx5d{=Cl1(7-fb zTd??t$#4c5II`JU+?c&L);)>4B5)9q#=&DH-_BdW${2q_0=Q`{-eDU}+~*+FRL5^uY97KL7#PLu6 zBThRL4w+$CIPTjGN#|_QbUaFSFbg+0`&HF0E=ka^hXu3-niG~L!=vM(!<9~}!Nty; z=y>!*=cfo5qMVRUyc~lE2~yY*i4mluL-9;po#nnQ#l~=pr+SNQAsFQ%o%io&{K($& zIdHdw5W`6JU$c5EhsXhEo=pD}++>FJChOO{4ID`cnhifeTYgV<$h1z*6^!j)07&SS z@5~3-L=47^q0aj32E@QC6|^m-i4=vuviQhtybmAfH`(5w8nOSiov(!>r5Z1`soSYM zSMd&N?G8l0eynDlIa_jA03S>;h1<|b9}+XfBpL&dwFjvDNSm4|B_PG~;92uun@0Ih zsg>HxXFk|mZ!KxZ2NNPfJMKeIO29Ja%aYt&?xxF~LhU=-7YKibXJTLrob|a&P*rui z{Pb36n7kCLd2y8w`0 z3zl;YJ*b5;bvfeyv;-(m>dGK}bnKK9g%AIG`Yno&rwt*)(aH zO^Zo}F-l1g`RnpG&b%cH;0dFrA7#=5sm;r5k_2ByDuwQ|%ds5mKegOfP61*q<;w(5 zDBQn~X|=~f9CxJbQBB>7loHOj+FTqJx3F_q40);B4Wpr!_G9F5KZ z8@*=ii$v7Yrcy>~y-N>VN@u1A9Xjxb(}Fqfkp)zR^(Dw2e?%C>-@o2e(F^j|J>yD~ z@n`N8?`Me1qYIqP5d=EAv(y7nGk^O6h>#_P9u#s+dWUqjE2o{37FO1DddjUM-^}I9 zKZRNTSDEf#r{9g_Qr=dfwyWDTL3K?sThamDZVx}x&f@6`ik@r@tOs0D$U7&BC6Dy0 zZZ<9&G}{)WB_7>oDg6>ne7QOJf+W9^p9(3QemvBUPnOi0TqqgrEgD7paPWLwoagjo zg>ZBMa2tkQ-Uvff21qm~%kK#SiHUWSYmRS|a1qIjsUJ{OY1JOO7Nw1jz&!NJTxF?! z%@NJ2sIFl+unW1LD|gm6!>}T4W(LY{+Rq4r3Cu4=>nV{j~X+Sh3X+&7bA-jDM9YE-Neu)Q~&_qZlFZ@>Ahac}1P zbGhOEl-<4J$qZOpeNm@-bvTEd5%7Xi!a>d{8nj^`YEVNf=FisaTOzV^d!^$;qt^;% zH*(D`4Y}X6i_Miln;*020b~wI-AlWiQZboJMoHN18HUyHcw^a&(qorcCvP`DdoNX! zuF2W&Wv$D=a*>TGZeiNB9f&iu;jb@25h&hv(|l7roVaV5{?zWG#XQ-mzljt|-{euq zyXQ?98r{s*Q0GSEvjUjaDpbWF_)x;dQWb96?ZlDBEmh)pZ`Wg^96xUIME%n>D{R-W zplq6%?gC}(GUZOT&MG5zm@RMHD{_X6h4FW(t^*Ev8{ZBVfbO!&O6`#_g+#L>;&RrY z(6EKvB!*a|-Yk>acuP6o+o8ycyM4AHgoq(mBgL(ck88kcS6+%MwRzV33?nFQzdY`@ z5R$~|UGEY>KZ8*N`B0M^5P=VN{kB6H+k>+?1|jlgEI929M0wEk(HIL>4?N3^08D@W z`h$>9As+Z=QqXcs{eJv8yOdm#z1l;LC+dcaO)(Ma=u^9_k0U1Ps%LE{&45jP>a)Ix z;DVYG>uhxpTQ=i`tVd`um1}62N*pWv`X$8xbHN z4#D(u@qb4xh)^ZlPvpk*mcmf%wwj90wArFk#j|S7Orx|--!|bDFtu8?R+;j}d*-nv zXG2A7pXo)26o3AS`vTDIl3#syUz(8)sUo0Vq`i13WpS+!dY^OcK-qhtw`IHkGRqTS zfu=lv$P<5I%w}9btgQj(6crm65lrwLxz=~{xC$Tk=8~E~mX*<;wHGCB3?N(NuWN;5 zKach#l@p@p_j4VruBo7DKj-yFda0rBr$CBYA5sPfR-XFo2P2(~>cDKwT?rSd!&ruQ zJ*1Qx1xQ>rNC#i~M+aosqCPY6;GyaGz@;AIn(#$is{~vz3`=@07nHfWdSROCalJMb zO>O^~{^A8)?~~1j{?fa&16?N+S->M4s2ZiR)U%xzbXzd>{L~i~P%(FXQRdyEcw)4= zgDefD{%~XTwh{-yv#53VQSWdrSM0^oT5RFY9XgIYVRM^C;ju)MkxdOUchyn*F2?## zC7~Kn0Yf4iZzk7Noq-Byt2Fu(gAgCT@)M!``H)HZSL_38MEWZLx?Ei=!xh2LlYAqiKy2L5*rj(7Qiv(Tpnb z_xUn#f>`;IJ(mF&5gGpzgk87MT8A&;e>ri4`Dz2HkI-i7NZWFyLCHR#VI(8_hJAsn=nKrBff7YN zrgr5@ho>&d1Gl1`s8`bPnX(I52zNG`86RDsr*f#4l`LA`n#Q*Mf<#SK4T80t1yGAz;1*hxm-iGsPbN4z zXM)SQamtlSSl%d2R8<3NLf>HiXEiQtVD1iova`Qt(e@HlG2+$QsPSYgF(2vTKY?z{r*AP4M^p=t0vfTX!1A~UA+Dz+27W=L(ux_HtTVigNILVW&(!AlMQiw=Q>1Q$ zb8iyopH+c&aih%O%~#?WNjQHak+_qUbx{!2T0-B97p79!+6)=k__Zc9A;58&R@Qp> zr9$J8<~=kfaHXl^q-Ke;<`d{4lpssL%@{QRb8?it>+Qr7vg9`ACqT{M00Lf#-F|kTOviBfWqk}BxTMM+e*DBlJz0|k?fuM$Qwmz86F}90IdI}n+>ChnT=+{JEsg}T> z$?8_c>AoZ9eg5v=aJ9ZK$l@|VniH}~QFc)Dy>(W<;aDu`QK^Wlc^avuSu?A=Lm0mN+9e{3R+JS^JWpVZU#N2pCWW-6}41 zf!&aDp+xROf{>w&l`;36TpxP3j)fjD>rHCddvfhmPyQKzwYP7RS}@N-9*st1I`d|w z(VBnMb1w6w{MkL$=*Ua!2ckuthQzZ2G>?|?#I}_Go-iy`xOU~rEXB>H!9><4Os0bK z6dV)7^!CNAl(BK7pB!vHpYa*9xxLdy8nyjSQV!LC(ZU?sNu@hzJZ@Blc4mgU+1Cgu zKm4JMX+KR-+r2o$3=Zfx;%^bKN;!THel=p-T2Vo6DQgU*^7{}XqkTiYH+5Olhk_ak zLW-c!bG`YuIfewq%?*4p>?hIUO5cVUJPys?ZnesVyAwRsC>F;fRxT$}O|(|EKV)8V}72iZ{81Y9o)+Xw70hewW1kwF3-0r z<7Q+{(gD!iEN#On5vthB8%}6eVF`}NfbAG9RJMClSbK^@n(xN0C&RIvkpC=$r%w5;CR%H&# zOkz&tKkF!H*N{(EIHb`JJK#6R=`rs-Rw%Qs$^U-`HpD^>+q^Qyq(daL{#(cy<|Sr? z_nU*JS7;C-1oyAi^9&pZ{lUYtaF2$NerWT(ReGw5lmCEyw!ft8}8YZG*9R>f(Q}QiVeU(W{`DGafif zF@hskCb29%oBZp?S&J2*F8u|i9dp}Bmg4b_!Cccfh_8bXo&2zl=mn;K>v zlal3&jZpgV(8e*C&zQXNDWtc^nTs0))9VolNRKgrw?uUSP0xsJ z#u}m=Y%n(D`r4P9O~q!*NO&jdTrr1A3#4jhO4{-eaP$9$T*GyJA9xo&mXFdi0+J(% z8`rJ<_ya%9Zq2+sqQirHGAR+1hKx-Z# ztAdqw;N0+z=Jpf#Is@M8FJDPm5fq3Ok~#{k4zMt+D)$bs>7f1buw>flR}bJU6SU>F zp&EAel3KpXNlQ1tp=Q1Kj2?yGn=cu+4v0y8#^-eDMV=PH9`gZm(@;UMOU45Z!H5!&mck zdvEI{s_~1H5+r_2`A!9EHXyo(W~SF$`C^zTv(e&JHgmNDP~#hbEDdepbu_@Ti?Q9- z7Q6edAxA~IdV>>)!)Xk@TOAr)`k`}#tIHDpvSj2b{ zPUNW-c`L*MGEuXPzd0M6@?Us?Uvp?1XPYGm9-ETY%<*duz7ZSS&bE%FunLBn;5KG|{9$1ph1{fl%f)ZuNsFDMmhBOJKSuPV zweU{U#xB`MG4{`OhEDL8r9scOQYJKyR;2?Rxkm)GR+VulJaT!l{-W`wYr@hc&~pWG z0OkDEIRePcbM4Z3O^__Q9eFtrFO@tUe1JuuWfo*P1&D15#*C$JF0j zqd1OPQDlYEHnag~b`MBDqkEnhvXHA>0t;+3Q|y_OO0|Nv%}!3$)O2Qv$Fy?A8#3n*cSdW zKBZ}`Di{+YgRnl$ZY9+-^en3s!GKPlliBe9?nZLZE8Ue{CqBOF(CRszn-?!T-Ngh; zp&Vg_HhvvzhO{uEY}mjo(=encN|3E7Gm?>q!Cq9dh<~XwJ+y^tGX9FyLeZAsse>r< zk7J%tFcrtcH}7$;uxE5Hwz^~jdjF4=#T%VX`Gm7>-*4tyj<_drNz{O_Q)@Gbh8IBx zmooqtM?jQS16@xI?L#N`(7FEPt}c$pJo}E@QCd=-lAyeS*_Di62FiC+t)>y*I|pD) z((Ch5`O0vLZ}JJRyA%lX=27$ED)EvL9GEI2>c??3S_Zj5_4ktiG4iexG@6l&7swLFN*@?36Vh>!ugR&5?W(QV~QKCTa#M*nLFKjEL+Y=Ti`o0+>|# zL4H~UvI<@ZSZC}4I4B);NJ$n!Ai_V`%2Usq&|L=1kVl`SR#f6OLI7gMf0@4Muvy=L zdeM>n;6wF(=W?fj+lN9RuV66clf1Q5WKL%_UXXJ0%Cocor*50%2Q}vW0(8q2Z-p|A z_^qc;gyj`~xl=aVLq1W6J%)r!gP&g)fPz}5gew@1K?*!|ZAzK6c@Q7xFNNzXqM2TS zjysI3Js7ftZ(wY5&I7&9F#T`<)F4Cr4E8Bw;hNt9MqrFx+2qsV1+j!|86Z~~2;+kv zIt46KF`(jcCKbkqtI_g}RvcW0;cI1sR{h?L0(aEL$@D`55?6eHn${fB!!>bgcJ>&& z!D*ysJ}JvoD7kzDbVgHGtNCS1%I#>@5P3 z_XClcis8&{pP)qErhzu+h-jC8;X!jx%)Vwu+{p->&_DgQzx={3EG|qviCa*c+`w+* zs70GI<5;AO74a8iH*+wJU8b@G`WdaO+O_m?cAxeEO#|~ z(g;`lvSNp3a0kn^r0H}T;+Q>;mtY1fZnh|gF=DH1|V!U~9$ z+G=?vBRBt7$h6A?dJ!%i34e#U7F0c$>Zd+LOuxJ45u`A>ctu2`upeYgRoUDTXJJRP z)r~D$uf47FPJT%b#t4&15E2f7$JFeF7ctTD*-``*Vuu?3w#*JtWqgH(&JN<_JACXf zyy8wcFCPNn@Xi_H??7Bp$Z3gjB@WoybTAqXj2Jdo+Yna`rFWuDMYbMEFAq#>R> zJci)lLk_c!{)OmWd9di%AwuSjk@aD9urEO8fK#D<-$f9!pwY7KKdjJ% zOdGC4R>|)av)m?91p;sfM{42E#<;US*8NkpX>LkGB)|4XafuG43FX(j9X>&{heEK= zM$ETef*?t?cv8ClUM)rC6j1avLh`5PZ}|IE5)1uT@FFltC} z#cy<^F7F~y;l9E>_Myx$jBt@=bCCZG#CX%2gmu7oGK)5O%4fS%wEOjlJArpdfF8UM zgT5vd|8b9D2Rhoe6X)ZYR;ek{U~_0Ps2%0B`L9BH zMViE%y+j-H#Rg}`q#P-&uX-nzydX_|E}%!4p+I0QWxxFVP6)|Nw| zO5Hq#Tgu$sP}EeWIJo`FAd@)FmRYTkX%QaBhO)yJ!kjjhqR-)}Wg#?KYn!J;6eEpL z6*VxmG!g837_wpjdYRU^fee(B46YVATckH#LB}u=ZD>7b@Pm?&%fK8K9ZcZ#a)mT- zbP4QQXHZs=ccCPA*M}%-OCZYOo&2EYFg9`=T|m=a&k6=!ILFJY5I;zJ4H7f7;?dp7 z2zfKt>yzIFz2VT#V9Q1Ts{KV3?wqO%RuSF{#7x0GkBwjYo?z!7vs*V^?#daM`!ts>|tMR7$#wf<Ua6;uFA zR>`Dz7?#f-%FqK8-o)%cn{$qthy_m_ENJ*KC%H07{NRae}%T+`a^l&!qS z*-e{#a-HD4$1psaV-cjSMoV&)$MLPmn{B7&#lJP}&NEDHx(|9V9jp%8_-sqN5MLAH zfJ%>OIAuZ=n{Jqjfe&q@td5H3{kKb13VVnbNx;!sTImo>k8)b^qF;g=EFu8K^hRP> z>2+Au+vGVBx4uu#%E1lo7o*?SJeXIYhU^#&-E$jT6UNLjoLnVQd;xIbif<%uSvPSm zBJ9SDpk`IYjcg2}!5-{I2FZZ8s;q?!S*b_f8*=oCK_9ddNu1CuK+f^WC|DbrRKQrG zA6WWn>Ws!h{gxUFB6yjO=LWppz30yZX2Mkhyy@^7N7;_($kdZ_3W zHPRnffH&GlNY692T#=N`%rXP5Pm^kvqgISDuU6Ym<4{}a;u8U}%`--xpJwV_>H{qm zk^v&3ZF zNPK0LPPpG4WH+pKf**n{EV{-BLZ~}>$fW8WZt91?AnasPO12@)I4ZnB4^R~lbiXs5#jqzC-5=0z*QR+i@P@u-^D#ndQ7$%N85ol&rpt873}{>qDW)?O?M^x3^We zqal4S)(I!}^Hff{&ya00n5U@?*|h#e#6sn}tGiCxx&r2|E7vrsiXmMGP^gG$VG2JP z+u9V}v$Y?YScc0(PF)b3K@XrREl2W4>sBBA^(2PzaH6SxEe_5S96XmB>$^oYcM5*9 zWc0ZP^tkIY7O6E0;cKJyXA}HGgEkHRne{(Z2Nub49aB_fSxl&@Q#pzL=8<}i#ec;4cQTTLtT-&OBKz%Q@;&02{HCpZ%kie4T=13PYYw4<;}&AAIIYkf z7y0yAq?{YSXS177nz(hF*fnQ=_l#zn;Nr>e#91U`q+GPB-vX^Q_DWu5$PKr`@`L7zN#)?7RS~xG}ht; z8s&Z+_R>Mtk_;w-q88&Yp)9T>7=YPXid=c%q6nfih9|$C~j+z3L4L( zuRVh#J}haFsg3T?i)D#^us0Y)0K2KGLR%GR3H%erFN%^~&MG27nfz&}I!t-Ewh<`# zsgpm778>$GxD%BXjv8?E^Js;dJPU8-RVE=8%#N?*z^Yj% zgm#eX^QA1+r@p_W0cH3jdO`00#Hid3G7A=KfL%v@(e;#t$~S9n=)U$ek^*p`HMmi9 znO+OPfEDCqiX6ddG~>f_e}A?E5$E@0S6fCfOE(0ep0A_EJ)BDsNd(Er+Zfmyp8~gy5UKIuF3tO z3dL5ZDg6_rU7LS+rWY@+*2_x>&pZ7vUl!C5Uhznb?XK{#i!~CSjK~ZI6$R{08}k)p z9X$r|c{A|-z1>4UYMC8wUIkD1QS9Bx9)l0k=iZiFOtq)^}$#Q7*x5@A?TE!Bg&J}xELy>cz&jffD!}`a$tRXk>#KJZB|{#0_4%l zmel|lb%b1&mw4Sy{h~OZ^{|;T`3uo!k_}ULBX_1GTqYVn)(J6#1UJ}r1JYeT-sznLuGpocBWpi4t-Jy$`hzB zUSZVn(?>uyAXjyZc%jnBKw+S8y;`Kkoyg7vpj?mm&QSIT=~)sl$+|tyPfv+SekQpL}Sa+ntl&j&-l? z>LZi{Eg~ExUBTqzU~qUVVMZQ*h{zGHL6F{^SV5t2yB5o}LYGO4k+BjB8ijtXgvZ88q8in1PxlaAnG~9?-28uNW8X zeG_NBS!Eq4u;pap@xeip$V08BQWDReX#^;BNT$?KWvIB* zX89X-oqy1ctCh#AwdKL*C4b!62v0a-NJs~g1{>!ob`Tek+hwn`td=W`c!(kB5(9Gy zsCi*UopOj?<2yKTx|PA>@`)?3^IA>W6N#AnTd@{Oh3rfl*A|->y64$-3?aqpaUkh?MMq)GZXE^_H@f(Q_(x6(2`qC|O) zvD7u7z)fmKISi8J&S14o!B$3wV|6IFZD4whf2S*fx^}bN&v211&fAp+H2G_e@%B%# ztBh~jqIh{8+c?X@k%)j&9j+c2Z>kT+C!K$;#CJEbQMk`P)LMFs}dK5T`Df=h3sC0*kZx>R7__*R-zzk#oL`U<3@$M*JD zP2dK?4{Y%N6g>BskCdqqdzaTR44ACM7n(}j}|5BE}p|!r_i2@x0+xDeh zL=c2&st&{)63zr)3BazJfhF@uO=Wa1qT;->;gVGtnz9<7K?cY`eEHO?+@--bh52|d{w{?Un# z^z94QKYhXp1zY%GS~7gd#a5b1gZtLm)*2B^q_v|dN^=d)bAz^aHt=H>JXFv@5YW5K zd;i1E9IGb*{9K+OCfBF_7@)WJ0wbrGcLr*fI;OZs?QW;a#PjG*%CPc3I|07MD<9!5 zWMTO-`TmK_ScVqWCBgookWJ8%N(0V?b(Lj+dW6kRh~HOifwdH|geG|Q(u}s#t`M9i zbEYW8Y{FXchcJDv{z6Os?Vn25hda6Yz`MpgWEILGjv9cxc{$di*dKF=Wu0CD@l;6= z@bo}%nd)^p%fwofthf)m>fAe*E{>J*>=?N*1FWMy*mDk` ztYfauY5W|n?S{6nKHj)~Yy@+Yu@0U-xQ#TaSTND)?rz|70Tvh#(wv7r|CGJvv3Wl6 zT@v)QRRuKDLXBdCbyY@MA4K;HIkRjgr0^no+oH6>Z%@_5L5Dg^WY2~1d|EiWEjPL} zedA)rx${*gZTFDK$tJxQa$9hGBov)&;c%MEIp~)9V;d9ugZB^=ZJM(?56t4Y36T_s zD5)fCE^micw1x}E2~2;l(f;|0F0OXJbB9P-lwN@5y^gQ}rb;M<|3tH0MPV|*m}%1G z+Z`B9TYtB9LuxcKN;5j9wySrP3NJQ(T*cMPxvNbzPzCjFP5qW4mMf|Y%~w9l-4g}6@xdX-(GQVpwbEfD5>~^WDaym>HBPc-!pxAiu&I0)GrXKYUU->TTFCc9F16*c7GU2vfOC7yO z72dl-NHIxX8Q@kO=w6Y8Yu>DsUQw7ey_eperBdzjvp-ON&v3S*N7tT>7eg?a_DSb= z&PBW!N*UmHsiGqPzPLyehtYwqQ0qhb<{n*M$9B37yi%;v7jCF8QI4-8gg(+Xr{}3k z!;^3!$?{y0@HH$ZV6XdeXWYtYI%3z$0M*DwSV(@%a9CX#Lm3>z0p3MaoSqXUWa_HvpHOvsH@aKX_riQ zP+3Fp$X=d=QBGjZ@H7T0~fG;C8-g#>LeL>zxBaqha8p!T4_A_v=P%Q z50iuI$^WZa23MyX(pnvpsWP$Nk&xEj?KY*Z>96uBBwSP7e! zNZz!|Ur|F?UFV$W-)#_tKQi@Sx@Mt#f6P5{?X;)|`uW*D!hd%56f92`62fe03H{Pp zrQl#C?~)BNt&tk%`=P#c`x})@=0kD(4?e#7x9?)= z*K3BoR9_%JvTL8Xm}oYE?W6LeeAtlnx3!9r!fnM^%RqSUc*CNPO~sh#@aD|DfZ&Yc zCyx^j)e~;(0J0`4(=z>QlyxSx|t64V82*SXxQ|7a3`>zE>BHc@U z6bkw}j?~m$7NI^}#sjF8#t`rBU+kX{#mS2)neOrXE3aQ&OkoS=KJzL(h<+?Bh*D=L z@Oom)tRg^8kNx{f$A2oULv6qivCs7$*p$v*>+vYDIfZ<^6+UKwPKi}|cauKk;!W^i zfn)EFoC`vQBID-?ixZz(1O@&08hbAU-7di*H0$gkK5r_@}@lYZhOnnZfQq4$lZiNr_TH7$|R0fS)M9e1j&N}5}f zobm-Bs6EwmDJTdaJisiO$c@bkEGcF?pZGy9PTdg~k$tOnEH|n3hMSoILJjkFr3tJM zt?QJgtUYv>!S7^;4l$YckxnZHdp#U>L%)f;| zMIf&hEUG`kWR6T+3oQ~%y6p_7tG)9F-26o9@y;rOlu~e}CEXI-6qizG%FN&reP32J zc$-OR^98jl6Xas~G+9P7KRdnD>+&@cPM$ji3_z7&~RrwV%_Dvwn$;H&Rd zN|J=$$IN|8f81F-rq|Sy>hN4is$;#@AFd6% zR(8~w53dGp_hM@4-m(LiS=xv986W_u)nmCO)yTUU0->FO>qkT}nD0n|b+%OCFQH~4 zw4bL4t=-J?;MoQ&wvNsohryhP+KY`Is5yz4i?^Dbtm(Al+0$sHm(H{L=YS=^1Jvd! zKA{HJ0071+eJqA;YM0}){%K^y8%i6GR9xqBu0dA!q$v0&Xk+-{QlW~an zNF#P+O^_}uqZg70gw_YS`o(t#G`IPe^?^_eyof)^SM&4-$6@oiP_}NgnRtL`?$j)B zJ*@$)WTj7Lg6-j%u7=eE)}O4RSxoPDOCsTeRKLd>gwh)63C6oTT$Ry5Y~jf;~21-Ui zd-VArhXJT9y|5cB^#BqST6*}h(V>UFEQ zN{fVRBjC}<6n$@DSoF3((ZeujLvWL8uIoBU7f7%hQnYjtf2G3NTa6PS;VmhnVZzlD zvIKjINBxA6OM2^B$<8Lv=}?xz3tUH<1ny?*qJ|sjLA;)r#e2qm1cnH&!RJQm4mgD5 zOrn77%t$31hi2V&LXElhkqze(nTi|4L#K>i!>hOLmdS6CoWLE8OX-WV_A{Isy-1n2 z@{-neXIC2HdaOFn98FF@$ZZL(N$Hb)e?F7GV(FY-Vpb$L{$KNE86)*|<>dR*VI-jk z5vL4cBs~qV)W%T{J;<`C2OsRi9+Do?$jQ(6BEi@>f{kR}-~oSYFfsn;%VXkLJaF>f zIJ@eAK>Yd;kN8}@8*{CFGm&FL0hPP&?0-VTuFEEA4J#3bc=5~|e$&rcZ7>uqlXf;( zfL$npims&CVHqA0KvOHtw6+>-cW4(JzzwdOVb_JFXhQtbZex;JA?pg2Ad?5;-p!!b z3MvpbG~^RE1RDp0g%(h(rtb_9Cg}Nthx;V-L;<1XgyFJvrR)x=S9!0Mn{T*yfn$gv zOMz+|mq!db;qnY6`^S z!7{ANMLAU$SoTQx$h1t$x!f5^ZPI z{x4Umj(Gc2*`#sEFMonI6@Q*pa%MmIGLf(qy&86$B=dh_ehH(6j-<^L46|pOae!9s zdf2IT{+HF>e&sBp07ZmP0ek>Xl;_?yzIVu;fUrZoBBIn;3}QMn4!1@MS^DY`T0VQU zL=YLfKYlOCCcwLr@V1+1Vyft`n1BA|5mq0X@n$SizMt)EMZKKyRAyxYXmGcVwXYw@ z*OzN(9#*5CzGzZ~Q2)?S!UXoW!~uToRz0bM2U=JCkn4UbREEHrJ4QXW`?e^3bJodn zO94b~BxS->I(fTflC5XmFFv+m01FI!e}vXK=nN5;E&uO37d~CQjSXT6xoq5+HNn5V z__dq|Z}U|fj%4L=tSb-cY(4TK7xABRKESGtVv@}N1CCv#)fK#NyX8?>SuS9uDn zAYBZ{W>rrpMLB86JGsRRy@w+##TJcYYVWBSrhvZuapNe4c*a)JQa%Ui)zi3*=6Iq#6!1+L{-eT=Q=Rv1e8l z8FT)Y^wKUv#pJ0~kBe3Vc<0LU$&-JDm-i=(Di-|Zy9&C*5*j|LKFAg2&O?ep8@1-x zAYmx2j%I%{|ASPcbWvDf2#Ob^8B}1t#?*M$+j{|{=5u`Uw(2Bf+K-_ZP*4#06mhVP zZs+OjK8m4mFXYpH02?-N(I^#mfiTxQ);%Lah=dEGadTuL!dm5Ex>Bn8)gEATHbl=t8*jU1k=yhF3Y=#r>t!33>vX@?#@?Rp5Zf!D(is_jEasL#053=W27tEi(S) z@kaP$=2eSJ2hgK-kaJr>)8v%djO^KPRdT`K0&?i3uVfHSBR&H=hJ21RE@fRF%O80V zXA;Bpb1R6uQjtl9FhL01%~`^>4)?Xh#mP0=(Ih`56iRQbUuv$k!ZBE7RO?aCXcQZlPxeWPjEmUwrL{t59_Qe_A$RcG zPfMf*_)_M3l2V2l7^87B%&G~&iFkt`zUkX-Bohy+zC$Y^w0d5LDGQHm|b#cHHa&7iYnACbR{|PJ8g0gO`ca53eMg=-C`P}ZkH7G z;PFd}UGkevs2zmM(+np!Hx-9I7;;hEb4a^F8NTM|5LNtnFZ^YbaIv{0YcDti7FL z`kMqfcc9bhH6pN@)Y$#jvhS8MTd7 z{yY8(S(GQj_7)<}_KFBJ1c<$By)g$oBu;nV}?Za&ff<92w!}kUi(cM35Xr$Fhlr6fUD#~s$H!4 zh_0#aZSrA%k_!_h>p_h4<)f5nY%|L* zi9aJzukEwz_+E>32@$JI1l!uN`4u)^ZE`icRJd;97-$DJzX}9lKXO!|dmnNXsURps>yHTg(LYdC54wClu~;Mz$qiCl)qvEW3Jc(`pOU z1)mC7R&)BQlCe<4{Wxj0jAFt68ByfW%;+Zsrtara%R(AIMDfKK)Bz4FdmK!sytj(5c<>{N)PoiZ=6 zZm$+oPxpA1LZ z22;Dqock1C3B$DD+y(z$;eji1c~MyWv71!{f=14i9Cey}^=!|(m0JgWEL$FV{B?pH zIT^k5J+`uus>~_g{(!TM!%J<0{ztN2qV=t;X~+ue!0yM>oN!4J1Eky0z3>;&ux8G_ zUk$!Ai>IVg3tTGFU{l8u05gSuJ_7(9g1;zB`uIdP({(-)!LP7D`tI$Bz7KWm)7>g* ze0g+RtLd6YYPoKtmrhJbx}@If^aEw`LRRK-n-9P2Fze_ST+S#l4vGVxzPU;=)}HV6 z9Hc3^#}EQq2P%?t@yqa~gwo<%)}qKOdb!~`9N*lL?-mRowL}NsckOE96sR&G)meJ* zcaa*f+%Wt6chG&Eb<6?I)doF}0)wdBbpWz^XU2$EgIimC1Xx=gk|pk>TS9e!32BL~ z9t)lJDE(v*NZkE_MLyl%|`w2CF=<7}N@zLUZx_7aPbllioGA z`e9*DLjc{x90oDEN|efhzJI|+rHoV2Z-D?OyRaj_ioGP0D$=tph8Fq(w33;C!4@Wz zpYA2Q0JIz+9JwdJ{3iiS^#b|eg6|57LrkTfbWDZI9%y z|2=9B5H{%9puneP<^ABfgsW!kRE(LQf-~Ex3#u1vg}RjA2^-^T5uy&2fA-08Sg_^} zUft5e$)z==b4ZkWzk*vHfsJ%Xn+VaCKy%5jc$)Y5&|+Q3HK68L(uo}^DabKo$KDf3 zUR&vG&kgath|O!?j63g8b|uy*pFzXsDu6G&Dxb(fbKl3S{3!M}V&G3e%7`7l2x>M; zo~y}tBCoR}uUdtSg9PoYMb9d)m2Xyzp+fGXX<)??f~2K0;tw2IW9*TI|BkZz;+DGC zbI-tC=TpLx{`YPHO%ZyZ7PtN6cVp3P!S%&q>XBSdqo*37f8*MpHhw}^5o}@E5+ae5 zAvr_EXd|478pgz_CqFEgS-7WNhiY!5!|1;Yneb2yZ3@)z4oCH6cD4?{g+&=#UGy);x&3thI ziwyL;*sPcB)7mK?JVSly`0k57;ANYiN%kVl>ESvjXC5vjN=hwbS zHfM@e>CRmMfji+~%_(15{VgdE6u6Qmk!78SwHK`n_&IZrfgzl2f4aAStYz~wW&z*; z$*%36m@d4TLFi*znUw6f+$NVsYzkovRb!^Rc!i2Hhucgf5jWsMpn>omxVzmJCg{`i5OUzLPwLo%`FV7#LJ z3yx&;f@`3KHWcukCymKIiIX*Ld}#sKSlOA@WO8##scE>Z@xJrR*ifM(7l0&SPhM8{ zK_>+YFA35M$A3Py3~W}JEd@yZj|f=YP{%hWky26 z`WA;SqfVh@BzhyrP!$xpbN%g<;tGT_5O)ovgtDO3EjL9l#WY*}oKq>_3gcj75|7TN z4)}Y5OjSCf`nL{k3t0u1N1Q7(dny)C+30)ac5{a)@YboR#LZ^>(g)F$#vs^$Hy(C^ z5@IyR9aX0*k=lCTI|50$zZkhiM3#DirV+;dOov2%*^e(tALfIadM zQ3DmyQ~7pJLm!>7mMzPL8n*#v&07^acWE2$*y-y+yQBZNo(5w5u-D<(_!(A1G+`D_ zUH`hoITif`yo$n)&NB_np!xFYjTMqQS#YLVNIRf?HcUL+gEfr>rJU!Ib}&lICn2_#rC+Tw|=*gQGRMu}_v`S0f3 z{C1Ux2>}uiGF|%+>6h(v(BMCulFRNIIX!HXD9pW6fk`ZfTxDjR0ji%=M4X%{o;ASW zO+*=_f%-YLn^n%fUgfaqzFAtS9rJtcqZiX%gsj$-*SQDBO}l&$yY+nWu`#IO=$$lJ zHm@4Ykjkr02fkc^Wq!&5oij)KF(J55Qzw56mh5|wau{_<8VY>(_+k*c+2-cM1A+oy)-s)&=jqZzVQAK z0|IDu`3khtZT;fY=po?guWSt@6$V-9qT9*?I=u7FpNh95E&ZV7EY%L=dT&<09PG60 zWlbU$woQ@`j$>N*qW(6V9>e#L;LUsuf-f?tUxsJu>yV+jYQ=D*zlE4*=LkRn5b$Qv zTX1kQxdg6O_CLv>G^)lZ#P;5NU=VrHjSFc_o=%};Ya7i=7STHP#c{Tx9w`-I*YE`wC1$Eu|O z!lAH%pb6TO#umI}UXdghjaTLwKdNwjkrpe;_q4&lA|ourLSR-!?kO1es~?KvEGt*< zu$gUA_pQJgN7W%5RUT)fm>3XYSwpnsU=_|e@PWKiT4T!j#u6^R8Q3mrP`X9^d5Hqh z_~j}P*@^66A@W?BnrK}7u>8EoeFG?n&I-) z8Ek&Pb)H)eK@RnAe!v_Z7zOMQ_0=rAxx;=3AI85CsD5q~*s@VBSg_reG@UrCm92bk z{y?==7t+!=pA+nyH%GS}==sKhmB8(o!!N>&w}eQJ+;0BX6Jpc1(=3BvfkpejF*Nfc z+%qzW+q6fE20?*?0zexisAj04@gWiLq7Q*JC>?D{n z4Y@jGECU|y-mn);2>{%!xzk&h%a^sv*u8~L@>~T(ZHO)r zlO*!2WW4=S%PBHc;S}Xe7E%DE0K+LO#V3^)r(z~VZgg2B=`z`CSNLI+^9B122K`~Y z)tAlRk}R6P)&rm(KgRg{BXw?dZH6_jwP-8VfT5P*0MO5l37^{dtwAxYt`!NCXVZBD z1y$rJyzx8!N^M2apiZ0XTh)8*KNhf-OM%v$=?w-OZ1?hFFozqwG_rhS;_7XNMR@PI z*yR?{fm<}fD2_BRDR*%Opzo^}5%<3}J*@)!Ez9Aa@_1TNvU5E~VZQ|0GDot*wtR^q zKfFSb?fs?j>70x|FD34a2M6EB8gewK~EFEC#-Gk=QM9qb2KV1Q#|GPJJN2O*n+IHgT^<1@BBuD2~dY^<4E~w zGUz8!)fVO)pv%T(mQ+waN71)+AgigC}@Vt&w-5`pe&sesMRc$Kw@0TONFbwHEI)_VqrPITkGo*lW z{8*AO^|7mUp#H|;w036)zZM?K4noqB7g*S;eXlhnoYU~x_t?b!#WLK% z@9&zj2Eo6Hm5tBRym7kZTbYZsq4Y-I(TaBJL4I>M+V{CT2kX3Rp@M@V$Ta@n{z{V; zQkLHtaNPYvJ7*0Bb0jB7e9&3Zxi{IPdx*mcA}*-z!WGn6odOh;ng)d7MBuu9i{$^- z>z5oFi-5P%yp4N!LITFfLJe4M?Bv&(2ZzX)vlos(DNlM`HWuo}ncalvEFu`M^oLMdOC}q82jZ|#h2~2e zUFH$<>0d)AP97RYA{Uh>D&^mkn_6WJ-L;dN^tQ239WTi#UQVYdCt#65G;yf+y^di6 zl0pBIT27-T54KQ}WO4{%$|v(1JoAGD30%kH1#KraUlt2rp@4HI#<29Q=uE>nH(GV0O0qTEIrH7Rim1;qxS(^s>;(> z;`bNc^$g?1i-K8>NdgNO%7;}QfI-!q6j1-O{>J|DP!ho`6`G>pAe}q7j4px?=<|gl zro6GRkV@_zvlc+X1Rt_r$ind$qjKB<-lMMSN|)b#Chts`1orvprdMmropXIJ-^^-M zI`ZZtKD#fhA;mk~x%9#k^pBm^)Zh*D={BSMdOYHc4a044T%8E9F4bt`6XsdUZfO3I ze!{!mf_5f=C?Qq4WJ0xg^)A*Le2Us59ECYD_#gMyVl|LRPn#{lk@&lXcKKBZ|Zh(Pre1Kc0LCK4GyF{I9IwuR< z*Sn&-f<4fM#QdHo2L$GlNRAvn5Xp{HTmz%$RG?DqF zn!8!-(<-wdhOGV}UeZJ}`Azy*qu`n6^Bg+?X??>OYic0C7>br1r1#>2c8%((QCl4C z8h%;lC`weBX`|Wv<^k19hJ=!T^_p0MVX1Qd$eh2pu6KNIl<938)*@2L_n)qvrvkMT z%k{6!W$2TVjK~-c(T6kMlkTY(OW>?B_N4Pv)zls&a{AmJ$9H;}tEca6zHpFOW*e zLYWb4?%YVp2brJpJr+f5QgbQbz5O8N*Hz9-ddtmR&zh^VXgN}57qbhAZsR&<7?kLSuGK^ z=BFcJT?svh5;vPlE8_RvR3hs4OE7$ivUK87VE%vg&6^MD-a;5y& z?Sb>jVAcvf*_lCB;blQ#`uk;=uU#bVJP7l@7cp?a-(KRL1(-%~2OAi8Hh*3F9a1A; z2_BT#o-6jUNQ|hbLsa=rqGffOI3=}<@Q%IcGjU7;X=O^&j)UCt(@qK9wH7Z7vi8A* zEu4r+ZT@lvA#*#ly*Z+y_B=8^BG>f`+Bl-t#MM(_3}g_dZUvl0WO>9&I#G4k~Jp?a9!TT ztj##lRmR8ixM#UDj(sx(~&xxKk|4%nmZf2Wd*wW)kRU`3z$nOuDut7LSUlJYA z7V;7{SLrLbfk(v`lVlwJgHQo;h|@}QAe)L)cgsL-pJ{tV z{;SyO`W#cHX*J`4qI!e6n%McWSA{B}EguKNi^mPvvNs>0LX=vqcS$@5D>{g^U|TONEJF5i_1$W&&*Y{%U&KJQp4>VhF59XLRv7ltVSg; zSf_8A=#JE{jUb5o`g~_>Qb79y78ougowJh=AA{l^u4&!-AVorq^Opd3##nt`=|~$6 z34n#5Ktx|YAqPW2m9Gb8x2F=rEe@XFx+GT^YD-4GlLlUBQi@!59#Q8s!jfc^4!Jr`8QL5X4e>d>X2E}mEStMFN z+;b(iRm1zzRoOn3<)3G1=yS-w)$0fh0zB{_9(NL~8gc(^oXwZ7b&>HG=G8$KrqG|# zB@j;fB&s4>d4}U_{UWX5IHNMF;|2yZNNP5rW^QJnqWx;|F#{cHni{KU=LKk{#vwbRh4Lns){ep? zLG8+=wN*_hCsldxJ_Bb%^@UKy4;#Vf16=}!2=-iDKm8qPh_SsvJfi)Dl$@t^wR(|k zbdF8pg=9z=f_l$l*t6Q&ta2cKmcH1z4D$0A5eDDDXvUCSuS8)$ zB$oFcAnB?`X6!0TV*caNFFG*NH?`E_^YDV`A&l-IkDV6QNnXyw?q0rV&mBp-0f#zm zF-wECpAhkC^K&_ttXpx0{L1~+I4$CVdp+cE|#y6YcImB zD^hRFlReu%^b(`*X&rLZwjU`Ws&8od1Lcc#ah&_!p@GM_Vxp(5$U!?65@v?4XLT|0 zPcTJe*6nh5Jm~+^nkU{rOES~6cM46MEgiCDf4pF+JyZj7f3QU?K&%|?*ujS&P6Kzw z8xq3S$Oq78(_pbmIvbgP#w9?4B8|YOb8uGm^gQ0|`Vww_NgEiLFdq<6SQ>pUz_rPh zGwX*uG5zxW#}wj`IYlWMpuFDW4xytSQe}u%V4`j73o>D{XznWXuv#J_%q)els|PVK zyiCY6xS+bNU#H{o1C#J~PNTo(oj6>~AsbaBMfH714B6RVWJ70Ahq&jsUm$C2-`1#s zfrlG)zldu>?pD#dilS95A$;Ga{;pVS9Jt>3d4`=~>#4f!Lcg(FF+iFK>n+z|ebT`g z(+&)++)HaHu#LBDB|CxWLk>ycb@tCSx%}ac2%L*|;J_l2<8q+KNqd#k?sYaw%&J=ureHb+_E`>|#xIJr$U;+KSUe?SYIoRvKD7)j z_w1@YZEBjEM7&@0Iven5xkjD|v~lWT5>3GRxwhT4_piHls!qmZ*kRXbdk`f_;B_@nl8j$@=lyiUV0|rEFRa{xLvj?OGRHS4<9X|mK3+wnXOJcAS-{|s90@Bt7jU+La?3iNI{ z$M8hQ8qiV*E4M%O8C#c9*~}(ap4*Mm;@!Eh6y;pRbPkt*FnW97LC;_2qrSif(Ji>_ zd8hMZW@ULVMlKF|ySy-&(Y*XM*0TicIYXbg2)^RbgwjpIL6`%x#wul%?^k)V4t;{z ziOZEsC2mX{ygRxiatgD9TH14xeL8Xijope&IgfI89joV2_u)EdF;hdssqd8q27f3o z1jZ+#>7106$oRLqbFqi5$ImO@PDNdWc~2f)>WD~+Qs`9LAWXW7I&No`_&-z;hs}p_ zJQg~|+#C&WN1jZTVMszb+DjbfVD|D4035gz)* zaZ2ETn}GI{&|_ZLae9AmlRntGOYg<43+#NjQcXtmi>(5DJe`i^gC(aZj(OqXF}LO& z%TLTs1p(J{CYq%VA$aC1YYDrg9)5SS>TPHk`2$&AtcKor?Pjx+QwnX)a`hMUT^3bH?RA5 zf7}Dk@3ILg8M&RVYK!kh>)8mJ+Oq%AS%duYj9_GeMW*|G2!A zZoP}mpxumve|%9$21aulP$qu@z>Wf)x$}KeSU17@w3c~WE^>31T7)xYjkyN&+WU^GnL6mHl=( zN28zXjub%i&AiQ0q*=&i)q}svABCR@T$e0*~qB&MjXv};vfy~iH zww0Vfy{w)d+l!7EFfK>$7xgsW82F)QbB%0f!P9! z1l2EMVC<3o8l>jh$%K9j)ro6h1OmgCY6Ii$!rBewEr3yp+Q|>e2P;s=X7=%+O)`h| z6<3S1m1`B~FR9$mwATXY37G-2sGJ=$gKCzJf>t4wyN{uY`Ip4fUUhsxLl5JajI{oV ze)mbXyG`xZU;>C^#^cJuJKUFQhB(vEMMsv+0aMlYXMpXC*2hxT`>@jrq~Z?L zEp_+H#TJUv62{U@Dv05;f;@uWq7|P0d~Rg289j1aXb7+rWS#lLJy`oYvu79WI2iAf zO`MI6huRo(!vd@UT7buNsC)l!(;?(p6Jpi@6CsTX#!)UqdQM&Borlw(73HjCC4)f&+b|Gq@!qxLpJ&yNrMN0VUbvh7yiCGlC zof-jY;dc%>UcELxAbQJ`%c}vb=`b`O_DyuBxUc`zC9;$t*5Ff~;?3Iz`bh~sGKf1z zeO1MJ{UY~Su-R9^oQkE@W@r92!e~Swbt-^NzlJjemmeUMt%JUOQW|e@%$foWoqrWm zfku=gWUF)#(aLA&SGivZymJb0jMTR!T4lnj-9!&P7F_3lk@X{lh1yz)Zg+j|)aphP zF9H9f&jCE_6XDIOWq4RM-*_wvu=2X}EM)jydV8`z#LwM-gXpsA0(Aozn?eoeN)!ec zVlX_-uR!er_1yb8w5|Q+MCq>#WK4~))SzDRi<$0txQLf zKoA@5Sg~|{fkI(F_2tHyrx!)84k8ppikN1IXwZxG7Nby$l$WLB_iE<~2|N z(t-&DR9~IpjojeeqeHA?ddWl3ST<)ka9DHf8<>(Mlp$ZOO|8YF5GiOq z9hZ$pX0$%)t||ZKHl~&)tWHF(;C{PGHsOA)!)}Yj0>*YA$-;2Iz1#0xRB_ZvLhm2y zGepahV4ry?uXPxw<{kZSXBo- zXOxrSq&axI(uMTVcZJ{9Wa`@L; z^DSbk3RB0)blCa~_9ayi>udp`g^i@GJj5G`0vaJa2jlJvlx-d|0XjnD_tbbfV3`+_P=W$DOkFpO!H@(Y`g)iu?0mpIO-Buo8l&o+k9j_xO5 zPpZH2K@`hWp^I!8BE!hq-KgP#GL5An_w!0tz|mS_%BQKv7ql8_?? z$Jfm`<4wOnt#Z!ybdkba8JdL84TAN=g!O0mCk8$I7y928)rE_^T*i2;f( zy7xVh!h=BaS$Zj7$xoJDC$SOx4nY@E(zo~R^WaA*#-^X+B?$hVE}ejW`I`p9!jv$i zdfjbiG=0+GNiCd`1T&RSAavkkc(8+C5X^C)q}z#(NWIq6V~)ZPMleUCNfl-{4BnjK z(9(6!;OzmbWrgVWs#y5l`76LvDH8!DWI(KucaBU>0{it+DoZqYkh$I_k<0a{Qrvl@ zcv!A(JJOA~R?}R4mQNsIHTKn-_Dno0F8lZN^=yzL^!;PRme6bDMnRLh1!Xo+GNp+F zsh1dX-!tKT(K>Mwb+hkoVX|)q7Uu2UN+$@^iOpNoi2DfMnh~ru`waaa5C(KZLR1rO z)wpF@KJtMN;%Prsak61+j6`- z0uDo6g4@mLWaL-R)HL#1;5j_M9BM!@m1+qTkg3dr@1ER~t%Q0~kWJGuL~8tH@@Wi} zkL&jw+~UyB6#v1is}&G}y%%rEYec;QLuiVEp1qk~%Sh2n|1AeTpAi;0#VeZkLtNmV ziCx)h)_x(%Wn9TMG7hFX$kz~B@0xEdA{DEnln(3ROZE5L>ZIP}55@vo-c?D)+&h2T@V za198vS)$Sh+WOK7KhGZ9o#(uY_`@#Na?_*=h3UxjG8z`HhhhD*&an1VrU4H)et3e% z6BjH#<~YLac=etsb;shM@v-4E)su|&pKJ6)(|3k<&<8t*CTxqlNT8|cVKghr*~?R1 zB>npc(*mu%0xJI)S}A%G)_j+Y$ivU$M0Z!~xz3ic*j_LrfK?YW?s=eH8wNaY(H7Jo z6-Glv?h6$j^H@x(zcsoK51#0VK>@FuF+YXXfM)#BV5YE9-E!MG@7=>RM}-bwZ>|Rv z7Fn~2RE_-)RpS^{?LmZ#HiYI8N7$6rQd`N`K!krs!y|jO`1-19AnSE~5lYG__@d9n zb|-}KOMe-|;M6^vY!E)4 z6~{@3Vp_;QPaO26P(FY7_*P2G1qhp57I=414OA%+@IA?dI0M5Zv6=_S!AHMk?f zlz+eqa8ejgV#A3QodzI=6a*6sNvk+bZ!;qsR|P8Y976+C_WxaDSI8Oe1l6A)eU!vM zJx;qQ1As%DC30mv#z`Y>dEI7$r#U~t-q5$#gH}rI`X{9{Alr?kD922sePF{$v;lPZ zrXxzn&poAY@M*q+~jvwvwCYz^Y(+W^w>T~M#(vBT|I+sLWKJT!ZQ!RLcEx1FxuE;ebXSS~ ziD%UP0@XL;PL&`5ocj($wtl7+gQt)G=VxNSl~i%p(4A7}Efd?JsUQ!h`2WjH;s8c` zOzs60;Bd2o2>F0r>M&Sp@R{?g)?v&C4a}Cvr+U*~&Gb^f^Nc2eaYhnF-OFjFg}d9zm@Uwlk1wsZ0ST1(WOo1>i2==O1`aGx6-N1 z1?AYQ7o0hKRNPSxYXA+DJRr}!WJ-B!gC+*gvUeJ_Q%wmI8LcA1%R>0@HpqvVEsjutSaCUOWCUdwKcoK1^yzsbo-BPe?QOetnU?rMGK$wU-h{8r za_yCKOT6WcxDM98YKT8Ps?m z!X``FQw`11L809>y8Uu57o6?8aTA4OnoQBba*+TitgTdYaCAer=x3Uj%LsC#Tk&#v z`W8Pf7Us+HSjz9ar0jnv%Sslm&h2)DKvd`i8DzxG+OFb=5;lwbpVE90K`45b{Z&4D zStokIv^dw4!B6GV_5R*(xf~Sc#TyF4RqA7)Xd>T9xvXm|+3JW}5B;PWmPyhIT9 zVWMl)Af{Hpzvfux&XRC3bjRU`Xw|QvqN5~^g)d#sX`*+55^!+~Wuexf9JOP-%mglA zBdQUW6lm1zCNS2si~=aSV+d%VlGXHOdptp${(S3IrQV*0@x4f_E}m>;XGY4F&khGn zLxL?Sh1`@4npr**)nep{-2ddGheff_J~oE)6F6>Ju?*9T=Rr+Dn*d zX5~d%ZYr!3U{{QTPC1EzsBk`HosQBuDFNtlt34g%Fu8}@lZ4V!%-@EQFeOSvV#j}{ z(-^PwJQ_i{I*XRs!@^q_C6O@Ue=w-i*D)Wju4oWJFXK@hx%Qt1IAWFm1qRaqE`aSd zUm}BS+u1zntukn(i|p?XXTd6L?gX-^Ff!qXW>36E(ps-Km}P0afKB+U(}v%=B}1Sd zclC;sSX=MW1vI~ev4J`I)pAdpqH9JIhhdhBfkpdY~@~MHrq&UhRJFu&o zFHZ7mWkQvwG|<#i%Z^p`|BmexMv1GlpMm5m`EoHbQdG*w>sPM5i{_eO8IwwFZ)>Y8 zXxBUEW|`h90OQyzfnhdQY2z=zza?jO4za?-4n(~^iQuQpp$Jj5S=3#AMIjvcG@~6q zWk|C9$cpHYmo2_Ft=xlyVgx&xbQQ1V#qM`g9BVa3!w*{s)c+JFYMu%4g2i0%a;Ym)q;Qiqg+kR5b>@XX}I!60tX;C)9};*w5Cm1DCcPlqw1%00R=l zdYi%M%nn$G7(L3fk~nWxo~=!R5~ZJEIK%sOzLCLOM&&k_KQbT_0>5D>rYj91<|NKh zxrV`1cqXyxZ4_kt2SsSv7sBsZcdu9akL8=Qk?B?jN&SUASV&Ov07#MRPK-xqYGB}|lyq7J}vOT*+RAbWwj+&d9Jt#pT4zkkq(PT$vsrZEW zjIM-n@b4^`5Q|osL4^vD8u0p2w1wR9gI=}3gDLsTOUXN7Y07BZvMG{;? zV-Fziv}oWsyDIM?8M_;)76+Eqjm;~#(K}gFJ+49z{&&81i>!X!Zy42^QWt_kAUlis z9k30x_6tiuN?zU5oDiC#tt0Ba1$B=ZEeSbVjFbN;b`v(ntG+rkGQ)pt{4l5(&l|ML zPlo+-Zi6OM59udEis#;A!{*G&XHq!J6k|C6abLl1H$fP(TL!B!XB(CSi5Vs2t*sd1 zj6Wf%9>lx0=dFFS)!f9)q=KWw?sYcF&>`3oMJlrKg_lB#wlvQJx2|HO_C*goe=hmw zkpU_N)%t~8`VIqTtFfdqPOf3|h*e;7#t3BY71{7$kHH2X%UpKXoUx zDdP>bPs^5p-!XjX?IWpuT9`FJ9(X#l7JY)*7rVBbIbrrz7HU0}FY|3bG7ZSBOX*dz z>@E>}=*BRF!UsKlWG8NECG+uH?uByc<&?z*m_y(mdsa4S)e&|z9C=yZY`JNKY%4VK zM$)<*v+gd2I{iRO0@ywZ_BYZ!OzErCy-rgAu`B#y?9U=af7#1?UAg>y+Ny zj&p%uFWN6@Kjx9K5=B4z1~zqZ9yAi{GZ~F>HYp!SIaw36UoZTu%+Xtwch7%-`~8M{ z4G<=NE4TykSdPK+7tzibD zJk#C?$%Tb6-7ebsCz`e-m!1pG=q7mAR-f{4$~tk#HW3>7J*Vk(D9yMXdrJesB=rhR(W zc@L!Kes^7uiS8C)SI3yciRf5fB2#Au*)`?{0u&xI-T0FaI%!`^iL zSjKvDRH3(NTa;_960H%gKnA9QjCMwJ7ze-1chQ{MbRDxUm8j5Sl(cu|uGfV)UJ`5U zV~F&<@B7$xT6fV5f$Hx|OK$OtxX9IMTL)iJ!=cXcJlF;)lzfZ~fdmUf7JLs&XE05y zXkMu;=13X~;=I7m3v@lv?g>ec>+IQl$a=FrY*e^ zLEoX`ypbH2Vw8Lm?h_Y*oT6!kB z<^xSAXyZ0*6XMQhob#+n)^c%WQml?KbnPw1R$}quA5&@5yPaU z&?cG6YN={zeO?`%D`c~^RWFeV#em8*ao|+`jsF@gTASjY@%nuzUt6E1{N&vsRb5}{ znKb1|y$?Kj3V%;D0y0E)VMeQ%bQ{+n+An89#`)F~tg^=00g_-x00000TgLtjW%tHK f00H%}Re<295&!@I>{_Cz6c;-%0{{R300dcDca*bg diff --git a/public/components.json b/public/components.json index 2e753d72dd..177517c035 100644 --- a/public/components.json +++ b/public/components.json @@ -1,88178 +1,96483 @@ { - "modules": [ - { - "name": "abacas", - "path": "modules/nf-core/abacas/meta.yml", - "type": "module", - "meta": { - "name": "abacas", - "description": "contiguate draft genome assembly", - "keywords": ["genome", "assembly", "contiguate"], - "tools": [ - { - "abacas": { - "description": "ABACAS is intended to rapidly contiguate (align, order, orientate),\nvisualize and design primers to close gaps on shotgun assembled\ncontigs based on a reference sequence.\n", - "homepage": "http://abacas.sourceforge.net/documentation.html", - "documentation": "http://abacas.sourceforge.net/documentation.html", - "doi": "10.1093/bioinformatics/btp347", - "licence": ["GPL v2-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "scaffold": { - "type": "file", - "description": "Fasta file containing scaffold", - "pattern": "*.{fasta,fa}" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA reference file", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "results": { - "type": "files", - "description": "List containing abacas output files\n[ 'test.abacas.bin', 'test.abacas.fasta', 'test.abacas.gaps',\n'test.abacas.gaps.tab', 'test.abacas.nucmer.delta',\n'test.abacas.nucmer.filtered.delta', 'test.abacas.nucmer.tiling',\n'test.abacas.tab', 'test.abacas.unused.contigs.out',\n'test.abacas.MULTIFASTA.fa' ]\n", - "pattern": "*.{abacas}*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "abricate_run", - "path": "modules/nf-core/abricate/run/meta.yml", - "type": "module", - "meta": { - "name": "abricate_run", - "description": "Screen assemblies for antimicrobial resistance against multiple databases", - "keywords": ["bacteria", "assembly", "antimicrobial reistance"], - "tools": [ - { - "abricate": { - "description": "Mass screening of contigs for antibiotic resistance genes", - "homepage": "https://github.com/tseemann/abricate", - "documentation": "https://github.com/tseemann/abricate", - "tool_dev_url": "https://github.com/tseemann/abricate", - "licence": ["GPL v2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "assembly": { - "type": "file", - "description": "FASTA, GenBank or EMBL formatted file", - "pattern": "*.{fa,fasta,fna,fa.gz,fasta.gz,fna.gz,gbk,gbk.gz,embl,embl.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "report": { - "type": "file", - "description": "Tab-delimited report of results", - "pattern": "*.{txt}" - } - } - ], - "authors": ["@rpetit3"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "abricate_summary", - "path": "modules/nf-core/abricate/summary/meta.yml", - "type": "module", - "meta": { - "name": "abricate_summary", - "description": "Screen assemblies for antimicrobial resistance against multiple databases", - "keywords": ["bacteria", "assembly", "antimicrobial reistance"], - "tools": [ - { - "abricate": { - "description": "Mass screening of contigs for antibiotic resistance genes", - "homepage": "https://github.com/tseemann/abricate", - "documentation": "https://github.com/tseemann/abricate", - "tool_dev_url": "https://github.com/tseemann/abricate", - "licence": ["GPL v2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "assembly": { - "type": "file", - "description": "FASTA, GenBank or EMBL formatted file", - "pattern": "*.{fa,fasta,fna,fa.gz,fasta.gz,fna.gz,gbk,gbk.gz,embl,embl.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "summary": { - "type": "file", - "description": "Tab-delimited report of aggregated results", - "pattern": "*.{txt}" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "adapterremoval", - "path": "modules/nf-core/adapterremoval/meta.yml", - "type": "module", - "meta": { - "name": "adapterremoval", - "description": "Trim sequencing adapters and collapse overlapping reads", - "keywords": ["trimming", "adapters", "merging", "fastq"], - "tools": [ - { - "adapterremoval": { - "description": "The AdapterRemoval v2 tool for merging and clipping reads.", - "homepage": "https://github.com/MikkelSchubert/adapterremoval", - "documentation": "https://adapterremoval.readthedocs.io", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n", - "pattern": "*.{fq,fastq,fq.gz,fastq.gz}" - } - }, - { - "adapterlist": { - "type": "file", - "description": "Optional text file containing list of adapters to look for for removal with one adapter per line. Otherwise will look for default adapters (see AdapterRemoval man page), or can be modified to remove user-specified adapters via ext.args." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "singles_truncated": { - "type": "file", - "description": "Adapter trimmed FastQ files of either single-end reads, or singleton\n'orphaned' reads from merging of paired-end data (i.e., one of the pair\nwas lost due to filtering thresholds).\n", - "pattern": "*.truncated.fastq.gz" - } - }, - { - "discarded": { - "type": "file", - "description": "Adapter trimmed FastQ files of reads that did not pass filtering\nthresholds.\n", - "pattern": "*.discarded.fastq.gz" - } - }, - { - "pair1_truncated": { - "type": "file", - "description": "Adapter trimmed R1 FastQ files of paired-end reads that did not merge\nwith their respective R2 pair due to long templates. The respective pair\nis stored in 'pair2_truncated'.\n", - "pattern": "*.pair1.truncated.fastq.gz" - } - }, - { - "pair2_truncated": { - "type": "file", - "description": "Adapter trimmed R2 FastQ files of paired-end reads that did not merge\nwith their respective R1 pair due to long templates. The respective pair\nis stored in 'pair1_truncated'.\n", - "pattern": "*.pair2.truncated.fastq.gz" - } - }, - { - "collapsed": { - "type": "file", - "description": "Collapsed FastQ of paired-end reads that successfully merged with their\nrespective R1 pair but were not trimmed.\n", - "pattern": "*.collapsed.fastq.gz" - } - }, - { - "collapsed_truncated": { - "type": "file", - "description": "Collapsed FastQ of paired-end reads that successfully merged with their\nrespective R1 pair and were trimmed of adapter due to sufficient overlap.\n", - "pattern": "*.collapsed.truncated.fastq.gz" - } - }, - { - "log": { - "type": "file", - "description": "AdapterRemoval log file", - "pattern": "*.settings" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@maxibor", "@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "adapterremovalfixprefix", - "path": "modules/nf-core/adapterremovalfixprefix/meta.yml", - "type": "module", - "meta": { - "name": "adapterremovalfixprefix", - "description": "Fixes prefixes from AdapterRemoval2 output to make sure no clashing read names are in the output. For use with DeDup.", - "keywords": ["adapterremoval", "fastq", "dedup"], - "tools": [ - { - "adapterremovalfixprefix": { - "description": "Fixes adapter removal prefixes to make sure no clashing read names are in the output.", - "homepage": "https://github.com/apeltzer/AdapterRemovalFixPrefix", - "tool_dev_url": "https://github.com/apeltzer/AdapterRemovalFixPrefix", - "doi": "10.1186/s13059-016-0918-z", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "FASTQ file from AdapterRemoval2", - "pattern": "*.{fq.gz,fastq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fixed_fastq": { - "type": "file", - "description": "FASTQ file with fixed read prefixes for DeDup", - "pattern": "*.{fq.gz}" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "admixture", - "path": "modules/nf-core/admixture/meta.yml", - "type": "module", - "meta": { - "name": "admixture", - "description": "ADMIXTURE is a program for estimating ancestry in a model-based manner from large autosomal SNP genotype datasets, where the individuals are unrelated (for example, the individuals in a case-control association study).", - "keywords": ["ancestry", "population genetics", "admixture", "reference panels", "gwas"], - "tools": [ - { - "admixture": { - "description": "ADMIXTURE is a software tool for maximum likelihood estimation of individual ancestries from multilocus SNP genotype datasets.", - "homepage": "https://dalexander.github.io/admixture/", - "documentation": "https://dalexander.github.io/admixture/admixture-manual.pdf", - "doi": "10.1101/gr.094052.109", - "licence": "['Free for Academic Use']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed_ped_geno": { - "type": "file", - "description": "One of PLINK \".bed\" file or PLINK \".ped\" or EIGENSTRAT \".geno\" file. If you provide \".bed\" then you need to provide \".bim\" and \"fam\" files. If you provide \".ped\" or \".geno\" then you need to provide a \".map\" file and an empty channel.", - "pattern": "*.{bed}" - } - }, - { - "bim_map": { - "type": "file", - "description": "Mandatory accompanying file. One of PLINK \".bim\" file or PLINK \".map\" file. Provide \".bim\" if \".bed\" is the input. Provide \".map\" if \".ped\" or \".geno\" is the input.", - "pattern": "*.{bim}" - } - }, - { - "fam": { - "type": "file", - "description": "PLINK \".fam\" file. Mandatory if you provide \".bed\" as input. Replace with an empty channel if input is \".ped\" or \".geno\".", - "pattern": "*.{fam}" - } - }, - { - "K": { - "type": "value", - "description": "Belief of the number of ancestral populations.", - "pattern": "{*}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "Q-ancestry-fractions": { - "type": "file", - "description": "Space-delimited files containing ancestry fractions. The output filenames have the number of populations (K) that was assumed for the analysis.", - "pattern": "*.{Q}" - } - }, - { - "P-allele-frequencies": { - "type": "file", - "description": "Space-delimited files containing the allele frequencies of the inferred ancestral populations. The output filenames have the number of populations (K) that was assumed for the analysis.", - "pattern": "*.{P}" - } - } - ], - "authors": ["@atrigila"] - } - }, - { - "name": "affy_justrma", - "path": "modules/nf-core/affy/justrma/meta.yml", - "type": "module", - "meta": { - "name": "affy_justrma", - "description": "Read CEL files into an ExpressionSet and generate a matrix", - "keywords": ["affy", "microarray", "expression", "matrix"], - "tools": [ - { - "affy": { - "description": "Methods for Affymetrix Oligonucleotide Arrays", - "homepage": "https://www.bioconductor.org/packages/release/bioc/html/affy.html", - "documentation": "https://www.bioconductor.org/packages/release/bioc/html/affy.html", - "tool_dev_url": "https://github.com/Bioconductor/affy", - "doi": "10.1093/bioinformatics/btg405", - "licence": "['LGPL >=2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "samplesheet": { - "type": "file", - "description": "CSV or TSV format sample sheet with sample metadata and CEL file names\n" - } - }, - { - "celfiles_dir": { - "type": "list", - "description": "Path to a directory containing CEL files", - "pattern": "*.{CEL,CEL.gz}" - } - }, - { - "description": { - "type": "file", - "description": "Optional description file in MIAME format\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "expression": { - "type": "file", - "description": "TSV-format intensity matrix", - "pattern": "matrix.tsv" - } - }, - { - "annotation": { - "type": "file", - "description": "TSV-format annotation table", - "pattern": "*.annotation.tsv" - } - }, - { - "rds": { - "type": "file", - "description": "Serialised ExpressionSet object", - "pattern": "*.rds" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@pinin4fjords"] - }, - "pipelines": [ - { - "name": "differentialabundance", - "version": "1.2.0" - } - ] - }, - { - "name": "agat_convertspgff2gtf", - "path": "modules/nf-core/agat/convertspgff2gtf/meta.yml", - "type": "module", - "meta": { - "name": "agat_convertspgff2gtf", - "description": "Converts a GFF/GTF file into a proper GTF file\n", - "keywords": ["genome", "gff", "gtf", "conversion"], - "tools": [ - { - "agat": { - "description": "AGAT is a toolkit for manipulation and getting information from GFF/GTF files", - "homepage": "https://github.com/NBISweden/AGAT", - "documentation": "https://agat.readthedocs.io/", - "tool_dev_url": "https://github.com/NBISweden/AGAT", - "doi": "10.5281/zenodo.3552717", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gff": { - "type": "file", - "description": "Annotation file in GFF3/GTF format", - "pattern": "*.{gff, gtf}" - } - } - ], - "output": [ - { - "output_gtf": { - "type": "file", - "description": "Annotation file in GTF format", - "pattern": "*.{gtf}" - } - }, - { - "log": { - "type": "file", - "description": "Log file of the conversion process", - "pattern": "*.{log}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@toniher"] - } - }, - { - "name": "agat_convertspgxf2gxf", - "path": "modules/nf-core/agat/convertspgxf2gxf/meta.yml", - "type": "module", - "meta": { - "name": "agat_convertspgxf2gxf", - "description": "Fixes and standardizes GFF/GTF files and outputs a cleaned GFF/GTF file\n", - "keywords": ["genome", "gff", "gtf", "conversion"], - "tools": [ - { - "agat": { - "description": "AGAT is a toolkit for manipulation and getting information from GFF/GTF files", - "homepage": "https://github.com/NBISweden/AGAT", - "documentation": "https://agat.readthedocs.io/", - "tool_dev_url": "https://github.com/NBISweden/AGAT", - "doi": "10.5281/zenodo.3552717", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gff": { - "type": "file", - "description": "Annotation file in GFF3/GTF format", - "pattern": "*.{gff, gtf}" - } - } - ], - "output": [ - { - "output_gff": { - "type": "file", - "description": "Cleaned annotation file in GFF3 format", - "pattern": "*.{gff}" - } - }, - { - "log": { - "type": "file", - "description": "Log file of the conversion process", - "pattern": "*.{log}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@toniher"] - } - }, - { - "name": "agat_spstatistics", - "path": "modules/nf-core/agat/spstatistics/meta.yml", - "type": "module", - "meta": { - "name": "agat_spstatistics", - "description": "Provides different type of statistics in text format from a GFF/GTF annotation file\n", - "keywords": ["genome", "gff", "gtf", "statistics"], - "tools": [ - { - "agat": { - "description": "AGAT is a toolkit for manipulation and getting information from GFF/GTF files", - "homepage": "https://github.com/NBISweden/AGAT", - "documentation": "https://agat.readthedocs.io/", - "tool_dev_url": "https://github.com/NBISweden/AGAT", - "doi": "10.5281/zenodo.3552717", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gff": { - "type": "file", - "description": "Annotation file in GFF3/GTF format", - "pattern": "*.{gff, gtf}" - } - } - ], - "output": [ - { - "stats_file": { - "type": "file", - "description": "Output of Statistics execution", - "pattern": "*.{txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@toniher"] - } - }, - { - "name": "agat_sqstatbasic", - "path": "modules/nf-core/agat/sqstatbasic/meta.yml", - "type": "module", - "meta": { - "name": "agat_sqstatbasic", - "description": "Provides basic statistics in text format from a GFF/GTF annotation file\n", - "keywords": ["genome", "gff", "gtf", "statistics"], - "tools": [ - { - "agat": { - "description": "AGAT is a toolkit for manipulation and getting information from GFF/GTF files", - "homepage": "https://github.com/NBISweden/AGAT", - "documentation": "https://agat.readthedocs.io/", - "tool_dev_url": "https://github.com/NBISweden/AGAT", - "doi": "10.5281/zenodo.3552717", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gff": { - "type": "file", - "description": "Annotation file in GFF3/GTF format", - "pattern": "*.{gff, gtf}" - } - } - ], - "output": [ - { - "stats_file": { - "type": "file", - "description": "Output of Statistics execution", - "pattern": "*.{txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@toniher"] - } - }, - { - "name": "agrvate", - "path": "modules/nf-core/agrvate/meta.yml", - "type": "module", - "meta": { - "name": "agrvate", - "description": "Rapid identification of Staphylococcus aureus agr locus type and agr operon variants", - "keywords": ["fasta", "virulence", "Staphylococcus aureus"], - "tools": [ - { - "agrvate": { - "description": "Rapid identification of Staphylococcus aureus agr locus type and agr operon variants.", - "homepage": "https://github.com/VishnuRaghuram94/AgrVATE", - "documentation": "https://github.com/VishnuRaghuram94/AgrVATE", - "tool_dev_url": "https://github.com/VishnuRaghuram94/AgrVATE", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "A Staphylococcus aureus fasta file.", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "summary": { - "type": "file", - "description": "A summary of the agrvate assessement", - "pattern": "*-summary.tab" - } - }, - { - "results_dir": { - "type": "directory", - "description": "Results of the agrvate assessement", - "pattern": "*-results" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@abhi18av"] - } - }, - { - "name": "allelecounter", - "path": "modules/nf-core/allelecounter/meta.yml", - "type": "module", - "meta": { - "name": "allelecounter", - "description": "Generates a count of coverage of alleles", - "keywords": ["allele", "count"], - "tools": [ - { - "allelecounter": { - "description": "Takes a file of locations and a [cr|b]am file and generates a count of coverage of each allele at that location (given any filter settings)", - "homepage": "https://github.com/cancerit/alleleCount", - "documentation": "https://github.com/cancerit/alleleCount", - "tool_dev_url": "https://github.com/cancerit/alleleCount", - "licence": "A-GPL 3.0" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "loci": { - "type": "file", - "description": "loci file ", - "pattern": "*.{tsv}" - } - }, - { - "fasta": { - "type": "file", - "description": "Input genome fasta file. Required when passing CRAM files." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "alleleCount": { - "type": "file", - "description": "Allele count file", - "pattern": "*.{alleleCount}" - } - } - ], - "authors": ["@fullama", "@fbdtemme"] - } - }, - { - "name": "ampcombi", - "path": "modules/nf-core/ampcombi/meta.yml", - "type": "module", - "meta": { - "name": "ampcombi", - "description": "A tool to parse and summarise results from antimicrobial peptides tools and present functional classification.", - "keywords": [ - "antimicrobial peptides", - "amps", - "parsing", - "reporting", - "align", - "macrel", - "amplify", - "hmmsearch", - "neubi", - "ampir", - "DRAMP" - ], - "tools": [ - { - "ampcombi": { - "description": "This tool parses the results of amp prediction tools into a single table and aligns the hits against a reference database of antimicrobial peptides for functional classifications.", - "homepage": "https://github.com/Darcy220606/AMPcombi", - "documentation": "https://github.com/Darcy220606/AMPcombi", - "tool_dev_url": "https://github.com/Darcy220606/AMPcombi/tree/dev", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "amp_input": { - "type": "folder or filelist", - "description": "The path to the directory containing the results for the AMP tools for each sample processed or a list of files corresponding to each file generated by AMP tools." - } - }, - { - "faa_input": { - "type": "folder or file", - "description": "The path to the folder or file corresponding to the respective protein fasta files with '.faa' extension. Filenames have to contain the corresponding sample-name, i.e. sample_1.faa", - "pattern": "*/" - } - }, - { - "amp_database": { - "type": "directory", - "description": "The path to the folder containing the fasta and tsv database files.", - "pattern": "*/" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "An alignment file containing the results from the DIAMOND alignment step done on all AMP hits.", - "pattern": "/*/*_diamond_matches.txt" - } - }, - { - "csv": { - "type": "file", - "description": "A file containing the summary report of all predicted AMP hits from all AMP tools given as input and the corresponding taxonomic and functional classification from the alignment step.", - "pattern": "/*/*_ampcombi.csv" - } - }, - { - "faa": { - "type": "file", - "description": "A fasta file containing the amino acid sequences of all predicted AMP hits.", - "pattern": "/*/*_amp.faa" - } - }, - { - "log": { - "type": "file", - "description": "A log file that captures the standard output ina log file. Can be activated by `--log`.", - "pattern": "*.log" - } - }, - { - "sample_dir": { - "type": "directory", - "description": "The output directory that contains the summary output and related alignment files for one sample.", - "pattern": "/*" - } - }, - { - "results_db": { - "type": "directory", - "description": "If the AMP reference database is not provided by the user using the flag `--amp_database', by default the DRAMP database will be downloaded, filtered and stored in this folder.", - "pattern": "/amp_ref_database" - } - }, - { - "results_db_fasta": { - "type": "file", - "description": "AMP reference database fasta file, cleaned of diamond-uncompatible characters.", - "pattern": "/amp_ref_database/*.clean.fasta" - } - }, - { - "results_db_dmd": { - "type": "file", - "description": "AMP reference database converted to DIAMOND database format.", - "pattern": "/amp_ref_database/*.dmnd" - } - }, - { - "results_db_tsv": { - "type": "file", - "description": "AMP reference database in tsv-format with two columns containing header and sequence.", - "pattern": "/amp_ref_database/*.tsv" - } - }, - { - "summary_csv": { - "type": "file", - "description": "A file that concatenates all samples ampcombi summaries. This is activated with `--complete_summary true`.", - "pattern": "AMPcombi_summary.html" - } - }, - { - "summary_html": { - "type": "file", - "description": "A file that concatenates all samples ampcombi summaries. This is activated with `--complete_summary true`.", - "pattern": "AMPcombi_summary.html" - } - } - ], - "authors": ["@darcy220606", "@louperelo"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "ampir", - "path": "modules/nf-core/ampir/meta.yml", - "type": "module", - "meta": { - "name": "ampir", - "description": "A fast and user-friendly method to predict antimicrobial peptides (AMPs) from any given size protein dataset. ampir uses a supervised statistical machine learning approach to predict AMPs.", - "keywords": ["ampir", "amp", "antimicrobial peptide prediction"], - "tools": [ - { - "ampir": { - "description": "A toolkit to predict antimicrobial peptides from protein sequences on a genome-wide scale.", - "homepage": "https://github.com/Legana/ampir", - "documentation": "https://cran.r-project.org/web/packages/ampir/index.html", - "tool_dev_url": "https://github.com/Legana/ampir", - "doi": "10.1093/bioinformatics/btaa653", - "licence": ["GPL v2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "faa": { - "type": "file", - "description": "FASTA file containing amino acid sequences", - "pattern": "*.{faa,fasta}" - } - }, - { - "model": { - "type": "string", - "description": "Built-in model for AMP prediction", - "pattern": "{precursor,mature}" - } - }, - { - "min_length": { - "type": "integer", - "description": "Minimum protein length for which predictions will be generated", - "pattern": "[0-9]+" - } - }, - { - "min_probability": { - "type": "number", - "description": "Cut-off for AMP prediction", - "pattern": "[0-9].[0-9]+" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "amps_faa": { - "type": "file", - "description": "File containing AMP predictions in amino acid FASTA format", - "pattern": "*.{faa}" - } - }, - { - "amps_tsv": { - "type": "file", - "description": "File containing AMP predictions in TSV format", - "pattern": "*.tsv" - } - } - ], - "authors": ["@jasmezz"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "amplify_predict", - "path": "modules/nf-core/amplify/predict/meta.yml", - "type": "module", - "meta": { - "name": "amplify_predict", - "description": "AMPlify is an attentive deep learning model for antimicrobial peptide prediction.", - "keywords": ["antimicrobial peptides", "AMPs", "prediction", "model"], - "tools": [ - { - "amplify": { - "description": "Attentive deep learning model for antimicrobial peptide prediction", - "homepage": "https://github.com/bcgsc/AMPlify", - "documentation": "https://github.com/bcgsc/AMPlify", - "tool_dev_url": "https://github.com/bcgsc/AMPlify", - "doi": "10.1186/s12864-022-08310-4", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "faa": { - "type": "file", - "description": "amino acid sequences fasta", - "pattern": "*.{fa,fa.gz,faa,faa.gz,fasta,fasta.gz}" - } - }, - { - "model_dir": { - "type": "directory", - "description": "Directory of where models are stored (optional)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "amino acid sequences with prediction (AMP, non-AMP) and probability scores", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@louperelo"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "amps", - "path": "modules/nf-core/amps/meta.yml", - "type": "module", - "meta": { - "name": "amps", - "description": "Post-processing script of the MaltExtract component of the HOPS package", - "keywords": [ - "malt", - "MaltExtract", - "HOPS", - "amps", - "alignment", - "metagenomics", - "ancient DNA", - "aDNA", - "palaeogenomics", - "archaeogenomics", - "microbiome", - "authentication", - "damage", - "edit distance", - "post Post-processing", - "visualisation" - ], - "tools": [ - { - "amps": { - "description": "Post-processing script of the MaltExtract tool for ancient metagenomics", - "homepage": "https://github.com/rhuebler/HOPS", - "documentation": "https://github.com/keyfm/amps", - "tool_dev_url": "https://github.com/keyfm/amps", - "doi": "10.1186/s13059-019-1903-0", - "licence": ["GPL >=3"] - } - } - ], - "input": [ - { - "maltextract_results": { - "type": "directory", - "description": "MaltExtract output directory", - "pattern": "results/" - } - }, - { - "taxon_list": { - "type": "file", - "description": "List of target taxa to evaluate used in MaltExtract", - "pattern": "*.txt" - } - }, - { - "filter": { - "type": "string", - "description": "The filter mode used in MaltExtract", - "pattern": "def_anc|default|scan|ancient|crawl" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "Candidate summary heatmap in MultiQC compatible JSON format", - "pattern": "heatmap_overview_Wevid.json" - } - }, - { - "summary_pdf": { - "type": "file", - "description": "Candidate summary heatmap in PDF format", - "pattern": "heatmap_overview_Wevid.pdf" - } - }, - { - "tsv": { - "type": "file", - "description": "Candidate summary heatmap in TSV format", - "pattern": "heatmap_overview_Wevid.tsv" - } - }, - { - "candidate_pdfs": { - "type": "directory", - "description": "Directory of per sample output PDFs organised by reference", - "pattern": "pdf_candidate_profiles/" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "amrfinderplus_run", - "path": "modules/nf-core/amrfinderplus/run/meta.yml", - "type": "module", - "meta": { - "name": "amrfinderplus_run", - "description": "Identify antimicrobial resistance in gene or protein sequences", - "keywords": ["bacteria", "fasta", "antibiotic resistance"], - "tools": [ - { - "amrfinderplus": { - "description": "AMRFinderPlus finds antimicrobial resistance and other genes in protein or nucleotide sequences.", - "homepage": "https://github.com/ncbi/amr/wiki", - "documentation": "https://github.com/ncbi/amr/wiki", - "tool_dev_url": "https://github.com/ncbi/amr", - "doi": "10.1038/s41598-021-91456-0", - "licence": ["Public Domain"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Nucleotide or protein sequences in FASTA format", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz,faa,faa.gz}" - } - }, - { - "db": { - "type": "file", - "description": "A compressed tarball of the AMRFinderPlus database to query", - "pattern": "*.tar.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "report": { - "type": "file", - "description": "AMRFinder+ final report", - "pattern": "*.tsv" - } - }, - { - "mutation_report": { - "type": "file", - "description": "Report of organism-specific point-mutations", - "pattern": "*-mutations.tsv" - } - }, - { - "tool_version": { - "type": "string", - "description": "The version of the tool in string format (useful for downstream tools such as hAMRronization)" - } - }, - { - "db_version": { - "type": "string", - "description": "The version of the used database in string format (useful for downstream tools such as hAMRronization)" - } - } - ], - "authors": ["@rpetit3", "@louperelo", "@jfy133"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "amrfinderplus_update", - "path": "modules/nf-core/amrfinderplus/update/meta.yml", - "type": "module", - "meta": { - "name": "amrfinderplus_update", - "description": "Identify antimicrobial resistance in gene or protein sequences", - "keywords": ["bacteria", "fasta", "antibiotic resistance"], - "tools": [ - { - "amrfinderplus": { - "description": "AMRFinderPlus finds antimicrobial resistance and other genes in protein or nucleotide sequences.", - "homepage": "https://github.com/ncbi/amr/wiki", - "documentation": "https://github.com/ncbi/amr/wiki", - "tool_dev_url": "https://github.com/ncbi/amr", - "doi": "10.1038/s41598-021-91456-0", - "licence": ["Public Domain"] - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "db": { - "type": "file", - "description": "The latest AMRFinder+ database in a compressed tarball", - "pattern": "*.tar.gz" - } - } - ], - "authors": ["@rpetit3"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "angsd_contamination", - "path": "modules/nf-core/angsd/contamination/meta.yml", - "type": "module", - "meta": { - "name": "angsd_contamination", - "description": "A tool to estimate nuclear contamination in males based on heterozygosity in the female chromosome.", - "keywords": ["angsd", "population genetics", "nuclear contamination estimate"], - "tools": [ - { - "angsd": { - "description": "ANGSD: Analysis of next generation Sequencing Data", - "homepage": "http://www.popgen.dk/angsd/", - "documentation": "http://www.popgen.dk/angsd/", - "tool_dev_url": "https://github.com/ANGSD/angsd", - "doi": "10.1186/s12859-014-0356-4", - "licence": "['GPL v3, MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "icounts": { - "type": "file", - "description": "Internal format for dumping binary single chrs. Useful for ANGSD contamination", - "pattern": "*.icnts.gz" - } - }, - { - "hapmap_file": { - "type": "file", - "description": "A list of variable sites to look for heterozygosity." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "Contamination estimation output.", - "pattern": "*.txt" - } - } - ], - "authors": ["@jbv2"] - } - }, - { - "name": "angsd_docounts", - "path": "modules/nf-core/angsd/docounts/meta.yml", - "type": "module", - "meta": { - "name": "angsd_docounts", - "description": "Calculates base frequency statistics across reference positions from BAM.", - "keywords": ["angsd", "population genetics", "allele counts", "doCounts"], - "tools": [ - { - "angsd": { - "description": "ANGSD: Analysis of next generation Sequencing Data", - "homepage": "http://www.popgen.dk/angsd/", - "documentation": "http://www.popgen.dk/angsd/", - "tool_dev_url": "https://github.com/ANGSD/angsd", - "doi": "10.1186/s12859-014-0356-4", - "licence": "['GPL v3, MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "A list of BAM or CRAM files", - "pattern": "*.{bam,cram}" - } - }, - { - "bai": { - "type": "file", - "description": "List of BAM/CRAM index files", - "pattern": "*.{bai,csi}" - } - }, - { - "minqfile": { - "type": "file", - "description": "File with individual quality score thresholds", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "depth_sample": { - "type": "file", - "description": "Distribution of sequencing depths", - "pattern": "*.depthSample" - } - }, - { - "depth_global": { - "type": "file", - "description": "Distribution of sequencing depths", - "pattern": "*.depthGlobal" - } - }, - { - "qs": { - "type": "file", - "description": "Distribution of scores", - "pattern": "*.qs" - } - }, - { - "pos": { - "type": "file", - "description": "Various types of depth statistics (depending on value for -dumpCounts)", - "pattern": "*.pos.gz" - } - }, - { - "counts": { - "type": "file", - "description": "Various types of statistics (related to pos.gz)", - "pattern": "*.counts.gz" - } - }, - { - "icounts": { - "type": "file", - "description": "Internal format for dumping binary single chrs. Useful for ANGSD contamination", - "pattern": "*.icnts.gz" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "annotsv_annotsv", - "path": "modules/nf-core/annotsv/annotsv/meta.yml", - "type": "module", - "meta": { - "name": "annotsv_annotsv", - "description": "Annotation and Ranking of Structural Variation", - "keywords": ["annotation", "structural variants", "vcf", "bed", "tsv"], - "tools": [ - { - "annotsv": { - "description": "Annotation and Ranking of Structural Variation", - "homepage": "https://lbgi.fr/AnnotSV/", - "documentation": "https://lbgi.fr/AnnotSV/", - "tool_dev_url": "https://github.com/lgmgeo/AnnotSV", - "licence": "GPL-3.0" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sv_vcf": { - "type": "file", - "description": "A VCF or BED file containing the structural variants to be annotated", - "pattern": "*.{bed,vcf,vcf.gz}" - } - }, - { - "sv_vcf_index": { - "type": "file", - "description": "OPTIONAL - The index for gzipped VCF files", - "pattern": "*.tbi" - } - }, - { - "candidate_small_variants": { - "type": "file", - "description": "OPTIONAL - A file containing candidate small variants", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing annotations information\n" - } - }, - { - "annotations": { - "type": "directory", - "description": "The directory containing the annotations (URL to download this will be made available soon)\nFor now this can be downloaded in the way defined in the repo (https://github.com/lgmgeo/AnnotSV#quick-installation)\n" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing candidate genes information\n" - } - }, - { - "candidate_genes": { - "type": "file", - "description": "OPTIONAL - A file containing genes (either space-separated, tab-separated or line-break-separated)", - "pattern": "*.txt" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing candidate false positive SNV information\n" - } - }, - { - "false_positive_snv": { - "type": "file", - "description": "OPTIONAL - A VCF file containing small variant candidates", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "meta5": { - "type": "map", - "description": "Groovy Map containing candidate gene transcripts information\n" - } - }, - { - "gene_transcripts": { - "type": "file", - "description": "OPTIONAL - A file containing the preferred gene transcripts to be used in priority during annotation (either space-separated or tab-separated)", - "pattern": "*.txt" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "A TSV file containing the annotated variants", - "pattern": "*.tsv" - } - }, - { - "unannotated_tsv": { - "type": "file", - "description": "OPTIONAL - TSV file containing the unannotated variants", - "pattern": "*.unannotated.tsv" - } - }, - { - "vcf": { - "type": "file", - "description": "OPTIONAL - A VCF file containing the annotated variants (created when `-vcf 1` is specified in the args)\n", - "pattern": "*.vcf" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "annotsv_installannotations", - "path": "modules/nf-core/annotsv/installannotations/meta.yml", - "type": "module", - "meta": { - "name": "annotsv_installannotations", - "description": "Install the AnnotSV annotations", - "keywords": ["annotation", "download", "installation", "structural variants"], - "tools": [ - { - "annotsv": { - "description": "Annotation and Ranking of Structural Variation", - "homepage": "https://lbgi.fr/AnnotSV/", - "documentation": "https://lbgi.fr/AnnotSV/", - "tool_dev_url": "https://github.com/lgmgeo/AnnotSV", - "licence": "['GPL v3']" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "annotations": { - "type": "file", - "description": "A folder containing the annotations", - "pattern": "AnnotSV_annotations" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "antismash_antismashlite", - "path": "modules/nf-core/antismash/antismashlite/meta.yml", - "type": "module", - "meta": { - "name": "antismash_antismashlite", - "description": "antiSMASH allows the rapid genome-wide identification, annotation\nand analysis of secondary metabolite biosynthesis gene clusters.\n", - "keywords": [ - "secondary metabolites", - "BGC", - "biosynthetic gene cluster", - "genome mining", - "NRPS", - "RiPP", - "antibiotics", - "prokaryotes", - "bacteria", - "eukaryotes", - "fungi", - "antismash" - ], - "tools": [ - { - "antismashlite": { - "description": "antiSMASH - the antibiotics and Secondary Metabolite Analysis SHell", - "homepage": "https://docs.antismash.secondarymetabolites.org", - "documentation": "https://docs.antismash.secondarymetabolites.org", - "tool_dev_url": "https://github.com/antismash/antismash", - "doi": "10.1093/nar/gkab335", - "licence": "['AGPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sequence_input": { - "type": "file", - "description": "nucleotide sequence file (annotated)", - "pattern": "*.{gbk, gb, gbff, genbank, embl, fasta, fna}" - } - }, - { - "databases": { - "type": "directory", - "description": "Downloaded AntiSMASH databases (e.g. in the AntiSMASH installation directory\n\"data/databases\")\n", - "pattern": "*/" - } - }, - { - "antismash_dir": { - "type": "directory", - "description": "A local copy of an AntiSMASH installation folder. This is required when running with\ndocker and singularity (not required for conda), due to attempted 'modifications' of\nfiles during database checks in the installation directory, something that cannot\nbe done in immutable docker/singularity containers. Therefore, a local installation\ndirectory needs to be mounted (including all modified files from the downloading step)\nto the container as a workaround.\n", - "pattern": "*/" - } - }, - { - "gff": { - "type": "file", - "description": "Annotations in GFF3 format (only if sequence_input is in FASTA format)", - "pattern": "*.gff" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "clusterblast_file": { - "type": "file", - "description": "Output of ClusterBlast algorithm", - "pattern": "clusterblast/*_c*.txt" - } - }, - { - "html_accessory_files": { - "type": "directory", - "description": "Accessory files for the HTML output", - "pattern": "{css/,images/,js/}" - } - }, - { - "knownclusterblast_html": { - "type": "file", - "description": "Tables with MIBiG hits in HTML format", - "pattern": "knownclusterblast/region*/ctg*.html" - } - }, - { - "knownclusterblast_dir": { - "type": "directory", - "description": "Directory with MIBiG hits", - "pattern": "knownclusterblast/" - } - }, - { - "knownclusterblast_txt": { - "type": "file", - "description": "Tables with MIBiG hits", - "pattern": "knownclusterblast/*_c*.txt" - } - }, - { - "svg_files_clusterblast": { - "type": "file", - "description": "SVG images showing the % identity of the aligned hits against their queries", - "pattern": "svg/clusterblast*.svg" - } - }, - { - "svg_files_knownclusterblast": { - "type": "file", - "description": "SVG images showing the % identity of the aligned hits against their queries", - "pattern": "svg/knownclusterblast*.svg" - } - }, - { - "gbk_input": { - "type": "file", - "description": "Nucleotide sequence and annotations in GenBank format; converted from input file", - "pattern": "*.gbk" - } - }, - { - "json_results": { - "type": "file", - "description": "Nucleotide sequence and annotations in JSON format; converted from GenBank file (gbk_input)", - "pattern": "*.json" - } - }, - { - "log": { - "type": "file", - "description": "Contains all the logging output that antiSMASH produced during its run", - "pattern": "*.log" - } - }, - { - "zip": { - "type": "file", - "description": "Contains a compressed version of the output folder in zip format", - "pattern": "*.zip" - } - }, - { - "gbk_results": { - "type": "file", - "description": "Nucleotide sequence and annotations in GenBank format; one file per antiSMASH hit", - "pattern": "*region*.gbk" - } - }, - { - "clusterblastoutput": { - "type": "file", - "description": "Raw BLAST output of known clusters previously predicted by antiSMASH using the built-in ClusterBlast algorithm", - "pattern": "clusterblastoutput.txt" - } - }, - { - "html": { - "type": "file", - "description": "Graphical web view of results in HTML format", - "patterN": "index.html" - } - }, - { - "knownclusterblastoutput": { - "type": "file", - "description": "Raw BLAST output of known clusters of the MIBiG database", - "pattern": "knownclusterblastoutput.txt" - } - }, - { - "json_sideloading": { - "type": "file", - "description": "Sideloaded annotations of protoclusters and/or subregions (see antiSMASH documentation \"Annotation sideloading\")", - "pattern": "regions.js" - } - } - ], - "authors": ["@jasmezz"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "antismash_antismashlitedownloaddatabases", - "path": "modules/nf-core/antismash/antismashlitedownloaddatabases/meta.yml", - "type": "module", - "meta": { - "name": "antismash_antismashlitedownloaddatabases", - "description": "antiSMASH allows the rapid genome-wide identification, annotation and analysis of secondary metabolite biosynthesis gene clusters. This module downloads the antiSMASH databases for conda and docker/singularity runs.", - "keywords": [ - "secondary metabolites", - "BGC", - "biosynthetic gene cluster", - "genome mining", - "NRPS", - "RiPP", - "antibiotics", - "prokaryotes", - "bacteria", - "eukaryotes", - "fungi", - "antismash", - "database" - ], - "tools": [ - { - "antismash": { - "description": "antiSMASH - the antibiotics and Secondary Metabolite Analysis SHell", - "homepage": "https://docs.antismash.secondarymetabolites.org", - "documentation": "https://docs.antismash.secondarymetabolites.org", - "tool_dev_url": "https://github.com/antismash/antismash", - "doi": "10.1093/nar/gkab335", - "licence": ["AGPL v3"] - } - } - ], - "input": [ - { - "database_css": { - "type": "directory", - "description": "antismash/outputs/html/css folder which is being created during the antiSMASH database downloading step. These files are normally downloaded by download-antismash-databases itself, and must be retrieved by the user by manually running the command with conda or a standalone installation of antiSMASH. Therefore we do not recommend using this module for production pipelines, but rather require users to specify their own local copy of the antiSMASH database in pipelines.\n", - "pattern": "css" - } - }, - { - "database_detection": { - "type": "directory", - "description": "antismash/detection folder which is being created during the antiSMASH database downloading step. These files are normally downloaded by download-antismash-databases itself, and must be retrieved by the user by manually running the command with conda or a standalone installation of antiSMASH. Therefore we do not recommend using this module for production pipelines, but rather require users to specify their own local copy of the antiSMASH database in pipelines.\n", - "pattern": "detection" - } - }, - { - "database_modules": { - "type": "directory", - "description": "antismash/modules folder which is being created during the antiSMASH database downloading step. These files are normally downloaded by download-antismash-databases itself, and must be retrieved by the user by manually running the command with conda or a standalone installation of antiSMASH. Therefore we do not recommend using this module for production pipelines, but rather require users to specify their own local copy of the antiSMASH database in pipelines.\n", - "pattern": "modules" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "database": { - "type": "directory", - "description": "Download directory for antiSMASH databases", - "pattern": "antismash_db" - } - }, - { - "antismash_dir": { - "type": "directory", - "description": "antismash installation folder which is being modified during the antiSMASH database downloading step. The modified files are normally downloaded by download-antismash-databases itself, and must be retrieved by the user by manually running the command with conda or a standalone installation of antiSMASH. Therefore we do not recommend using this module for production pipelines, but rather require users to specify their own local copy of the antiSMASH database and installation folder in pipelines.\n", - "pattern": "antismash_dir" - } - } - ], - "authors": ["@jasmezz"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "arcashla_extract", - "path": "modules/nf-core/arcashla/extract/meta.yml", - "type": "module", - "meta": { - "name": "arcashla_extract", - "description": "Extracts reads mapped to chromosome 6 and any HLA decoys or chromosome 6 alternates.", - "keywords": ["HLA", "genotype", "RNA-seq"], - "tools": [ - { - "arcashla": { - "description": "arcasHLA performs high resolution genotyping for HLA class I and class II genes from RNA sequencing, supporting both paired and single-end samples.", - "homepage": "https://github.com/RabadanLab/arcasHLA", - "documentation": "https://github.com/RabadanLab/arcasHLA", - "tool_dev_url": "https://github.com/RabadanLab/arcasHLA", - "doi": "10.1093/bioinformatics/btz474", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file. If the BAM file is not indexed, this tool will run samtools index before extracting reads.", - "pattern": "*.bam" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "extracted_reads_fastq": { - "type": "file", - "description": "FASTQ file(s) containing chromosome 6 reads and related HLA sequences", - "pattern": "*.fq.gz" - } - }, - { - "log": { - "type": "file", - "description": "Log file for run summary", - "pattern": "*.log" - } - }, - { - "intermediate_sam": { - "type": "file", - "description": "Optional intermediate SAM file", - "pattern": "*.sam" - } - }, - { - "intermediate_bam": { - "type": "file", - "description": "Optional intermediate BAM file", - "pattern": "*.bam" - } - }, - { - "intermediate_sorted_bam": { - "type": "file", - "description": "Optional intermediate sorted BAM file", - "pattern": "*.sorted.bam" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@christopher-mohr"] - } - }, - { - "name": "aria2", - "path": "modules/nf-core/aria2/meta.yml", - "type": "module", - "meta": { - "name": "aria2", - "description": "CLI Download utility", - "keywords": ["download"], - "tools": [ - { - "aria2": { - "description": "aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.", - "tool_dev_url": "https://github.com/aria2/aria2/", - "licence": "['GPL v2']" - } - } - ], - "input": [ - { - "source_url": { - "type": "url", - "description": "Source URL to be downloaded", - "pattern": "{http,https}*" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "downloaded_file": { - "type": "file", - "description": "Downloaded files from source", - "pattern": "*.*" - } - } - ], - "authors": ["@JoseEspinosa"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - }, - { - "name": "proteinfold", - "version": "1.0.0" - } - ] - }, - { - "name": "ariba_getref", - "path": "modules/nf-core/ariba/getref/meta.yml", - "type": "module", - "meta": { - "name": "ariba_getref", - "description": "Download and prepare database for Ariba analysis", - "keywords": ["fastq", "assembly", "resistance", "virulence"], - "tools": [ - { - "ariba": { - "description": "ARIBA: Antibiotic Resistance Identification By Assembly", - "homepage": "https://sanger-pathogens.github.io/ariba/", - "documentation": "https://sanger-pathogens.github.io/ariba/", - "tool_dev_url": "https://github.com/sanger-pathogens/ariba", - "doi": "10.1099/mgen.0.000131", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "db_name": { - "type": "string", - "description": "A database to setup up for Ariba" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "db": { - "type": "file", - "description": "An Ariba prepared database", - "pattern": "*.tar.gz" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "ariba_run", - "path": "modules/nf-core/ariba/run/meta.yml", - "type": "module", - "meta": { - "name": "ariba_run", - "description": "Query input FASTQs against Ariba formatted databases", - "keywords": ["fastq", "assembly", "resistance", "virulence"], - "tools": [ - { - "ariba": { - "description": "ARIBA: Antibiotic Resistance Identification By Assembly", - "homepage": "https://sanger-pathogens.github.io/ariba/", - "documentation": "https://sanger-pathogens.github.io/ariba/", - "tool_dev_url": "https://github.com/sanger-pathogens/ariba", - "doi": "10.1099/mgen.0.000131", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Paired-end reads in FASTQ format", - "pattern": "*_R[1|2].{fastq.gz,fq.gz}" - } - }, - { - "db": { - "type": "file", - "description": "An Ariba prepared database", - "pattern": "*.tar.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "results": { - "type": "file", - "description": "A directory of Ariba analysis outputs", - "pattern": "*" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "arriba", - "path": "modules/nf-core/arriba/meta.yml", - "type": "module", - "meta": { - "name": "arriba", - "description": "Arriba is a command-line tool for the detection of gene fusions from RNA-Seq data.", - "keywords": ["fusion", "arriba"], - "tools": [ - { - "arriba": { - "description": "Fast and accurate gene fusion detection from RNA-Seq data", - "homepage": "https://github.com/suhrig/arriba", - "documentation": "https://arriba.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/suhrig/arriba", - "doi": "10.1101/gr.257246.119", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "fasta": { - "type": "file", - "description": "Assembly FASTA file", - "pattern": "*.{fasta}" - } - }, - { - "gtf": { - "type": "file", - "description": "Annotation GTF file", - "pattern": "*.{gtf}" - } - }, - { - "blacklist": { - "type": "file", - "description": "Blacklist file", - "pattern": "*.{tsv}" - } - }, - { - "known_fusions": { - "type": "file", - "description": "Known fusions file", - "pattern": "*.{tsv}" - } - }, - { - "structural_variants": { - "type": "file", - "description": "Structural variants file", - "pattern": "*.{tsv}" - } - }, - { - "tags": { - "type": "file", - "description": "Tags file", - "pattern": "*.{tsv}" - } - }, - { - "protein_domains": { - "type": "file", - "description": "Protein domains file", - "pattern": "*.{gff3}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fusions": { - "type": "file", - "description": "File contains fusions which pass all of Arriba's filters.", - "pattern": "*.{fusions.tsv}" - } - }, - { - "fusions_fail": { - "type": "file", - "description": "File contains fusions that Arriba classified as an artifact or that are also observed in healthy tissue.", - "pattern": "*.{fusions.discarded.tsv}" - } - } - ], - "authors": ["@praveenraj2018,@rannick"] - }, - "pipelines": [ - { - "name": "rnafusion", - "version": "2.3.4" - } - ] - }, - { - "name": "art_illumina", - "path": "modules/nf-core/art/illumina/meta.yml", - "type": "module", - "meta": { - "name": "art_illumina", - "description": "Simulation tool to generate synthetic Illumina next-generation sequencing reads", - "keywords": ["fastq", "fasta", "illumina", "simulate"], - "tools": [ - { - "art": { - "description": "ART is a set of simulation tools to generate synthetic next-generation sequencing reads. ART simulates sequencing reads by mimicking real sequencing process with empirical error models or quality profiles summarized from large recalibrated sequencing data. ART can also simulate reads using user own read error model or quality profiles. ", - "homepage": "https://www.niehs.nih.gov/research/resources/software/biostatistics/art/index.cfm", - "doi": "10.1093/bioinformatics/btr708", - "licence": "GPL version 3 license" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file of input DNA/RNA reference", - "pattern": "*.{fasta,fa}" - } - }, - { - "sequencing_system": { - "type": "string", - "description": "The name of Illumina sequencing system of the built-in profile used for simulation" - } - }, - { - "fold_coverage": { - "type": "integer", - "description": "The fold of read coverage to be simulated or number of reads/read pairs generated for each amplicon" - } - }, - { - "read_length": { - "type": "integer", - "description": "The length of reads to be simulated" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "Simulated reads", - "pattern": "*.fq.gz" - } - }, - { - "aln": { - "type": "file", - "description": "OPTIONAL Alignment file of the simulated reads. Enabled by default, to disable, use -na/--noALN.", - "pattern": "*.aln" - } - }, - { - "sam": { - "type": "file", - "description": "OPTIONAL Alignment file in SAM format of the simulated reads. Enabled with -sam/--samout.", - "pattern": "*.sam" - } - } - ], - "authors": ["@MarieLataretu"] - } - }, - { - "name": "artic_guppyplex", - "path": "modules/nf-core/artic/guppyplex/meta.yml", - "type": "module", - "meta": { - "name": "artic_guppyplex", - "description": "Aggregates fastq files with demultiplexed reads", - "keywords": ["artic", "aggregate", "demultiplexed reads"], - "tools": [ - { - "artic": { - "description": "ARTIC pipeline - a bioinformatics pipeline for working with virus sequencing data sequenced with nanopore", - "homepage": "https://artic.readthedocs.io/en/latest/", - "documentation": "https://artic.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/artic-network/fieldbioinformatics", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq_dir": { - "type": "directory", - "description": "Directory containing the fastq files with demultiplexed reads", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "Aggregated FastQ files", - "pattern": "*.{fastq.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "artic_minion", - "path": "modules/nf-core/artic/minion/meta.yml", - "type": "module", - "meta": { - "name": "artic_minion", - "description": "Run the alignment/variant-call/consensus logic of the artic pipeline\n", - "keywords": ["artic", "aggregate", "demultiplexed reads"], - "tools": [ - { - "artic": { - "description": "ARTIC pipeline - a bioinformatics pipeline for working with virus sequencing data sequenced with nanopore", - "homepage": "https://artic.readthedocs.io/en/latest/", - "documentation": "https://artic.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/artic-network/fieldbioinformatics", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "FastQ file containing reads", - "pattern": "*.{fastq.gz}" - } - }, - { - "fast5_dir": { - "type": "directory", - "description": "Directory containing MinION FAST5 files", - "pattern": "*" - } - }, - { - "sequencing_summary": { - "type": "file", - "description": "Path to Guppy sequencing summary", - "pattern": "*.{txt}" - } - }, - { - "primer_scheme_fasta": { - "type": "file", - "description": "Sequence of the reference genome used in the scheme in FASTA format\n", - "pattern": "*.{reference.fasta}" - } - }, - { - "primer_scheme_bed": { - "type": "file", - "description": "bed files containing coordinates of each primer in the scheme,\nrelative to the reference genome\n", - "pattern": "*.{scheme.bed}" - } - }, - { - "medaka_model_file": { - "type": "file", - "description": "Medaka model file to use (if option --medaka is set)\n", - "pattern": "*.hdf5" - } - }, - { - "medaka_model_string": { - "type": "value", - "description": "Medaka model string to use (if option --medaka is set)\n", - "pattern": "*" - } - }, - { - "scheme": { - "type": "value", - "description": "Name of the primer scheme" - } - }, - { - "scheme_version": { - "type": "value", - "description": "Version of the primer scheme" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "results": { - "type": "file", - "description": "Aggregated FastQ files", - "pattern": "*.fastq.gz" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.{sorted.bam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file", - "pattern": "*.{sorted.bai}" - } - }, - { - "bam_trimmed": { - "type": "file", - "description": "BAM file with the primers left on", - "pattern": "*.{trimmed.rg.sorted.bam}" - } - }, - { - "bai_trimmed": { - "type": "file", - "description": "BAM index file of bam_trimmed", - "pattern": "*.{sorted.bai}" - } - }, - { - "bam_primertrimmed": { - "type": "file", - "description": "BAM containing reads after primer-binding site trimming", - "pattern": "*.{trimmed.rg.sorted.bam}" - } - }, - { - "bai_primertrimmed": { - "type": "file", - "description": "BAM index file of bam_primertrimmed", - "pattern": "*.{primertrimmed.rg.sorted.bam.bai}" - } - }, - { - "fasta": { - "type": "file", - "description": "FAST file with consensus sequence", - "pattern": "*.{consensus.fasta}" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file containing detected variants passing quality filter", - "pattern": "*.{pass.vcf.gz}" - } - }, - { - "tbi": { - "type": "file", - "description": "VCF index", - "pattern": "*.{pass.vcf.gz.tbi}" - } - }, - { - "json": { - "type": "file", - "description": "JSON file for MultiQC", - "pattern": "*.json" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "ascat", - "path": "modules/nf-core/ascat/meta.yml", - "type": "module", - "meta": { - "name": "ascat", - "description": "copy number profiles of tumour cells.", - "keywords": ["bam", "copy number", "cram"], - "tools": [ - { - "ascat": { - "description": "ASCAT is a method to derive copy number profiles of tumour cells, accounting for normal cell admixture and tumour aneuploidy. ASCAT infers tumour purity (the fraction of tumour cells) and ploidy (the amount of DNA per tumour cell), expressed as multiples of haploid genomes from SNP array or massively parallel sequencing data, and calculates whole-genome allele-specific copy number profiles (the number of copies of both parental alleles for all SNP loci across the genome).", - "documentation": "https://github.com/VanLoo-lab/ascat/tree/master/man", - "tool_dev_url": "https://github.com/VanLoo-lab/ascat", - "doi": "10.1093/bioinformatics/btaa538", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "args": { - "type": "map", - "description": "Groovy Map containing tool parameters. MUST follow the structure/keywords below and be provided via modules.config. Parameters must be set between quotes. (optional) parameters can be removed from the map, if they are not set. For default values, please check the documentation above.\n\n```\n{\n [\n \"gender\": \"XX\",\n \"genomeVersion\": \"hg19\"\n \"purity\": (optional),\n \"ploidy\": (optional),\n \"gc_files\": (optional),\n \"minCounts\": (optional),\n \"BED_file\": (optional) but recommended for WES,\n \"chrom_names\": (optional),\n \"min_base_qual\": (optional),\n \"min_map_qual\": (optional),\n \"ref_fasta\": (optional),\n \"skip_allele_counting_tumour\": (optional),\n \"skip_allele_counting_normal\": (optional)\n ]\n}\n```\n" - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_normal": { - "type": "file", - "description": "BAM/CRAM file, must adhere to chr1, chr2, ...chrX notation For modifying chromosome notation in bam files please follow https://josephcckuo.wordpress.com/2016/11/17/modify-chromosome-notation-in-bam-file/.", - "pattern": "*.{bam,cram}" - } - }, - { - "index_normal": { - "type": "file", - "description": "index for normal_bam/cram", - "pattern": "*.{bai,crai}" - } - }, - { - "input_tumor": { - "type": "file", - "description": "BAM/CRAM file, must adhere to chr1, chr2, ...chrX notation", - "pattern": "*.{bam,cram}" - } - }, - { - "index_tumor": { - "type": "file", - "description": "index for tumor_bam/cram", - "pattern": "*.{bai,crai}" - } - }, - { - "allele_files": { - "type": "file", - "description": "allele files for ASCAT WGS. Can be downloaded here https://github.com/VanLoo-lab/ascat/tree/master/ReferenceFiles/WGS" - } - }, - { - "loci_files": { - "type": "file", - "description": "loci files for ASCAT WGS. Loci files without chromosome notation can be downloaded here https://github.com/VanLoo-lab/ascat/tree/master/ReferenceFiles/WGS Make sure the chromosome notation matches the bam/cram input files. To add the chromosome notation to loci files (hg19/hg38) if necessary, you can run this command `if [[ $(samtools view | head -n1 | cut -f3)\\\" == *\\\"chr\\\"* ]]; then for i in {1..22} X; do sed -i 's/^/chr/' G1000_loci_hg19_chr_${i}.txt; done; fi`" - } - }, - { - "bed_file": { - "type": "file", - "description": "Bed file for ASCAT WES (optional, but recommended for WES)" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference fasta file (optional)" - } - }, - { - "gc_file": { - "type": "file", - "description": "GC correction file (optional) - Used to do logR correction of the tumour sample(s) with genomic GC content" - } - }, - { - "rt_file": { - "type": "file", - "description": "replication timing correction file (optional, provide only in combination with gc_file)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "allelefreqs": { - "type": "file", - "description": "Files containing allee frequencies per chromosome", - "pattern": "*{alleleFrequencies_chr*.txt}" - } - }, - { - "metrics": { - "type": "file", - "description": "File containing quality metrics", - "pattern": "*.{metrics.txt}" - } - }, - { - "png": { - "type": "file", - "description": "ASCAT plots", - "pattern": "*.{png}" - } - }, - { - "purityploidy": { - "type": "file", - "description": "File with purity and ploidy data", - "pattern": "*.{purityploidy.txt}" - } - }, - { - "segments": { - "type": "file", - "description": "File with segments data", - "pattern": "*.{segments.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@aasNGC", "@lassefolkersen", "@FriederikeHanssen", "@maxulysse", "@SusiJo"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "assemblyscan", - "path": "modules/nf-core/assemblyscan/meta.yml", - "type": "module", - "meta": { - "name": "assemblyscan", - "description": "Assembly summary statistics in JSON format", - "keywords": ["assembly", "statistics"], - "tools": [ - { - "assemblyscan": { - "description": "Assembly summary statistics in JSON format", - "homepage": "https://github.com/rpetit3/assembly-scan", - "documentation": "https://github.com/rpetit3/assembly-scan", - "tool_dev_url": "https://github.com/rpetit3/assembly-scan", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "assembly": { - "type": "file", - "description": "FASTA file for a given assembly", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "Assembly statistics in JSON format", - "pattern": "*.json" - } - } - ], - "authors": ["@sateeshperi", "@mjcipriano"] - } - }, - { - "name": "ataqv_ataqv", - "path": "modules/nf-core/ataqv/ataqv/meta.yml", - "type": "module", - "meta": { - "name": "ataqv_ataqv", - "description": "ataqv function of a corresponding ataqv tool", - "keywords": ["ATAC-seq", "qc", "ataqv"], - "tools": [ - { - "ataqv": { - "description": "ataqv is a toolkit for measuring and comparing ATAC-seq results. It was written to help understand how well ATAC-seq assays have worked, and to make it easier to spot differences that might be caused by library prep or sequencing.", - "homepage": "https://github.com/ParkerLab/ataqv/blob/master/README.rst", - "documentation": "https://github.com/ParkerLab/ataqv/blob/master/README.rst", - "tool_dev_url": "https://github.com/ParkerLab/ataqv", - "doi": "10.1016/j.cels.2020.02.009", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file with the same prefix as bam file. Required if tss_file input is provided.", - "pattern": "*.bam.bai" - } - }, - { - "peak_file": { - "type": "file", - "description": "A BED file of peaks called for alignments in the BAM file", - "pattern": "*.bed" - } - }, - { - "organism": { - "type": "string", - "description": "The subject of the experiment, which determines the list of autosomes (see \"Reference Genome Configuration\" section at https://github.com/ParkerLab/ataqv)." - } - }, - { - "mito_name": { - "type": "string", - "description": "Name of the mitochondrial sequence." - } - }, - { - "tss_file": { - "type": "file", - "description": "A BED file of transcription start sites for the experiment organism. If supplied, a TSS enrichment score will be calculated according to the ENCODE data standards. This calculation requires that the BAM file of alignments be indexed.", - "pattern": "*.bed" - } - }, - { - "excl_regs_file": { - "type": "file", - "description": "A BED file containing excluded regions. Peaks or TSS overlapping these will be ignored.", - "pattern": "*.bed" - } - }, - { - "autosom_ref_file": { - "type": "file", - "description": "A file containing autosomal reference names, one per line. The names must match the reference names in the alignment file exactly, or the metrics based on counts of autosomal alignments will be wrong." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "json": { - "type": "file", - "description": "The JSON file to which metrics will be written." - } - }, - { - "problems": { - "type": "file", - "description": "If given, problematic reads will be logged to a file per read group, with names derived from the read group IDs, with \".problems\" appended. If no read groups are found, the reads will be written to one file named after the BAM file.", - "pattern": "*.problems" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@i-pletenev"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - } - ] - }, - { - "name": "ataqv_mkarv", - "path": "modules/nf-core/ataqv/mkarv/meta.yml", - "type": "module", - "meta": { - "name": "ataqv_mkarv", - "description": "mkarv function of a corresponding ataqv tool", - "keywords": ["ataqv", "ATAC-seq", "qc", "ataqv", "mkarv"], - "tools": [ - { - "ataqv": { - "description": "ataqv is a toolkit for measuring and comparing ATAC-seq results. It was written to help understand how well ATAC-seq assays have worked, and to make it easier to spot differences that might be caused by library prep or sequencing.", - "homepage": "https://github.com/ParkerLab/ataqv/blob/master/README.rst", - "documentation": "https://github.com/ParkerLab/ataqv/blob/master/README.rst", - "tool_dev_url": "https://github.com/ParkerLab/ataqv", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "json": { - "type": "file", - "description": "The JSON file with ataqv metrics", - "pattern": "*.json" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "html": { - "type": "directory", - "description": "Web application to visualize results in HTML format", - "pattern": "*.html" - } - } - ], - "authors": ["@bjlang"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - } - ] - }, - { - "name": "atlas_call", - "path": "modules/nf-core/atlas/call/meta.yml", - "type": "module", - "meta": { - "name": "atlas_call", - "description": "generate VCF file from a BAM file using various calling methods", - "keywords": ["atlas", "variant calling", "vcf", "population genetics"], - "tools": [ - { - "atlas": { - "description": "ATLAS, a suite of methods to accurately genotype and estimate genetic diversity", - "homepage": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", - "documentation": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", - "tool_dev_url": "https://bitbucket.org/wegmannlab/atlas", - "doi": "10.1101/105346", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "A BAM/ file", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "The BAI file for the input BAM file", - "pattern": "*.bai" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference FASTA file used to generate the BAM file", - "pattern": "*.{fasta,fna,fa}" - } - }, - { - "fai": { - "type": "file", - "description": "The index of the FASTA file used for to generate the BAM file", - "pattern": "*.fai" - } - }, - { - "recal": { - "type": "file", - "description": "Optional recalibration file from atlas recal function in text format", - "pattern": "*.txt" - } - }, - { - "pmd": { - "type": "file", - "description": "Optional PMD file from atlas pmd function in text format", - "pattern": "*.txt" - } - }, - { - "known_alleles": { - "type": "file", - "description": "Optional tab separated text file containing 1-based list of known alleles. See atlas call documentation.", - "pattern": "*.{txt.tsv}" - } - }, - { - "method": { - "type": "character", - "description": "Which variant calling algorithm to use. Some may require additional parameters supplied via ext.args. Check atlas documentation.", - "pattern": "MLE|Bayesian|allelePresence|randomBase|majorityBase" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "VCF file with variant calls", - "pattern": "*.vcf.gz" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "atlas_pmd", - "path": "modules/nf-core/atlas/pmd/meta.yml", - "type": "module", - "meta": { - "name": "atlas_pmd", - "description": "Estimate the post-mortem damage patterns of DNA", - "keywords": ["ancient DNA", "post mortem damage", "bam"], - "tools": [ - { - "atlas": { - "description": "ATLAS, a suite of methods to accurately genotype and estimate genetic diversity", - "homepage": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", - "documentation": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", - "tool_dev_url": "https://bitbucket.org/wegmannlab/atlas", - "doi": "10.1101/105346", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Single input BAM file", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "The BAI file for the input BAM file", - "pattern": "*.bai" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference genome provided as FASTA file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "The FAI file for the reference genome FASTA file", - "pattern": "*.fai" - } - }, - { - "pool_rg_txt": { - "type": "file", - "description": "Optional. Provide the names of read groups that should be merged for PMD estimation.\nAll read groups that should be pooled listed on one line, separated by any white space.\nOther read groups will be recalibrated separately.\n", - "pattern": "*.txt" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "empiric": { - "type": "file", - "description": "A list of pmd patterns estimated with the empirical method for each readgroup", - "pattern": "*_PMD_input_Empiric.txt" - } - }, - { - "exponential": { - "type": "file", - "description": "A list of pmd patterns estimated with the exponential method for each readgroup", - "pattern": "*_PMD_input_Exponential.txt" - } - }, - { - "counts": { - "type": "file", - "description": "The counts of all possible transitions for each read position\n(or up to a certain position, see specific command length)\n", - "pattern": "*_PMD_Table_counts.txt" - } - }, - { - "table": { - "type": "file", - "description": "For all possible transitions the ratio of the transition counts,\nwhich are taken from the _counts.txt table, over the total amount\nof the base that was mutated, for each position and readgroup\n", - "pattern": "*_PMD_Table.txt" - } - } - ], - "authors": ["@maxibor", "@merszym"] - } - }, - { - "name": "atlas_recal", - "path": "modules/nf-core/atlas/recal/meta.yml", - "type": "module", - "meta": { - "name": "atlas_recal", - "description": "gives an estimation of the sequencing bias based on known invariant sites", - "keywords": ["sequencing_bias", "ATLAS"], - "tools": [ - { - "atlas": { - "description": "ATLAS, a suite of methods to accurately genotype and estimate genetic diversity", - "homepage": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", - "documentation": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", - "doi": "10.1101/105346", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "BAI file", - "pattern": "*.bai" - } - }, - { - "empiric": { - "type": "file", - "description": "Optional txt file from PMD estimations (atlas/pmd)", - "pattern": "*.txt" - } - }, - { - "alleles": { - "type": "file", - "description": "Optional bed file with known alleles", - "pattern": "*.bed" - } - }, - { - "invariant_sites": { - "type": "file", - "description": "Optional bed file with invariant site coordinates", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "recal_patterns": { - "type": "file", - "description": "file containing the sequencing bias for each of the Read Group pools", - "pattern": "*.txt" - } - } - ], - "authors": ["@ltcrod"] - } - }, - { - "name": "atlas_splitmerge", - "path": "modules/nf-core/atlas/splitmerge/meta.yml", - "type": "module", - "meta": { - "name": "atlas_splitmerge", - "description": "split single end read groups by length and merge paired end reads", - "keywords": ["split", "merge", "bam", "read group"], - "tools": [ - { - "atlas": { - "description": "ATLAS, a suite of methods to accurately genotype and estimate genetic diversity", - "homepage": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", - "documentation": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", - "tool_dev_url": "https://bitbucket.org/wegmannlab/atlas", - "doi": "10.1101/105346", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Single input BAM file.", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "The BAI file for the input BAM file", - "pattern": "*.bai" - } - }, - { - "read_group_setting": { - "type": "file", - "description": "TXT file containing the split and merge settings for\neach readgroup. Each line consist of one readgroup,\nsingle/double identifier and the maximum cycle number\nof the sequencer. e.g. \"RG1 single 100\"\n", - "pattern": "*.txt" - } - }, - { - "blacklist": { - "type": "file", - "description": "blacklist.txt (optional), A txt file with blacklisted read names\nthat should be ignored and just written to file, each on a new line\n", - "pattern": "*.txt" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "A BAM file with suffix_mergedReads.bam", - "pattern": "*_mergedReads.bam" - } - }, - { - "filelist": { - "type": "file", - "description": "A file listing all reads that were filtered out in the merging process with suffix_ignoredReads.txt.gz", - "pattern": "*.txt.gz" - } - } - ], - "authors": ["@merszym"] - } - }, - { - "name": "atlasgeneannotationmanipulation_gtf2featureannotation", - "path": "modules/nf-core/atlasgeneannotationmanipulation/gtf2featureannotation/meta.yml", - "type": "module", - "meta": { - "name": "atlasgeneannotationmanipulation_gtf2featureannotation", - "description": "Generate tables of feature metadata from GTF files", - "keywords": ["gtf", "annotation"], - "tools": [ - { - "atlasgeneannotationmanipulation": { - "description": "Scripts for manipulating gene annotation", - "homepage": "https://github.com/ebi-gene-expression-group/atlas-gene-annotation-manipulation", - "documentation": "https://github.com/ebi-gene-expression-group/atlas-gene-annotation-manipulation", - "tool_dev_url": "https://github.com/ebi-gene-expression-group/atlas-gene-annotation-manipulation", - "licence": "['Apache-2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing information on input GTF file\ne.g. [ id:'test' ]\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing information in input FASTA file\ne.g. [ id:'test' ]\n" - } - }, - { - "gtf": { - "type": "file", - "description": "gtf annotation file", - "pattern": "*.{gtf}" - } - }, - { - "fasta": { - "type": "file", - "description": "An optional cDNA file for extracting meta info and/or filtering.\n", - "pattern": "*.{gtf}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "feature_annotation": { - "type": "file", - "description": "TSV file with feature annotation", - "pattern": "*.{tsv}" - } - }, - { - "filtered_cdna": { - "type": "file", - "description": "Where --parse-cdnas is specified in ext.args and an input fasta file is\nprovided, filtered sequences are output to the specified file. No file\nwill be output if this is not specified (for example for use of\n--dummy-from-cdnas only). See documentation at\nhttps://github.com/ebi-gene-expression-group/atlas-gene-annotation-manipulation.\n", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@pinin4fjords"] - }, - "pipelines": [ - { - "name": "differentialabundance", - "version": "1.2.0" - } - ] - }, - { - "name": "authentict_deam2cont", - "path": "modules/nf-core/authentict/deam2cont/meta.yml", - "type": "module", - "meta": { - "name": "authentict_deam2cont", - "description": "Use deamination patterns to estimate contamination in single-stranded libraries", - "keywords": ["authentict", "ancientDNA", "single-stranded", "deamination", "contamination", "damage"], - "tools": [ - { - "authentict": { - "description": "Estimates present-day DNA contamination in ancient DNA single-stranded libraries.", - "homepage": "https://github.com/StephanePeyregne/AuthentiCT", - "documentation": "https://github.com/StephanePeyregne/AuthentiCT", - "tool_dev_url": "https://github.com/StephanePeyregne/AuthentiCT", - "doi": "10.1186/s13059-020-02123-y", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file (Mandatory)", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "config": { - "type": "file", - "description": "Optional AuthentiCT configuration text file", - "pattern": "*" - } - }, - { - "positions": { - "type": "file", - "description": "Optional text file with positions that sequences should overlap", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "Maximum likelihood estimates with associated standard errors", - "pattern": "*.txt" - } - } - ], - "authors": ["@scarlhoff", "@StephanePeyregne"] - } - }, - { - "name": "backsub", - "path": "modules/nf-core/backsub/meta.yml", - "type": "module", - "meta": { - "name": "backsub", - "description": "Pixel-by-pixel channel subtraction scaled by exposure times of pre-stitched `tif` images.", - "keywords": [ - "background", - "cycif", - "autofluorescence", - "image_analysis", - "mcmicro", - "highly_multiplexed_imaging" - ], - "tools": [ - { - "backsub": { - "description": "Module for pixel-by-pixel channel subtraction scaled by exposure times", - "homepage": "https://github.com/SchapiroLabor/Background_subtraction", - "documentation": "https://github.com/SchapiroLabor/Background_subtraction/blob/master/README.md", - "tool_dev_url": "https://github.com/SchapiroLabor/Background_subtraction", - "licence": "MIT licence" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "image": { - "type": "file", - "description": "Multi-channel image file", - "pattern": "*.{tif,tiff}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "markerfile": { - "type": "file", - "description": "Marker file with channel names, exposure times, and specified background to subtract (and remove to exclude channels from output)", - "pattern": "*.csv" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "backsub_tif": { - "type": "file", - "description": "Background corrected pyramidal ome.tif", - "pattern": "*.{tif}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "markerout": { - "type": "file", - "description": "Marker file adjusted to match the background corrected image", - "pattern": "*.{csv}" - } - } - ], - "authors": ["@kbestak"] - } - }, - { - "name": "bacphlip", - "path": "modules/nf-core/bacphlip/meta.yml", - "type": "module", - "meta": { - "name": "bacphlip", - "description": "A bacteriophage lifestyle prediction tool", - "keywords": ["phage", "lifestyle", "temperate", "virulent", "bacphlip", "hmmsearch"], - "tools": [ - { - "bacphlip": { - "description": "A Random Forest classifier to predict bacteriophage lifestyle", - "homepage": "https://github.com/adamhockenberry/bacphlip", - "documentation": "https://github.com/adamhockenberry/bacphlip", - "tool_dev_url": "https://github.com/adamhockenberry/bacphlip", - "doi": "10.7717/peerj.11396", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file containing phage contigs/scaffolds/chromosomes (if it is a multi-FASTA file be sure to add the `--multi_fasta` argument)", - "pattern": "*.{fasta,fna,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bacphlip_results": { - "type": "file", - "description": "TSV file containing Temperate and Virulent scores for each phage sequence", - "pattern": "*.bacphlip" - } - }, - { - "hmmsearch_results": { - "type": "file", - "description": "TSV file containing binary output indicating gene presence/absence based on hmmsearch results", - "pattern": "*.hmmsearch.tsv" - } - } - ], - "authors": ["@CarsonJM"] - } - }, - { - "name": "bakta_bakta", - "path": "modules/nf-core/bakta/bakta/meta.yml", - "type": "module", - "meta": { - "name": "bakta_bakta", - "description": "Annotation of bacterial genomes (isolates, MAGs) and plasmids", - "keywords": ["annotation", "fasta", "bacteria"], - "tools": [ - { - "bakta": { - "description": "Rapid & standardized annotation of bacterial genomes, MAGs & plasmids.", - "homepage": "https://github.com/oschwengers/bakta", - "documentation": "https://github.com/oschwengers/bakta", - "tool_dev_url": "https://github.com/oschwengers/bakta", - "doi": "10.1099/mgen.0.000685", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file to be annotated. Has to contain at least a non-empty string dummy value.\n" - } - }, - { - "db": { - "type": "file", - "description": "Path to the Bakta database. Must have amrfinderplus database directory already installed within it (in a directory called 'amrfinderplus-db/').\n" - } - }, - { - "proteins": { - "type": "file", - "description": "FASTA/GenBank file of trusted proteins to first annotate from (optional)" - } - }, - { - "prodigal_tf": { - "type": "file", - "description": "Training file to use for Prodigal (optional)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "genome statistics and annotation summary", - "pattern": "*.txt" - } - }, - { - "tsv": { - "type": "file", - "description": "annotations as simple human readble tab separated values", - "pattern": "*.tsv" - } - }, - { - "gff": { - "type": "file", - "description": "annotations & sequences in GFF3 format", - "pattern": "*.gff3" - } - }, - { - "gbff": { - "type": "file", - "description": "annotations & sequences in (multi) GenBank format", - "pattern": "*.gbff" - } - }, - { - "embl": { - "type": "file", - "description": "annotations & sequences in (multi) EMBL format", - "pattern": "*.embl" - } - }, - { - "fna": { - "type": "file", - "description": "replicon/contig DNA sequences as FASTA", - "pattern": "*.fna" - } - }, - { - "faa": { - "type": "file", - "description": "CDS/sORF amino acid sequences as FASTA", - "pattern": "*.faa" - } - }, - { - "ffn": { - "type": "file", - "description": "feature nucleotide sequences as FASTA", - "pattern": "*.ffn" - } - }, - { - "hypotheticals_tsv": { - "type": "file", - "description": "additional information on hypothetical protein CDS as simple human readble tab separated values", - "pattern": "*.hypotheticals.tsv" - } - }, - { - "hypotheticals_faa": { - "type": "file", - "description": "hypothetical protein CDS amino acid sequences as FASTA", - "pattern": "*.hypotheticals.faa" - } - } - ], - "authors": ["@rpetit3", "@oschwengers", "@jfy133"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "bakta_baktadbdownload", - "path": "modules/nf-core/bakta/baktadbdownload/meta.yml", - "type": "module", - "meta": { - "name": "bakta_baktadbdownload", - "description": "Downloads BAKTA database from Zenodo", - "keywords": ["bakta", "annotation", "fasta", "bacteria", "database", "download"], - "tools": [ - { - "bakta": { - "description": "Rapid & standardized annotation of bacterial genomes, MAGs & plasmids", - "homepage": "https://github.com/oschwengers/bakta", - "documentation": "https://github.com/oschwengers/bakta", - "tool_dev_url": "https://github.com/oschwengers/bakta", - "doi": "10.1099/mgen.0.000685", - "licence": ["GPL v3"] - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "db": { - "type": "directory", - "description": "BAKTA database directory", - "pattern": "db*/" - } - } - ], - "authors": ["@jfy133", "@jasmezz"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "bamaligncleaner", - "path": "modules/nf-core/bamaligncleaner/meta.yml", - "type": "module", - "meta": { - "name": "bamaligncleaner", - "description": "removes unused references from header of sorted BAM/CRAM files.", - "keywords": ["bam"], - "tools": [ - { - "bamaligncleaner": { - "description": "Removes unaligned references in aligned BAM alignment file", - "homepage": "https://github.com/maxibor/bamAlignCleaner", - "documentation": "https://github.com/maxibor/bamAlignCleaner", - "tool_dev_url": "https://github.com/maxibor/bamAlignCleaner", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "bamcmp", - "path": "modules/nf-core/bamcmp/meta.yml", - "type": "module", - "meta": { - "name": "bamcmp", - "description": "Bamcmp (Bam Compare) is a tool for assigning reads between a primary genome and a contamination genome. For instance, filtering out mouse reads from patient derived xenograft mouse models (PDX).", - "keywords": ["filter", "xenograft", "host", "graft", "contamination", "mouse"], - "tools": [ - { - "bamcmp": { - "description": "Bamcmp is a tool for deconvolving host and graft reads, using two bam files. Reads should be mapped to two genomes, and the mapped, sorted bam files supplied to the tool. It is highly recommended to use the \"-s as\" option not the \"-s mapq\" option, else reads which multimap to the contamination genome will be spuriously kept.", - "homepage": "https://github.com/CRUKMI-ComputationalBiology/bamcmp", - "documentation": "https://github.com/CRUKMI-ComputationalBiology/bamcmp", - "tool_dev_url": "https://github.com/CRUKMI-ComputationalBiology/bamcmp", - "doi": "10.1158/1541-7786.MCR-16-0431", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "sample": { - "type": "file", - "description": "BAM/CRAM/SAM file with the reads aligned to the primary genome (the one you want to keep)", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "contaminant": { - "type": "file", - "description": "BAM/CRAM/SAM file with the reads aligned to the contaminant genome (the one you want to filter out)", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Bam file containing the reads which align better to the primary genome.", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "bam": { - "type": "file", - "description": "Bam file containing the reads which align better to the contaminant genome.", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "authors": ["@kmurat1", "@sppearce"] - } - }, - { - "name": "bamtools_convert", - "path": "modules/nf-core/bamtools/convert/meta.yml", - "type": "module", - "meta": { - "name": "bamtools_convert", - "description": "BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files.", - "keywords": [ - "bamtools", - "bamtools/convert", - "bam", - "convert", - "bed", - "fasta", - "fastq", - "json", - "pileup", - "sam", - "yaml" - ], - "tools": [ - { - "bamtools": { - "description": "C++ API & command-line toolkit for working with BAM data", - "homepage": "http://github.com/pezmaster31/bamtools", - "documentation": "https://github.com/pezmaster31/bamtools/wiki", - "tool_dev_url": "http://github.com/pezmaster31/bamtools", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "out": { - "type": "file", - "description": "The data in the asked format (bed, fasta, fastq, json, pileup, sam, yaml)", - "pattern": "*.{bed,fasta,fastq,json,pileup,sam,yaml}" - } - } - ], - "authors": ["@sguizard"] - }, - "pipelines": [ - { - "name": "isoseq", - "version": "1.1.4" - } - ] - }, - { - "name": "bamtools_split", - "path": "modules/nf-core/bamtools/split/meta.yml", - "type": "module", - "meta": { - "name": "bamtools_split", - "description": "BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files.", - "keywords": ["bamtools", "bamtools/split", "bam", "split", "chunk"], - "tools": [ - { - "bamtools": { - "description": "C++ API & command-line toolkit for working with BAM data", - "homepage": "http://github.com/pezmaster31/bamtools", - "documentation": "https://github.com/pezmaster31/bamtools/wiki", - "tool_dev_url": "http://github.com/pezmaster31/bamtools", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "A list of one or more BAM files to merge and then split", - "pattern": "*.bam" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Several Bam files", - "pattern": "*.bam" - } - } - ], - "authors": ["@sguizard", "@matthdsm"] - } - }, - { - "name": "bamtools_stats", - "path": "modules/nf-core/bamtools/stats/meta.yml", - "type": "module", - "meta": { - "name": "bamtools_stats", - "description": "BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files.", - "keywords": ["bamtools", "stats", "bam"], - "tools": [ - { - "bamtools": { - "description": "C++ API & command-line toolkit for working with BAM data", - "homepage": "http://github.com/pezmaster31/bamtools", - "documentation": "https://github.com/pezmaster31/bamtools/wiki", - "tool_dev_url": "http://github.com/pezmaster31/bamtools", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "stats": { - "type": "file", - "description": "File containing alignment statistics", - "pattern": "*.stats" - } - } - ], - "authors": ["@lescai"] - }, - "pipelines": [ - { - "name": "hgtseq", - "version": "1.1.0" - } - ] - }, - { - "name": "bamutil_trimbam", - "path": "modules/nf-core/bamutil/trimbam/meta.yml", - "type": "module", - "meta": { - "name": "bamutil_trimbam", - "description": "trims the end of reads in a SAM/BAM file, changing read ends to ‘N’ and quality to ‘!’, or by soft clipping", - "keywords": ["bam", "trim", "clipping", "bamUtil", "trimBam"], - "tools": [ - { - "bamutil": { - "description": "Programs that perform operations on SAM/BAM files, all built into a single executable, bam.", - "homepage": "https://genome.sph.umich.edu/wiki/BamUtil", - "documentation": "https://genome.sph.umich.edu/wiki/BamUtil:_trimBam", - "tool_dev_url": "https://github.com/statgen/bamUtil", - "doi": "10.1101/gr.176552.114", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - }, - { - "trim_left": { - "type": "integer", - "description": "Number of bases to trim off the right-hand side of a read. Reverse strands are reversed before trimming." - } - }, - { - "trim_right": { - "type": "integer", - "description": "Number of bases to trim off the right-hand side of a read. Reverse strands are reversed before trimming." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Trimmed but unsorted BAM file", - "pattern": "*.bam" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "bandage_image", - "path": "modules/nf-core/bandage/image/meta.yml", - "type": "module", - "meta": { - "name": "bandage_image", - "description": "Render an assembly graph in GFA 1.0 format to PNG and SVG image formats", - "keywords": ["gfa", "graph", "assembly", "visualisation"], - "tools": [ - { - "bandage": { - "description": "Bandage - a Bioinformatics Application for Navigating De novo Assembly Graphs Easily\n", - "homepage": "https://github.com/rrwick/Bandage", - "documentation": "https://github.com/rrwick/Bandage", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gfa": { - "type": "file", - "description": "Assembly graph in GFA 1.0 format", - "pattern": "*.gfa" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "png": { - "type": "file", - "description": "Bandage image in PNG format", - "pattern": "*.png" - } - }, - { - "svg": { - "type": "file", - "description": "Bandage image in SVG format", - "pattern": "*.svg" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@heuermh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bases2fastq", - "path": "modules/nf-core/bases2fastq/meta.yml", - "type": "module", - "meta": { - "name": "bases2fastq", - "description": "Demultiplex Element Biosciences bases files", - "keywords": ["demultiplex", "element", "fastq"], - "tools": [ - { - "bases2fastq": { - "description": "Demultiplexes sequencing data and converts base calls into FASTQ files for secondary analysis", - "homepage": "https://go.elementbiosciences.com/bases2fastq-download", - "documentation": "https://www.elementbiosciences.com/resources/user-guides/workflow/bases2fastq", - "licence": "http://go.elembio.link/eula" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "run_manifest": { - "type": "file", - "description": "RunManifest file", - "pattern": "*.{csv}" - } - }, - { - "run_dir": { - "type": "directory", - "description": "Input run directory containing optionally containing a RunManifest.json if run_manifest is not supplied" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sample_fastq": { - "type": "file", - "description": "Demultiplexed sample FASTQ files", - "pattern": "output/Samples/*/*_R*.fastq.gz" - } - }, - { - "sample_json": { - "type": "file", - "description": "Demultiplexed sample stats", - "pattern": "output/Samples/*/*.json" - } - }, - { - "qc_report": { - "type": "file", - "description": "QC HTML report", - "pattern": "output/*.html" - } - }, - { - "run_stats": { - "type": "file", - "description": "QC HTML report", - "pattern": "output/*.html" - } - }, - { - "generated_run_manifest": { - "type": "file", - "description": "Updated Run Manifest JSON from the run_manifest csv", - "pattern": "output/RunManifest.json" - } - }, - { - "metrics": { - "type": "file", - "description": "Sample metrics", - "pattern": "output/Metrics.csv" - } - }, - { - "unassigned": { - "type": "file", - "description": "Unassigned Sequences", - "pattern": "output/UnassignedSequences.csv" - } - } - ], - "authors": ["@Emiller88"] - }, - "pipelines": [ - { - "name": "demultiplex", - "version": "1.3.2" - } - ] - }, - { - "name": "basicpy", - "path": "modules/nf-core/basicpy/meta.yml", - "type": "module", - "meta": { - "name": "basicpy", - "description": "BaSiCPy is a python package for background and shading correction of optical microscopy images. It is developed based on the Matlab version of BaSiC tool with major improvements in the algorithm.", - "keywords": ["illumiation_correction", "background_correction", "microscopy", "imaging"], - "tools": [ - { - "basicpy": { - "description": "BaSiCPy is a python package for background and shading correction of optical microscopy images. It is developed based on the Matlab version of BaSiC tool with major improvements in the algorithm. The container of this tool needs to be initialized with an empty Entrypoint. See the nextflow.config of the tests for details.", - "homepage": "https://github.com/peng-lab/BaSiCPy", - "documentation": "https://basicpy.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/peng-lab/BaSiCPy", - "doi": "10.1038/ncomms14836", - "licence": "MIT License" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "image": { - "type": "file", - "description": "Tiff file to be used for dark and flat field illumination correction", - "pattern": "*.{tiff,tif}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fields": { - "type": "file", - "description": "Tiff fields for dark and flat field illumination correction", - "pattern": "*.{tiff,tif}" - } - } - ], - "authors": ["@FloWuenne"] - } - }, - { - "name": "bbmap_align", - "path": "modules/nf-core/bbmap/align/meta.yml", - "type": "module", - "meta": { - "name": "bbmap_align", - "description": "Align short or PacBio reads to a reference genome using BBMap", - "keywords": ["align", "map", "fasta", "fastq", "genome", "reference"], - "tools": [ - { - "bbmap": { - "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", - "homepage": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", - "documentation": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", - "licence": ["UC-LBL license (see package)"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "ref": { - "type": "file", - "description": "Either \"ref\" a directory containing an index, the name of another directory\nwith a \"ref\" subdirectory containing an index or the name of a fasta formatted\nnucleotide file containg the reference to map to.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.{bam}" - } - } - ], - "authors": ["@erikrikarddaniel"] - }, - "pipelines": [ - { - "name": "metatdenovo", - "version": "dev" - } - ] - }, - { - "name": "bbmap_bbduk", - "path": "modules/nf-core/bbmap/bbduk/meta.yml", - "type": "module", - "meta": { - "name": "bbmap_bbduk", - "description": "Adapter and quality trimming of sequencing reads", - "keywords": ["trimming", "adapter trimming", "quality trimming", "fastq"], - "tools": [ - { - "bbmap": { - "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", - "homepage": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", - "documentation": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", - "licence": ["UC-LBL license (see package)"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "contaminants": { - "type": "file", - "description": "Reference files containing adapter and/or contaminant sequences for sequence kmer matching\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "The trimmed/modified fastq reads", - "pattern": "*fastq.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "log": { - "type": "file", - "description": "Bbduk log file", - "pattern": "*bbduk.log" - } - } - ], - "authors": ["@MGordon09"] - }, - "pipelines": [ - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "bbmap_bbnorm", - "path": "modules/nf-core/bbmap/bbnorm/meta.yml", - "type": "module", - "meta": { - "name": "bbmap_bbnorm", - "description": "BBNorm is designed to normalize coverage by down-sampling reads over high-depth areas of a genome, to result in a flat coverage distribution.", - "keywords": ["normalization", "assembly", "coverage"], - "tools": [ - { - "bbmap": { - "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", - "homepage": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", - "documentation": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", - "tool_dev_url": "https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/bbnorm-guide/", - "licence": "BBMap - Bushnell B. - sourceforge.net/projects/bbmap/" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "fastq file", - "pattern": "*.{fastq,fq}(.gz)?" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fastq": { - "type": "file", - "description": "fastq file", - "pattern": "*.{fastq, fq}.gz" - } - } - ], - "authors": ["@danilodileo"] - }, - "pipelines": [ - { - "name": "metatdenovo", - "version": "dev" - } - ] - }, - { - "name": "bbmap_bbsplit", - "path": "modules/nf-core/bbmap/bbsplit/meta.yml", - "type": "module", - "meta": { - "name": "bbmap_bbsplit", - "description": "Split sequencing reads by mapping them to multiple references simultaneously", - "keywords": ["align", "map", "fastq", "genome", "reference"], - "tools": [ - { - "bbmap": { - "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", - "homepage": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", - "documentation": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", - "licence": ["UC-LBL license (see package)"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "index": { - "type": "directory", - "description": "Directory to place generated index", - "pattern": "*" - } - }, - { - "primary_ref": { - "type": "file", - "description": "Path to the primary reference", - "pattern": "*" - } - }, - { - "other_ref_names": { - "type": "list", - "description": "List of other reference ids apart from the primary" - } - }, - { - "other_ref_paths": { - "type": "list", - "description": "Path to other references paths corresponding to \"other_ref_names\"" - } - }, - { - "only_build_index": { - "type": "string", - "description": "true = only build index; false = mapping" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "index": { - "type": "directory", - "description": "Directory with index files", - "pattern": "bbsplit" - } - }, - { - "primary_fastq": { - "type": "file", - "description": "Output reads that map to the primary reference", - "pattern": "*primary*fastq.gz" - } - }, - { - "all_fastq": { - "type": "file", - "description": "All reads mapping to any of the references", - "pattern": "*fastq.gz" - } - }, - { - "stats": { - "type": "file", - "description": "Tab-delimited text file containing mapping statistics", - "pattern": "*.txt" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "bbmap_clumpify", - "path": "modules/nf-core/bbmap/clumpify/meta.yml", - "type": "module", - "meta": { - "name": "bbmap_clumpify", - "description": "Create 30% Smaller, Faster Gzipped Fastq Files. And remove duplicates", - "keywords": ["clumping fastqs", "smaller fastqs", "deduping", "fastq"], - "tools": [ - { - "bbmap": { - "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", - "homepage": "https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/clumpify-guide/", - "documentation": "https://www.biostars.org/p/225338/", - "licence": ["UC-LBL license (see package)"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "The reordered/clumped (and if necessary deduped) fastq reads", - "pattern": "*.clumped.fastq.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "log": { - "type": "file", - "description": "Clumpify log file", - "pattern": "*clumpify.log" - } - } - ], - "authors": ["@tamuanand"] - } - }, - { - "name": "bbmap_index", - "path": "modules/nf-core/bbmap/index/meta.yml", - "type": "module", - "meta": { - "name": "bbmap_index", - "description": "Creates an index from a fasta file, ready to be used by bbmap.sh in mapping mode.", - "keywords": ["map", "index", "fasta"], - "tools": [ - { - "bbmap": { - "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", - "homepage": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", - "documentation": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", - "licence": ["UC-LBL license (see package)"] - } - } - ], - "input": [ - { - "fasta": { - "type": "fasta", - "description": "fasta formatted file with nucleotide sequences", - "pattern": "*.{fna,fa,fasta}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "db": { - "type": "directory", - "description": "Directory with index files", - "pattern": "ref" - } - } - ], - "authors": ["@daniellundin"] - }, - "pipelines": [ - { - "name": "metatdenovo", - "version": "dev" - } - ] - }, - { - "name": "bbmap_pileup", - "path": "modules/nf-core/bbmap/pileup/meta.yml", - "type": "module", - "meta": { - "name": "bbmap_pileup", - "description": "Calculates per-scaffold or per-base coverage information from an unsorted sam or bam file.", - "keywords": ["fasta", "genome", "coverage"], - "tools": [ - { - "bbmap": { - "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", - "homepage": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", - "documentation": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", - "tool_dev_url": "https://github.com/BioInfoTools/BBMap/blob/master/sh/pileup.sh", - "licence": ["UC-LBL license (see package)"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "stats": { - "type": "file", - "description": "Per-scaffold coverage info", - "pattern": "*.stats.txt" - } - }, - { - "hist": { - "type": "file", - "description": "Histogram of # occurrences of each depth level", - "pattern": "*.hist.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Emiller88"] - }, - "pipelines": [ - { - "name": "nascent", - "version": "2.1.1" - } - ] - }, - { - "name": "bbmap_sendsketch", - "path": "modules/nf-core/bbmap/sendsketch/meta.yml", - "type": "module", - "meta": { - "name": "bbmap_sendsketch", - "description": "Compares query sketches to reference sketches hosted on a remote server via the Internet.", - "keywords": ["taxonomy", "classification", "sketch", "query", "fastq", "fasta"], - "tools": [ - { - "bbmap": { - "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", - "homepage": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", - "documentation": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", - "licence": "['UC-LBL license (see package)']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "file": { - "type": "file", - "description": "file with nucleotide sequences", - "pattern": "*.{fna, fa, fasta, fa.gz, fasta.gz, fna.gz, fastq.gz, fastq, fq.gz, fq}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "hits": { - "type": "txt", - "description": ".txt file containing hits from a query seuqnce to various reference sequences output", - "pattern": "*.{txt}" - } - } - ], - "authors": ["@phanhung2"] - } - }, - { - "name": "bcftools_annotate", - "path": "modules/nf-core/bcftools/annotate/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_annotate", - "description": "Add or remove annotations.", - "keywords": ["bcftools", "annotate", "vcf", "remove", "add"], - "tools": [ - { - "annotate": { - "description": "Add or remove annotations.", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "https://samtools.github.io/bcftools/bcftools.html#annotate", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "Query VCF or BCF file, can be either uncompressed or compressed" - } - }, - { - "index": { - "type": "file", - "description": "Index of the query VCF or BCF file" - } - }, - { - "annotations": { - "type": "file", - "description": "Bgzip-compressed file with annotations" - } - }, - { - "annotations_index": { - "type": "file", - "description": "Index of the annotations file" - } - }, - { - "header_lines": { - "type": "file", - "description": "Contains lines to append to the output VCF header" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed annotated VCF file", - "pattern": "*{vcf,vcf.gz,bcf,bcf.gz}" - } - } - ], - "authors": ["@projectoriented", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "bcftools_call", - "path": "modules/nf-core/bcftools/call/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_call", - "description": "This command replaces the former bcftools view caller.\nSome of the original functionality has been temporarily lost in the process of transition under htslib, but will be added back on popular demand.\nThe original calling model can be invoked with the -c option.\n", - "keywords": ["variant calling", "view", "bcftools", "VCF"], - "tools": [ - { - "view": { - "description": "View, subset and filter VCF or BCF files by position and filtering expression. Convert between VCF and BCF\n", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "The vcf file to be inspected.\ne.g. 'file.vcf'\n" - } - }, - { - "index": { - "type": "file", - "description": "The tab index for the VCF file to be inspected.\ne.g. 'file.tbi'\n" - } - }, - { - "regions": { - "type": "file", - "description": "Optionally, restrict the operation to regions listed in this file.\ne.g. 'file.vcf'\n" - } - }, - { - "targets": { - "type": "file", - "description": "Optionally, restrict the operation to regions listed in this file (doesn't rely upon index files)\ne.g. 'file.vcf'\n" - } - }, - { - "samples": { - "type": "file", - "description": "Optional, file of sample names to be included or excluded.\ne.g. 'file.tsv'\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF normalized output file", - "pattern": "*.{vcf.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@abhi18av", "@LouisLeNezet"] - } - }, - { - "name": "bcftools_concat", - "path": "modules/nf-core/bcftools/concat/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_concat", - "description": "Concatenate VCF files", - "keywords": ["variant calling", "concat", "bcftools", "VCF"], - "tools": [ - { - "concat": { - "description": "Concatenate VCF files.\n", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcfs": { - "type": "files", - "description": "List containing 2 or more vcf files\ne.g. [ 'file1.vcf', 'file2.vcf' ]\n" - } - }, - { - "tbi": { - "type": "files", - "description": "List containing 2 or more index files (optional)\ne.g. [ 'file1.tbi', 'file2.tbi' ]\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF concatenated output file", - "pattern": "*.{vcf.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@abhi18av", "@nvnieuwk"] - }, - "pipelines": [ - { - "name": "radseq", - "version": "dev" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "bcftools_consensus", - "path": "modules/nf-core/bcftools/consensus/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_consensus", - "description": "Compresses VCF files", - "keywords": ["variant calling", "consensus", "VCF"], - "tools": [ - { - "consensus": { - "description": "Create consensus sequence by applying VCF variants to a reference fasta file.\n", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf}" - } - }, - { - "tbi": { - "type": "file", - "description": "tabix index file", - "pattern": "*.{tbi}" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA reference file", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA reference consensus file", - "pattern": "*.{fasta,fa}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bcftools_convert", - "path": "modules/nf-core/bcftools/convert/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_convert", - "description": "Converts certain output formats to VCF", - "keywords": ["bcftools", "convert", "vcf", "gvcf"], - "tools": [ - { - "bcftools": { - "description": "BCFtools is a set of utilities that manipulate variant calls in the Variant Call Format (VCF) and its binary counterpart BCF. All commands work transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed. Most commands accept VCF, bgzipped VCF and BCF with filetype detected automatically even when streaming from a pipe. Indexed VCF and BCF will work in all situations. Un-indexed VCF and BCF and streams will work in most, but not all situations.", - "homepage": "https://samtools.github.io/bcftools/bcftools.html", - "documentation": "https://samtools.github.io/bcftools/bcftools.html#convert", - "tool_dev_url": "https://github.com/samtools/bcftools", - "doi": "10.1093/gigascience/giab008", - "licence": "['GPL']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "The input format. Each format needs a seperate parameter to be specified in the `args`:\n- GEN/SAMPLE file: `--gensample2vcf`\n- gVCF file: `--gvcf2vcf`\n- HAP/SAMPLE file: `--hapsample2vcf`\n- HAP/LEGEND/SAMPLE file: `--haplegendsample2vcf`\n- TSV file: `--tsv2vcf`\n", - "pattern": "*.{gen,sample,g.vcf,hap,legend}{.gz,}" - } - }, - { - "input_index": { - "type": "file", - "description": "(Optional) The index for the input files, if needed", - "pattern": "*.bed" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "(Optional) The reference fasta, only needed for gVCF conversion", - "pattern": "*.{fa,fasta}" - } - }, - { - "bed": { - "type": "file", - "description": "(Optional) The BED file containing the regions for the VCF file", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf_gz": { - "type": "file", - "description": "VCF merged output file (bgzipped) => when `--output-type z` is used", - "pattern": "*.vcf.gz" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF merged output file => when `--output-type v` is used", - "pattern": "*.vcf" - } - }, - { - "bcf_gz": { - "type": "file", - "description": "BCF merged output file (bgzipped) => when `--output-type b` is used", - "pattern": "*.bcf.gz" - } - }, - { - "bcf": { - "type": "file", - "description": "BCF merged output file => when `--output-type u` is used", - "pattern": "*.bcf" - } - } - ], - "authors": ["@nvnieuwk", "@ramprasadn"] - } - }, - { - "name": "bcftools_filter", - "path": "modules/nf-core/bcftools/filter/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_filter", - "description": "Filters VCF files", - "keywords": ["variant calling", "filtering", "VCF"], - "tools": [ - { - "filter": { - "description": "Apply fixed-threshold filters to VCF files.\n", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF input file", - "pattern": "*.{vcf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF filtered output file", - "pattern": "*.{vcf}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bcftools_index", - "path": "modules/nf-core/bcftools/index/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_index", - "description": "Index VCF tools", - "keywords": ["vcf", "index", "bcftools", "csi", "tbi"], - "tools": [ - { - "bcftools": { - "description": "BCFtools is a set of utilities that manipulate variant calls in the Variant Call Format (VCF) and its binary counterpart BCF. All commands work transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed. Most commands accept VCF, bgzipped VCF and BCF with filetype detected automatically even when streaming from a pipe. Indexed VCF and BCF will work in all situations. Un-indexed VCF and BCF and streams will work in most, but not all situations.", - "homepage": "https://samtools.github.io/bcftools/", - "documentation": "https://samtools.github.io/bcftools/howtos/index.html", - "tool_dev_url": "https://github.com/samtools/bcftools", - "doi": "10.1093/gigascience/giab008", - "licence": ["MIT", "GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "VCF": { - "type": "file", - "description": "VCF file (optionally GZIPPED)", - "pattern": "*.{vcf,vcf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "version": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - }, - { - "csi": { - "type": "file", - "description": "Default VCF file index file", - "pattern": "*.csi" - } - }, - { - "tbi": { - "type": "file", - "description": "Alternative VCF file index file for larger files (activated with -t parameter)", - "pattern": "*.tbi" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "bcftools_isec", - "path": "modules/nf-core/bcftools/isec/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_isec", - "description": "Apply set operations to VCF files", - "keywords": ["variant calling", "intersect", "union", "complement", "VCF"], - "tools": [ - { - "isec": { - "description": "Computes intersections, unions and complements of VCF files.\n", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcfs": { - "type": "files", - "description": "List containing 2 or more vcf files\ne.g. [ 'file1.vcf', 'file2.vcf' ]\n" - } - }, - { - "tbis": { - "type": "files", - "description": "List containing the tbi index files corresponding to the vcfs input files\ne.g. [ 'file1.vcf.tbi', 'file2.vcf.tbi' ]\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "results": { - "type": "directory", - "description": "Folder containing the set operations results perform on the vcf files", - "pattern": "${prefix}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - } - }, - { - "name": "bcftools_merge", - "path": "modules/nf-core/bcftools/merge/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_merge", - "description": "Merge VCF files", - "keywords": ["variant calling", "merge", "VCF"], - "tools": [ - { - "merge": { - "description": "Merge VCF files.\n", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcfs": { - "type": "file", - "description": "List containing 2 or more vcf files\ne.g. [ 'file1.vcf', 'file2.vcf' ]\n" - } - }, - { - "tbis": { - "type": "file", - "description": "List containing the tbi index files corresponding to the vcfs input files\ne.g. [ 'file1.vcf.tbi', 'file2.vcf.tbi' ]\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "(Optional) The fasta reference file (only necessary for the `--gvcf FILE` parameter)", - "pattern": "*.{fasta,fa}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "(Optional) The fasta reference file index (only necessary for the `--gvcf FILE` parameter)", - "pattern": "*.fai" - } - }, - { - "bed": { - "type": "file", - "description": "(Optional) The bed regions to merge on", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf_gz": { - "type": "file", - "description": "VCF merged output file (bgzipped) => when `--output-type z` is used", - "pattern": "*.vcf.gz" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF merged output file => when `--output-type v` is used", - "pattern": "*.vcf" - } - }, - { - "bcf_gz": { - "type": "file", - "description": "BCF merged output file (bgzipped) => when `--output-type b` is used", - "pattern": "*.bcf.gz" - } - }, - { - "bcf": { - "type": "file", - "description": "BCF merged output file => when `--output-type u` is used", - "pattern": "*.bcf" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh", "@nvnieuwk", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "bcftools_mpileup", - "path": "modules/nf-core/bcftools/mpileup/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_mpileup", - "description": "Compresses VCF files", - "keywords": ["variant calling", "mpileup", "VCF"], - "tools": [ - { - "mpileup": { - "description": "Generates genotype likelihoods at each genomic position with coverage.\n", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Input BAM file", - "pattern": "*.{bam}" - } - }, - { - "intervals": { - "type": "file", - "description": "Input intervals file. A file (commonly '.bed') containing regions to subset" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA reference file", - "pattern": "*.{fasta,fa}" - } - }, - { - "save_mpileup": { - "type": "boolean", - "description": "Save mpileup file generated by bcftools mpileup" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF gzipped output file", - "pattern": "*.{vcf.gz}" - } - }, - { - "tbi": { - "type": "file", - "description": "tabix index file", - "pattern": "*.{vcf.gz.tbi}" - } - }, - { - "stats": { - "type": "file", - "description": "Text output file containing stats", - "pattern": "*{stats.txt}" - } - }, - { - "mpileup": { - "type": "file", - "description": "mpileup gzipped output for all positions", - "pattern": "{*.mpileup.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bcftools_norm", - "path": "modules/nf-core/bcftools/norm/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_norm", - "description": "Normalize VCF file", - "keywords": ["normalize", "norm", "variant calling", "VCF"], - "tools": [ - { - "norm": { - "description": "Normalize VCF files.\n", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "The vcf file to be normalized\ne.g. 'file1.vcf'\n", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "tbi": { - "type": "file", - "description": "An optional index of the VCF file (for when the VCF is compressed)\n", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA reference file", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "One of uncompressed VCF (.vcf), compressed VCF (.vcf.gz), compressed BCF (.bcf.gz) or uncompressed BCF (.bcf) normalized output file", - "pattern": "*.{vcf,vcf.gz,bcf,bcf.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@abhi18av", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "variantcatalogue", - "version": "dev" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bcftools_pluginscatter", - "path": "modules/nf-core/bcftools/pluginscatter/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_pluginscatter", - "description": "Split VCF by chunks or regions, creating multiple VCFs.", - "keywords": ["scatter", "vcf", "bcf", "genomics"], - "tools": [ - { - "pluginscatter": { - "description": "Split VCF by chunks or regions, creating multiple VCFs.\n", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://samtools.github.io/bcftools/bcftools.html#reheader", - "doi": "10.1093/gigascience/giab008", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "The input VCF to scatter", - "pattern": "*.{vcf,vcf.gz,bcf,bcf.gz}" - } - }, - { - "tbi": { - "type": "file", - "description": "Optional index of the input VCF", - "pattern": "*.tbi" - } - }, - { - "sites_per_chunk": { - "type": "integer", - "description": "How many variants should be in each output file\nEither this or `scatter` or `scatter_file` have to be given\n" - } - }, - { - "scatter": { - "type": "string", - "description": "A comma delimited list of regions to scatter into\nEither this or `sites_per_chunk` or `scatter_file` have to be given\n" - } - }, - { - "scatter_file": { - "type": "file", - "description": "A file containing a region on each line with an optional second column containing the filename\nEither this or `sites_per_chunk` or `scatter` have to be given\n" - } - }, - { - "regions": { - "type": "file", - "description": "Optional file containing the regions to work on", - "pattern": "*.bed" - } - }, - { - "targets": { - "type": "file", - "description": "Optional file containing the regions to work on (but streams instead of index-jumping)", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "scatter": { - "type": "file", - "description": "The resulting files of the scattering", - "pattern": "*.{vcf,vcf.gz,bcf,bcf.gz}" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "bcftools_pluginsplit", - "path": "modules/nf-core/bcftools/pluginsplit/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_pluginsplit", - "description": "Split VCF by sample, creating single- or multi-sample VCFs.", - "keywords": ["split", "vcf", "genomics"], - "tools": [ - { - "pluginsplit": { - "description": "Split VCF by sample, creating single- or multi-sample VCFs.\n", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "The VCF file to split", - "pattern": "*.{vcf,vcf.gz,bcf,bcf.gz}" - } - }, - { - "tbi": { - "type": "file", - "description": "OPTIONAL - The index of the input VCF/BCF", - "pattern": "*.tbi" - } - }, - { - "samples": { - "type": "file", - "description": "A tab-separated file determining which samples should be in which output file\ncolumn 1: The sample name(s) in the input file\ncolumn 2: The sample name(s) to use in the output file (use `-` to keep the original name)\ncolumn 3: The name of the output file\nEither this or a groups file should be given\n", - "pattern": "*" - } - }, - { - "groups": { - "type": "file", - "description": "A tab-separated file determining which samples should be in which output file(s)\ncolumn 1: The sample name(s) in the input file\ncolumn 2: The sample name(s) to use in the output file (use `-` to keep the original name)\ncolumn 3: The name of the output file(s)\nEither this or a samples file should be given\n", - "pattern": "*" - } - }, - { - "regions": { - "type": "file", - "description": "A BED file containing regions to use", - "pattern": "*.bed" - } - }, - { - "targets": { - "type": "file", - "description": "A BED file containing regions to use (but streams rather than index-jumps)", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "The resulting VCF files from the split", - "pattern": "*.{vcf,vcf.gz,bcf,bcf.gz}" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "bcftools_query", - "path": "modules/nf-core/bcftools/query/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_query", - "description": "Extracts fields from VCF or BCF files and outputs them in user-defined format.", - "keywords": ["query", "variant calling", "bcftools", "VCF"], - "tools": [ - { - "query": { - "description": "Extracts fields from VCF or BCF files and outputs them in user-defined format.\n", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "The vcf file to be qeuried.\n", - "pattern": "*.{vcf.gz, vcf}" - } - }, - { - "tbi": { - "type": "file", - "description": "The tab index for the VCF file to be inspected.\n", - "pattern": "*.tbi" - } - }, - { - "regions": { - "type": "file", - "description": "Optionally, restrict the operation to regions listed in this file.\n" - } - }, - { - "targets": { - "type": "file", - "description": "Optionally, restrict the operation to regions listed in this file (doesn't rely upon index files)\n" - } - }, - { - "samples": { - "type": "file", - "description": "Optional, file of sample names to be included or excluded.\ne.g. 'file.tsv'\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "output": { - "type": "file", - "description": "BCFTools query output file" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@abhi18av", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bcftools_reheader", - "path": "modules/nf-core/bcftools/reheader/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_reheader", - "description": "Reheader a VCF file", - "keywords": ["reheader", "vcf", "update header"], - "tools": [ - { - "reheader": { - "description": "Modify header of VCF/BCF files, change sample names.\n", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://samtools.github.io/bcftools/bcftools.html#reheader", - "doi": "10.1093/gigascience/giab008", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF/BCF file", - "pattern": "*.{vcf.gz,vcf,bcf}" - } - }, - { - "header": { - "type": "file", - "description": "New header to add to the VCF", - "pattern": "*.{header.txt}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Fasta index to update header sequences with", - "pattern": "*.{fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF with updated header, bgzipped per default", - "pattern": "*.{vcf,vcf.gz,bcf,bcf.gz}" - } - } - ], - "authors": ["@bjohnnyd", "@jemten", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "bcftools_roh", - "path": "modules/nf-core/bcftools/roh/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_roh", - "description": "A program for detecting runs of homo/autozygosity. Only bi-allelic sites are considered.", - "keywords": ["roh"], - "tools": [ - { - "roh": { - "description": "A program for detecting runs of homo/autozygosity. Only bi-allelic sites are considered.", - "homepage": "https://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf,.vcf.gz}" - } - }, - { - "af_file": { - "type": "file", - "description": "Read allele frequencies from a tab-delimited file containing the columns: CHROM\tPOS\tREF,ALT\tAF." - } - }, - { - "af_file_tbi": { - "type": "file", - "description": "tbi index of af_file." - } - }, - { - "genetic_map": { - "type": "file", - "description": "Genetic map in the format required also by IMPUTE2." - } - }, - { - "regions_file": { - "type": "file", - "description": "Regions can be specified either on command line or in a VCF, BED, or tab-delimited file (the default)." - } - }, - { - "samples_file": { - "type": "file", - "description": "File of sample names to include or exclude if prefixed with '^'." - } - }, - { - "targets_file": { - "type": "file", - "description": "Targets can be specified either on command line or in a VCF, BED, or tab-delimited file (the default)." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "roh": { - "type": "file", - "description": "Contains site-specific and/or per-region runs of homo/autozygosity calls.", - "pattern": "*.{roh}" - } - } - ], - "authors": ["@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "bcftools_sort", - "path": "modules/nf-core/bcftools/sort/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_sort", - "description": "Sorts VCF files", - "keywords": ["sorting", "VCF", "variant calling"], - "tools": [ - { - "sort": { - "description": "Sort VCF files by coordinates.", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "tool_dev_url": "https://github.com/samtools/bcftools", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "The VCF/BCF file to be sorted", - "pattern": "*.{vcf.gz,vcf,bcf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Sorted VCF file", - "pattern": "*.{vcf.gz}" - } - } - ], - "authors": ["@Gwennid"] - }, - "pipelines": [ - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bcftools_split", - "path": "modules/nf-core/bcftools/split/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_split", - "description": "Split a vcf file into files per chromosome", - "keywords": ["vcf", "split", "genomics"], - "tools": [ - { - "bcftools": { - "description": "Sort VCF files by coordinates.", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "tool_dev_url": "https://github.com/samtools/bcftools", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed vcf file", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Compressed vcf file index", - "pattern": "*.{tbi,csi}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "split_vcf": { - "type": "file", - "description": "Compressed vcf files per chromosome", - "pattern": "*.vcf.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@matthdsm", "@atrigila"] - } - }, - { - "name": "bcftools_stats", - "path": "modules/nf-core/bcftools/stats/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_stats", - "description": "Generates stats from VCF files", - "keywords": ["variant calling", "stats", "VCF"], - "tools": [ - { - "stats": { - "description": "Parses VCF or BCF and produces text file stats which is suitable for\nmachine processing and can be plotted using plot-vcfstats.\n", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF input file", - "pattern": "*.{vcf}" - } - }, - { - "tbi": { - "type": "file", - "description": "The tab index for the VCF file to be inspected. Optional: only required when parameter regions is chosen.\n", - "pattern": "*.tbi" - } - }, - { - "regions": { - "type": "file", - "description": "Optionally, restrict the operation to regions listed in this file. (VCF, BED or tab-delimited)\n" - } - }, - { - "targets": { - "type": "file", - "description": "Optionally, restrict the operation to regions listed in this file (doesn't rely upon tbi index files)\n" - } - }, - { - "samples": { - "type": "file", - "description": "Optional, file of sample names to be included or excluded.\ne.g. 'file.tsv'\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "stats": { - "type": "file", - "description": "Text output file containing stats", - "pattern": "*_{stats.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh", "@SusiJo"] - }, - "pipelines": [ - { - "name": "radseq", - "version": "dev" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bcftools_view", - "path": "modules/nf-core/bcftools/view/meta.yml", - "type": "module", - "meta": { - "name": "bcftools_view", - "description": "View, subset and filter VCF or BCF files by position and filtering expression. Convert between VCF and BCF", - "keywords": ["variant calling", "view", "bcftools", "VCF"], - "tools": [ - { - "view": { - "description": "View, subset and filter VCF or BCF files by position and filtering expression. Convert between VCF and BCF\n", - "homepage": "http://samtools.github.io/bcftools/bcftools.html", - "documentation": "http://www.htslib.org/doc/bcftools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "The vcf file to be inspected.\ne.g. 'file.vcf'\n" - } - }, - { - "index": { - "type": "file", - "description": "The tab index for the VCF file to be inspected.\ne.g. 'file.tbi'\n" - } - }, - { - "regions": { - "type": "file", - "description": "Optionally, restrict the operation to regions listed in this file.\ne.g. 'file.vcf'\n" - } - }, - { - "targets": { - "type": "file", - "description": "Optionally, restrict the operation to regions listed in this file (doesn't rely upon index files)\ne.g. 'file.vcf'\n" - } - }, - { - "samples": { - "type": "file", - "description": "Optional, file of sample names to be included or excluded.\ne.g. 'file.tsv'\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF normalized output file", - "pattern": "*.{vcf.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@abhi18av"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - }, - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "bcl2fastq", - "path": "modules/nf-core/bcl2fastq/meta.yml", - "type": "module", - "meta": { - "name": "bcl2fastq", - "description": "Demultiplex Illumina BCL files", - "keywords": ["demultiplex", "illumina", "fastq"], - "tools": [ - { - "bcl2fastq": { - "description": "Demultiplex Illumina BCL files", - "homepage": "https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software", - "documentation": "https://support.illumina.com/content/dam/illumina-support/documents/documentation/software_documentation/bcl2fastq/bcl2fastq2-v2-20-software-guide-15051736-03.pdf", - "licence": "ILLUMINA" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "samplesheet": { - "type": "file", - "description": "Input samplesheet", - "pattern": "*.{csv}" - } - }, - { - "run_dir": { - "type": "file", - "description": "Input run directory containing RunInfo.xml and BCL data\nCould be a directory or a tar of the directory\n" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fastq": { - "type": "file", - "description": "Demultiplexed sample FASTQ files", - "pattern": "**_S*_L00?_R?_00?.fastq.gz" - } - }, - { - "fastq_idx": { - "type": "file", - "description": "Optional demultiplexed index FASTQ files", - "pattern": "**_S*_L00?_I?_00?.fastq.gz" - } - }, - { - "undetermined": { - "type": "file", - "description": "Optional undetermined sample FASTQ files", - "pattern": "Undetermined_S0_L00?_R?_00?.fastq.gz" - } - }, - { - "undetermined_idx": { - "type": "file", - "description": "Optional undetermined index FASTQ files", - "pattern": "Undetermined_S0_L00?_I?_00?.fastq.gz" - } - }, - { - "reports": { - "type": "file", - "description": "Demultiplexing Reports", - "pattern": "Reports/*" - } - }, - { - "stats": { - "type": "file", - "description": "Statistics files", - "pattern": "Stats/*" - } - }, - { - "interop": { - "type": "file", - "description": "Interop files", - "pattern": "*.{bin}" - } - } - ], - "authors": ["@matthdsm"] - }, - "subworkflows": ["bcl_demultiplex"], - "pipelines": [ - { - "name": "demultiplex", - "version": "1.3.2" - } - ] - }, - { - "name": "bclconvert", - "path": "modules/nf-core/bclconvert/meta.yml", - "type": "module", - "meta": { - "name": "bclconvert", - "description": "Demultiplex Illumina BCL files", - "keywords": ["demultiplex", "illumina", "fastq"], - "tools": [ - { - "bclconvert": { - "description": "Demultiplex Illumina BCL files", - "homepage": "https://support.illumina.com/sequencing/sequencing_software/bcl-convert.html", - "documentation": "https://support-docs.illumina.com/SW/BCL_Convert/Content/SW/FrontPages/BCL_Convert.htm", - "licence": "ILLUMINA" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "samplesheet": { - "type": "file", - "description": "Input samplesheet", - "pattern": "*.{csv}" - } - }, - { - "run_dir": { - "type": "file", - "description": "Input run directory containing RunInfo.xml and BCL data\nCould be a directory or a tar of the directory\n" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fastq": { - "type": "file", - "description": "Demultiplexed sample FASTQ files", - "pattern": "**_S*_L00?_R?_00?.fastq.gz" - } - }, - { - "fastq_idx": { - "type": "file", - "description": "Optional demultiplexed index FASTQ files", - "pattern": "**_S*_L00?_I?_00?.fastq.gz" - } - }, - { - "undetermined": { - "type": "file", - "description": "Optional undetermined sample FASTQ files", - "pattern": "Undetermined_S0_L00?_R?_00?.fastq.gz" - } - }, - { - "undetermined_idx": { - "type": "file", - "description": "Optional undetermined index FASTQ files", - "pattern": "Undetermined_S0_L00?_I?_00?.fastq.gz" - } - }, - { - "reports": { - "type": "file", - "description": "Demultiplexing Reports", - "pattern": "Reports/*.{csv,xml}" - } - }, - { - "logs": { - "type": "file", - "description": "Log files", - "pattern": "Logs/*.{log,txt}" - } - }, - { - "interop": { - "type": "file", - "description": "Interop files", - "pattern": "*.{bin}" - } - } - ], - "authors": ["@matthdsm"] - }, - "subworkflows": ["bcl_demultiplex"], - "pipelines": [ - { - "name": "demultiplex", - "version": "1.3.2" - } - ] - }, - { - "name": "beagle5_beagle", - "path": "modules/nf-core/beagle5/beagle/meta.yml", - "type": "module", - "meta": { - "name": "beagle5_beagle", - "description": "Beagle v5.2 is a software package for phasing genotypes and for imputing ungenotyped markers.", - "keywords": ["phasing", "imputation"], - "tools": [ - { - "beagle5": { - "description": "Beagle is a software package for phasing genotypes and for imputing ungenotyped markers.", - "homepage": "https://faculty.washington.edu/browning/beagle/b5_2.html", - "documentation": "https://faculty.washington.edu/browning/beagle/beagle_5.2_13Oct21.pdf", - "doi": "10.1016/j.ajhg.2021.08.005; doi:10.1016/j.ajhg.2018.07.015", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "target VCF input file to be imputed and or phased", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "ref": { - "type": "file", - "description": "reference panel in bref3 or VCF format", - "pattern": "*.{vcf,vcf.gz,bref3}" - } - }, - { - "genmap": { - "type": "file", - "description": "a PLINK format genetic map with cM units", - "pattern": "*.{map,map.gz,map.zip}" - } - }, - { - "exclsamples": { - "type": "file", - "description": "text file containing samples one sample per line to be excluded from the analysis", - "pattern": "*.*" - } - }, - { - "exclmarkers": { - "type": "file", - "description": "text file containing markers one marker per line to be excluded from the analysis", - "pattern": "*.*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "bgzip compressed VCF file that contains phased non missing genotypes for all non reference samples", - "pattern": "*.vcf.gz" - } - }, - { - "log": { - "type": "file", - "description": "a summary of the analysis that includes the Beagle version, the command line arguments, and compute time.", - "pattern": "*.log" - } - } - ], - "authors": ["@ashotmarg"] - } - }, - { - "name": "bedtools_bamtobed", - "path": "modules/nf-core/bedtools/bamtobed/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_bamtobed", - "description": "Converts a bam file to a bed12 file.", - "keywords": ["bam", "bed", "bedtools", "bamtobed", "converter"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/complement.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Input BAM file", - "pattern": "*.{bam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Bed file containing genomic intervals.", - "pattern": "*.{bed}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@yuukiiwa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "ssds", - "version": "dev" - } - ] - }, - { - "name": "bedtools_closest", - "path": "modules/nf-core/bedtools/closest/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_closest", - "description": "For each feature in A, finds the closest feature (upstream or downstream) in B.", - "keywords": ["bedtools", "closest", "bed", "vcf", "gff"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/closest.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_1": { - "type": "file", - "description": "The file to find the closest features of", - "pattern": "*.{bed,vcf,gff}(.gz)?" - } - }, - { - "input_2": { - "type": "file(s)", - "description": "The input file(s) to find the closest features from", - "pattern": "*.{bed,vcf,gff}(.gz)?" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the FASTA reference. Needed when the argument `--sorted` is used", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "file", - "description": "The resulting BED file containing the closest features", - "pattern": "*.{bed,vcf,gff}" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "bedtools_complement", - "path": "modules/nf-core/bedtools/complement/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_complement", - "description": "Returns all intervals in a genome that are not covered by at least one interval in the input BED/GFF/VCF file.", - "keywords": ["bed", "complement"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/complement.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Input BED file", - "pattern": "*.{bed}" - } - }, - { - "sizes": { - "type": "file", - "description": "File which defines the chromosome lengths for a given genome", - "pattern": "*.{sizes}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Bed file with all genomic intervals that are not covered by at least one record from the input file.", - "pattern": "*.{bed}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Emiller88", "@sruthipsuresh", "@drpatelh"] - }, - "pipelines": [ - { - "name": "cutandrun", - "version": "3.1" - } - ] - }, - { - "name": "bedtools_coverage", - "path": "modules/nf-core/bedtools/coverage/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_coverage", - "description": "computes both the depth and breadth of coverage of features in file B on the features in file A", - "keywords": ["bedtools", "coverage", "bam", "bed", "gff", "vcf", "histogram"], - "tools": [ - { - "bedtools": { - "description": "A powerful toolset for genome arithmetic", - "homepage": "https://bedtools.readthedocs.io/en/latest/index.html", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/bedtools-suite.html", - "tool_dev_url": "https://github.com/arq5x/bedtools2", - "doi": "10.1093/bioinformatics/btq033", - "licence": "['GPL v2', 'MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_A": { - "type": "file", - "description": "BAM/BED/GFF/VCF file", - "pattern": "*.{bam,bed,gff,vcf}" - } - }, - { - "input_B": { - "type": "file", - "description": "One or more BAM/BED/GFF/VCF file", - "pattern": "*.{bam,bed,gff,vcf}" - } - }, - { - "genome_file": { - "type": "file", - "description": "Optional reference genome 2 column file that defines the expected chromosome order\nin the input files for use with the -sorted option.\nWhen `genome_file` is provided, `-sorted` option is added to the command.\n", - "pattern": "*.{fai,txt,chromsizes}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "File containing coverage of sequence alignments", - "pattern": "*.bed" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@priyanka-surana"] - }, - "pipelines": [ - { - "name": "radseq", - "version": "dev" - } - ] - }, - { - "name": "bedtools_genomecov", - "path": "modules/nf-core/bedtools/genomecov/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_genomecov", - "description": "Computes histograms (default), per-base reports (-d) and BEDGRAPH (-bg) summaries of feature coverage (e.g., aligned sequences) for a given genome.", - "keywords": ["bed", "bam", "genomecov", "bedtools", "histogram"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/genomecov.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "intervals": { - "type": "file", - "description": "BAM/BED/GFF/VCF", - "pattern": "*.{bam|bed|gff|vcf}" - } - }, - { - "scale": { - "type": "integer", - "description": "Number containing the scale factor for the output. Set to 1 to disable. Setting to a value other than 1 will also get the -bg bedgraph output format as this is required for this command switch" - } - }, - { - "sizes": { - "type": "file", - "description": "Tab-delimited table of chromosome names in the first column and chromosome sizes in the second column" - } - }, - { - "extension": { - "type": "string", - "description": "Extension of the output file (e. g., \".bg\", \".bedgraph\", \".txt\", \".tab\", etc.) It is set arbitrarily by the user and corresponds to the file format which depends on arguments." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "genomecov": { - "type": "file", - "description": "Computed genome coverage file", - "pattern": "*.${extension}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Emiller88", "@sruthipsuresh", "@drpatelh", "@sidorov-si", "@chris-cheshire"] - }, - "pipelines": [ - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "nascent", - "version": "2.1.1" - } - ] - }, - { - "name": "bedtools_getfasta", - "path": "modules/nf-core/bedtools/getfasta/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_getfasta", - "description": "extract sequences in a FASTA file based on intervals defined in a feature file.", - "keywords": ["bed", "fasta", "getfasta"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/intersect.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "bed": { - "type": "file", - "description": "Bed feature file", - "pattern": "*.{bed}" - } - }, - { - "fasta": { - "type": "file", - "description": "Input fasta file", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "fasta": { - "type": "file", - "description": "Output fasta file with extracted sequences", - "pattern": "*.{fa}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bedtools_intersect", - "path": "modules/nf-core/bedtools/intersect/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_intersect", - "description": "Allows one to screen for overlaps between two sets of genomic features.", - "keywords": ["bed", "intersect", "overlap"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/intersect.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "intervals1": { - "type": "file", - "description": "BAM/BED/GFF/VCF", - "pattern": "*.{bam|bed|gff|vcf}" - } - }, - { - "intervals2": { - "type": "file", - "description": "BAM/BED/GFF/VCF", - "pattern": "*.{bam|bed|gff|vcf}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference chromosome sizes\ne.g. [ id:'test' ]\n" - } - }, - { - "chrom_sizes": { - "type": "file", - "description": "Chromosome sizes file", - "pattern": "*{.sizes,.txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "intersect": { - "type": "file", - "description": "File containing the description of overlaps found between the two features", - "pattern": "*.${extension}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Emiller88", "@sruthipsuresh", "@drpatelh", "@sidorov-si"] - }, - "pipelines": [ - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "radseq", - "version": "dev" - } - ] - }, - { - "name": "bedtools_jaccard", - "path": "modules/nf-core/bedtools/jaccard/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_jaccard", - "description": "Calculate Jaccard statistic b/w two feature files.", - "keywords": ["vcf", "gff", "bed", "jaccard", "intersection", "union", "statistics"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/intersect.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_a": { - "type": "file", - "description": "VCF,GFF or BED file to use with the `-a` option", - "pattern": "*.{vcf,vcf.gz,bed,bed.gz,gff}" - } - }, - { - "input_b": { - "type": "file", - "description": "VCF,GFF or BED file to use with the `-b` option", - "pattern": "*.{vcf,vcf.gz,bed,bed.gz,gff}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing genome file information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "genome_file": { - "type": "file", - "description": "A file containing all the contigs of the genome used to create the input files", - "pattern": "*.{txt,sizes,fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "TSV file containing the results", - "pattern": "*.tsv" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "bedtools_makewindows", - "path": "modules/nf-core/bedtools/makewindows/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_makewindows", - "description": "Makes adjacent or sliding windows across a genome or BED file.", - "keywords": ["bed", "windows", "fai", "chunking"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.", - "homepage": "https://bedtools.readthedocs.io", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/makewindows.html", - "doi": "10.1093/bioinformatics/btq033", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "regions": { - "type": "file", - "description": "BED file OR Genome details file ()", - "pattern": "*.{bed,tab,fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "BED file containing the windows", - "pattern": "*.bed" - } - } - ], - "authors": ["@kevbrick", "@nvnieuwk"] - }, - "pipelines": [ - { - "name": "radseq", - "version": "dev" - }, - { - "name": "ssds", - "version": "dev" - } - ] - }, - { - "name": "bedtools_map", - "path": "modules/nf-core/bedtools/map/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_map", - "description": "Allows one to screen for overlaps between two sets of genomic features.", - "keywords": ["bed", "vcf", "gff", "map", "bedtools"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/map.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "intervals1": { - "type": "file", - "description": "BAM/BED/GFF/VCF", - "pattern": "*.{bed|gff|vcf}" - } - }, - { - "intervals2": { - "type": "file", - "description": "BAM/BED/GFF/VCF", - "pattern": "*.{bed|gff|vcf}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference chromosome sizes\ne.g. [ id:'test' ]\n" - } - }, - { - "chrom_sizes": { - "type": "file", - "description": "Chromosome sizes file", - "pattern": "*{.sizes,.txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "map": { - "type": "file", - "description": "File containing the description of overlaps found between the features in A and the features in B, with statistics", - "pattern": "*.${extension}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ekushele"] - } - }, - { - "name": "bedtools_maskfasta", - "path": "modules/nf-core/bedtools/maskfasta/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_maskfasta", - "description": "masks sequences in a FASTA file based on intervals defined in a feature file.", - "keywords": ["bed", "fasta", "maskfasta"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/intersect.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Bed feature file", - "pattern": "*.{bed}" - } - }, - { - "fasta": { - "type": "file", - "description": "Input fasta file", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Output masked fasta file", - "pattern": "*.{fa}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bedtools_merge", - "path": "modules/nf-core/bedtools/merge/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_merge", - "description": "combines overlapping or “book-ended” features in an interval file into a single feature which spans all of the combined features.", - "keywords": ["bed", "merge", "bedtools", "overlapped bed"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/merge.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Input BED file", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Overlapped bed file with combined features", - "pattern": "*.{bed}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Emiller88", "@sruthipsuresh", "@drpatelh"] - }, - "pipelines": [ - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bedtools_multiinter", - "path": "modules/nf-core/bedtools/multiinter/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_multiinter", - "description": "Identifies common intervals among multiple (and subsets thereof) sorted BED/GFF/VCF files.", - "keywords": ["bedtools", "multinterval", "bed", "vcf", "gff"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/multiinter.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "beds": { - "type": "list", - "description": "List of files to be merged", - "pattern": "*.{bed,vcf,gff}" - } - }, - { - "chrom_sizes": { - "type": "file", - "description": "Chromosome sizes file", - "pattern": "*{.sizes,.txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "Common interval bed", - "pattern": "*.{bed}" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "bedtools_shift", - "path": "modules/nf-core/bedtools/shift/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_shift", - "description": "Shifts each feature by specific number of bases", - "keywords": ["bed", "shiftBed", "region", "fai", "sizes", "genome", "bases"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/slop.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Input BED file", - "pattern": "*.{bed}" - } - }, - { - "chrom_sizes": { - "type": "file", - "description": "Chromosome sizes file", - "pattern": "*{.sizes,.txt,.fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Shift BED file", - "pattern": "*.{bed}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ekushele"] - } - }, - { - "name": "bedtools_slop", - "path": "modules/nf-core/bedtools/slop/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_slop", - "description": "Adds a specified number of bases in each direction (unique values may be specified for either -l or -r)", - "keywords": ["bed", "slopBed", "bedtools"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/slop.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Input BED file", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Slopped BED file", - "pattern": "*.{bed}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Emiller88", "@sruthipsuresh", "@drpatelh"] - } - }, - { - "name": "bedtools_sort", - "path": "modules/nf-core/bedtools/sort/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_sort", - "description": "Sorts a feature file by chromosome and other criteria.", - "keywords": ["bed", "sort", "bedtools", "chromosome"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/sort.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "intervals": { - "type": "file", - "description": "BED/BEDGRAPH", - "pattern": "*.{bed|bedGraph}" - } - }, - { - "genome_file": { - "type": "file", - "description": "Optional reference genome 2 column file that defines the expected chromosome order.\n", - "pattern": "*.{fai,txt,chromsizes}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sorted": { - "type": "file", - "description": "Sorted output file", - "pattern": "*.${extension}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Emiller88", "@sruthipsuresh", "@drpatelh", "@chris-cheshire", "@adamrtalbot"] - }, - "pipelines": [ - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "ssds", - "version": "dev" - } - ] - }, - { - "name": "bedtools_split", - "path": "modules/nf-core/bedtools/split/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_split", - "description": "Split BED files into several smaller BED files", - "keywords": ["bedtools", "split", "bed"], - "tools": [ - { - "bedtools": { - "description": "A powerful toolset for genome arithmetic", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/sort.html", - "licence": "['MIT', 'GPL v2']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "BED file", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "beds": { - "type": "file", - "description": "list of split BED files", - "pattern": "*.bed" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "bedtools_subtract", - "path": "modules/nf-core/bedtools/subtract/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_subtract", - "description": "Finds overlaps between two sets of regions (A and B), removes the overlaps from A and reports the remaining portion of A.", - "keywords": ["bed", "gff", "vcf", "subtract"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/subtract.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "intervals1": { - "type": "file", - "description": "BED/GFF/VCF", - "pattern": "*.{bed|gff|vcf}" - } - }, - { - "intervals2": { - "type": "file", - "description": "BED/GFF/VCF", - "pattern": "*.{bed|gff|vcf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "File containing the difference between the two sets of features", - "patters": "*.bed" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sidorov-si"] - } - }, - { - "name": "bedtools_unionbedg", - "path": "modules/nf-core/bedtools/unionbedg/meta.yml", - "type": "module", - "meta": { - "name": "bedtools_unionbedg", - "description": "Combines multiple BedGraph files into a single file", - "keywords": ["bed", "unionBedGraphs", "bedGraph", "comparisons", "combine"], - "tools": [ - { - "bedtools": { - "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", - "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/slop.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bedgraph": { - "type": "file", - "description": "Input BedGraph file: four column BED format, with 4th column with numerical values: integer or real, positive or negative\n", - "pattern": "*.{bedGraph,bedgraph}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing meta information for the reference chromosome sizes\ne.g. [ id:'test' ]\n" - } - }, - { - "chrom_sizes": { - "type": "file", - "description": "Chromosome sizes file", - "pattern": "*{.sizes,.txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Combined BED file with values from all bedGraph files", - "pattern": "*.{bed}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ekushele"] - } - }, - { - "name": "bioawk", - "path": "modules/nf-core/bioawk/meta.yml", - "type": "module", - "meta": { - "name": "bioawk", - "description": "Bioawk is an extension to Brian Kernighan's awk, adding the support of several common biological data formats.", - "keywords": ["bioawk", "fastq", "fasta", "sam", "file manipulation", "awk"], - "tools": [ - { - "bioawk": { - "description": "BWK awk modified for biological data", - "homepage": "https://github.com/lh3/bioawk", - "documentation": "https://github.com/lh3/bioawk", - "tool_dev_url": "https://github.com/lh3/bioawk", - "licence": "['Free software license (https://github.com/lh3/bioawk/blob/master/README.awk#L1)']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "Input sequence biological sequence file (optionally gzipped) to be manipulated via program specified in `$args`.", - "pattern": "*.{bed,gff,sam,vcf,fastq,fasta,tab,bed.gz,gff.gz,sam.gz,vcf.gz,fastq.gz,fasta.gz,tab.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "file", - "description": "Manipulated and gzipped version of input sequence file following program specified in `args`.\nFile name will be what is specified in `$prefix`. Do not include `.gz` suffix in `$prefix`! Output files` will be gzipped for you!\n", - "pattern": "*.gz" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "biobambam_bammarkduplicates2", - "path": "modules/nf-core/biobambam/bammarkduplicates2/meta.yml", - "type": "module", - "meta": { - "name": "biobambam_bammarkduplicates2", - "description": "Locate and tag duplicate reads in a BAM file", - "keywords": ["markduplicates", "bam", "cram"], - "tools": [ - { - "biobambam": { - "description": "biobambam is a set of tools for early stage alignment file processing.\n", - "homepage": "https://gitlab.com/german.tischler/biobambam2", - "documentation": "https://gitlab.com/german.tischler/biobambam2/-/blob/master/README.md", - "doi": "10.1186/1751-0473-9-13", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file with duplicate reads marked/removed", - "pattern": "*.{bam}" - } - }, - { - "metrics": { - "type": "file", - "description": "Duplicate metrics file generated by biobambam", - "pattern": "*.{metrics.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@muffato"] - } - }, - { - "name": "biobambam_bammerge", - "path": "modules/nf-core/biobambam/bammerge/meta.yml", - "type": "module", - "meta": { - "name": "biobambam_bammerge", - "description": "Merge a list of sorted bam files", - "keywords": ["merge", "bam"], - "tools": [ - { - "biobambam": { - "description": "biobambam is a set of tools for early stage alignment file processing.\n", - "homepage": "https://gitlab.com/german.tischler/biobambam2", - "documentation": "https://gitlab.com/german.tischler/biobambam2/-/blob/master/README.md", - "doi": "10.1186/1751-0473-9-13", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "List containing 1 or more bam files" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Merged BAM file", - "pattern": "*.bam" - } - }, - { - "bam_index": { - "type": "file", - "description": "BAM index file", - "pattern": "*" - } - }, - { - "checksum": { - "type": "file", - "description": "Checksum file", - "pattern": "*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "biobambam_bamsormadup", - "path": "modules/nf-core/biobambam/bamsormadup/meta.yml", - "type": "module", - "meta": { - "name": "biobambam_bamsormadup", - "description": "Parallel sorting and duplicate marking", - "keywords": ["markduplicates", "sort", "bam", "cram"], - "tools": [ - { - "biobambam": { - "description": "biobambam is a set of tools for early stage alignment file processing.\n", - "homepage": "https://gitlab.com/german.tischler/biobambam2", - "documentation": "https://gitlab.com/german.tischler/biobambam2/-/blob/master/README.md", - "doi": "10.1186/1751-0473-9-13", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bams": { - "type": "file", - "description": "List containing 1 or more bam files" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome in FASTA format (optional)", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM file with duplicate reads marked/removed", - "pattern": "*.{bam,cram}" - } - }, - { - "bam_index": { - "type": "file", - "description": "BAM index file", - "pattern": "*.{bai}" - } - }, - { - "metrics": { - "type": "file", - "description": "Duplicate metrics file generated by biobambam", - "pattern": "*.{metrics.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "biohansel", - "path": "modules/nf-core/biohansel/meta.yml", - "type": "module", - "meta": { - "name": "biohansel", - "description": "Use k-mers to rapidly subtype S. enterica genomes", - "keywords": ["Salmonella enterica", "subtyping", "prokaryote"], - "tools": [ - { - "biohansel": { - "description": "Subtype Salmonella enterica genomes using 33bp k-mer typing schemes.", - "homepage": "https://github.com/phac-nml/biohansel", - "documentation": "https://github.com/phac-nml/biohansel", - "tool_dev_url": "https://github.com/phac-nml/biohansel", - "doi": "10.1101/2020.01.10.902056", - "licence": "['Apache-2.0 license']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "seqs": { - "type": "file", - "description": "FASTA or FASTQ", - "pattern": "*.{fasta.gz,fa.gz,fna.gz,fastq.gz,fq.gz}" - } - }, - { - "scheme_metadata": { - "type": "file", - "description": "Scheme subtype metadata table", - "pattern": "*.{tab,tsv,txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "summary": { - "type": "file", - "description": "Tab-delimited subtyping summary output", - "pattern": "*summary.txt" - } - }, - { - "kmer_results": { - "type": "file", - "description": "Tab-delimited subtyping kmer matching output", - "pattern": "*kmer-results.txt" - } - }, - { - "simple_summary": { - "type": "file", - "description": "A simple version of summary output", - "pattern": "*simple-summary.txt" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "biscuit_align", - "path": "modules/nf-core/biscuit/align/meta.yml", - "type": "module", - "meta": { - "name": "biscuit_align", - "description": "Aligns single- or paired-end reads from bisulfite-converted libraries to a reference genome using Biscuit.", - "keywords": ["biscuit", "DNA methylation", "WGBS", "scWGBS", "bisulfite sequencing", "aligner", "bam"], - "tools": [ - { - "biscuit": { - "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", - "homepage": "https://huishenlab.github.io/biscuit/", - "documentation": "https://huishenlab.github.io/biscuit/docs/alignment", - "tool_dev_url": "https://github.com/huishenlab/biscuit", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input fastq files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "index": { - "type": "directory", - "description": "Biscuit genome index directory (generated with 'biscuit index')", - "pattern": "BiscuitIndex" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Output BAM file containing read alignments", - "pattern": "*.{bam}" - } - }, - { - "bai": { - "type": "file", - "description": "Output BAM index", - "pattern": "*.{bai}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@njspix"] - } - }, - { - "name": "biscuit_biscuitblaster", - "path": "modules/nf-core/biscuit/biscuitblaster/meta.yml", - "type": "module", - "meta": { - "name": "biscuit_blaster", - "description": "A fast, compact one-liner to produce duplicate-marked, sorted, and indexed BAM files using Biscuit", - "keywords": ["biscuit", "DNA methylation", "WGBS", "scWGBS", "bisulfite sequencing", "aligner", "bam"], - "tools": [ - { - "biscuit": { - "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", - "homepage": "https://huishenlab.github.io/biscuit/", - "documentation": "https://huishenlab.github.io/biscuit/biscuitblaster/", - "tool_dev_url": "https://github.com/huishenlab/biscuit", - "licence": ["MIT"] - } - }, - { - "samblaster": { - "description": "samblaster is a fast and flexible program for marking duplicates in read-id grouped paired-end SAM files.\nIt can also optionally output discordant read pairs and/or split read mappings to separate SAM files,\nand/or unmapped/clipped reads to a separate FASTQ file.\nBy default, samblaster reads SAM input from stdin and writes SAM to stdout.\n", - "documentation": "https://github.com/GregoryFaust/samblaster", - "tool_dev_url": "https://github.com/GregoryFaust/samblaster", - "doi": "10.1093/bioinformatics/btu314", - "licence": ["MIT"] - } - }, - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input fastq files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "index": { - "type": "directory", - "description": "Biscuit genome index directory (generated with 'biscuit index')", - "pattern": "BiscuitIndex" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Output BAM file containing read alignments", - "pattern": "*.{bam}" - } - }, - { - "bai": { - "type": "file", - "description": "Output BAM index", - "pattern": "*.{bai}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@njspix"] - } - }, - { - "name": "biscuit_bsconv", - "path": "modules/nf-core/biscuit/bsconv/meta.yml", - "type": "module", - "meta": { - "name": "biscuit_bsconv", - "description": "Summarize and/or filter reads based on bisulfite conversion rate", - "keywords": [ - "biscuit", - "DNA methylation", - "WGBS", - "scWGBS", - "bisulfite sequencing", - "aligner", - "bam", - "filter" - ], - "tools": [ - { - "biscuit": { - "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", - "homepage": "https://huishenlab.github.io/biscuit/", - "documentation": "https://huishenlab.github.io/biscuit/docs/subcommand_help.html#biscuit-bsconv", - "tool_dev_url": "https://github.com/huishenlab/biscuit", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file contained mapped reads" - } - }, - { - "bai": { - "type": "file", - "description": "BAM file index" - } - }, - { - "index": { - "type": "dir", - "description": "Biscuit genome index directory (generated with 'biscuit index')", - "pattern": "BiscuitIndex" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bsconv_bam": { - "type": "file", - "description": "Output BAM file containing filtered read alignments", - "pattern": "*.{bam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@njspix"] - } - }, - { - "name": "biscuit_epiread", - "path": "modules/nf-core/biscuit/epiread/meta.yml", - "type": "module", - "meta": { - "name": "biscuit_epiread", - "description": "Summarizes read-level methylation (and optionally SNV) information from a\nBiscuit BAM file in a standard-compliant BED format.\n", - "keywords": ["biscuit", "DNA methylation", "WGBS", "scWGBS", "bisulfite sequencing", "aligner", "bam"], - "tools": [ - { - "biscuit": { - "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", - "homepage": "https://huishenlab.github.io/biscuit/", - "documentation": "https://huishenlab.github.io/biscuit/epiread_format/", - "tool_dev_url": "https://github.com/huishenlab/biscuit", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Biscuit BAM file" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index" - } - }, - { - "snp_bed": { - "type": "file", - "description": "BED file containing SNP information (optional)" - } - }, - { - "index": { - "type": "directory", - "description": "Biscuit genome index directory (generated with 'biscuit index')", - "pattern": "BiscuitIndex" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "epiread_bed": { - "type": "file", - "description": "Gzipped BED file with methylation (and optionally SNV) information", - "pattern": "*.{epiread.bed.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@njspix"] - } - }, - { - "name": "biscuit_index", - "path": "modules/nf-core/biscuit/index/meta.yml", - "type": "module", - "meta": { - "name": "biscuit_index", - "description": "Indexes a reference genome for use with Biscuit", - "keywords": [ - "biscuit", - "DNA methylation", - "WGBS", - "scWGBS", - "bisulfite sequencing", - "index", - "reference", - "fasta" - ], - "tools": [ - { - "biscuit": { - "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", - "homepage": "https://huishenlab.github.io/biscuit/", - "documentation": "https://huishenlab.github.io/biscuit/docs/alignment", - "tool_dev_url": "https://github.com/huishenlab/biscuit", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Input genome fasta file" - } - } - ], - "output": [ - { - "index": { - "type": "dir", - "description": "Biscuit genome index directory", - "pattern": "BiscuitIndex" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@njspix"] - } - }, - { - "name": "biscuit_mergecg", - "path": "modules/nf-core/biscuit/mergecg/meta.yml", - "type": "module", - "meta": { - "name": "biscuit_mergecg", - "description": "Merges methylation information for opposite-strand C's in a CpG context", - "keywords": ["biscuit", "DNA methylation", "WGBS", "scWGBS", "bisulfite sequencing", "aligner", "bed"], - "tools": [ - { - "biscuit": { - "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", - "homepage": "https://huishenlab.github.io/biscuit/", - "documentation": "https://huishenlab.github.io/biscuit/docs/methylextraction.html", - "tool_dev_url": "https://github.com/huishenlab/biscuit", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Biscuit BED file (output of biscuit vcf2bed)\n" - } - }, - { - "index": { - "type": "directory", - "description": "Biscuit genome index directory (generated with 'biscuit index')", - "pattern": "BiscuitIndex" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "mergecg_bed": { - "type": "file", - "description": "Gzipped BED file with merged methylation information", - "pattern": "*.bed.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@njspix"] - } - }, - { - "name": "biscuit_pileup", - "path": "modules/nf-core/biscuit/pileup/meta.yml", - "type": "module", - "meta": { - "name": "biscuit_pileup", - "description": "Computes cytosine methylation and callable SNV mutations, optionally in reference to a germline BAM to call somatic variants", - "keywords": [ - "bisulfite", - "DNA methylation", - "pileup", - "variant calling", - "WGBS", - "scWGBS", - "bam", - "vcf" - ], - "tools": [ - { - "biscuit": { - "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", - "homepage": "https://huishenlab.github.io/biscuit/", - "documentation": "https://huishenlab.github.io/biscuit/docs/pileup.html", - "tool_dev_url": "https://github.com/huishenlab/biscuit", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "normal_bams": { - "type": "file", - "description": "BAM files to be analyzed. If no tumor_bam file is provided, any number of \"normal\" BAMs may be provided\n(\"normal\" here is just a semantic issue, these BAMs could be from tumor or any other kind of tissue). If a\ntumor BAM file is provided, exactly one normal (germline) BAM must be provided.\n", - "pattern": "*.{bam}" - } - }, - { - "normal_bais": { - "type": "file", - "description": "BAM index file or files corresponding to the provided normal_bams", - "pattern": "*.{bai}" - } - }, - { - "tumor_bam": { - "type": "file", - "description": "Optional. If a tumor BAM file is provided, pileup will run in \"somatic\" mode and will annotate variants with\ntheir somatic state (present in tumor only, present in normal only, present in both, etc). Note that if a\ntumor BAM file is provided, exactly one normal BAM must be provided.\n", - "pattern": "*.{bam}" - } - }, - { - "tumor_bai": { - "type": "file", - "description": "Optional. BAM index file corresponding to provided tumor_bam", - "pattern": "*.{bai}" - } - }, - { - "index": { - "type": "directory", - "description": "Biscuit genome index directory (generated with 'biscuit index')", - "pattern": "BiscuitIndex" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "vcf file with methylation information", - "pattern": "*.{vcf.gz}" - } - } - ], - "authors": ["@njspix"] - } - }, - { - "name": "biscuit_qc", - "path": "modules/nf-core/biscuit/qc/meta.yml", - "type": "module", - "meta": { - "name": "biscuit_qc", - "description": "Perform basic quality control on a BAM file generated with Biscuit", - "keywords": [ - "biscuit", - "DNA methylation", - "WGBS", - "scWGBS", - "bisulfite sequencing", - "index", - "BAM", - "quality control" - ], - "tools": [ - { - "biscuit": { - "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", - "homepage": "https://huishenlab.github.io/biscuit/", - "documentation": "https://huishenlab.github.io/biscuit/docs/subcommand_help.html#biscuit-qc", - "tool_dev_url": "https://github.com/huishenlab/biscuit", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file produced using Biscuit" - } - } - ], - "output": [ - { - "biscuit_qc_reports": { - "type": "file", - "description": "Summary files containing the following information:\n - CpG retention by position in read\n - CpH retention by position in read\n - Read duplication statistics\n - Insert size distribution\n - Distribution of mapping qualities\n - Proportion of reads mapping to each strand\n - Read-averaged cytosine conversion rate for CpA, CpC, CpG, and CpT\n", - "pattern": "*.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@njspix"] - } - }, - { - "name": "biscuit_vcf2bed", - "path": "modules/nf-core/biscuit/vcf2bed/meta.yml", - "type": "module", - "meta": { - "name": "biscuit_vcf2bed", - "description": "Summarizes methylation or SNV information from a Biscuit VCF in a\nstandard-compliant BED file.\n", - "keywords": ["biscuit", "DNA methylation", "WGBS", "scWGBS", "bisulfite sequencing", "aligner", "vcf"], - "tools": [ - { - "biscuit": { - "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", - "homepage": "https://huishenlab.github.io/biscuit/", - "documentation": "https://huishenlab.github.io/biscuit/docs/methylextraction.html", - "tool_dev_url": "https://github.com/huishenlab/biscuit", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Biscuit vcf file (output of biscuit pileup)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Gzipped BED file with methylation or SNV information", - "pattern": "*.{bed.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@njspix"] - } - }, - { - "name": "bismark_align", - "path": "modules/nf-core/bismark/align/meta.yml", - "type": "module", - "meta": { - "name": "bismark_align", - "description": "Performs alignment of BS-Seq reads using bismark", - "keywords": [ - "bismark", - "3-letter genome", - "map", - "methylation", - "5mC", - "methylseq", - "bisulphite", - "bisulfite", - "bam" - ], - "tools": [ - { - "bismark": { - "description": "Bismark is a tool to map bisulfite treated sequencing reads\nand perform methylation calling in a quick and easy-to-use fashion.\n", - "homepage": "https://github.com/FelixKrueger/Bismark", - "documentation": "https://github.com/FelixKrueger/Bismark/tree/master/Docs", - "doi": "10.1093/bioinformatics/btr167", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "index": { - "type": "dir", - "description": "Bismark genome index directory", - "pattern": "BismarkIndex" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Output BAM file containing read alignments", - "pattern": "*.{bam}" - } - }, - { - "unmapped": { - "type": "file", - "description": "Output FastQ file(s) containing unmapped reads", - "pattern": "*.{fq.gz}" - } - }, - { - "report": { - "type": "file", - "description": "Bismark alignment reports", - "pattern": "*{report.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@phue"] - }, - "pipelines": [ - { - "name": "methylseq", - "version": "2.4.0" - } - ] - }, - { - "name": "bismark_coverage2cytosine", - "path": "modules/nf-core/bismark/coverage2cytosine/meta.yml", - "type": "module", - "meta": { - "name": "bismark_coverage2cytosine", - "description": "Relates methylation calls back to genomic cytosine contexts.", - "keywords": [ - "bismark", - "consensus", - "map", - "methylation", - "5mC", - "methylseq", - "bisulphite", - "bisulfite", - "bam", - "bedGraph" - ], - "tools": [ - { - "bismark": { - "description": "Bismark is a tool to map bisulfite treated sequencing reads\nand perform methylation calling in a quick and easy-to-use fashion.\n", - "homepage": "https://github.com/FelixKrueger/Bismark", - "documentation": "https://github.com/FelixKrueger/Bismark/tree/master/Docs", - "doi": "10.1093/bioinformatics/btr167", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "coverage_file": { - "type": "file", - "description": "A file containing methylation calls per position, in the format produced by bismark_methylation_extractor.\n" - } - }, - { - "index": { - "type": "dir", - "description": "Bismark genome index directory", - "pattern": "BismarkIndex" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "coverage": { - "type": "file", - "description": "A file containing methylation calls per position.", - "pattern": "*.cov.gz" - } - }, - { - "report": { - "type": "file", - "description": "Genomic cytosine context results.", - "pattern": "*report.txt.gz" - } - }, - { - "summary": { - "type": "file", - "description": "Cyotosine context summary report.", - "pattern": "*cytosine_context_summary.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ewels"] - }, - "pipelines": [ - { - "name": "methylseq", - "version": "2.4.0" - } - ] - }, - { - "name": "bismark_deduplicate", - "path": "modules/nf-core/bismark/deduplicate/meta.yml", - "type": "module", - "meta": { - "name": "bismark_deduplicate", - "description": "Removes alignments to the same position in the genome\nfrom the Bismark mapping output.\n", - "keywords": [ - "bismark", - "3-letter genome", - "map", - "methylation", - "5mC", - "methylseq", - "bisulphite", - "bisulfite", - "bam" - ], - "tools": [ - { - "bismark": { - "description": "Bismark is a tool to map bisulfite treated sequencing reads\nand perform methylation calling in a quick and easy-to-use fashion.\n", - "homepage": "https://github.com/FelixKrueger/Bismark", - "documentation": "https://github.com/FelixKrueger/Bismark/tree/master/Docs", - "doi": "10.1093/bioinformatics/btr167", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file containing read alignments", - "pattern": "*.{bam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Deduplicated output BAM file containing read alignments", - "pattern": "*.{deduplicated.bam}" - } - }, - { - "report": { - "type": "file", - "description": "Bismark deduplication reports", - "pattern": "*.{deduplication_report.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@phue"] - }, - "pipelines": [ - { - "name": "methylseq", - "version": "2.4.0" - } - ] - }, - { - "name": "bismark_genomepreparation", - "path": "modules/nf-core/bismark/genomepreparation/meta.yml", - "type": "module", - "meta": { - "name": "bismark_genomepreparation", - "description": "Converts a specified reference genome into two different bisulfite\nconverted versions and indexes them for alignments.\n", - "keywords": [ - "bismark", - "3-letter genome", - "index", - "methylation", - "5mC", - "methylseq", - "bisulphite", - "bisulfite", - "fasta" - ], - "tools": [ - { - "bismark": { - "description": "Bismark is a tool to map bisulfite treated sequencing reads\nand perform methylation calling in a quick and easy-to-use fashion.\n", - "homepage": "https://github.com/FelixKrueger/Bismark", - "documentation": "https://github.com/FelixKrueger/Bismark/tree/master/Docs", - "doi": "10.1093/bioinformatics/btr167", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Input genome fasta file" - } - } - ], - "output": [ - { - "index": { - "type": "dir", - "description": "Bismark genome index directory", - "pattern": "BismarkIndex" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@phue"] - }, - "pipelines": [ - { - "name": "methylseq", - "version": "2.4.0" - } - ] - }, - { - "name": "bismark_methylationextractor", - "path": "modules/nf-core/bismark/methylationextractor/meta.yml", - "type": "module", - "meta": { - "name": "bismark_methylationextractor", - "description": "Extracts methylation information for individual cytosines from alignments.", - "keywords": [ - "bismark", - "consensus", - "map", - "methylation", - "5mC", - "methylseq", - "bisulphite", - "bisulfite", - "bam", - "bedGraph" - ], - "tools": [ - { - "bismark": { - "description": "Bismark is a tool to map bisulfite treated sequencing reads\nand perform methylation calling in a quick and easy-to-use fashion.\n", - "homepage": "https://github.com/FelixKrueger/Bismark", - "documentation": "https://github.com/FelixKrueger/Bismark/tree/master/Docs", - "doi": "10.1093/bioinformatics/btr167", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file containing read alignments", - "pattern": "*.{bam}" - } - }, - { - "index": { - "type": "dir", - "description": "Bismark genome index directory", - "pattern": "BismarkIndex" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bedgraph": { - "type": "file", - "description": "Bismark output file containing coverage and methylation metrics", - "pattern": "*.{bedGraph.gz}" - } - }, - { - "methylation_calls": { - "type": "file", - "description": "Bismark output file containing strand-specific methylation calls", - "pattern": "*.{txt.gz}" - } - }, - { - "coverage": { - "type": "file", - "description": "Bismark output file containing coverage metrics", - "pattern": "*.{cov.gz}" - } - }, - { - "report": { - "type": "file", - "description": "Bismark splitting reports", - "pattern": "*_{splitting_report.txt}" - } - }, - { - "mbias": { - "type": "file", - "description": "Text file containing methylation bias information", - "pattern": "*.{M-bias.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@phue"] - }, - "pipelines": [ - { - "name": "methylseq", - "version": "2.4.0" - } - ] - }, - { - "name": "bismark_report", - "path": "modules/nf-core/bismark/report/meta.yml", - "type": "module", - "meta": { - "name": "bismark_report", - "description": "Collects bismark alignment reports", - "keywords": ["bismark", "qc", "methylation", "5mC", "methylseq", "bisulphite", "bisulfite", "report"], - "tools": [ - { - "bismark": { - "description": "Bismark is a tool to map bisulfite treated sequencing reads\nand perform methylation calling in a quick and easy-to-use fashion.\n", - "homepage": "https://github.com/FelixKrueger/Bismark", - "documentation": "https://github.com/FelixKrueger/Bismark/tree/master/Docs", - "doi": "10.1093/bioinformatics/btr167", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "align_report": { - "type": "file", - "description": "Bismark alignment reports", - "pattern": "*{report.txt}" - } - }, - { - "splitting_report": { - "type": "file", - "description": "Bismark splitting reports", - "pattern": "*{splitting_report.txt}" - } - }, - { - "dedup_report": { - "type": "file", - "description": "Bismark deduplication reports", - "pattern": "*.{deduplication_report.txt}" - } - }, - { - "mbias": { - "type": "file", - "description": "Text file containing methylation bias information", - "pattern": "*.{txt}" - } - }, - { - "fasta": { - "type": "file", - "description": "Input genome fasta file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "report": { - "type": "file", - "description": "Bismark reports", - "pattern": "*.{html,txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@phue"] - }, - "pipelines": [ - { - "name": "methylseq", - "version": "2.4.0" - } - ] - }, - { - "name": "bismark_summary", - "path": "modules/nf-core/bismark/summary/meta.yml", - "type": "module", - "meta": { - "name": "bismark_summary", - "description": "Uses Bismark report files of several samples in a run folder\nto generate a graphical summary HTML report.\n", - "keywords": [ - "bismark", - "qc", - "methylation", - "5mC", - "methylseq", - "bisulphite", - "bisulfite", - "report", - "summary" - ], - "tools": [ - { - "bismark": { - "description": "Bismark is a tool to map bisulfite treated sequencing reads\nand perform methylation calling in a quick and easy-to-use fashion.\n", - "homepage": "https://github.com/FelixKrueger/Bismark", - "documentation": "https://github.com/FelixKrueger/Bismark/tree/master/Docs", - "doi": "10.1093/bioinformatics/btr167", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "bam": { - "type": "value", - "description": "Array of Bismark alignment BAM filenames", - "pattern": "*.bam" - } - }, - { - "align_report": { - "type": "file", - "description": "Bismark alignment reports", - "pattern": "*report.txt" - } - }, - { - "dedup_report": { - "type": "file", - "description": "Bismark deduplication reports", - "pattern": "*.deduplication_report.txt" - } - }, - { - "splitting_report": { - "type": "file", - "description": "Bismark splitting reports", - "pattern": "*splitting_report.txt" - } - }, - { - "mbias": { - "type": "file", - "description": "Text file containing methylation bias information", - "pattern": "*.txt" - } - } - ], - "output": [ - { - "summary": { - "type": "file", - "description": "Bismark summary", - "pattern": "*.{html,txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@phue"] - }, - "pipelines": [ - { - "name": "methylseq", - "version": "2.4.0" - } - ] - }, - { - "name": "blast_blastn", - "path": "modules/nf-core/blast/blastn/meta.yml", - "type": "module", - "meta": { - "name": "blast_blastn", - "description": "Queries a BLAST DNA database", - "keywords": ["fasta", "blast", "blastn", "DNA sequence"], - "tools": [ - { - "blast": { - "description": "BLAST finds regions of similarity between biological sequences.\n", - "homepage": "https://blast.ncbi.nlm.nih.gov/Blast.cgi", - "documentation": "https://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=Web&PAGE_TYPE=Blastdocs", - "doi": "10.1016/S0022-2836(05)80360-2", - "licence": ["US-Government-Work"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input fasta file containing queries sequences", - "pattern": "*.{fa,fasta}" - } - }, - { - "db": { - "type": "directory", - "description": "Directory containing blast database", - "pattern": "*" - } - } - ], - "output": [ - { - "txt": { - "type": "file", - "description": "File containing blastn hits", - "pattern": "*.{blastn.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "blast_makeblastdb", - "path": "modules/nf-core/blast/makeblastdb/meta.yml", - "type": "module", - "meta": { - "name": "blast_makeblastdb", - "description": "Builds a BLAST database", - "keywords": ["fasta", "blast", "database"], - "tools": [ - { - "blast": { - "description": "BLAST finds regions of similarity between biological sequences.\n", - "homepage": "https://blast.ncbi.nlm.nih.gov/Blast.cgi", - "documentation": "https://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=Web&PAGE_TYPE=Blastdocs", - "doi": "10.1016/S0022-2836(05)80360-2", - "licence": ["US-Government-Work"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Input fasta file", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "db": { - "type": "directory", - "description": "Output directory containing blast database files", - "pattern": "*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "blast_tblastn", - "path": "modules/nf-core/blast/tblastn/meta.yml", - "type": "module", - "meta": { - "name": "blast_tblastn", - "description": "Queries a BLAST DNA database", - "keywords": ["fasta", "blast", "tblastn", "DNA sequence"], - "tools": [ - { - "blast": { - "description": "Protein to Translated Nucleotide BLAST.\n", - "homepage": "https://blast.ncbi.nlm.nih.gov/Blast.cgi", - "documentation": "https://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=Web&PAGE_TYPE=Blastdocs", - "doi": "10.1016/S0022-2836(05)80360-2", - "licence": ["US-Government-Work"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input fasta file containing queries sequences", - "pattern": "*.{fa,fasta}" - } - }, - { - "db": { - "type": "directory", - "description": "Directory containing blast database", - "pattern": "*" - } - } - ], - "output": [ - { - "txt": { - "type": "file", - "description": "File containing blastn hits", - "pattern": "*.{tblastn.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@yumisims", "@gq2"] - } - }, - { - "name": "bowtie2_align", - "path": "modules/nf-core/bowtie2/align/meta.yml", - "type": "module", - "meta": { - "name": "bowtie2_align", - "description": "Align reads to a reference genome using bowtie2", - "keywords": ["align", "map", "fasta", "fastq", "genome", "reference"], - "tools": [ - { - "bowtie2": { - "description": "Bowtie 2 is an ultrafast and memory-efficient tool for aligning\nsequencing reads to long reference sequences.\n", - "homepage": "http://bowtie-bio.sourceforge.net/bowtie2/index.shtml", - "documentation": "http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml", - "doi": "10.1038/nmeth.1923", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "file", - "description": "Bowtie2 genome index files", - "pattern": "*.ebwt" - } - }, - { - "save_unaligned": { - "type": "boolean", - "description": "Save reads that do not map to the reference (true) or discard them (false)\n(default: false)\n" - } - }, - { - "sort_bam": { - "type": "boolean", - "description": "use samtools sort (true) or samtools view (false)", - "pattern": "true or false" - } - } - ], - "output": [ - { - "aligned": { - "type": "file", - "description": "Output BAM/SAM file containing read alignments", - "pattern": "*.{bam,sam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fastq": { - "type": "file", - "description": "Unaligned FastQ files", - "pattern": "*.fastq.gz" - } - }, - { - "log": { - "type": "file", - "description": "Aligment log", - "pattern": "*.log" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "crisprseq", - "version": "2.0.0" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "hic", - "version": "2.1.0" - }, - { - "name": "marsseq", - "version": "1.0.3" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bowtie2_build", - "path": "modules/nf-core/bowtie2/build/meta.yml", - "type": "module", - "meta": { - "name": "bowtie2_build", - "description": "Builds bowtie index for reference genome", - "keywords": ["build", "index", "fasta", "genome", "reference"], - "tools": [ - { - "bowtie2": { - "description": "Bowtie 2 is an ultrafast and memory-efficient tool for aligning\nsequencing reads to long reference sequences.\n", - "homepage": "http://bowtie-bio.sourceforge.net/bowtie2/index.shtml", - "documentation": "http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml", - "doi": "10.1038/nmeth.1923", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input genome fasta file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "file", - "description": "Bowtie2 genome index files", - "pattern": "*.bt2" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "crisprseq", - "version": "2.0.0" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "hic", - "version": "2.1.0" - }, - { - "name": "marsseq", - "version": "1.0.3" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bowtie_align", - "path": "modules/nf-core/bowtie/align/meta.yml", - "type": "module", - "meta": { - "name": "bowtie_align", - "description": "Align reads to a reference genome using bowtie", - "keywords": ["align", "map", "fastq", "fasta", "genome", "reference"], - "tools": [ - { - "bowtie": { - "description": "bowtie is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", - "homepage": "http://bowtie-bio.sourceforge.net/index.shtml", - "documentation": "http://bowtie-bio.sourceforge.net/manual.shtml", - "arxiv": "arXiv:1303.3997", - "licence": ["Artistic-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "index": { - "type": "file", - "description": "Bowtie genome index files", - "pattern": "*.ebwt" - } - } - ], - "output": [ - { - "bam": { - "type": "file", - "description": "Output BAM file containing read alignments", - "pattern": "*.{bam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fastq": { - "type": "file", - "description": "Unaligned FastQ files", - "pattern": "*.fastq.gz" - } - } - ], - "authors": ["@kevinmenden"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "circrna", - "version": "dev" - } - ] - }, - { - "name": "bowtie_build", - "path": "modules/nf-core/bowtie/build/meta.yml", - "type": "module", - "meta": { - "name": "bowtie_build", - "description": "Create bowtie index for reference genome", - "keywords": ["index", "fasta", "genome", "reference"], - "tools": [ - { - "bowtie": { - "description": "bowtie is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", - "homepage": "http://bowtie-bio.sourceforge.net/index.shtml", - "documentation": "http://bowtie-bio.sourceforge.net/manual.shtml", - "arxiv": "arXiv:1303.3997", - "licence": ["Artistic-2.0"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Input genome fasta file" - } - } - ], - "output": [ - { - "index": { - "type": "file", - "description": "Bowtie genome index files", - "pattern": "*.ebwt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kevinmenden", "@drpatelh"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "circrna", - "version": "dev" - } - ] - }, - { - "name": "bracken_bracken", - "path": "modules/nf-core/bracken/bracken/meta.yml", - "type": "module", - "meta": { - "name": "bracken_bracken", - "description": "Re-estimate taxonomic abundance of metagenomic samples analyzed by kraken.", - "keywords": ["bracken", "metagenomics", "abundance", "kraken2"], - "tools": [ - { - "bracken": { - "description": "Bracken (Bayesian Reestimation of Abundance with KrakEN) is a highly accurate statistical method that computes the abundance of species in DNA sequences from a metagenomics sample.", - "homepage": "https://ccb.jhu.edu/software/bracken/", - "documentation": "https://ccb.jhu.edu/software/bracken/index.shtml?t=manual", - "tool_dev_url": "https://github.com/jenniferlu717/Bracken", - "doi": "10.7717/peerj-cs.104", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "kraken_report": { - "type": "file", - "description": "TSV file with six columns coming from kraken2 output", - "pattern": "*.{tsv}" - } - }, - { - "database": { - "type": "file", - "description": "Directory containing the kraken2/Bracken files for analysis", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "reports": { - "type": "file", - "description": "TSV output report of the re-estimated abundances", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@Midnighter"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "bracken_combinebrackenoutputs", - "path": "modules/nf-core/bracken/combinebrackenoutputs/meta.yml", - "type": "module", - "meta": { - "name": "bracken_combinebrackenoutputs", - "description": "Combine output of metagenomic samples analyzed by bracken.", - "keywords": ["sort"], - "tools": [ - { - "bracken": { - "description": "Bracken (Bayesian Reestimation of Abundance with KrakEN) is a highly accurate statistical method that computes the abundance of species in DNA sequences from a metagenomics sample.", - "homepage": "https://ccb.jhu.edu/software/bracken/", - "documentation": "https://ccb.jhu.edu/software/bracken/index.shtml?t=manual", - "tool_dev_url": "https://github.com/jenniferlu717/Bracken", - "doi": "10.7717/peerj-cs.104", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "List of output files from bracken", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "Combined output in table format", - "pattern": "*.txt" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "busco", - "path": "modules/nf-core/busco/meta.yml", - "type": "module", - "meta": { - "name": "busco", - "description": "Benchmarking Universal Single Copy Orthologs", - "keywords": ["quality control", "genome", "transcriptome", "proteome"], - "tools": [ - { - "busco": { - "description": "BUSCO provides measures for quantitative assessment of genome assembly, gene set, and transcriptome completeness based on evolutionarily informed expectations of gene content from near-universal single-copy orthologs selected from OrthoDB.", - "homepage": "https://busco.ezlab.org/", - "documentation": "https://busco.ezlab.org/busco_userguide.html", - "tool_dev_url": "https://gitlab.com/ezlab/busco", - "doi": "10.1007/978-1-4939-9173-0_14", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Nucleic or amino acid sequence file in FASTA format.", - "pattern": "*.{fasta,fna,fa,fasta.gz,fna.gz,fa.gz}" - } - }, - { - "lineage": { - "type": "string", - "description": "The BUSCO lineage to use, or \"auto\" to automatically select lineage" - } - }, - { - "busco_lineages_path": { - "type": "directory", - "description": "Path to local BUSCO lineages directory." - } - }, - { - "config_file": { - "type": "file", - "description": "Path to BUSCO config file." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "batch_summary": { - "type": "file", - "description": "Summary of all sequence files analyzed", - "pattern": "*-busco.batch_summary.txt" - } - }, - { - "short_summaries_txt": { - "type": "file", - "description": "Short Busco summary in plain text format", - "pattern": "short_summary.*.txt" - } - }, - { - "short_summaries_json": { - "type": "file", - "description": "Short Busco summary in JSON format", - "pattern": "short_summary.*.json" - } - }, - { - "busco_dir": { - "type": "directory", - "description": "BUSCO lineage specific output", - "pattern": "*-busco" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@priyanka-surana", "@charles-plessy", "@mahesh-panchal", "@muffato", "@jvhagey"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "bwa_aln", - "path": "modules/nf-core/bwa/aln/meta.yml", - "type": "module", - "meta": { - "name": "bwa_aln", - "description": "Find SA coordinates of the input reads for bwa short-read mapping", - "keywords": ["bwa", "aln", "short-read", "align", "reference", "fasta", "map", "fastq"], - "tools": [ - { - "bwa": { - "description": "BWA is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", - "homepage": "http://bio-bwa.sourceforge.net/", - "documentation": "http://bio-bwa.sourceforge.net/", - "doi": "10.1093/bioinformatics/btp324", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "file", - "description": "BWA genome index files", - "pattern": "Directory containing BWA index *.{amb,ann,bwt,pac,sa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sai": { - "type": "file", - "description": "Single or paired SA coordinate files", - "pattern": "*.sai" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - } - ] - }, - { - "name": "bwa_index", - "path": "modules/nf-core/bwa/index/meta.yml", - "type": "module", - "meta": { - "name": "bwa_index", - "description": "Create BWA index for reference genome", - "keywords": ["index", "fasta", "genome", "reference"], - "tools": [ - { - "bwa": { - "description": "BWA is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", - "homepage": "http://bio-bwa.sourceforge.net/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "arxiv": "arXiv:1303.3997", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input genome fasta file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "file", - "description": "BWA genome index files", - "pattern": "*.{amb,ann,bwt,pac,sa}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@maxulysse"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "crisprseq", - "version": "2.0.0" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "ssds", - "version": "dev" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "bwa_mem", - "path": "modules/nf-core/bwa/mem/meta.yml", - "type": "module", - "meta": { - "name": "bwa_mem", - "description": "Performs fastq alignment to a fasta reference using BWA", - "keywords": ["mem", "bwa", "alignment", "map", "fastq", "bam", "sam"], - "tools": [ - { - "bwa": { - "description": "BWA is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", - "homepage": "http://bio-bwa.sourceforge.net/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "arxiv": "arXiv:1303.3997", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "file", - "description": "BWA genome index files", - "pattern": "Directory containing BWA index *.{amb,ann,bwt,pac,sa}" - } - }, - { - "sort_bam": { - "type": "boolean", - "description": "use samtools sort (true) or samtools view (false)", - "pattern": "true or false" - } - } - ], - "output": [ - { - "bam": { - "type": "file", - "description": "Output BAM file containing read alignments", - "pattern": "*.{bam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@jeremy1805"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "crisprseq", - "version": "2.0.0" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "ssds", - "version": "dev" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "bwa_sampe", - "path": "modules/nf-core/bwa/sampe/meta.yml", - "type": "module", - "meta": { - "name": "bwa_sampe", - "description": "Convert paired-end bwa SA coordinate files to SAM format", - "keywords": ["bwa", "aln", "short-read", "align", "reference", "fasta", "map", "sam", "bam"], - "tools": [ - { - "bwa": { - "description": "BWA is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", - "homepage": "http://bio-bwa.sourceforge.net/", - "documentation": "http://bio-bwa.sourceforge.net/", - "doi": "10.1093/bioinformatics/btp324", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "FASTQ files specified alongside meta in input channel.", - "pattern": "*.{fastq,fq}.gz" - } - }, - { - "sai": { - "type": "file", - "description": "SAI file specified alongside meta and reads in input channel.", - "pattern": "*.sai" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "directory", - "description": "Directory containing BWA index files (amb,ann,bwt,pac,sa) from BWA_INDEX", - "pattern": "bwa/" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - } - ] - }, - { - "name": "bwa_samse", - "path": "modules/nf-core/bwa/samse/meta.yml", - "type": "module", - "meta": { - "name": "bwa_samse", - "description": "Convert bwa SA coordinate file to SAM format", - "keywords": ["bwa", "aln", "short-read", "align", "reference", "fasta", "map", "sam", "bam"], - "tools": [ - { - "bwa": { - "description": "BWA is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", - "homepage": "http://bio-bwa.sourceforge.net/", - "documentation": "http://bio-bwa.sourceforge.net/", - "doi": "10.1093/bioinformatics/btp324", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "FASTQ files specified alongside meta in input channel.", - "pattern": "*.{fastq,fq}.gz" - } - }, - { - "sai": { - "type": "file", - "description": "SAI file specified alongside meta and reads in input channel.", - "pattern": "*.sai" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "directory", - "description": "Directory containing BWA index files (amb,ann,bwt,pac,sa) from BWA_INDEX", - "pattern": "bwa/" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - } - ] - }, - { - "name": "bwamem2_index", - "path": "modules/nf-core/bwamem2/index/meta.yml", - "type": "module", - "meta": { - "name": "bwamem2_index", - "description": "Create BWA-mem2 index for reference genome", - "keywords": ["index", "fasta", "genome", "reference"], - "tools": [ - { - "bwamem2": { - "description": "BWA-mem2 is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", - "homepage": "https://github.com/bwa-mem2/bwa-mem2", - "documentation": "https://github.com/bwa-mem2/bwa-mem2#usage", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input genome fasta file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "file", - "description": "BWA genome index files", - "pattern": "*.{0123,amb,ann,bwt.2bit.64,pac}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@maxulysse"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "bwamem2_mem", - "path": "modules/nf-core/bwamem2/mem/meta.yml", - "type": "module", - "meta": { - "name": "bwamem2_mem", - "description": "Performs fastq alignment to a fasta reference using BWA", - "keywords": ["mem", "bwa", "alignment", "map", "fastq", "bam", "sam"], - "tools": [ - { - "bwa": { - "description": "BWA-mem2 is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", - "homepage": "https://github.com/bwa-mem2/bwa-mem2", - "documentation": "http://www.htslib.org/doc/samtools.html", - "arxiv": "arXiv:1303.3997", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference/index information\ne.g. [ id:'test' ]\n" - } - }, - { - "index": { - "type": "file", - "description": "BWA genome index files", - "pattern": "Directory containing BWA index *.{0132,amb,ann,bwt.2bit.64,pac}" - } - }, - { - "sort_bam": { - "type": "boolean", - "description": "use samtools sort (true) or samtools view (false)", - "pattern": "true or false" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Output BAM file containing read alignments", - "pattern": "*.{bam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@maxulysse"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "bwameth_align", - "path": "modules/nf-core/bwameth/align/meta.yml", - "type": "module", - "meta": { - "name": "bwameth_align", - "description": "Performs alignment of BS-Seq reads using bwameth", - "keywords": [ - "bwameth", - "alignment", - "3-letter genome", - "map", - "methylation", - "5mC", - "methylseq", - "bisulphite", - "bisulfite", - "fastq", - "bam" - ], - "tools": [ - { - "bwameth": { - "description": "Fast and accurate alignment of BS-Seq reads\nusing bwa-mem and a 3-letter genome.\n", - "homepage": "https://github.com/brentp/bwa-meth", - "documentation": "https://github.com/brentp/bwa-meth", - "arxiv": "arXiv:1401.1129", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "index": { - "type": "dir", - "description": "Directory containing bwameth genome index" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Output BAM file containing read alignments", - "pattern": "*.{bam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@phue"] - }, - "pipelines": [ - { - "name": "methylseq", - "version": "2.4.0" - } - ] - }, - { - "name": "bwameth_index", - "path": "modules/nf-core/bwameth/index/meta.yml", - "type": "module", - "meta": { - "name": "bwameth_index", - "description": "Performs indexing of c2t converted reference genome", - "keywords": ["bwameth", "3-letter genome", "index", "methylseq", "bisulphite", "bisulfite", "fasta"], - "tools": [ - { - "bwameth": { - "description": "Fast and accurate alignment of BS-Seq reads\nusing bwa-mem and a 3-letter genome.\n", - "homepage": "https://github.com/brentp/bwa-meth", - "documentation": "https://github.com/brentp/bwa-meth", - "arxiv": "arXiv:1401.1129", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Input genome fasta file" - } - } - ], - "output": [ - { - "index": { - "type": "dir", - "description": "Directory containing bwameth genome index", - "pattern": "index" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@phue"] - }, - "pipelines": [ - { - "name": "methylseq", - "version": "2.4.0" - } - ] - }, - { - "name": "cadd", - "path": "modules/nf-core/cadd/meta.yml", - "type": "module", - "meta": { - "name": "cadd", - "description": "CADD is a tool for scoring the deleteriousness of single nucleotide variants as well as insertion/deletions variants in the human genome.", - "keywords": ["cadd", "annotate", "variants"], - "tools": [ - { - "cadd": { - "description": "CADD scripts release for offline scoring", - "homepage": "https://cadd.gs.washington.edu/", - "documentation": "https://github.com/kircherlab/CADD-scripts/blob/master/README.md", - "tool_dev_url": "https://github.com/kircherlab/CADD-scripts/", - "doi": "10.1093/nar/gky1016", - "licence": "['Restricted. Free for non-commercial users.']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Input file for annotation in vcf or vcf.gz format", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "annotation_dir": { - "type": "file", - "description": "Path to folder containing the vcf files with precomputed CADD scores.\nThis folder contains the uncompressed files that would otherwise be in data/annotation folder as described in https://github.com/kircherlab/CADD-scripts/#manual-installation.\n", - "pattern": "*.{vcf,vcf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "Annotated tsv file", - "pattern": "*.{tsv,tsv.gz}" - } - } - ], - "authors": ["@ramprasadn"] - } - }, - { - "name": "calder2", - "path": "modules/nf-core/calder2/meta.yml", - "type": "module", - "meta": { - "name": "calder2", - "description": "Hierarchical Hi-C compartment computation", - "keywords": ["calder2", "genome", "topology", "compartments", "domains", "hi-c"], - "tools": [ - { - "calder2": { - "description": "Hierarchical Hi-C compartment computation", - "homepage": "https://github.com/CSOgroup/CALDER2", - "documentation": "https://github.com/CSOgroup/CALDER2", - "tool_dev_url": "https://github.com/CSOgroup/CALDER2", - "doi": "10.1038/s41467-021-22666-3", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information. E.g. [ id:'test', single_end:false ]" - } - }, - { - "input": { - "type": "file", - "description": "Path to COOL file", - "pattern": "*.{cool.mcool}" - } - }, - { - "resolution": { - "type": "value", - "description": "In case a .mcool file is provided, which resolution level to use for the analysis" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information. E.g. [ id:'test', single_end:false ]" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "directory", - "description": "Output folder containing sub-compartment (.tsv/.bed) and domain boundaries calls (.bed)" - } - }, - { - "intermediate_data": { - "type": "directory", - "description": "Output folder containing intermediate data produced during the computation" - } - } - ], - "authors": ["@lucananni93"] - } - }, - { - "name": "canu", - "path": "modules/nf-core/canu/meta.yml", - "type": "module", - "meta": { - "name": "canu", - "description": "Accurate assembly of segmental duplications, satellites, and allelic variants from high-fidelity long reads.", - "keywords": ["Assembly", "pacbio", "hifi", "nanopore"], - "tools": [ - { - "canu": { - "description": "Canu is a fork of the Celera Assembler designed for high-noise single-molecule sequencing.", - "homepage": "https://canu.readthedocs.io/en/latest/index.html#", - "documentation": "https://canu.readthedocs.io/en/latest/tutorial.html", - "tool_dev_url": "https://github.com/marbl/canu", - "doi": "10.1101/gr.215087.116", - "licence": "['GPL v2 and others']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:true ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "fasta/fastq file", - "pattern": "*.{fasta,fastq}" - } - }, - { - "mode": { - "type": "value", - "description": "Canu mode depending on the input data (source and error rate)", - "pattern": "-pacbio|-nanopore|-pacbio-hifi" - } - }, - { - "genomesize": { - "type": "value", - "description": "An estimate of the size of the genome. Common suffices are allowed, for example, 3.7m or 2.8g", - "pattern": "[g|m|k]" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "report": { - "type": "file", - "description": "Most of the analysis reported during assembly", - "pattern": "*.report" - } - }, - { - "assembly": { - "type": "file", - "description": "Everything which could be assembled and is the full assembly, including both unique, repetitive, and bubble elements.", - "pattern": "*.contigs.fasta" - } - }, - { - "contigs": { - "type": "file", - "description": "Reads and low-coverage contigs which could not be incorporated into the primary assembly.", - "pattern": "*.unassembled.fasta" - } - }, - { - "corrected_reads": { - "type": "file", - "description": "The reads after correction.", - "pattern": "*.correctedReads.fasta.gz" - } - }, - { - "corrected_trimmed_reads": { - "type": "file", - "description": "The corrected reads after overlap based trimming", - "pattern": "*.trimmedReads.fasta.gz" - } - }, - { - "metadata": { - "type": "file", - "description": "(undocumented)", - "pattern": "*.contigs.layout" - } - }, - { - "contig_position": { - "type": "file", - "description": "The position of each read in a contig", - "pattern": "*.contigs.layout.readToTig" - } - }, - { - "contig_info": { - "type": "file", - "description": "A list of the contigs, lengths, coverage, number of reads and other metadata. Essentially the same information provided in the FASTA header line.", - "pattern": "*.contigs.layout.tigInfo" - } - } - ], - "authors": ["@scorreard"] - } - }, - { - "name": "cat_cat", - "path": "modules/nf-core/cat/cat/meta.yml", - "type": "module", - "meta": { - "name": "cat_cat", - "description": "A module for concatenation of gzipped or uncompressed files", - "keywords": ["concatenate", "gzip", "cat"], - "tools": [ - { - "cat": { - "description": "Just concatenation", - "documentation": "https://man7.org/linux/man-pages/man1/cat.1.html", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "files_in": { - "type": "file", - "description": "List of compressed / uncompressed files", - "pattern": "*" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "file_out": { - "type": "file", - "description": "Concatenated file. Will be gzipped if file_out ends with \".gz\"", - "pattern": "${file_out}" - } - } - ], - "authors": ["@erikrikarddaniel", "@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "marsseq", - "version": "1.0.3" - }, - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "cat_fastq", - "path": "modules/nf-core/cat/fastq/meta.yml", - "type": "module", - "meta": { - "name": "cat_fastq", - "description": "Concatenates fastq files", - "keywords": ["cat", "fastq", "concatenate"], - "tools": [ - { - "cat": { - "description": "The cat utility reads files sequentially, writing them to the standard output.\n", - "documentation": "https://www.gnu.org/software/coreutils/manual/html_node/cat-invocation.html", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files to be concatenated.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Merged fastq file", - "pattern": "*.{merged.fastq.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "bamtofastq", - "version": "2.0.0" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "crisprseq", - "version": "2.0.0" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "genomeannotator", - "version": "dev" - }, - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "methylseq", - "version": "2.4.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "smrnaseq", - "version": "2.2.1" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "cdhit_cdhit", - "path": "modules/nf-core/cdhit/cdhit/meta.yml", - "type": "module", - "meta": { - "name": "cdhit_cdhit", - "description": "Cluster protein sequences using sequence similarity", - "keywords": ["cluster", "protein", "alignment", "fasta"], - "tools": [ - { - "cdhit": { - "description": "Clusters and compares protein or nucleotide sequences", - "homepage": "https://sites.google.com/view/cd-hit/home", - "documentation": "https://github.com/weizhongli/cdhit/wiki", - "tool_dev_url": "https://github.com/weizhongli/cdhit", - "doi": "10.1093/bioinformatics/btl158", - "licence": "['GPL v2']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sequences": { - "type": "file", - "description": "fasta file of sequences to be clustered", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fasta": { - "type": "file", - "description": "fasta file of the representative sequences for each cluster", - "pattern": "*.{fasta}" - } - }, - { - "clusters": { - "type": "file", - "description": "List of clusters", - "pattern": "*.{clstr}" - } - } - ], - "authors": ["@timslittle"] - }, - "pipelines": [ - { - "name": "radseq", - "version": "dev" - } - ] - }, - { - "name": "cdhit_cdhitest", - "path": "modules/nf-core/cdhit/cdhitest/meta.yml", - "type": "module", - "meta": { - "name": "cdhit_cdhitest", - "description": "Cluster nucleotide sequences using sequence similarity", - "keywords": ["cluster", "nucleotide", "alignment", "fasta"], - "tools": [ - { - "cdhit": { - "description": "Clusters and compares protein or nucleotide sequences", - "homepage": "https://sites.google.com/view/cd-hit/home", - "documentation": "https://github.com/weizhongli/cdhit/wiki", - "tool_dev_url": "https://github.com/weizhongli/cdhit", - "doi": "10.1093/bioinformatics/btl158", - "licence": "['GPL v2']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sequences": { - "type": "file", - "description": "fasta or fastq file of sequences to be clustered", - "pattern": "*.{fasta,fastq}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fasta": { - "type": "file", - "description": "fasta or fastq file of the representative sequences for each cluster", - "pattern": "*.{fasta,fastq}" - } - }, - { - "clusters": { - "type": "file", - "description": "List of clusters", - "pattern": "*.{clstr}" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "cellpose", - "path": "modules/nf-core/cellpose/meta.yml", - "type": "module", - "meta": { - "name": "cellpose", - "description": "cellpose segments cells in images", - "keywords": ["segmentation", "image", "cellpose"], - "tools": [ - { - "cellpose": { - "description": "cellpose is an anatomical segmentation algorithm written in Python 3 by Carsen Stringer and Marius Pachitariu", - "homepage": "https://github.com/MouseLand/cellpose", - "documentation": "https://cellpose.readthedocs.io/en/latest/command.html", - "tool_dev_url": "https://github.com/MouseLand/cellpose", - "doi": "10.1038/s41592-022-01663-4", - "licence": "BSD 3-Clause" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\n(sample id)\n" - } - }, - { - "image": { - "type": "file", - "description": "tif file for ready for segmentation", - "pattern": "*.{tif,tiff}" - } - }, - { - "model": { - "type": "file", - "description": "Optional input file. Cellpose 2 model trained by user using human-in-the-loop approach." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\n[sample id]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "mask": { - "type": "file", - "description": "labelled mask output from cellpose in tif format", - "pattern": "*.{tif, tiff}" - } - } - ], - "authors": ["@josenimo"] - } - }, - { - "name": "cellranger_count", - "path": "modules/nf-core/cellranger/count/meta.yml", - "type": "module", - "meta": { - "name": "cellranger_count", - "description": "Module to use Cell Ranger's pipelines analyze sequencing data produced from Chromium Single Cell Gene Expression.", - "keywords": ["align", "count", "reference"], - "tools": [ - { - "cellranger": { - "description": "Cell Ranger by 10x Genomics is a set of analysis pipelines that process Chromium single-cell data to align reads, generate feature-barcode matrices, perform clustering and other secondary analysis, and more.", - "homepage": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger", - "documentation": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", - "tool_dev_url": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", - "licence": "10x Genomics EULA" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files. The order of the input files MUST be [\"sample1 R1\", \"sample1 R2\", \"sample2, R1\",\n\"sample2, R2\", ...]. This can usually be achieved by sorting the input files by file name.\n\nBackground: 10x data is always paired-end with R1 containing cell barcode and UMI\nand R2 containing the actual read sequence. Cell Ranger requires files to adhere to the following file-name\nconvention: `${Sample_Name}_S1_L00${Lane_Number}_${R1,R2}_001.fastq.gz`. This module automatically\nrenames files to match this convention based on the order of input files to avoid various\nissues (see https://github.com/nf-core/scrnaseq/issues/241). To avoid mistakes, the module\nthrows an error if a pair of R1 and R2 fastq files does not have the same filename except for the \"_R1\"/\"_R2\" part.\nRenaming the files does not affect the results (see README.md for detailed tests).\n", - "pattern": "*{R1,R2}*.fastq.gz" - } - }, - { - "reference": { - "type": "directory", - "description": "Folder containing all the reference indices needed by Cell Ranger" - } - } - ], - "output": [ - { - "outs": { - "type": "file", - "description": "Files containing the outputs of Cell Ranger, see official 10X Genomics documentation for a complete list", - "pattern": "${meta.id}/outs/*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ggabernet", "@Emiller88"] - }, - "pipelines": [ - { - "name": "scrnaseq", - "version": "2.3.2" - } - ] - }, - { - "name": "cellranger_mkfastq", - "path": "modules/nf-core/cellranger/mkfastq/meta.yml", - "type": "module", - "meta": { - "name": "cellranger_mkfastq", - "description": "Module to create FASTQs needed by the 10x Genomics Cell Ranger tool. Uses the cellranger mkfastq command.", - "keywords": ["reference", "mkfastq", "fastq", "illumina", "bcl2fastq"], - "tools": [ - { - "cellranger": { - "description": "Cell Ranger by 10x Genomics is a set of analysis pipelines that process Chromium single-cell data to align reads, generate feature-barcode matrices, perform clustering and other secondary analysis, and more.", - "homepage": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger", - "documentation": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", - "tool_dev_url": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", - "licence": "10x Genomics EULA" - } - } - ], - "input": [ - { - "bcl": { - "type": "file", - "description": "Base call files", - "pattern": "*.bcl.bgzf" - } - }, - { - "csv": { - "type": "file", - "description": "Sample sheet", - "pattern": "*.csv" - } - } - ], - "output": [ - { - "fastq": { - "type": "file", - "description": "Unaligned FastQ files", - "pattern": "*.fastq.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ggabernet", "@Emiller88", "@RHReynolds"] - } - }, - { - "name": "cellranger_mkgtf", - "path": "modules/nf-core/cellranger/mkgtf/meta.yml", - "type": "module", - "meta": { - "name": "cellranger_mkgtf", - "description": "Module to build a filtered GTF needed by the 10x Genomics Cell Ranger tool. Uses the cellranger mkgtf command.", - "keywords": ["reference", "mkref", "index"], - "tools": [ - { - "cellranger": { - "description": "Cell Ranger by 10x Genomics is a set of analysis pipelines that process Chromium single-cell data to align reads, generate feature-barcode matrices, perform clustering and other secondary analysis, and more.", - "homepage": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger", - "documentation": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", - "tool_dev_url": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", - "licence": "10x Genomics EULA" - } - } - ], - "input": [ - { - "gtf": { - "type": "file", - "description": "The reference GTF transcriptome file", - "pattern": "*.gtf" - } - } - ], - "output": [ - { - "gtf": { - "type": "directory", - "description": "The filtered GTF transcriptome file", - "pattern": "*.filtered.gtf" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ggabernet", "@Emiller88"] - }, - "pipelines": [ - { - "name": "scrnaseq", - "version": "2.3.2" - } - ] - }, - { - "name": "cellranger_mkref", - "path": "modules/nf-core/cellranger/mkref/meta.yml", - "type": "module", - "meta": { - "name": "cellranger_mkref", - "description": "Module to build the reference needed by the 10x Genomics Cell Ranger tool. Uses the cellranger mkref command.", - "keywords": ["reference", "mkref", "index"], - "tools": [ - { - "cellranger": { - "description": "Cell Ranger by 10x Genomics is a set of analysis pipelines that process Chromium single-cell data to align reads, generate feature-barcode matrices, perform clustering and other secondary analysis, and more.", - "homepage": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger", - "documentation": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", - "tool_dev_url": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", - "licence": "10x Genomics EULA" - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Reference genome FASTA file", - "pattern": "*.{fasta,fa}" - } - }, - { - "gtf": { - "type": "file", - "description": "Reference transcriptome GTF file", - "pattern": "*.gtf" - } - }, - { - "reference_name": { - "type": "string", - "description": "The name to give the new reference folder", - "pattern": "str" - } - } - ], - "output": [ - { - "reference": { - "type": "directory", - "description": "Folder containing all the reference indices needed by Cell Ranger" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ggabernet"] - }, - "pipelines": [ - { - "name": "scrnaseq", - "version": "2.3.2" - } - ] - }, - { - "name": "cellranger_mkvdjref", - "path": "modules/nf-core/cellranger/mkvdjref/meta.yml", - "type": "module", - "meta": { - "name": "cellranger_mkvdjref", - "description": "Module to build the VDJ reference needed by the 10x Genomics Cell Ranger tool. Uses the cellranger mkvdjref command.", - "keywords": ["reference", "mkvdjref", "index", "immunoprofiling", "single-cell", "cellranger"], - "tools": [ - { - "cellranger": { - "description": "Cell Ranger processes data from 10X Genomics Chromium kits. `cellranger vdj` takes FASTQ files from `cellranger mkfastq` or `bcl2fastq` for V(D)J libraries and performs sequence assembly and paired clonotype calling. It uses the Chromium cellular barcodes and UMIs to assemble V(D)J transcripts per cell. Clonotypes and CDR3 sequences are output as a `.vloupe` file which can be loaded into Loupe V(D)J Browser.", - "homepage": "https://support.10xgenomics.com/single-cell-vdj/software/pipelines/latest/what-is-cell-ranger", - "documentation": "https://support.10xgenomics.com/single-cell-vdj/software/pipelines/latest/advanced/references", - "tool_dev_url": "https://support.10xgenomics.com/single-cell-vdj/software/pipelines/latest/advanced/references", - "licence": "10x Genomics EULA" - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Reference genome FASTA file", - "pattern": "*.{fasta,fa}" - } - }, - { - "genes": { - "type": "file", - "description": "Reference transcriptome GTF file", - "pattern": "*.gtf" - } - }, - { - "genome": { - "type": "string", - "description": "The name to give the new reference folder, e.g. `my_vdj_ref`", - "pattern": "str" - } - } - ], - "output": [ - { - "reference": { - "type": "directory", - "description": "Folder containing all the reference indices needed by Cell Ranger" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ggabernet", "@klkeys"] - } - }, - { - "name": "cellranger_multi", - "path": "modules/nf-core/cellranger/multi/meta.yml", - "type": "module", - "meta": { - "name": "cellranger_multi", - "description": "Module to use Cell Ranger's pipelines to analyze sequencing data produced from various Chromium technologies, including Single Cell Gene Expression, Single Cell Immune Profiling, Feature Barcoding, and Cell Multiplexing.", - "keywords": [ - "align", - "reference", - "cellranger", - "multiomics", - "gene expression", - "vdj", - "antigen capture", - "antibody capture", - "crispr" - ], - "tools": [ - { - "cellranger": { - "description": "Cell Ranger by 10x Genomics is a set of analysis pipelines that process Chromium single-cell data to align reads, generate feature-barcode matrices, perform clustering and other secondary analysis, and more.", - "homepage": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger", - "documentation": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_cp", - "tool_dev_url": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_cp", - "licence": "10X Genomics EULA" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "csv": { - "type": "file", - "description": "Cell Ranger config file, in modified CSV format", - "pattern": "*.csv" - } - } - ], - "output": [ - { - "outs": { - "type": "file", - "description": "Files containing the outputs of Cell Ranger", - "pattern": "${meta.id}/outs/*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@klkeys"] - } - }, - { - "name": "cellranger_vdj", - "path": "modules/nf-core/cellranger/vdj/meta.yml", - "type": "module", - "meta": { - "name": "cellranger_vdj", - "description": "Module to use Cell Ranger's pipelines analyze sequencing data produced from Chromium Single Cell Immune Profiling.", - "keywords": ["align", "vdj", "reference", "immunoprofiling", "single-cell", "cellranger"], - "tools": [ - { - "cellranger": { - "description": "Cell Ranger processes data from 10X Genomics Chromium kits. `cellranger vdj` takes FASTQ files from `cellranger mkfastq` or `bcl2fastq` for V(D)J libraries and performs sequence assembly and paired clonotype calling. It uses the Chromium cellular barcodes and UMIs to assemble V(D)J transcripts per cell. Clonotypes and CDR3 sequences are output as a `.vloupe` file which can be loaded into Loupe V(D)J Browser.", - "homepage": "https://support.10xgenomics.com/single-cell-vdj/software/pipelines/latest/what-is-cell-ranger", - "documentation": "https://support.10xgenomics.com/single-cell-vdj/software/pipelines/latest/tutorial/tutorial-vdj", - "tool_dev_url": "https://support.10xgenomics.com/single-cell-vdj/software/pipelines/latest/tutorial/tutorial-vdj", - "licence": "10x Genomics EULA" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n", - "pattern": "${Sample_Name}_S1_L00${Lane_Number}_${I1,I2,R1,R2}_001.fastq.gz" - } - }, - { - "reference": { - "type": "directory", - "description": "Folder containing all the reference indices needed by Cell Ranger" - } - } - ], - "output": [ - { - "outs": { - "type": "file", - "description": "Files containing the outputs of Cell Ranger, see official 10X Genomics documentation for a complete list", - "pattern": "${meta.id}/outs/*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ggabernet", "@Emiller88", "@klkeys"] - } - }, - { - "name": "centrifuge_centrifuge", - "path": "modules/nf-core/centrifuge/centrifuge/meta.yml", - "type": "module", - "meta": { - "name": "centrifuge_centrifuge", - "description": "Classifies metagenomic sequence data", - "keywords": ["classify", "metagenomics", "fastq", "db"], - "tools": [ - { - "centrifuge": { - "description": "Centrifuge is a classifier for metagenomic sequences.", - "homepage": "https://ccb.jhu.edu/software/centrifuge/", - "documentation": "https://ccb.jhu.edu/software/centrifuge/manual.shtml", - "doi": "10.1101/gr.210641.116", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "db": { - "type": "directory", - "description": "Path to directory containing centrifuge database files" - } - }, - { - "save_unaligned": { - "type": "value", - "description": "If true unmapped fastq files are saved" - } - }, - { - "save_aligned": { - "type": "value", - "description": "If true mapped fastq files are saved" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "report": { - "type": "file", - "description": "File containing a classification summary\n", - "pattern": "*.{report.txt}" - } - }, - { - "results": { - "type": "file", - "description": "File containing classification results\n", - "pattern": "*.{results.txt}" - } - }, - { - "fastq_unmapped": { - "type": "file", - "description": "Unmapped fastq files", - "pattern": "*.unmapped.fastq.gz" - } - }, - { - "fastq_mapped": { - "type": "file", - "description": "Mapped fastq files", - "pattern": "*.mapped.fastq.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sofstam", "@jfy133", "@sateeshperi"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "centrifuge_kreport", - "path": "modules/nf-core/centrifuge/kreport/meta.yml", - "type": "module", - "meta": { - "name": "centrifuge_kreport", - "description": "Creates Kraken-style reports from centrifuge out files", - "keywords": ["metagenomics"], - "tools": [ - { - "centrifuge": { - "description": "Centrifuge is a classifier for metagenomic sequences.", - "homepage": "https://ccb.jhu.edu/software/centrifuge/", - "documentation": "https://ccb.jhu.edu/software/centrifuge/manual.shtml", - "doi": "10.1101/gr.210641.116", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "report": { - "type": "file", - "description": "File containing the centrifuge classification report", - "pattern": "*.{txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "kreport": { - "type": "file", - "description": "File containing kraken-style report from centrifuge\nout files.\n", - "pattern": "*.{txt}" - } - } - ], - "authors": ["@sofstam", "@jfy133"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "checkm_lineagewf", - "path": "modules/nf-core/checkm/lineagewf/meta.yml", - "type": "module", - "meta": { - "name": "checkm_lineagewf", - "description": "CheckM provides a set of tools for assessing the quality of genomes recovered from isolates, single cells, or metagenomes.", - "keywords": [ - "checkm", - "mag", - "metagenome", - "quality", - "isolates", - "microbes", - "single cells", - "completeness", - "contamination", - "bins", - "genome bins" - ], - "tools": [ - { - "checkm": { - "description": "Assess the quality of microbial genomes recovered from isolates, single cells, and metagenomes.", - "homepage": "https://ecogenomics.github.io/CheckM/", - "documentation": "https://github.com/Ecogenomics/CheckM/wiki", - "tool_dev_url": "https://github.com/Ecogenomics/CheckM", - "doi": "10.1101/gr.186072.114", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "One or a list of multiple FASTA files of each bin, with extension defined with the fasta_ext value", - "pattern": "*.{$fasta_ext}" - } - }, - { - "fasta_ext": { - "type": "value", - "description": "The file-type extension suffix of the input FASTA files (e.g., fasta, fna, fa, fas)" - } - }, - { - "db": { - "type": "directory", - "description": "Optional directory pointing to checkM database to prevent re-downloading" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'sample', bin:'1' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "checkm_output": { - "type": "directory", - "description": "CheckM output directory", - "pattern": "*/" - } - }, - { - "checkm_output": { - "type": "file", - "description": "Lineage markfer file", - "pattern": "lineage.ms" - } - }, - { - "checkm_tsv": { - "type": "file", - "description": "CheckM summary completeness statistics table", - "pattern": "*.tsv" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "checkm_qa", - "path": "modules/nf-core/checkm/qa/meta.yml", - "type": "module", - "meta": { - "name": "checkm_qa", - "description": "CheckM provides a set of tools for assessing the quality of genomes recovered from isolates, single cells, or metagenomes.", - "keywords": [ - "checkm", - "mag", - "metagenome", - "quality", - "isolates", - "microbes", - "single cells", - "completeness", - "contamination", - "bins", - "genome bins", - "qa", - "quality assurnce" - ], - "tools": [ - { - "checkm": { - "description": "Assess the quality of microbial genomes recovered from isolates, single cells, and metagenomes.", - "homepage": "https://ecogenomics.github.io/CheckM/", - "documentation": "https://github.com/Ecogenomics/CheckM/wiki", - "tool_dev_url": "https://github.com/Ecogenomics/CheckM", - "doi": "10.1101/gr.186072.114", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "analysis_dir": { - "type": "file", - "description": "Directory containing output of checkm/analyze or checkm/lineage_wf etc.", - "pattern": "*" - } - }, - { - "marker_file": { - "type": "file", - "description": "Marker file specified during checkm/analyze or produced by checkm/{lineage,taxonomy}_wf", - "pattern": "*.ms" - } - }, - { - "coverage_file": { - "type": "file", - "description": "File containing coverage of each sequence (generated by checkm coverage)" - } - }, - { - "exclude_marker_file": { - "type": "file", - "description": "File specifying markers to exclude from marker sets" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "file", - "description": "Default completeness statistics in various formats, as specified with --out_format (excluding option: 9)", - "pattern": "*.txt" - } - }, - { - "fasta": { - "type": "file", - "description": "Output in fasta format (only if --out_format 9)", - "pattern": "*.fasta" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "checkv_downloaddatabase", - "path": "modules/nf-core/checkv/downloaddatabase/meta.yml", - "type": "module", - "meta": { - "name": "checkv_downloaddatabase", - "description": "Construct the database necessary for checkv's quality assessment", - "keywords": [ - "checkv", - "checkm", - "mag", - "metagenome", - "quality", - "isolates", - "virus", - "completeness", - "contamination", - "download", - "database" - ], - "tools": [ - { - "checkv": { - "description": "Assess the quality of metagenome-assembled viral genomes.", - "homepage": "https://bitbucket.org/berkeleylab/checkv/src/master/", - "documentation": "https://bitbucket.org/berkeleylab/checkv/src/master/", - "tool_dev_url": "https://bitbucket.org/berkeleylab/checkv/src/master/", - "doi": "10.1038/s41587-020-00774-7", - "licence": "['BSD License']" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "checkv_db": { - "type": "directory", - "description": "directory pointing to database", - "pattern": "${prefix}/" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "checkv_endtoend", - "path": "modules/nf-core/checkv/endtoend/meta.yml", - "type": "module", - "meta": { - "name": "checkv_endtoend", - "description": "Assess the quality of metagenome-assembled viral genomes.", - "keywords": [ - "checkv", - "checkm", - "mag", - "metagenome", - "quality", - "isolates", - "virus", - "completeness", - "contamination" - ], - "tools": [ - { - "checkv": { - "description": "Assess the quality of metagenome-assembled viral genomes.", - "homepage": "https://bitbucket.org/berkeleylab/checkv/src/master/", - "documentation": "https://bitbucket.org/berkeleylab/checkv/src/master/", - "tool_dev_url": "https://bitbucket.org/berkeleylab/checkv/src/master/", - "doi": "10.1038/s41587-020-00774-7", - "licence": "['BSD License']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "fasta file", - "pattern": "*.{fasta,fna,fa}" - } - }, - { - "db": { - "type": "directory", - "description": "Directory pointing to checkV database" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'sample', bin:'1' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "quality_summary": { - "type": "file", - "description": "CheckV's main output containing integrated results from the three main modules (contamination, completeness, complete genomes) with overall quality of contigs", - "pattern": "${prefix}/quality_summary.tsv" - } - }, - { - "completeness": { - "type": "file", - "description": "CheckV's detailed overview table on estimating completeness", - "pattern": "${prefix}/completeness.tsv" - } - }, - { - "contamination": { - "type": "file", - "description": "CheckV's detailed overview table on estimating contamination", - "pattern": "${prefix}/contamination.tsv" - } - }, - { - "complete_genomes": { - "type": "file", - "description": "CheckV's detailed overview table on the identified putative complete genomes", - "pattern": "${prefix}/complete_genomes.tsv" - } - }, - { - "proviruses": { - "type": "file", - "description": "CheckV's extracted proviruses contigs", - "pattern": "${prefix}/proviruses.fna" - } - }, - { - "viruses": { - "type": "file", - "description": "CheckV's extracted virus contigs", - "pattern": "${prefix}/viruses.fna" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "checkv_updatedatabase", - "path": "modules/nf-core/checkv/updatedatabase/meta.yml", - "type": "module", - "meta": { - "name": "checkv_updatedatabase", - "description": "Construct the database necessary for checkv's quality assessment", - "keywords": [ - "checkv", - "checkm", - "mag", - "metagenome", - "quality", - "isolates", - "virus", - "completeness", - "contamination" - ], - "tools": [ - { - "checkv": { - "description": "Assess the quality of metagenome-assembled viral genomes.", - "homepage": "https://bitbucket.org/berkeleylab/checkv/src/master/", - "documentation": "https://bitbucket.org/berkeleylab/checkv/src/master/", - "tool_dev_url": "https://bitbucket.org/berkeleylab/checkv/src/master/", - "doi": "10.1038/s41587-020-00774-7", - "licence": "['BSD License']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'sample', bin:'1' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "fasta file containing additional sequences for the existing checkv database", - "pattern": "*.{fasta,fna,fa}" - } - }, - { - "db": { - "type": "directory", - "description": "directory pointing to existing checkV database to avoid redownloading the database" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'sample', bin:'1' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "checkv_db": { - "type": "directory", - "description": "directory pointing to database" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "chopper", - "path": "modules/nf-core/chopper/meta.yml", - "type": "module", - "meta": { - "name": "chopper", - "description": "Filter and trim long read data.", - "keywords": ["filter", "trimming", "fastq", "nanopore", "qc"], - "tools": [ - { - "zcat": { - "description": "zcat uncompresses either a list of files on the command line or its standard input and writes the uncompressed data on standard output.", - "documentation": "https://linux.die.net/man/1/zcat", - "args_id": "$args" - } - }, - { - "chopper": { - "description": "A rust command line for filtering and trimming long reads.", - "homepage": "https://github.com/wdecoster/chopper", - "documentation": "https://github.com/wdecoster/chopper", - "tool_dev_url": "https://github.com/wdecoster/chopper", - "doi": "10.1093/bioinformatics/bty149", - "licence": "['MIT']", - "args_id": "$args2" - } - }, - { - "gzip": { - "description": "Gzip reduces the size of the named files using Lempel-Ziv coding (LZ77).", - "documentation": "https://linux.die.net/man/1/gzip", - "args_id": "$args3" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "FastQ with reads from long read sequencing e.g. PacBio or ONT", - "pattern": "*.{fastq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fastq": { - "type": "file", - "description": "Filtered and trimmed FastQ file", - "pattern": "*.{fastq.gz}" - } - } - ], - "authors": ["@FynnFreyer"] - } - }, - { - "name": "chromap_chromap", - "path": "modules/nf-core/chromap/chromap/meta.yml", - "type": "module", - "meta": { - "name": "chromap_chromap", - "description": "Performs preprocessing and alignment of chromatin fastq files to\nfasta reference files using chromap.\n", - "keywords": [ - "chromap", - "alignment", - "map", - "fastq", - "bam", - "sam", - "hi-c", - "atac-seq", - "chip-seq", - "trimming", - "duplicate removal" - ], - "tools": [ - { - "chromap": { - "description": "Fast alignment and preprocessing of chromatin profiles", - "homepage": "https://github.com/haowenz/chromap", - "documentation": "https://github.com/haowenz/chromap", - "tool_dev_url": "https://github.com/haowenz/chromap", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing information for the fasta\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The fasta reference file.\n" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing information for the index\ne.g. [ id:'test' ]\n" - } - }, - { - "index": { - "type": "file", - "description": "Chromap genome index files (*.index)\n" - } - }, - { - "barcodes": { - "type": "file", - "description": "Cell barcode files\n" - } - }, - { - "whitelist": { - "type": "file", - "description": "Cell barcode whitelist file\n" - } - }, - { - "chr_order": { - "type": "file", - "description": "Custom chromosome order\n" - } - }, - { - "pairs_chr_order": { - "type": "file", - "description": "Natural chromosome order for pairs flipping\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "BED file", - "pattern": "*.bed.gz" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - }, - { - "tagAlign": { - "type": "file", - "description": "tagAlign file", - "pattern": "*.tagAlign.gz" - } - }, - { - "pairs": { - "type": "file", - "description": "pairs file", - "pattern": "*.pairs.gz" - } - } - ], - "authors": ["@mahesh-panchal", "@joseespinosa"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - } - ] - }, - { - "name": "chromap_index", - "path": "modules/nf-core/chromap/index/meta.yml", - "type": "module", - "meta": { - "name": "chromap_index", - "description": "Indexes a fasta reference genome ready for chromatin profiling.", - "keywords": ["index", "fasta", "genome", "reference"], - "tools": [ - { - "chromap": { - "description": "Fast alignment and preprocessing of chromatin profiles", - "homepage": "https://github.com/haowenz/chromap", - "documentation": "https://github.com/haowenz/chromap", - "tool_dev_url": "https://github.com/haowenz/chromap", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Fasta reference file." - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "index": { - "type": "file", - "description": "Index file of the reference genome", - "pattern": "*.{index}" - } - } - ], - "authors": ["@mahesh-panchal", "@joseespinosa"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - } - ] - }, - { - "name": "chromograph", - "path": "modules/nf-core/chromograph/meta.yml", - "type": "module", - "meta": { - "name": "chromograph", - "description": "Chromograph is a python package to create PNG images from genetics data such as BED and WIG files.", - "keywords": ["chromosome_visualization", "bed", "wig", "png"], - "tools": [ - { - "chromograph": { - "description": "Chromograph is a python package to create PNG images from genetics data such as BED and WIG files.", - "homepage": "https://github.com/Clinical-Genomics/chromograph", - "documentation": "https://github.com/Clinical-Genomics/chromograph/blob/master/README.md", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "meta5": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "meta6": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "meta7": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "autozyg": { - "type": "file", - "description": "Bed file containing the regions of autozygosity" - } - }, - { - "coverage": { - "type": "file", - "description": "Wig file containing the coverage information" - } - }, - { - "exome": { - "type": "file", - "description": "Bed file containing the coverage for exome." - } - }, - { - "fracsnp": { - "type": "file", - "description": "Wig file containing the fraction of homozygous SNPs" - } - }, - { - "ideogram": { - "type": "file", - "description": "Bed file containing information necessary for ideogram plots.\nFormat ['chrom', 'start', 'end', 'name', 'gStain']\n" - } - }, - { - "regions": { - "type": "file", - "description": "Bed file containing UPD regions" - } - }, - { - "sites": { - "type": "file", - "description": "Bed file containing UPD sites" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "plots": { - "type": "file", - "description": "Directory containing the plots in png format", - "pattern": "*.png" - } - } - ], - "authors": ["@ramprasadn"] - } - }, - { - "name": "circexplorer2_annotate", - "path": "modules/nf-core/circexplorer2/annotate/meta.yml", - "type": "module", - "meta": { - "name": "circexplorer2_annotate", - "description": "Annotate circRNAs detected in the output from CIRCexplorer2 parse", - "keywords": ["circrna", "annotate"], - "tools": [ - { - "circexplorer2": { - "description": "Circular RNA analysis toolkits", - "homepage": "https://github.com/YangLab/CIRCexplorer2/", - "documentation": "https://circexplorer2.readthedocs.io/en/latest/", - "doi": "10.1101/gr.202895.115", - "licence": "['MIT License']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "junctions": { - "type": "file", - "description": "Reformatted junctions file", - "pattern": "*.{junction}" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome FASTA file", - "pattern": "*.{fa,fasta}" - } - }, - { - "gene_annotation": { - "type": "file", - "description": "Reformatted GTF file for CIRCexplorer2", - "pattern": "*.{txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "txt": { - "type": "file", - "description": "Annotated circRNA TXT file", - "pattern": "*.{txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@BarryDigby"] - }, - "pipelines": [ - { - "name": "circrna", - "version": "dev" - } - ] - }, - { - "name": "circexplorer2_parse", - "path": "modules/nf-core/circexplorer2/parse/meta.yml", - "type": "module", - "meta": { - "name": "circexplorer2_parse", - "description": "CIRCexplorer2 parses fusion junction files from multiple aligners to prepare them for CIRCexplorer2 annotate.", - "keywords": ["parse", "circrna", "splice"], - "tools": [ - { - "circexplorer2": { - "description": "Circular RNA analysis toolkit", - "homepage": "https://github.com/YangLab/CIRCexplorer2/", - "documentation": "https://circexplorer2.readthedocs.io/en/latest/", - "doi": "10.1101/gr.202895.115", - "licence": "['MIT License']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fusions": { - "type": "file", - "description": "BAM (BWA), BED (Segemehl), TXT (MapSplice), or Junction (STAR) file. Aligner will be autodetected based on file suffix.", - "pattern": "*.{bam,junction,bed,txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Standardized fusion junction file suitable for CIRCexplorer2 annotate module.", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@BarryDigby"] - }, - "pipelines": [ - { - "name": "circrna", - "version": "dev" - } - ] - }, - { - "name": "clippy", - "path": "modules/nf-core/clippy/meta.yml", - "type": "module", - "meta": { - "name": "clippy", - "description": "Runs the Clippy CLIP peak caller", - "keywords": ["iCLIP", "eCLIP", "CLIP"], - "tools": [ - { - "clippy": { - "description": "An intuitive and interactive peak caller for CLIP data", - "homepage": "https://github.com/ulelab/clippy", - "documentation": "https://github.com/ulelab/clippy", - "tool_dev_url": "https://github.com/ulelab/clippy", - "doi": "10.7554/eLife.84034", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "BED file of crosslinks", - "pattern": "*.{bed,bed.gz}" - } - }, - { - "gtf": { - "type": "file", - "description": "A GTF file of genes to call peaks on", - "pattern": "*.{gtf}" - } - }, - { - "fai": { - "type": "file", - "description": "FAI file corresponding to the reference sequence", - "pattern": "*.{fai}" - } - } - ], - "output": [ - { - "peaks": { - "type": "file", - "description": "BED file of peaks called by Clippy", - "pattern": "*_broadPeaks.bed.gz" - } - }, - { - "summits": { - "type": "file", - "description": "BED file of peak summits called by Clippy", - "pattern": "*[0-9].bed.gz" - } - }, - { - "version": { - "type": "file", - "description": "File containing software version", - "pattern": "*.{version.txt}" - } - } - ], - "authors": ["@marc-jones", "@CharlotteAnne"] - } - }, - { - "name": "clonalframeml", - "path": "modules/nf-core/clonalframeml/meta.yml", - "type": "module", - "meta": { - "name": "clonalframeml", - "description": "Predict recomination events in bacterial genomes", - "keywords": ["fasta", "multiple sequence alignment", "recombination"], - "tools": [ - { - "clonalframeml": { - "description": "Efficient inferencing of recombination in bacterial genomes", - "homepage": "https://github.com/xavierdidelot/ClonalFrameML", - "documentation": "https://github.com/xavierdidelot/clonalframeml/wiki", - "tool_dev_url": "https://github.com/xavierdidelot/ClonalFrameML", - "doi": "10.1371/journal.pcbi.1004041", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "msa": { - "type": "file", - "description": "A multiple seqeunce alignmnet in FASTA format", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" - } - }, - { - "newick": { - "type": "file", - "description": "A Newick formated tree based on multiple sequence alignment", - "pattern": "*.{newick,treefile,dnd}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "emsim": { - "type": "file", - "description": "Bootstrapped values for the three parameters R/theta, nu and delta", - "pattern": "*.emsim.txt" - } - }, - { - "em": { - "type": "file", - "description": "Point estimates for R/theta, nu, delta and the branch lengths", - "pattern": "*.em.txt" - } - }, - { - "fasta": { - "type": "file", - "description": "Sequence reconstructed by maximum likelihood", - "pattern": "*.ML_sequence.fasta" - } - }, - { - "newick": { - "type": "file", - "description": "Tree with all nodes labelled", - "pattern": "*.labelled_tree.newick" - } - }, - { - "pos_ref": { - "type": "file", - "description": "CSV mapping input sequence files to the sequences in the *.ML_sequence.fasta", - "pattern": "*.position_cross_reference.txt" - } - }, - { - "status": { - "type": "file", - "description": "List of reconstructed recombination events", - "pattern": "*.importation_status.txt" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "cmseq_polymut", - "path": "modules/nf-core/cmseq/polymut/meta.yml", - "type": "module", - "meta": { - "name": "cmseq_polymut", - "description": "Calculates polymorphic site rates over protein coding genes", - "keywords": [ - "polymut", - "polymorphic", - "mags", - "assembly", - "polymorphic sites", - "estimation", - "protein coding genes", - "cmseq", - "bam", - "coverage" - ], - "tools": [ - { - "cmseq": { - "description": "Set of utilities on sequences and BAM files", - "homepage": "https://github.com/SegataLab/cmseq", - "documentation": "https://github.com/SegataLab/cmseq", - "tool_dev_url": "https://github.com/SegataLab/cmseq", - "licence": ["MIT License"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file", - "pattern": "*.bai" - } - }, - { - "gff": { - "type": "file", - "description": "GFF file used to extract protein-coding genes", - "pattern": "*.gff" - } - }, - { - "fasta": { - "type": "file", - "description": "Optional fasta file to run on a subset of references in the BAM file.", - "pattern": ".{fa,fasta,fas,fna}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "polymut": { - "type": "file", - "description": "Polymut report in `.txt` format.", - "pattern": "*.txt" - } - } - ], - "authors": ["@maxibor"] - } - }, - { - "name": "cnvkit_access", - "path": "modules/nf-core/cnvkit/access/meta.yml", - "type": "module", - "meta": { - "name": "cnvkit_access", - "description": "Calculate the sequence-accessible coordinates in chromosomes from the given reference genome, output as a BED file.", - "keywords": ["cvnkit", "access", "fasta", "copy number"], - "tools": [ - { - "cnvkit": { - "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data.\nIt is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", - "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", - "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", - "tool_dev_url": "https://github.com/etal/cnvkit", - "doi": "10.1371/journal.pcbi.1004873", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome FASTA.", - "pattern": "*.fasta" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "exclude_bed": { - "type": "file", - "description": "Additional regions to exclude, in BED format. Can be used multiple times." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "File containing accessible regions.", - "pattern": "*.{bed}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@adamrtalbot"] - } - }, - { - "name": "cnvkit_antitarget", - "path": "modules/nf-core/cnvkit/antitarget/meta.yml", - "type": "module", - "meta": { - "name": "cnvkit_antitarget", - "description": "Derive off-target (“antitarget”) bins from target regions.", - "keywords": ["cvnkit", "antitarget", "cnv", "copy number"], - "tools": [ - { - "cnvkit": { - "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data.\nIt is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", - "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", - "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", - "tool_dev_url": "https://github.com/etal/cnvkit", - "doi": "10.1371/journal.pcbi.1004873", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "targets": { - "type": "file", - "description": "File containing genomic regions", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "File containing off-target regions", - "pattern": "*.{bed}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@SusiJo"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "cnvkit_batch", - "path": "modules/nf-core/cnvkit/batch/meta.yml", - "type": "module", - "meta": { - "name": "cnvkit_batch", - "description": "Copy number variant detection from high-throughput sequencing data", - "keywords": ["cnvkit", "bam", "fasta", "copy number"], - "tools": [ - { - "cnvkit": { - "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data. It is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", - "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", - "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tumour": { - "type": "file", - "description": "Input tumour sample bam file (or cram)\n" - } - }, - { - "normal": { - "type": "file", - "description": "Input normal sample bam file (or cram)\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input reference genome fasta file (only needed for cram_input and/or when normal_samples are provided)\n" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "Input reference genome fasta index (optional, but recommended for cram_input)\n" - } - }, - { - "targetfile": { - "type": "file", - "description": "Input target bed file\n" - } - }, - { - "reference": { - "type": "file", - "description": "Input reference cnn-file (only for germline and tumor-only running)\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "File containing genomic regions", - "pattern": "*.{bed}" - } - }, - { - "cnn": { - "type": "file", - "description": "File containing coverage information", - "pattern": "*.{cnn}" - } - }, - { - "cnr": { - "type": "file", - "description": "File containing copy number ratio information", - "pattern": "*.{cnr}" - } - }, - { - "cns": { - "type": "file", - "description": "File containing copy number segment information", - "pattern": "*.{cns}" - } - }, - { - "pdf": { - "type": "file", - "description": "File with plot of copy numbers or segments on chromosomes", - "pattern": "*.{pdf}" - } - }, - { - "png": { - "type": "file", - "description": "File with plot of bin-level log2 coverages and segmentation calls", - "pattern": "*.{png}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": [ - "@kaurravneet4123", - "@KevinMenden", - "@MaxUlysse", - "@drpatelh", - "@fbdtemme", - "@lassefolkersen", - "@SusiJo" - ] - }, - "pipelines": [ - { - "name": "createpanelrefs", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "cnvkit_call", - "path": "modules/nf-core/cnvkit/call/meta.yml", - "type": "module", - "meta": { - "name": "cnvkit_call", - "description": "Given segmented log2 ratio estimates (.cns), derive each segment’s absolute integer copy number", - "keywords": ["cnvkit", "copy number"], - "tools": [ - { - "cnvkit": { - "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data. It is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", - "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", - "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "cns": { - "type": "file", - "description": "CNVKit CNS file.", - "pattern": "*.cns" - } - }, - { - "vcf": { - "type": "file", - "description": "Germline VCF file for BAF.", - "pattern": "*.vcf{,.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "file", - "description": "File containing copy number information in new format.", - "pattern": "*.{bed,vcf,cdt,jtv,seg,interval_count}" - } - } - ], - "authors": ["@adamrtalbot"] - } - }, - { - "name": "cnvkit_export", - "path": "modules/nf-core/cnvkit/export/meta.yml", - "type": "module", - "meta": { - "name": "cnvkit_export", - "description": "Convert copy number ratio tables (.cnr files) or segments (.cns) to another format.", - "keywords": ["cnvkit", "copy number", "export"], - "tools": [ - { - "cnvkit": { - "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data. It is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", - "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", - "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "cns": { - "type": "file", - "description": "CNVKit CNS file.", - "pattern": "*.cns" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "cns": { - "type": "file", - "description": "File containing copy number segment information", - "pattern": "*.{cns}" - } - } - ], - "authors": ["@adamrtalbot"] - } - }, - { - "name": "cnvkit_genemetrics", - "path": "modules/nf-core/cnvkit/genemetrics/meta.yml", - "type": "module", - "meta": { - "name": "cnvkit_genemetrics", - "description": "Copy number variant detection from high-throughput sequencing data", - "keywords": ["cnvkit", "genemetrics"], - "tools": [ - { - "cnvkit": { - "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data. It is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", - "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", - "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "cnr": { - "type": "file", - "description": "CNR file", - "pattern": "*.cnr" - } - }, - { - "cns": { - "type": "file", - "description": "CNS file [Optional]", - "pattern": "*.cns" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "txt": { - "type": "file", - "description": "TXT file", - "pattern": "*.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@marrip"] - } - }, - { - "name": "cnvkit_reference", - "path": "modules/nf-core/cnvkit/reference/meta.yml", - "type": "module", - "meta": { - "name": "cnvkit_reference", - "description": "Compile a coverage reference from the given files (normal samples).", - "keywords": ["cnvkit", "reference", "cnv", "copy number"], - "tools": [ - { - "cnvkit": { - "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data.\nIt is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", - "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", - "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", - "tool_dev_url": "https://github.com/etal/cnvkit", - "doi": "10.1371/journal.pcbi.1004873", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "File containing reference genome", - "pattern": "*.{fasta}" - } - }, - { - "targets": { - "type": "file", - "description": "File containing genomic regions", - "pattern": "*.{bed}" - } - }, - { - "antitargets": { - "type": "file", - "description": "File containing off-target genomic regions", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reference": { - "type": "file", - "description": "File containing a copy-number reference (required for CNV calling in tumor_only mode)", - "pattern": "*.{cnn}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@SusiJo"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "cnvkit_target", - "path": "modules/nf-core/cnvkit/target/meta.yml", - "type": "module", - "meta": { - "name": "cnvkit_target", - "description": "Transform bait intervals into targets more suitable for CNVkit.", - "keywords": ["cnvkit", "target", "cnv", "copy number"], - "tools": [ - { - "cnvkit": { - "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data.\nIt is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", - "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", - "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", - "tool_dev_url": "https://github.com/etal/cnvkit", - "doi": "10.1371/journal.pcbi.1004873", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "baits": { - "type": "file", - "description": "BED or interval file listing the targeted regions.", - "pattern": "*.{bed}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "annotation": { - "type": "file", - "description": "Use gene models from this file to assign names to the target regions.", - "pattern": "*.{txt,bed,gff3,pil}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "File containing target regions", - "pattern": "*.{bed}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@adamrtalbot"] - } - }, - { - "name": "cnvpytor_callcnvs", - "path": "modules/nf-core/cnvpytor/callcnvs/meta.yml", - "type": "module", - "meta": { - "name": "cnvpytor_callcnvs", - "description": "command line tool for calling CNVs in whole genome sequencing data", - "keywords": ["CNV calling"], - "tools": [ - { - "cnvpytor": { - "description": "calling CNVs using read depth", - "homepage": "https://github.com/abyzovlab/CNVpytor", - "documentation": "https://github.com/abyzovlab/CNVpytor", - "tool_dev_url": "https://github.com/abyzovlab/CNVpytor", - "doi": "10.1101/2021.01.27.428472v1", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "pytor": { - "type": "file", - "description": "pytor file containing partitions of read depth histograms using mean-shift method", - "pattern": "*.{pytor}" - } - }, - { - "bin_sizes": { - "type": "string", - "description": "list of binsizes separated by space e.g. \"1000 10000\" and \"1000\"" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "pytor": { - "type": "file", - "description": "pytor files containing cnv calls", - "pattern": "*.{pytor}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sima-r"] - } - }, - { - "name": "cnvpytor_histogram", - "path": "modules/nf-core/cnvpytor/histogram/meta.yml", - "type": "module", - "meta": { - "name": "cnvpytor_histogram", - "description": "calculates read depth histograms", - "keywords": ["cnv calling", "histogram"], - "tools": [ - { - "cnvpytor": { - "description": "calling CNVs using read depth", - "homepage": "https://github.com/abyzovlab/CNVpytor", - "documentation": "https://github.com/abyzovlab/CNVpytor", - "tool_dev_url": "https://github.com/abyzovlab/CNVpytor", - "doi": "10.1101/2021.01.27.428472v1", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "pytor": { - "type": "file", - "description": "pytor file containing read depth data", - "pattern": "*.{pytor}" - } - }, - { - "bin_sizes": { - "type": "string", - "description": "list of binsizes separated by space e.g. \"1000 10000\" and \"1000\"" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "pytor": { - "type": "file", - "description": "pytor file containing read depth histograms binned based on given bin size(s)", - "pattern": "*.{pytor}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sima-r", "@ramprasadn"] - } - }, - { - "name": "cnvpytor_importreaddepth", - "path": "modules/nf-core/cnvpytor/importreaddepth/meta.yml", - "type": "module", - "meta": { - "name": "cnvpytor_importreaddepth", - "description": "command line tool for CNV/CNA analysis. This step imports the read depth data into a root pytor file.", - "keywords": ["read depth", "cnv calling"], - "tools": [ - { - "cnvpytor -rd": { - "description": "calling CNVs using read depth", - "homepage": "https://github.com/abyzovlab/CNVpytor", - "documentation": "https://github.com/abyzovlab/CNVpytor", - "tool_dev_url": "https://github.com/abyzovlab/CNVpytor", - "doi": "10.1101/2021.01.27.428472v1", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "input_file": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "index": { - "type": "file", - "description": "bam file index", - "pattern": "*.{bai,crai}" - } - }, - { - "fasta": { - "type": "file", - "description": "specifies reference genome file (only for cram file without reference genome)", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz}" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "pytor": { - "type": "file", - "description": "read depth root file in which read depth data binned to 100 base pair bins will be stored.", - "pattern": "*.{pytor}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sima-r", "@ramprasadn"] - } - }, - { - "name": "cnvpytor_partition", - "path": "modules/nf-core/cnvpytor/partition/meta.yml", - "type": "module", - "meta": { - "name": "cnvpytor_partition", - "description": "partitioning read depth histograms", - "keywords": ["cnv calling", "partition histograms"], - "tools": [ - { - "cnvpytor": { - "description": "calling CNVs using read depth", - "homepage": "https://github.com/abyzovlab/CNVpytor", - "documentation": "https://github.com/abyzovlab/CNVpytor", - "tool_dev_url": "https://github.com/abyzovlab/CNVpytor", - "doi": "10.1101/2021.01.27.428472v1", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "pytor": { - "type": "file", - "description": "pytor file containing read depth data", - "pattern": "*.{pytor}" - } - }, - { - "bin_sizes": { - "type": "string", - "description": "list of binsizes separated by space e.g. \"1000 10000\" and \"1000\"" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "partitions": { - "type": "file", - "description": "pytor file containing partitions of read depth histograms using mean-shift method", - "pattern": "*.{pytor}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sima-r", "@ramprasadn"] - } - }, - { - "name": "cnvpytor_view", - "path": "modules/nf-core/cnvpytor/view/meta.yml", - "type": "module", - "meta": { - "name": "cnvpytor_view", - "description": "view function to generate vcfs", - "keywords": ["cnv calling"], - "tools": [ - { - "cnvpytor": { - "description": "calling CNVs using read depth", - "homepage": "https://github.com/abyzovlab/CNVpytor", - "documentation": "https://github.com/abyzovlab/CNVpytor", - "tool_dev_url": "https://github.com/abyzovlab/CNVpytor", - "doi": "10.1101/2021.01.27.428472v1", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "pytor_files": { - "type": "file", - "description": "pytor file containing cnv calls. To merge calls from multiple samples use a list of files.", - "pattern": "*.{pytor}" - } - }, - { - "bin_sizes": { - "type": "string", - "description": "list of binsizes separated by space e.g. \"1000 10000\" and \"1000\"" - } - }, - { - "output_format": { - "type": "string", - "description": "output format of the cnv calls. Valid entries are \"tsv\", \"vcf\", and \"xls\"" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "tsv": { - "type": "file", - "description": "tsv file containing cnv calls", - "pattern": "*.{tsv}" - } - }, - { - "vcf": { - "type": "file", - "description": "vcf file containing cnv calls", - "pattern": "*.{vcf}" - } - }, - { - "xls": { - "type": "file", - "description": "xls file containing cnv calls", - "pattern": "*.{xls}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sima-r", "@ramprasadn"] - } - }, - { - "name": "concoct_concoct", - "path": "modules/nf-core/concoct/concoct/meta.yml", - "type": "module", - "meta": { - "name": "concoct_concoct", - "description": "Unsupervised binning of metagenomic contigs by using nucleotide composition - kmer frequencies - and coverage data for multiple samples", - "keywords": [ - "contigs", - "fragment", - "mags", - "binning", - "concoct", - "kmer", - "nucleotide composition", - "metagenomics", - "bins" - ], - "tools": [ - { - "concoct": { - "description": "Clustering cONtigs with COverage and ComposiTion", - "homepage": "https://concoct.readthedocs.io/en/latest/index.html", - "documentation": "https://concoct.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/BinPro/CONCOCT", - "doi": "10.1038/nmeth.3103", - "licence": "['FreeBSD']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "coverage": { - "type": "file", - "description": "Subcontig coverage TSV table (typically generated with concoct_coverage_table.py)", - "pattern": "*.tsv" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file containing subcontigs (typically generated with cutup_fasta.py)", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "args_txt": { - "type": "file", - "description": "File containing execution parameters", - "pattern": "*_args.txt" - } - }, - { - "clustering_csv": { - "type": "file", - "description": "CSV containing information which subcontig is assigned to which cluster", - "pattern": "*_clustering_gt1000.csv" - } - }, - { - "log_txt": { - "type": "file", - "description": "Log file of tool execution", - "pattern": "*_log.txt" - } - }, - { - "original_data_csv": { - "type": "file", - "description": "Original CONCOCT GT1000 output", - "pattern": "*_original_data_gt1000.csv" - } - }, - { - "pca_components_csv": { - "type": "file", - "description": "Untransformed PCA component values", - "pattern": "*_PCA_components_data_gt1000.csv" - } - }, - { - "pca_transformed_csv": { - "type": "file", - "description": "Transformed PCA compontent values", - "pattern": "*_PCA_transformed_data_gt1000.csv" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "concoct_concoctcoveragetable", - "path": "modules/nf-core/concoct/concoctcoveragetable/meta.yml", - "type": "module", - "meta": { - "name": "concoct_concoctcoveragetable", - "description": "Generate the input coverage table for CONCOCT using a BEDFile", - "keywords": ["contigs", "fragment", "mags", "binning", "bed", "bam", "subcontigs", "coverage"], - "tools": [ - { - "concoct": { - "description": "Clustering cONtigs with COverage and ComposiTion", - "homepage": "https://concoct.readthedocs.io/en/latest/index.html", - "documentation": "https://concoct.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/BinPro/CONCOCT", - "doi": "10.1038/nmeth.3103", - "licence": "['FreeBSD']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "BED file describing where each contig was cut up (typically output from CONCOCT's cut_up_fasta.py)", - "pattern": "*.bed" - } - }, - { - "bamfiles": { - "type": "file", - "description": "A single or list of BAM files of reads mapped back to original contigs (prior cutting up)", - "pattern": "*.bam" - } - }, - { - "baifiles": { - "type": "file", - "description": "A single or list of BAM index files (.bai) corresponding to BAM", - "pattern": "*.bam" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "Contig coverage table", - "pattern": "*.tsv" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "concoct_cutupfasta", - "path": "modules/nf-core/concoct/cutupfasta/meta.yml", - "type": "module", - "meta": { - "name": "concoct_cutupfasta", - "description": "Cut up fasta file in non-overlapping or overlapping parts of equal length.", - "keywords": ["contigs", "fragment", "mags", "binning", "fasta", "cut", "cut up"], - "tools": [ - { - "concoct": { - "description": "Clustering cONtigs with COverage and ComposiTion", - "homepage": "https://concoct.readthedocs.io/en/latest/index.html", - "documentation": "https://concoct.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/BinPro/CONCOCT", - "doi": "10.1038/nmeth.3103", - "licence": "['FreeBSD']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "(Uncompressed) FASTA file containing contigs", - "pattern": "*.{fasta,fna,fa,fas}" - } - }, - { - "bed": { - "type": "boolean", - "description": "Specify whether to generate a BED file describing where each contig was cut up" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fasta": { - "type": "file", - "description": "Cut up fasta file in non-overlapping or overlapping parts of equal length.", - "pattern": "*.fasta" - } - }, - { - "bed": { - "type": "file", - "description": "Optional BED File containing locations on original contigs where they were cut up.", - "pattern": "*.bed" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "concoct_extractfastabins", - "path": "modules/nf-core/concoct/extractfastabins/meta.yml", - "type": "module", - "meta": { - "name": "concoct_extractfastabins", - "description": "Creates a FASTA file for each new cluster assigned by CONCOCT", - "keywords": ["contigs", "fragment", "mags", "binning", "fasta", "cut", "cut up", "bins", "merge"], - "tools": [ - { - "concoct": { - "description": "Clustering cONtigs with COverage and ComposiTion", - "homepage": "https://concoct.readthedocs.io/en/latest/index.html", - "documentation": "https://concoct.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/BinPro/CONCOCT", - "doi": "10.1038/nmeth.3103", - "licence": "['FreeBSD']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "original_fasta": { - "type": "file", - "description": "Original input FASTA file to CONOCT cut_up_fasta", - "pattern": "*.{fasta,fna,fa,fas}" - } - }, - { - "csv": { - "type": "boolean", - "description": "Output table of merge_cutup_clustering with new cluster assignments", - "pattern": ".csv" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA files containing CONCOCT predicted bin clusters, named numerically by CONCOCT cluster ID in a directory called `fasta_bins`", - "pattern": "*.fa.gz" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "concoct_mergecutupclustering", - "path": "modules/nf-core/concoct/mergecutupclustering/meta.yml", - "type": "module", - "meta": { - "name": "concoct_mergecutupclustering", - "description": "Merge consecutive parts of the original contigs original cut up by cut_up_fasta.py", - "keywords": ["contigs", "fragment", "mags", "binning", "fasta", "cut", "cut up", "merge"], - "tools": [ - { - "concoct": { - "description": "Clustering cONtigs with COverage and ComposiTion", - "homepage": "https://concoct.readthedocs.io/en/latest/index.html", - "documentation": "https://concoct.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/BinPro/CONCOCT", - "doi": "10.1038/nmeth.3103", - "licence": "['FreeBSD']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "clustering_csv": { - "type": "file", - "description": "Input cutup clustering result. Typically *_gt1000.csv from concoct", - "pattern": "*.csv" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "csv": { - "type": "file", - "description": "Cluster assignments per contig part with concensus cluster", - "pattern": "*.csv" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "controlfreec_assesssignificance", - "path": "modules/nf-core/controlfreec/assesssignificance/meta.yml", - "type": "module", - "meta": { - "name": "controlfreec_assesssignificance", - "description": "Add both Wilcoxon test and Kolmogorov-Smirnov test p-values to each CNV output of FREEC", - "keywords": ["cna", "cnv", "somatic", "single", "tumor-only"], - "tools": [ - { - "controlfreec/assesssignificance": { - "description": "Copy number and genotype annotation from whole genome and whole exome sequencing data.", - "homepage": "http://boevalab.inf.ethz.ch/FREEC", - "documentation": "http://boevalab.inf.ethz.ch/FREEC/tutorial.html", - "tool_dev_url": "https://github.com/BoevaLab/FREEC/", - "doi": "10.1093/bioinformatics/btq635", - "licence": ["GPL >=2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "cnvs": { - "type": "file", - "description": "_CNVs file generated by FREEC", - "pattern": "*._CNVs" - } - }, - { - "ratio": { - "type": "file", - "description": "ratio file generated by FREEC", - "pattern": "*.ratio.txt" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "p_value_txt": { - "type": "file", - "description": "CNV file containing p_values for each call", - "pattern": "*.p.value.txt" - } - } - ], - "authors": ["@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "controlfreec_freec", - "path": "modules/nf-core/controlfreec/freec/meta.yml", - "type": "module", - "meta": { - "name": "controlfreec_freec", - "description": "Copy number and genotype annotation from whole genome and whole exome sequencing data", - "keywords": ["cna", "cnv", "somatic", "single", "tumor-only"], - "tools": [ - { - "controlfreec/freec": { - "description": "Copy number and genotype annotation from whole genome and whole exome sequencing data.", - "homepage": "http://boevalab.inf.ethz.ch/FREEC", - "documentation": "http://boevalab.inf.ethz.ch/FREEC/tutorial.html", - "tool_dev_url": "https://github.com/BoevaLab/FREEC/", - "doi": "10.1093/bioinformatics/btq635", - "licence": ["GPL >=2"] - } - } - ], - "input": [ - { - "args": { - "type": "map", - "description": "Groovy Map containing tool parameters. MUST follow the structure/keywords below and be provided via modules.config.\nParameters marked as (optional) can be removed from the map, if they are not set. All values must be surrounded by quotes, meta map parameters can be set with, i.e. `sex = meta.sex`:\nFor default values, please check the documentation above.\n\n```\n{\n [\n \"general\" :[\n \"bedgraphoutput\": (optional),\n \"breakpointthreshold\": (optional),\n \"breakpointtype\": (optional),\n \"coefficientofvariation\": (optional),\n \"contamination\": (optional),\n \"contaminationadjustment\": (optional),\n \"degree\": (optional),\n \"forcegccontentnormalization\": (optional),\n \"gccontentprofile\": (optional),\n \"intercept\": (optional),\n \"mincnalength\": (optional),\n \"minmappabilityperwindow\": (optional),\n \"minexpectedgc\": (optional),\n \"maxexpectedgc\": (optional),\n \"minimalsubclonepresence\": (optional),\n \"noisydata\": (optional),\n \"ploidy\": (optional),\n \"printNA\": (optional),\n \"readcountthreshold\": (optional),\n \"sex\": (optional),\n \"step\": (optional),\n \"telocentromeric\": (optional),\n \"uniquematch\": (optional),\n \"window\": (optional)\n ],\n \"control\":[\n \"inputformat\": (required),\n \"mateorientation\": (optional),\n ],\n \"sample\":[\n \"inputformat\": (required),\n \"mateorientation\": (optional),\n ],\n \"BAF\":[\n \"minimalcoverageperposition\": (optional),\n \"minimalqualityperposition\": (optional),\n \"shiftinquality\": (optional)\n ]\n ]\n}\n```\n" - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "mateFile_normal": { - "type": "file", - "description": "File with mapped reads", - "pattern": "*.{sam,bam,pileup(.gz),bowtie(.gz),eland(.gz),arachne(.gz),psl(.gz),bed(.gz)}" - } - }, - { - "mateFile_tumor": { - "type": "file", - "description": "File with mapped reads", - "pattern": "*.{sam,bam,pileup(.gz),bowtie(.gz),eland(.gz),arachne(.gz),psl(.gz),bed(.gz)}" - } - }, - { - "cpn_normal": { - "type": "file", - "description": "Raw copy number profiles (optional)", - "pattern": "*.cpn" - } - }, - { - "cpn_tumor": { - "type": "file", - "description": "Raw copy number profiles (optional)", - "pattern": "*.cpn" - } - }, - { - "minipileup_normal": { - "type": "file", - "description": "miniPileup file from previous run (optional)", - "pattern": "*.pileup" - } - }, - { - "minipileup_tumor": { - "type": "file", - "description": "miniPileup file from previous run (optional)", - "pattern": "*.pileup" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference file (optional; required if args 'makePileup' is set)", - "pattern": "*.{fasta,fna,fa}" - } - }, - { - "fai": { - "type": "file", - "description": "Fasta index", - "pattern": "*.fai" - } - }, - { - "snp_position": { - "type": "file", - "description": "Path to a BED or VCF file with SNP positions to create a mini pileup file from the initial BAM file provided in mateFile (optional)", - "pattern": "*.{bed,vcf}" - } - }, - { - "known_snps": { - "type": "file", - "description": "File with known SNPs", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "known_snps_tbi": { - "type": "file", - "description": "Index of known_snps", - "pattern": "*.tbi" - } - }, - { - "chr_directory": { - "type": "file", - "description": "Path to directory with chromosome fasta files (optional, required if gccontentprofile is not provided)", - "pattern": "*/" - } - }, - { - "mappability": { - "type": "file", - "description": "Contains information of mappable positions (optional)", - "pattern": "*.gem" - } - }, - { - "target_bed": { - "type": "file", - "description": "Sorted bed file containing capture regions (optional)", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bedgraph": { - "type": "file", - "description": "Bedgraph format for the UCSC genome browser", - "pattern": ".bedgraph" - } - }, - { - "control_cpn": { - "type": "file", - "description": "files with raw copy number profiles", - "pattern": "*_control.cpn" - } - }, - { - "sample_cpn": { - "type": "file", - "description": "files with raw copy number profiles", - "pattern": "*_sample.cpn" - } - }, - { - "gcprofile_cpn": { - "type": "file", - "description": "file with GC-content profile.", - "pattern": "GC_profile.*.cpn" - } - }, - { - "BAF": { - "type": "file", - "description": "file B-allele frequencies for each possibly heterozygous SNP position", - "pattern": "*_BAF.txt" - } - }, - { - "CNV": { - "type": "file", - "description": "file with coordinates of predicted copy number alterations.", - "pattern": "*_CNVs" - } - }, - { - "info": { - "type": "file", - "description": "parsable file with information about FREEC run", - "pattern": "*_info.txt" - } - }, - { - "ratio": { - "type": "file", - "description": "file with ratios and predicted copy number alterations for each window", - "pattern": "*_ratio.txt" - } - }, - { - "config": { - "type": "file", - "description": "Config file used to run Control-FREEC", - "pattern": "config.txt" - } - } - ], - "authors": ["@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "controlfreec_freec2bed", - "path": "modules/nf-core/controlfreec/freec2bed/meta.yml", - "type": "module", - "meta": { - "name": "controlfreec_freec2bed", - "description": "Plot Freec output", - "keywords": ["cna", "cnv", "somatic", "single", "tumor-only"], - "tools": [ - { - "controlfreec": { - "description": "Copy number and genotype annotation from whole genome and whole exome sequencing data.", - "homepage": "http://boevalab.inf.ethz.ch/FREEC", - "documentation": "http://boevalab.inf.ethz.ch/FREEC/tutorial.html", - "tool_dev_url": "https://github.com/BoevaLab/FREEC/", - "doi": "10.1093/bioinformatics/btq635", - "licence": ["GPL >=2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ratio": { - "type": "file", - "description": "ratio file generated by FREEC", - "pattern": "*.ratio.txt" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "Bed file", - "pattern": "*.bed" - } - } - ], - "authors": ["@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "controlfreec_freec2circos", - "path": "modules/nf-core/controlfreec/freec2circos/meta.yml", - "type": "module", - "meta": { - "name": "controlfreec_freec2circos", - "description": "Format Freec output to circos input format", - "keywords": ["cna", "cnv", "somatic", "single", "tumor-only"], - "tools": [ - { - "controlfreec": { - "description": "Copy number and genotype annotation from whole genome and whole exome sequencing data.", - "homepage": "http://boevalab.inf.ethz.ch/FREEC", - "documentation": "http://boevalab.inf.ethz.ch/FREEC/tutorial.html", - "tool_dev_url": "https://github.com/BoevaLab/FREEC/", - "doi": "10.1093/bioinformatics/btq635", - "licence": ["GPL >=2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ratio": { - "type": "file", - "description": "ratio file generated by FREEC", - "pattern": "*.ratio.txt" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "circos": { - "type": "file", - "description": "Txt file", - "pattern": "*.circos.txt" - } - } - ], - "authors": ["@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "controlfreec_makegraph", - "path": "modules/nf-core/controlfreec/makegraph/meta.yml", - "type": "module", - "meta": { - "name": "controlfreec_makegraph", - "description": "Plot Freec output", - "keywords": ["cna", "cnv", "somatic", "single", "tumor-only"], - "tools": [ - { - "controlfreec": { - "description": "Copy number and genotype annotation from whole genome and whole exome sequencing data.", - "homepage": "http://boevalab.inf.ethz.ch/FREEC", - "documentation": "http://boevalab.inf.ethz.ch/FREEC/tutorial.html", - "tool_dev_url": "https://github.com/BoevaLab/FREEC/", - "doi": "10.1093/bioinformatics/btq635", - "licence": ["GPL >=2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ratio": { - "type": "file", - "description": "ratio file generated by FREEC", - "pattern": "*.ratio.txt" - } - }, - { - "baf": { - "type": "file", - "description": ".BAF file generated by FREEC", - "pattern": "*.BAF" - } - }, - { - "ploidy": { - "type": "integer", - "description": "Ploidy value for which graph should be created" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "png_baf": { - "type": "file", - "description": "Image of BAF plot", - "pattern": "*_BAF.png" - } - }, - { - "png_ratio_log2": { - "type": "file", - "description": "Image of ratio log2 plot", - "pattern": "*_ratio.log2.png" - } - }, - { - "png_ratio": { - "type": "file", - "description": "Image of ratio plot", - "pattern": "*_ratio.png" - } - } - ], - "authors": ["@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "cooler_balance", - "path": "modules/nf-core/cooler/balance/meta.yml", - "type": "module", - "meta": { - "name": "cooler_balance", - "description": "Run matrix balancing on a cool file", - "keywords": ["cooler/balance", "cooler", "cool", "cooler"], - "tools": [ - { - "cooler": { - "description": "Sparse binary format for genomic interaction matrices", - "homepage": "https://open2c.github.io/cooler/", - "documentation": "https://cooler.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/open2c/cooler", - "doi": "10.1093/bioinformatics/btz540", - "licence": ["BSD-3-Clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "cool": { - "type": "file", - "description": "Path to COOL file", - "pattern": "*.{cool,mcool}" - } - }, - { - "resolution": { - "type": "integer", - "description": "Resolution" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "cool": { - "type": "file", - "description": "Output COOL file balancing weigths", - "pattern": "*.cool" - } - } - ], - "authors": ["@nservant", "@muffato"] - }, - "pipelines": [ - { - "name": "hic", - "version": "2.1.0" - } - ] - }, - { - "name": "cooler_cload", - "path": "modules/nf-core/cooler/cload/meta.yml", - "type": "module", - "meta": { - "name": "cooler_cload", - "description": "Create a cooler from genomic pairs and bins", - "keywords": ["cool", "cooler", "cload", "hic"], - "tools": [ - { - "cooler": { - "description": "Sparse binary format for genomic interaction matrices", - "homepage": "https://open2c.github.io/cooler/", - "documentation": "https://cooler.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/open2c/cooler", - "doi": "10.1093/bioinformatics/btz540", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "pairs": { - "type": "file", - "description": "Path to contacts (i.e. read pairs) file." - } - }, - { - "index": { - "type": "file", - "description": "Path to index file of the contacts." - } - }, - { - "cool_bin": { - "type": "integer", - "description": "Bins size in bp" - } - }, - { - "chromsizes": { - "type": "file", - "description": "Path to a chromsizes file." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "version": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - }, - { - "cool": { - "type": "file", - "description": "Output COOL file path", - "pattern": "*.cool" - } - }, - { - "cool_bin": { - "type": "integer", - "description": "Bins size in bp" - } - } - ], - "authors": ["@jianhong", "@muffato"] - }, - "pipelines": [ - { - "name": "hic", - "version": "2.1.0" - } - ] - }, - { - "name": "cooler_digest", - "path": "modules/nf-core/cooler/digest/meta.yml", - "type": "module", - "meta": { - "name": "cooler_digest", - "description": "Generate fragment-delimited genomic bins", - "keywords": ["digest", "enzyme", "cooler"], - "tools": [ - { - "cooler": { - "description": "Sparse binary format for genomic interaction matrices", - "homepage": "https://open2c.github.io/cooler/", - "documentation": "https://cooler.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/open2c/cooler", - "doi": "10.1093/bioinformatics/btz540", - "licence": ["BSD-3-Clause"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Genome assembly FASTA file or folder containing FASTA files (uncompressed).", - "pattern": "*.{fasta,fa}" - } - }, - { - "chromsizes": { - "type": "file", - "description": "Path to a chromsizes file." - } - }, - { - "enzyme": { - "type": "string", - "description": "Name of restriction enzyme. e.g. CviQI.", - "documentation": "http://biopython.org/DIST/docs/cookbook/Restriction.html" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "A genome segmentation of restriction fragments as a BED file.", - "pattern": "*.{bed}" - } - } - ], - "authors": ["@jianhong"] - }, - "pipelines": [ - { - "name": "hicar", - "version": "1.0.0" - } - ] - }, - { - "name": "cooler_dump", - "path": "modules/nf-core/cooler/dump/meta.yml", - "type": "module", - "meta": { - "name": "cooler_dump", - "description": "Dump a cooler’s data to a text stream.", - "keywords": ["dump", "text", "cooler"], - "tools": [ - { - "cooler": { - "description": "Sparse binary format for genomic interaction matrices", - "homepage": "https://open2c.github.io/cooler/", - "documentation": "https://cooler.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/open2c/cooler", - "doi": "10.1093/bioinformatics/btz540", - "licence": ["BSD-3-Clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "cool": { - "type": "file", - "description": "Path to COOL file", - "pattern": "*.{cool,mcool}" - } - }, - { - "resolution": { - "type": "integer", - "description": "Resolution" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bedpe": { - "type": "file", - "description": "Output text file", - "pattern": "*.bedpe" - } - } - ], - "authors": ["@jianhong", "@muffato"] - }, - "pipelines": [ - { - "name": "hic", - "version": "2.1.0" - }, - { - "name": "hicar", - "version": "1.0.0" - } - ] - }, - { - "name": "cooler_makebins", - "path": "modules/nf-core/cooler/makebins/meta.yml", - "type": "module", - "meta": { - "name": "cooler_makebins", - "description": "Generate fixed-width genomic bins", - "keywords": ["makebins", "cooler", "genomic bins"], - "tools": [ - { - "cooler": { - "description": "Sparse binary format for genomic interaction matrices", - "homepage": "https://open2c.github.io/cooler/", - "documentation": "https://cooler.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/open2c/cooler", - "doi": "10.1093/bioinformatics/btz540", - "licence": ["BSD-3-Clause"] - } - } - ], - "input": [ - { - "chromsize": { - "type": "file", - "description": "Path to chromosome size file" - } - }, - { - "cool_bin": { - "type": "integer", - "description": "Resolution (bin size) in base pairs" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "Genome segmentation at a fixed resolution as a BED file.", - "pattern": "*.bed" - } - } - ], - "authors": ["@nservant", "@muffato"] - }, - "pipelines": [ - { - "name": "hic", - "version": "2.1.0" - } - ] - }, - { - "name": "cooler_merge", - "path": "modules/nf-core/cooler/merge/meta.yml", - "type": "module", - "meta": { - "name": "cooler_merge", - "description": "Merge multiple coolers with identical axes", - "keywords": ["merge", "cooler", "hic"], - "tools": [ - { - "cooler": { - "description": "Sparse binary format for genomic interaction matrices", - "homepage": "https://open2c.github.io/cooler/", - "documentation": "https://cooler.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/open2c/cooler", - "doi": "10.1093/bioinformatics/btz540", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "cool": { - "type": "file", - "description": "Path to COOL file", - "pattern": "*.{cool,mcool}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - }, - { - "cool": { - "type": "file", - "description": "Path to COOL file", - "pattern": "*.cool" - } - } - ], - "authors": ["@jianhong"] - } - }, - { - "name": "cooler_zoomify", - "path": "modules/nf-core/cooler/zoomify/meta.yml", - "type": "module", - "meta": { - "name": "cooler_zoomify", - "description": "Generate a multi-resolution cooler file by coarsening", - "keywords": ["mcool", "cool", "cooler"], - "tools": [ - { - "cooler": { - "description": "Sparse binary format for genomic interaction matrices", - "homepage": "https://open2c.github.io/cooler/", - "documentation": "https://cooler.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/open2c/cooler", - "doi": "10.1093/bioinformatics/btz540", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "cool": { - "type": "file", - "description": "Path to COOL file", - "pattern": "*.{cool,mcool}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "mcool": { - "type": "file", - "description": "Output mcool file", - "pattern": "*.mcool" - } - } - ], - "authors": ["@jianhong"] - }, - "pipelines": [ - { - "name": "hic", - "version": "2.1.0" - } - ] - }, - { - "name": "coreograph", - "path": "modules/nf-core/coreograph/meta.yml", - "type": "module", - "meta": { - "name": "coreograph", - "description": "Great....yet another TMA dearray program. What does this one do? Coreograph uses UNet, a deep learning model, to identify complete/incomplete tissue cores on a tissue microarray. It has been trained on 9 TMA slides of different sizes and tissue types.", - "keywords": ["UNet", "TMA dearray", "Segmentation", "Cores"], - "tools": [ - { - "coreograph": { - "description": "A TMA dearray porgram that uses UNet, a deep learning model, to identify complete/incomplete tissue cores on a tissue microarray.", - "homepage": "https://mcmicro.org/parameters/core.html#coreograph", - "documentation": "https://mcmicro.org/troubleshooting/tuning/coreograph.html", - "tool_dev_url": "https://github.com/HMS-IDAC/UNetCoreograph", - "doi": "10.1038/s41592-021-01308-y", - "licence": "MIT License" - } - } - ], - "input": [ - { - "image": { - "type": "file", - "description": "ome.tif/tif file", - "pattern": "*.{ome.tif,tif}" - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\n" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "cores": { - "type": "file", - "description": "Complete/Incomplete tissue cores", - "pattern": "*.{tif}" - } - }, - { - "masks": { - "type": "file", - "description": "Binary masks for the Complete/Incomplete tissue cores", - "pattern": "./masks/*.{tif}" - } - }, - { - "tma_map": { - "type": "file", - "description": "A TMA map showing labels and outlines", - "pattern": "TMA_MAP.tif" - } - }, - { - "centroids": { - "type": "file", - "description": "A text file listing centroids of each core in format Y, X", - "pattern": "centroidsY-X.txt" - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\n" - } - } - ], - "authors": ["@arozhada", "@MargotCh"] - } - }, - { - "name": "crisprcleanr_normalize", - "path": "modules/nf-core/crisprcleanr/normalize/meta.yml", - "type": "module", - "meta": { - "name": "crisprcleanr_normalize", - "description": "remove false positives of functional crispr genomics due to CNVs", - "keywords": ["sort", "CNV", "correction", "CRISPR"], - "tools": [ - { - "crisprcleanr": { - "description": "Analysis of CRISPR functional genomics, remove false positive due to CNVs.", - "homepage": "https://github.com/francescojm/CRISPRcleanR", - "documentation": "https://github.com/francescojm/CRISPRcleanR/blob/master/Quick_start.pdf", - "tool_dev_url": "https://github.com/francescojm/CRISPRcleanR/tree/v3.0.0", - "doi": "10.1186/s12864-018-4989-y", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "count_file": { - "type": "file", - "description": "sgRNA raw counts", - "pattern": "*.tsv" - } - }, - { - "library_file": { - "type": "file", - "description": "sgRNA library", - "pattern": "*.tsv" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "norm_count_file": { - "type": "file", - "description": "normalized count file", - "pattern": "*.tsv" - } - } - ], - "authors": ["@LaurenceKuhl"] - }, - "pipelines": [ - { - "name": "crisprseq", - "version": "2.0.0" - } - ] - }, - { - "name": "crumble", - "path": "modules/nf-core/crumble/meta.yml", - "type": "module", - "meta": { - "name": "crumble", - "description": "Controllable lossy compression of BAM/CRAM files", - "keywords": ["compress", "bam", "sam", "cram"], - "tools": [ - { - "crumble": { - "description": "Controllable lossy compression of BAM/CRAM files", - "homepage": "https://github.com/jkbonfield/crumble", - "documentation": "https://github.com/jkbonfield/crumble", - "tool_dev_url": "https://github.com/jkbonfield/crumble", - "doi": "10.1093/bioinformatics/bty608", - "licence": "['multiple BSD style licenses']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "keepbed": { - "type": "file", - "description": "BED file defining regions to keep quality" - } - }, - { - "bedout": { - "type": "boolean", - "description": "set to true to ouput suspicious regions to a BED file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "optional filtered/compressed BAM file", - "pattern": "*.{bam}" - } - }, - { - "cram": { - "type": "file", - "description": "optional filtered/compressed CRAM file", - "pattern": "*.{cram}" - } - }, - { - "sam": { - "type": "file", - "description": "optional filtered/compressed SAM file", - "pattern": "*.{sam}" - } - }, - { - "bed": { - "type": "file", - "description": "optional suspicious regions BED file", - "pattern": "*{bed}" - } - } - ], - "authors": ["@priyanka-surana"] - } - }, - { - "name": "csvtk_concat", - "path": "modules/nf-core/csvtk/concat/meta.yml", - "type": "module", - "meta": { - "name": "csvtk_concat", - "description": "Concatenate two or more CSV (or TSV) tables into a single table", - "keywords": ["concatenate", "tsv", "csv"], - "tools": [ - { - "csvtk": { - "description": "A cross-platform, efficient, practical CSV/TSV toolkit", - "homepage": "http://bioinf.shenwei.me/csvtk", - "documentation": "http://bioinf.shenwei.me/csvtk", - "tool_dev_url": "https://github.com/shenwei356/csvtk", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "csv": { - "type": "file", - "description": "CSV/TSV formatted files", - "pattern": "*.{csv,tsv}" - } - }, - { - "in_format": { - "type": "string", - "description": "Input format (csv, tab, or a delimiting character)", - "pattern": "*" - } - }, - { - "out_format": { - "type": "string", - "description": "Output format (csv, tab, or a delimiting character)", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "version.yml" - } - }, - { - "csv": { - "type": "file", - "description": "Concatenated CSV/TSV file", - "pattern": "*.{csv,tsv}" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "csvtk_split", - "path": "modules/nf-core/csvtk/split/meta.yml", - "type": "module", - "meta": { - "name": "csvtk_split", - "description": "Splits CSV/TSV into multiple files according to column values", - "keywords": ["split", "csv", "tsv"], - "tools": [ - { - "csvtk": { - "description": "CSVTK is a cross-platform, efficient and practical CSV/TSV toolkit that allows rapid data investigation and manipulation.", - "homepage": "https://bioinf.shenwei.me/csvtk/", - "documentation": "https://bioinf.shenwei.me/csvtk/", - "tool_dev_url": "https://github.com/shenwei356/csvtk", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "csv": { - "type": "file", - "description": "CSV/TSV file", - "pattern": "*.{csv,tsv}" - } - }, - { - "in_format": { - "type": "string", - "description": "Input format (csv, tab, or a delimiting character)", - "pattern": "*" - } - }, - { - "out_format": { - "type": "string", - "description": "Output format (csv, tab, or a delimiting character)", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "split_csv": { - "type": "file", - "description": "Split CSV/TSV file", - "pattern": "*.{csv,tsv}" - } - } - ], - "authors": ["@SusiJo"] - } - }, - { - "name": "custom_dumpsoftwareversions", - "path": "modules/nf-core/custom/dumpsoftwareversions/meta.yml", - "type": "module", - "meta": { - "name": "custom_dumpsoftwareversions", - "description": "Custom module used to dump software versions within the nf-core pipeline template", - "keywords": ["custom", "dump", "version"], - "tools": [ - { - "custom": { - "description": "Custom module used to dump software versions within the nf-core pipeline template", - "homepage": "https://github.com/nf-core/tools", - "documentation": "https://github.com/nf-core/tools", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "versions": { - "type": "file", - "description": "YML file containing software versions", - "pattern": "*.yml" - } - } - ], - "output": [ - { - "yml": { - "type": "file", - "description": "Standard YML file containing software versions", - "pattern": "software_versions.yml" - } - }, - { - "mqc_yml": { - "type": "file", - "description": "MultiQC custom content YML file containing software versions", - "pattern": "software_versions_mqc.yml" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@grst"] - }, - "pipelines": [ - { - "name": "airrflow", - "version": "3.1.0" - }, - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "bamtofastq", - "version": "2.0.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "createpanelrefs", - "version": "dev" - }, - { - "name": "crisprseq", - "version": "2.0.0" - }, - { - "name": "demultiplex", - "version": "1.3.2" - }, - { - "name": "differentialabundance", - "version": "1.2.0" - }, - { - "name": "epitopeprediction", - "version": "2.2.1" - }, - { - "name": "fastquorum", - "version": "dev" - }, - { - "name": "fetchngs", - "version": "1.10.0" - }, - { - "name": "funcscan", - "version": "1.1.2" - }, - { - "name": "genomeannotator", - "version": "dev" - }, - { - "name": "genomeassembler", - "version": "dev" - }, - { - "name": "genomeskim", - "version": "dev" - }, - { - "name": "gwas", - "version": "dev" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "hic", - "version": "2.1.0" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "hlatyping", - "version": "2.0.0" - }, - { - "name": "isoseq", - "version": "1.1.4" - }, - { - "name": "mag", - "version": "2.3.2" - }, - { - "name": "marsseq", - "version": "1.0.3" - }, - { - "name": "mcmicro", - "version": "dev" - }, - { - "name": "metapep", - "version": "dev" - }, - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "methylseq", - "version": "2.4.0" - }, - { - "name": "mhcquant", - "version": "2.4.1" - }, - { - "name": "molkart", - "version": "dev" - }, - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "nanostring", - "version": "1.1.1" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "pangenome", - "version": "dev" - }, - { - "name": "phageannotator", - "version": "dev" - }, - { - "name": "phyloplace", - "version": "1.0.0" - }, - { - "name": "proteinfold", - "version": "1.0.0" - }, - { - "name": "quantms", - "version": "1.1.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "scrnaseq", - "version": "2.3.2" - }, - { - "name": "smrnaseq", - "version": "2.2.1" - }, - { - "name": "spatialtranscriptomics", - "version": "dev" - }, - { - "name": "spinningjenny", - "version": "dev" - }, - { - "name": "ssds", - "version": "dev" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - }, - { - "name": "variantcatalogue", - "version": "dev" - }, - { - "name": "viralintegration", - "version": "0.1.0" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "custom_getchromsizes", - "path": "modules/nf-core/custom/getchromsizes/meta.yml", - "type": "module", - "meta": { - "name": "custom_getchromsizes", - "description": "Generates a FASTA file of chromosome sizes and a fasta index file", - "keywords": ["fasta", "chromosome", "indexing"], - "tools": [ - { - "samtools": { - "description": "Tools for dealing with SAM, BAM and CRAM files", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "tool_dev_url": "https://github.com/samtools/samtools", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file", - "pattern": "*.{fa,fasta,fna,fas}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sizes": { - "type": "file", - "description": "File containing chromosome lengths", - "pattern": "*.{sizes}" - } - }, - { - "fai": { - "type": "file", - "description": "FASTA index file", - "pattern": "*.{fai}" - } - }, - { - "gzi": { - "type": "file", - "description": "Optional gzip index file for compressed inputs", - "pattern": "*.gzi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@tamara-hodgetts", "@chris-cheshire", "@muffato"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "hic", - "version": "2.1.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "custom_matrixfilter", - "path": "modules/nf-core/custom/matrixfilter/meta.yml", - "type": "module", - "meta": { - "name": "custom_matrixfilter", - "description": "filter a matrix based on a minimum value and numbers of samples that must pass.", - "keywords": ["matrix", "filter"], - "tools": [ - { - "matrixfilter": { - "description": "filter a matrix based on a minimum value and numbers of samples", - "tool_dev_url": "https://github.com/nf-core/modules/blob/master/modules/nf-core/custom/matrixfilter/main.nf" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing information on matrix to be filtered, at a\nminimum an id. e.g. [ id:'test' ]\n" - } - }, - { - "abundance": { - "type": "file", - "description": "Raw TSV or CSV format abundance matrix with features (e.g.\ngenes) by row and observations (e.g. samples) by column. All rownames\nfrom the sample sheet should be present in the columns.\n" - } - }, - { - "samplesheet_meta": { - "type": "map", - "description": "Where samplesheet is provided, aroovy Map containing information on\nsample sheet, at a minimum an id. e.g. [ id:'test' ]\n" - } - }, - { - "samplesheet": { - "type": "file", - "description": "Optional CSV or TSV format sample sheet with sample metadata. If\nprovided this is used to infer minimum passing samples from group sizes\npresent (see grouping_variable), but also to validate matrix columns.\nIf not provided, all numeric columns are selected.\n" - } - }, - { - "minimum_abundance": { - "type": "numeric", - "description": "Minimum abundance value, supplied via task.ext.args as --minimum_abundance\n", - "default": 1 - } - }, - { - "minimum_samples": { - "type": "numeric", - "description": "Minimum observations that must pass the threshold to retain\nthe row/ feature (e.g. gene). Supplied via task.ext.args as\n--minimum_samples\n", - "default": 1 - } - }, - { - "minimum_proportion": { - "type": "numeric", - "description": "A minimum proportion of observations that must pass the threshold.\nSupplied via task.ext.args as --minimum_proportion. Overrides\nminimum_samples\n", - "default": 0 - } - }, - { - "grouping_variable": { - "type": "optional string", - "description": "Optionally supply a variable from the sample sheet that can be used to\ndefine groups and derive a minimum group size upon which to base\nminimum observation numbers. The rationale being to allow retention of\nfeatures that might be present in only one group. Supplied via\ntask.ext.args as --grouping_variable\n" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing information on experiment.\ne.g. [ id:'test' ]\n" - } - }, - { - "filtered": { - "type": "file", - "description": "Filtered version of input matrix", - "pattern": "*.filtered.tsv" - } - } - ], - "authors": ["@pinin4fjords"] - }, - "pipelines": [ - { - "name": "differentialabundance", - "version": "1.2.0" - } - ] - }, - { - "name": "custom_sratoolsncbisettings", - "path": "modules/nf-core/custom/sratoolsncbisettings/meta.yml", - "type": "module", - "meta": { - "name": "sratoolsncbisettings", - "description": "Test for the presence of suitable NCBI settings or create them on the fly.", - "keywords": ["NCBI", "settings", "sra-tools", "prefetch", "fasterq-dump"], - "tools": [ - { - "sratools": { - "description": "SRA Toolkit and SDK from NCBI", - "homepage": "https://github.com/ncbi/sra-tools", - "documentation": "https://github.com/ncbi/sra-tools/wiki", - "tool_dev_url": "https://github.com/ncbi/sra-tools", - "licence": "['Public Domain']" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "ncbi_settings": { - "type": "file", - "description": "An NCBI user settings file.", - "pattern": "*.mkfg" - } - } - ], - "authors": ["@Midnighter"] - }, - "pipelines": [ - { - "name": "fetchngs", - "version": "1.10.0" - } - ] - }, - { - "name": "custom_tabulartogseacls", - "path": "modules/nf-core/custom/tabulartogseacls/meta.yml", - "type": "module", - "meta": { - "name": "custom_tabulartogseacls", - "description": "Make a GSEA class file (.cls) from tabular inputs", - "keywords": ["gsea", "cls", "convert", "tabular"], - "tools": [ - { - "custom": { - "description": "Make a GSEA class file (.cls) from tabular inputs", - "tool_dev_url": "https://github.com/nf-core/modules/blob/master/modules/nf-core/custom/tabulartogseacls/main.nf" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing metadata including an id, the sample sheet column\nused to define groups, and optionally a separator to override defaults e.g. [\n id:'test', variable:'treatment', separator:',' ]. The way these values are\npassed to the associated module parameters is then defined via an ext.args\nspecification for the process from the workflow, like: ext.args = { [\n \"separator\": \"\\t\", \"variable\": \"$meta.variable\" ] } ('variable' is\ncompulsory here).\n" - } - }, - { - "samples": { - "type": "file", - "description": "Tabular (e.g. TSV/CSV) samples file with sample IDs by row and variables by column.", - "pattern": "*.{csv,tsv}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing metadata e.g. [ id:'test', variable:'treatment',\nseparator:',' ]\n" - } - }, - { - "cls": { - "type": "file", - "description": "A categorical class format file (.cls) as defined by the Broad\ndocumentation at\nhttps://software.broadinstitute.org/cancer/software/gsea/wiki/index.php/Data_formats\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@pinin4fjords"] - }, - "pipelines": [ - { - "name": "differentialabundance", - "version": "1.2.0" - } - ] - }, - { - "name": "custom_tabulartogseagct", - "path": "modules/nf-core/custom/tabulartogseagct/meta.yml", - "type": "module", - "meta": { - "name": "custom_tabulartogseagct", - "description": "Convert a TSV or CSV with features by row and observations by column to a GCT format file as consumed by GSEA", - "keywords": ["gsea", "gct", "tabular"], - "tools": [ - { - "tabulartogseagct": { - "description": "Convert a TSV or CSV with features by row and observations by column to a GCT format file as consumed by GSEA", - "tool_dev_url": "https://github.com/nf-core/modules/blob/master/modules/nf-core/custom/tabulartogseagct/main.nf" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing matrix information\ne.g. [ id:'test' ]\n" - } - }, - { - "tabular": { - "type": "file", - "description": "Tabular (e.g. TSV or CSV file) containing a numeric matrix with features (e.g. genes) by row and samples by column.", - "pattern": "*.{tsv,csv}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing matrix information\ne.g. [ id:'test' ]\n" - } - }, - { - "gct": { - "type": "file", - "description": "GCT format version of input TSV", - "pattern": "*.{gct}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@pinin4fjords"] - }, - "pipelines": [ - { - "name": "differentialabundance", - "version": "1.2.0" - } - ] - }, - { - "name": "cutadapt", - "path": "modules/nf-core/cutadapt/meta.yml", - "type": "module", - "meta": { - "name": "cutadapt", - "description": "Perform adapter/quality trimming on sequencing reads", - "keywords": ["trimming", "adapter trimming", "adapters", "quality trimming"], - "tools": [ - { - "cuatadapt": { - "description": "Cutadapt finds and removes adapter sequences, primers, poly-A tails and other types of unwanted sequence from your high-throughput sequencing reads.\n", - "documentation": "https://cutadapt.readthedocs.io/en/stable/index.html", - "doi": "10.14806/ej.17.1.200", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "The trimmed/modified fastq reads", - "pattern": "*fastq.gz" - } - }, - { - "log": { - "type": "file", - "description": "cuatadapt log file", - "pattern": "*cutadapt.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "pipelines": [ - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "crisprseq", - "version": "2.0.0" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "marsseq", - "version": "1.0.3" - } - ] - }, - { - "name": "cutesv", - "path": "modules/nf-core/cutesv/meta.yml", - "type": "module", - "meta": { - "name": "cutesv", - "description": "structural-variant calling with cutesv", - "keywords": ["cutesv", "structural-variant calling"], - "tools": [ - { - "cutesv": { - "description": "a clustering-and-refinement method to analyze the signatures to implement sensitive SV detection.", - "homepage": "https://github.com/tjiangHIT/cuteSV", - "documentation": "https://github.com/tjiangHIT/cuteSV#readme", - "tool_dev_url": "https://github.com/tjiangHIT/cuteSV", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "Index of BAM file", - "pattern": "*.bai" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'fasta' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference database in FASTA format\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file containing called variants from CuteSV", - "pattern": "*.vcf" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@christopher-hakkaart", "@yuukiiwa"] - } - }, - { - "name": "damageprofiler", - "path": "modules/nf-core/damageprofiler/meta.yml", - "type": "module", - "meta": { - "name": "damageprofiler", - "description": "A Java based tool to determine damage patterns on ancient DNA as a replacement for mapDamage", - "keywords": [ - "damage", - "deamination", - "miscoding lesions", - "C to T", - "ancient DNA", - "aDNA", - "palaeogenomics", - "archaeogenomics", - "palaeogenetics", - "archaeogenetics" - ], - "tools": [ - { - "damageprofiler": { - "description": "A Java based tool to determine damage patterns on ancient DNA as a replacement for mapDamage", - "homepage": "https://github.com/Integrative-Transcriptomics/DamageProfiler", - "documentation": "https://damageprofiler.readthedocs.io/", - "tool_dev_url": "https://github.com/Integrative-Transcriptomics/DamageProfiler", - "doi": "10.1093/bioinformatics/btab190", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "fasta": { - "type": "file", - "description": "OPTIONAL FASTA reference file", - "pattern": "*.{fasta,fna,fa}" - } - }, - { - "fai": { - "type": "file", - "description": "OPTIONAL FASTA index file from samtools faidx", - "pattern": "*.{fai}" - } - }, - { - "specieslist": { - "type": "file", - "description": "OPTIONAL text file with list of target reference headers", - "pattern": "*.{txt}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "results": { - "type": "dir", - "description": "DamageProfiler results directory", - "pattern": "*/*" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "dastool_dastool", - "path": "modules/nf-core/dastool/dastool/meta.yml", - "type": "module", - "meta": { - "name": "dastool_dastool", - "description": "DAS Tool binning step.", - "keywords": ["binning", "das tool", "table", "de novo", "bins", "contigs", "assembly", "das_tool"], - "tools": [ - { - "dastool": { - "description": "DAS Tool is an automated method that integrates the results\nof a flexible number of binning algorithms to calculate an optimized, non-redundant\nset of bins from a single assembly.\n", - "homepage": "https://github.com/cmks/DAS_Tool", - "documentation": "https://github.com/cmks/DAS_Tool", - "tool_dev_url": "https://github.com/cmks/DAS_Tool", - "doi": "10.1038/s41564-018-0171-1", - "licence": ["BSD"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "contigs": { - "type": "file", - "description": "fasta file", - "pattern": "*.{fa.gz,fas.gz,fasta.gz}" - } - }, - { - "bins": { - "type": "file", - "description": "FastaToContig2Bin tabular file generated with dastool/fastatocontig2bin", - "pattern": "*.tsv" - } - }, - { - "proteins": { - "type": "file", - "description": "Predicted proteins in prodigal fasta format (>scaffoldID_geneNo)", - "pattern": "*.{fa.gz,fas.gz,fasta.gz}" - } - }, - { - "db_directory": { - "type": "file", - "description": "(optional) Directory of single copy gene database." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "version": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - }, - { - "log": { - "type": "file", - "description": "Log file of the run", - "pattern": "*.log" - } - }, - { - "summary": { - "type": "file", - "description": "Summary of output bins including quality and completeness estimates", - "pattern": "*summary.txt" - } - }, - { - "contig2bin": { - "type": "file", - "description": "Scaffolds to bin file of output bins", - "pattern": "*.contig2bin.txt" - } - }, - { - "eval": { - "type": "file", - "description": "Quality and completeness estimates of input bin sets", - "pattern": "*.eval" - } - }, - { - "bins": { - "type": "file", - "description": "Final refined bins in fasta format", - "pattern": "*.fa" - } - }, - { - "pdfs": { - "type": "file", - "description": "Plots showing the amount of high quality bins and score distribution of bins per method", - "pattern": "*.pdf" - } - }, - { - "fasta_proteins": { - "type": "file", - "description": "Output from prodigal if not already supplied", - "pattern": "*.proteins.faa" - } - }, - { - "fasta_archaea_scg": { - "type": "file", - "description": "Results of archaeal single-copy-gene prediction", - "pattern": "*.archaea.scg" - } - }, - { - "fasta_bacteria_scg": { - "type": "file", - "description": "Results of bacterial single-copy-gene prediction", - "pattern": "*.bacteria.scg" - } - }, - { - "b6": { - "type": "file", - "description": "Results in b6 format", - "pattern": "*.b6" - } - }, - { - "seqlength": { - "type": "file", - "description": "Summary of contig lengths", - "pattern": "*.seqlength" - } - } - ], - "authors": ["@maxibor", "@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "dastool_fastatocontig2bin", - "path": "modules/nf-core/dastool/fastatocontig2bin/meta.yml", - "type": "module", - "meta": { - "name": "dastool_fastatocontig2bin", - "description": "Helper script to convert a set of bins in fasta format to tabular scaffolds2bin format", - "keywords": ["binning", "das tool", "table", "de novo", "bins", "contigs", "assembly", "das_tool"], - "tools": [ - { - "dastool": { - "description": "DAS Tool is an automated method that integrates the results\nof a flexible number of binning algorithms to calculate an optimized, non-redundant\nset of bins from a single assembly.\n", - "homepage": "https://github.com/cmks/DAS_Tool", - "documentation": "https://github.com/cmks/DAS_Tool", - "tool_dev_url": "https://github.com/cmks/DAS_Tool", - "doi": "10.1038/s41564-018-0171-1", - "licence": ["BSD"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Fasta of list of fasta files recommended to be gathered via with .collect() of bins", - "pattern": "*.{fa,fa.gz,fas,fas.gz,fna,fna.gz,fasta,fasta.gz}" - } - }, - { - "extension": { - "type": "val", - "description": "Fasta file extension (fa | fas | fasta | ...), without .gz suffix, if gzipped input." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fastatocontig2bin": { - "type": "file", - "description": "tabular contig2bin file for DAS tool input", - "pattern": "*.tsv" - } - } - ], - "authors": ["@maxibor", "@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "dastool_scaffolds2bin", - "path": "modules/nf-core/dastool/scaffolds2bin/meta.yml", - "type": "module", - "meta": { - "name": "dastool_scaffolds2bin", - "description": "Helper script to convert a set of bins in fasta format to tabular scaffolds2bin format", - "keywords": ["binning", "das tool", "table", "de novo", "bins", "contigs", "assembly", "das_tool"], - "tools": [ - { - "dastool": { - "description": "DAS Tool is an automated method that integrates the results\nof a flexible number of binning algorithms to calculate an optimized, non-redundant\nset of bins from a single assembly.\n", - "homepage": "https://github.com/cmks/DAS_Tool", - "documentation": "https://github.com/cmks/DAS_Tool", - "tool_dev_url": "https://github.com/cmks/DAS_Tool", - "doi": "10.1038/s41564-018-0171-1", - "licence": ["BSD"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Fasta or list of fasta files recommended to be gathered via with .collect() of bins", - "pattern": "*.{fa,fa.gz,fas,fas.gz,fna,fna.gz,fasta,fasta.gz}" - } - }, - { - "extension": { - "type": "val", - "description": "Fasta file extension (fa | fas | fasta | ...), but without .gz suffix, even if gzipped input." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "scaffolds2bin": { - "type": "file", - "description": "tabular scaffolds2bin file for DAS tool input", - "pattern": "*.scaffolds2bin.tsv" - } - } - ], - "authors": ["@maxibor"] - } - }, - { - "name": "dedup", - "path": "modules/nf-core/dedup/meta.yml", - "type": "module", - "meta": { - "name": "dedup", - "description": "DeDup is a tool for read deduplication in paired-end read merging (e.g. for ancient DNA experiments).", - "keywords": ["dedup", "deduplication", "pcr duplicates", "ancient DNA", "paired-end", "bam"], - "tools": [ - { - "dedup": { - "description": "DeDup is a tool for read deduplication in paired-end read merging (e.g. for ancient DNA experiments).", - "homepage": "https://github.com/apeltzer/DeDup", - "documentation": "https://dedup.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/apeltzer/DeDup", - "doi": "10.1186/s13059-016-0918-z", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/SAM file", - "pattern": "*.{bam,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Deduplicated BAM file", - "pattern": "*_rmdup.bam" - } - }, - { - "json": { - "type": "file", - "description": "JSON file for MultiQC", - "pattern": "*.json" - } - }, - { - "hist": { - "type": "file", - "description": "Histogram data of amount of deduplication", - "pattern": "*.hist" - } - }, - { - "log": { - "type": "file", - "description": "Dedup log information", - "pattern": "*log" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "deeparg_downloaddata", - "path": "modules/nf-core/deeparg/downloaddata/meta.yml", - "type": "module", - "meta": { - "name": "deeparg_downloaddata", - "description": "A deep learning based approach to predict Antibiotic Resistance Genes (ARGs) from metagenomes", - "keywords": [ - "download", - "database", - "deeparg", - "antimicrobial resistance genes", - "deep learning", - "prediction" - ], - "tools": [ - { - "deeparg": { - "description": "A deep learning based approach to predict Antibiotic Resistance Genes (ARGs) from metagenomes", - "homepage": "https://bench.cs.vt.edu/deeparg", - "documentation": "https://bitbucket.org/gusphdproj/deeparg-ss/src/master/", - "tool_dev_url": "https://bitbucket.org/gusphdproj/deeparg-ss/src/master/", - "doi": "10.1186/s40168-018-0401-z", - "licence": ["MIT"] - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "db": { - "type": "directory", - "description": "Directory containing database required for deepARG.", - "pattern": "db/" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "deeparg_predict", - "path": "modules/nf-core/deeparg/predict/meta.yml", - "type": "module", - "meta": { - "name": "deeparg_predict", - "description": "A deep learning based approach to predict Antibiotic Resistance Genes (ARGs) from metagenomes", - "keywords": [ - "deeparg", - "antimicrobial resistance", - "antimicrobial resistance genes", - "arg", - "deep learning", - "prediction", - "contigs", - "metagenomes" - ], - "tools": [ - { - "deeparg": { - "description": "A deep learning based approach to predict Antibiotic Resistance Genes (ARGs) from metagenomes", - "homepage": "https://bench.cs.vt.edu/deeparg", - "documentation": "https://bitbucket.org/gusphdproj/deeparg-ss/src/master/", - "tool_dev_url": "https://bitbucket.org/gusphdproj/deeparg-ss/src/master/", - "doi": "10.1186/s40168-018-0401-z", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file containing gene-like sequences", - "pattern": "*.{fasta,fa,fna}" - } - }, - { - "model": { - "type": "string", - "description": "Which model to use, depending on input data. Either 'LS' or 'SS' for long or short sequences respectively", - "pattern": "LS|LS" - } - }, - { - "db": { - "type": "directory", - "description": "Path to a directory containing the deepARG pre-built models", - "pattern": "*/" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "daa": { - "type": "file", - "description": "Sequences of ARG-like sequences from DIAMOND alignment", - "pattern": "*.align.daa" - } - }, - { - "daa_tsv": { - "type": "file", - "description": "Alignments scores against ARG-like sequences from DIAMOND alignment", - "pattern": "*.align.daa.tsv" - } - }, - { - "arg": { - "type": "file", - "description": "Table containing sequences with an ARG-like probability of more than specified thresholds", - "pattern": "*.mapping.ARG" - } - }, - { - "potential_arg": { - "type": "file", - "description": "Table containing sequences with an ARG-like probability of less than specified thresholds, and requires manual inspection", - "pattern": "*.mapping.potential.ARG" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "deepbgc_download", - "path": "modules/nf-core/deepbgc/download/meta.yml", - "type": "module", - "meta": { - "name": "deepbgc_download", - "description": "Database download module for DeepBGC which detects BGCs in bacterial and fungal genomes using deep learning.", - "keywords": [ - "database", - "download", - "BGC", - "biosynthetic gene cluster", - "deep learning", - "neural network", - "random forest", - "genomes", - "bacteria", - "fungi" - ], - "tools": [ - { - "deepbgc": { - "description": "DeepBGC - Biosynthetic Gene Cluster detection and classification", - "homepage": "https://github.com/Merck/deepbgc", - "documentation": "https://github.com/Merck/deepbgc", - "tool_dev_url": "https://github.com/Merck/deepbgc", - "doi": "10.1093/nar/gkz654", - "licence": "['MIT']" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "deepbgc_db": { - "type": "directory", - "description": "Contains reference database files", - "pattern": "deepbgc_db" - } - } - ], - "authors": ["@louperelo"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "deepbgc_pipeline", - "path": "modules/nf-core/deepbgc/pipeline/meta.yml", - "type": "module", - "meta": { - "name": "deepbgc_pipeline", - "description": "DeepBGC detects BGCs in bacterial and fungal genomes using deep learning.", - "keywords": [ - "BGC", - "biosynthetic gene cluster", - "deep learning", - "neural network", - "random forest", - "genomes", - "bacteria", - "fungi" - ], - "tools": [ - { - "deepbgc": { - "description": "DeepBGC - Biosynthetic Gene Cluster detection and classification", - "homepage": "https://github.com/Merck/deepbgc", - "documentation": "https://github.com/Merck/deepbgc", - "tool_dev_url": "https://github.com/Merck/deepbgc", - "doi": "10.1093/nar/gkz654", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "genome": { - "type": "file", - "description": "FASTA/GenBank/Pfam CSV file", - "pattern": "*.{fasta,fa,fna,gbk,csv}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "readme": { - "type": "file", - "description": "txt file containing description of output files", - "pattern": "*.{txt}" - } - }, - { - "log": { - "type": "file", - "description": "Log output of DeepBGC", - "pattern": "*.{txt}" - } - }, - { - "json": { - "type": "file", - "description": "AntiSMASH JSON file for sideloading", - "pattern": "*.{json}" - } - }, - { - "bgc_gbk": { - "type": "file", - "description": "Sequences and features of all detected BGCs in GenBank format", - "pattern": "*.{bgc.gbk}" - } - }, - { - "bgc_tsv": { - "type": "file", - "description": "Table of detected BGCs and their properties", - "pattern": "*.{bgc.tsv}" - } - }, - { - "full_gbk": { - "type": "file", - "description": "Fully annotated input sequence with proteins, Pfam domains (PFAM_domain features) and BGCs (cluster features)", - "pattern": "*.{full.gbk}" - } - }, - { - "pfam_tsv": { - "type": "file", - "description": "Table of Pfam domains (pfam_id) from given sequence (sequence_id) in genomic order, with BGC detection scores", - "pattern": "*.{pfam.tsv}" - } - }, - { - "bgc_png": { - "type": "file", - "description": "Detected BGCs plotted by their nucleotide coordinates", - "pattern": "*.{bgc.png}" - } - }, - { - "pr_png": { - "type": "file", - "description": "Precision-Recall curve based on predicted per-Pfam BGC scores", - "pattern": "*.{pr.png}" - } - }, - { - "roc_png": { - "type": "file", - "description": "ROC curve based on predicted per-Pfam BGC scores", - "pattern": "*.{roc.png}" - } - }, - { - "score_png": { - "type": "file", - "description": "BGC detection scores of each Pfam domain in genomic order", - "pattern": "*.{score.png}" - } - } - ], - "authors": ["@louperelo", "@jfy133"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "deepcell_mesmer", - "path": "modules/nf-core/deepcell/mesmer/meta.yml", - "type": "module", - "meta": { - "name": "deepcell_mesmer", - "description": "Deepcell/mesmer segmentation for whole-cell", - "keywords": ["imaging", "spatial_omics", "segmentation"], - "tools": [ - { - "mesmer": { - "description": "Deep cell is a collection of tools to segment imaging data", - "homepage": "https://github.com/vanvalenlab/deepcell-tf", - "documentation": "https://github.com/vanvalenlab/intro-to-deepcell/tree/master/pretrained_models", - "tool_dev_url": "https://githu/b.com/vanvalenlab/deepcell-tf", - "doi": "10.1038/s41587-021-01094-0", - "licence": "APACHE2" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "img": { - "type": "file", - "description": "Multichannel image file", - "pattern": "*.{tiff,tif,h5,hdf5}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "mask": { - "type": "file", - "description": "File containing the mask.", - "pattern": "*.{tif, tiff}" - } - } - ], - "authors": ["@migueLib", "@chiarasch"] - } - }, - { - "name": "deeptools_bamcoverage", - "path": "modules/nf-core/deeptools/bamcoverage/meta.yml", - "type": "module", - "meta": { - "name": "deeptools_bamcoverage", - "description": "This tool takes an alignment of reads or fragments as input (BAM file) and generates a coverage track (bigWig or bedGraph) as output.", - "keywords": ["coverage", "depth", "track"], - "tools": [ - { - "deeptools": { - "description": "A set of user-friendly tools for normalization and visualzation of deep-sequencing data", - "homepage": "https://deeptools.readthedocs.io/en/develop/content/tools/bamCoverage.html", - "documentation": "https://deeptools.readthedocs.io/en/develop/content/tools/bamCoverage.html", - "tool_dev_url": "https://github.com/deeptools/deepTools/", - "doi": "10.1093/nar/gkw257", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAM/CRAM index file", - "pattern": "*.{bai,crai}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference file the CRAM file was created with (required with CRAM input)", - "pattern": "*.{fasta,fa}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "Index of the reference file (optional, but recommended)", - "pattern": "*.{fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bigWig": { - "type": "file", - "description": "BigWig file", - "pattern": "*.bigWig" - } - }, - { - "bedgraph": { - "type": "file", - "description": "Bedgraph file", - "pattern": "*.bedgraph" - } - } - ], - "authors": ["@FriederikeHanssen", "@SusiJo"] - }, - "pipelines": [ - { - "name": "nascent", - "version": "2.1.1" - } - ] - }, - { - "name": "deeptools_computematrix", - "path": "modules/nf-core/deeptools/computematrix/meta.yml", - "type": "module", - "meta": { - "name": "deeptools_computematrix", - "description": "calculates scores per genome regions for other deeptools plotting utilities", - "keywords": ["genome", "regions", "scores", "matrix"], - "tools": [ - { - "deeptools": { - "description": "A set of user-friendly tools for normalization and visualization of deep-sequencing data", - "documentation": "https://deeptools.readthedocs.io/en/develop/index.html", - "tool_dev_url": "https://github.com/deeptools/deepTools", - "doi": "10.1093/nar/gku365", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bigwig": { - "type": "file", - "description": "bigwig file containing genomic scores", - "pattern": "*.{bw,bigwig}" - } - }, - { - "bed": { - "type": "file", - "description": "bed file containing genomic regions", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "matrix": { - "type": "file", - "description": "gzipped matrix file needed by the plotHeatmap and plotProfile\ndeeptools utilities\n", - "pattern": "*.{computeMatrix.mat.gz}" - } - }, - { - "table": { - "type": "file", - "description": "tabular file containing the scores of the generated matrix\n", - "pattern": "*.{computeMatrix.vals.mat.tab}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@jeremy1805", "@emiller88", "@drpatelh", "@joseespinosa"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "cutandrun", - "version": "3.1" - } - ] - }, - { - "name": "deeptools_multibamsummary", - "path": "modules/nf-core/deeptools/multibamsummary/meta.yml", - "type": "module", - "meta": { - "name": "deeptools_multibamsummary", - "description": "Computes read coverage for genomic regions (bins) across the entire genome.", - "keywords": ["bam", "coverage"], - "tools": [ - { - "deeptools": { - "description": "A set of user-friendly tools for normalization and visualization of deep-sequencing data", - "documentation": "https://deeptools.readthedocs.io/en/develop/index.html", - "tool_dev_url": "https://github.com/deeptools/deepTools", - "doi": "10.1093/nar/gku365", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "One or more BAM files", - "pattern": "*.{bam}" - } - }, - { - "bais": { - "type": "file", - "description": "Corresponding BAM file indexes", - "pattern": "*.bam.bai" - } - }, - { - "labels": { - "type": "string", - "description": "User specified labels instead of default labels (file names)." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "matrix": { - "type": "file", - "description": "compressed numpy array of read coverage data used by plotCorrelation and plotPCA\ndeeptool utilities\n", - "pattern": "all_bam.bamSummary.npz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@tamara-hodgetts", "@chris-cheshire"] - }, - "pipelines": [ - { - "name": "cutandrun", - "version": "3.1" - } - ] - }, - { - "name": "deeptools_plotcorrelation", - "path": "modules/nf-core/deeptools/plotcorrelation/meta.yml", - "type": "module", - "meta": { - "name": "deeptools_plotcorrelation", - "description": "Visualises sample correlations using a compressed matrix generated by mutlibamsummary or multibigwigsummary as input.", - "keywords": ["corrrelation", "matrix", "heatmap", "scatterplot"], - "tools": [ - { - "deeptools": { - "description": "A set of user-friendly tools for normalization and visualization of deep-sequencing data", - "documentation": "https://deeptools.readthedocs.io/en/develop/index.html", - "tool_dev_url": "https://github.com/deeptools/deepTools", - "doi": "10.1093/nar/gku365", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "matrix": { - "type": "file", - "description": "compressed matrix file produced by\nmutlibamsummary or multibigwigsummary\n", - "pattern": "*.{npz}" - } - }, - { - "method": { - "type": "value", - "description": "Correlation coefficient to use for heatmap or scatterplot generation\n", - "pattern": "{spearman,pearson}" - } - }, - { - "plot_type": { - "type": "value", - "description": "Type of output plot to display sample correlation\n", - "pattern": "{heatmap,scatterplot}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "pdf": { - "type": "file", - "description": "Output figure containing resulting plot\n", - "pattern": "*.{plotCorrelation.pdf}" - } - }, - { - "matrix": { - "type": "file", - "description": "Tab-separated file containing a matrix of pairwise correlations\n", - "pattern": "*.{plotCorrelation.mat.tab}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@tamara-hodgetts", "@chris-cheshire"] - }, - "pipelines": [ - { - "name": "cutandrun", - "version": "3.1" - } - ] - }, - { - "name": "deeptools_plotfingerprint", - "path": "modules/nf-core/deeptools/plotfingerprint/meta.yml", - "type": "module", - "meta": { - "name": "deeptools_plotfingerprint", - "description": "plots cumulative reads coverages by BAM file", - "keywords": ["plot", "fingerprint", "cumulative coverage", "bam"], - "tools": [ - { - "deeptools": { - "description": "A set of user-friendly tools for normalization and visualization of deep-sequencing data", - "documentation": "https://deeptools.readthedocs.io/en/develop/index.html", - "tool_dev_url": "https://github.com/deeptools/deepTools", - "doi": "10.1093/nar/gku365", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "One or more BAM files", - "pattern": "*.{bam}" - } - }, - { - "bais": { - "type": "file", - "description": "Corresponding BAM file indexes", - "pattern": "*.bam.bai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "pdf": { - "type": "file", - "description": "Output figure containing resulting plot\n", - "pattern": "*.{plotFingerprint.pdf}" - } - }, - { - "matrix": { - "type": "file", - "description": "Output file summarizing the read counts per bin\n", - "pattern": "*.{plotFingerprint.raw.txt}" - } - }, - { - "metrics": { - "type": "file", - "description": "file containing BAM file quality metrics\n", - "pattern": "*.{qcmetrics.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@emiller88", "@drpatelh", "@joseespinosa"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "ssds", - "version": "dev" - } - ] - }, - { - "name": "deeptools_plotheatmap", - "path": "modules/nf-core/deeptools/plotheatmap/meta.yml", - "type": "module", - "meta": { - "name": "deeptools_plotheatmap", - "description": "plots values produced by deeptools_computematrix as a heatmap", - "keywords": ["plot", "heatmap", "scores", "matrix"], - "tools": [ - { - "deeptools": { - "description": "A set of user-friendly tools for normalization and visualization of deep-sequencing data", - "documentation": "https://deeptools.readthedocs.io/en/develop/index.html", - "tool_dev_url": "https://github.com/deeptools/deepTools", - "doi": "10.1093/nar/gku365", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "matrix": { - "type": "file", - "description": "gzipped matrix file produced by deeptools_\ncomputematrix deeptools utility\n", - "pattern": "*.{mat.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "pdf": { - "type": "file", - "description": "Output figure containing resulting plot\n", - "pattern": "*.{plotHeatmap.pdf}" - } - }, - { - "matrix": { - "type": "file", - "description": "File containing the matrix of values\nused to generate the heatmap\n", - "pattern": "*.{plotHeatmap.mat.tab}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@emiller88", "@drpatelh", "@joseespinosa"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "cutandrun", - "version": "3.1" - } - ] - }, - { - "name": "deeptools_plotpca", - "path": "modules/nf-core/deeptools/plotpca/meta.yml", - "type": "module", - "meta": { - "name": "deeptools_plotpca", - "description": "Generates principal component analysis (PCA) plot using a compressed matrix generated by mutlibamsummary or multibigwigsummary as input.", - "keywords": ["PCA", "matrix"], - "tools": [ - { - "deeptools": { - "description": "A set of user-friendly tools for normalization and visualization of deep-sequencing data", - "documentation": "https://deeptools.readthedocs.io/en/develop/index.html", - "tool_dev_url": "https://github.com/deeptools/deepTools", - "doi": "10.1093/nar/gku365", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "matrix": { - "type": "file", - "description": "compressed matrix file produced by\nmutlibamsummary or multibigwigsummary\n", - "pattern": "*.{npz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "pdf": { - "type": "file", - "description": "Output figure containing resulting plot\n", - "pattern": "*.{plotPCA.pdf}" - } - }, - { - "tab": { - "type": "file", - "description": "Tab file containing data used to generate the PCA plot\n", - "pattern": "*.{plotPCA.tab}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@tamara-hodgetts", "@chris-cheshire"] - }, - "pipelines": [ - { - "name": "cutandrun", - "version": "3.1" - } - ] - }, - { - "name": "deeptools_plotprofile", - "path": "modules/nf-core/deeptools/plotprofile/meta.yml", - "type": "module", - "meta": { - "name": "deeptools_plotprofile", - "description": "plots values produced by deeptools_computematrix as a profile plot", - "keywords": ["plot", "profile", "scores", "matrix"], - "tools": [ - { - "deeptools": { - "description": "A set of user-friendly tools for normalization and visualization of deep-sequencing data", - "documentation": "https://deeptools.readthedocs.io/en/develop/index.html", - "tool_dev_url": "https://github.com/deeptools/deepTools", - "doi": "10.1093/nar/gku365", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "matrix": { - "type": "file", - "description": "gzipped matrix file produced by deeptools_\ncomputematrix deeptools utility\n", - "pattern": "*.{mat.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "pdf": { - "type": "file", - "description": "Output figure containing resulting plot\n", - "pattern": "*.{plotProfile.pdf}" - } - }, - { - "matrix": { - "type": "file", - "description": "File containing the matrix of values\nused to generate the profile\n", - "pattern": "*.{plotProfile.mat.tab}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@emiller88", "@drpatelh", "@joseespinosa"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - } - ] - }, - { - "name": "deepvariant", - "path": "modules/nf-core/deepvariant/meta.yml", - "type": "module", - "meta": { - "name": "deepvariant", - "description": "DeepVariant is an analysis pipeline that uses a deep neural network to call genetic variants from next-generation DNA sequencing data", - "keywords": ["variant calling", "machine learning", "neural network"], - "tools": [ - { - "deepvariant": { - "description": "DeepVariant is an analysis pipeline that uses a deep neural network to call genetic variants from next-generation DNA sequencing data", - "homepage": "https://github.com/google/deepvariant", - "documentation": "https://github.com/google/deepvariant", - "tool_dev_url": "https://github.com/google/deepvariant", - "doi": "10.1038/nbt.4235", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.bam/cram" - } - }, - { - "index": { - "type": "file", - "description": "Index of BAM/CRAM file", - "pattern": "*.bai/crai" - } - }, - { - "interval": { - "type": "file", - "description": "Interval file for targeted regions", - "pattern": "*.bed" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fai" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "gzi": { - "type": "file", - "description": "GZI index of reference fasta file", - "pattern": "*.gzi" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "gvcf": { - "type": "file", - "description": "Compressed GVCF file", - "pattern": "*.g.vcf.gz" - } - }, - { - "version": { - "type": "file", - "description": "File containing software version", - "pattern": "*.{version.txt}" - } - } - ], - "authors": ["@abhi18av", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "delly_call", - "path": "modules/nf-core/delly/call/meta.yml", - "type": "module", - "meta": { - "name": "delly_call", - "description": "Call structural variants", - "keywords": ["genome", "structural", "variants", "bcf"], - "tools": [ - { - "delly": { - "description": "Structural variant discovery by integrated paired-end and split-read analysis", - "homepage": "https://github.com/dellytools/delly", - "documentation": "https://github.com/dellytools/delly/blob/master/README.md", - "doi": "10.1093/bioinformatics/bts378", - "licence": ["BSD-3-Clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file from alignment must be sorted, indexed, and duplicate marked", - "pattern": "*.{bam,cram}" - } - }, - { - "input_index": { - "type": "file", - "description": "Index of the BAM/CRAM file", - "pattern": "*.{bai,crai}" - } - }, - { - "vcf": { - "type": "file", - "description": "A BCF/VCF file to genotype with Delly. If this is supplied, the variant calling will be skipped", - "pattern": "*.{vcf.gz,bcf}" - } - }, - { - "vcf_index": { - "type": "file", - "description": "The index of the BCF/VCF file", - "pattern": "*.{tbi,csi}" - } - }, - { - "exclude_bed": { - "type": "file", - "description": "An optional bed file containing regions to exclude from the called VCF", - "pattern": "*.bed" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file to identify split-reads", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bcf": { - "type": "file", - "description": "Called variants in BCF/VCF format. Specify either \"bcf\" or \"vcf\" in ext.suffix to define the output type", - "pattern": "*.{bcf,vcf.gz}" - } - }, - { - "csi": { - "type": "file", - "description": "A generated csi index that matches the bcf output (not generated for vcf files)", - "pattern": "*.{bcf.csi}" - } - } - ], - "authors": ["@projectoriented", "@nvnieuwk"] - } - }, - { - "name": "deseq2_differential", - "path": "modules/nf-core/deseq2/differential/meta.yml", - "type": "module", - "meta": { - "name": "deseq2_differential", - "description": "runs a differential expression analysis with DESeq2", - "keywords": ["differential", "expression", "rna-seq", "deseq2"], - "tools": [ - { - "deseq2": { - "description": "Differential gene expression analysis based on the negative binomial distribution", - "homepage": "https://bioconductor.org/packages/release/bioc/html/DESeq2.html", - "documentation": "https://bioconductor.org/packages/release/bioc/vignettes/DESeq2/inst/doc/DESeq2.html", - "tool_dev_url": "https://github.com/mikelove/DESeq2", - "doi": "10.1186/s13059-014-0550-8", - "licence": "['LGPL >=3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing contrast information. This can be used at the\nworkflow level to pass optional parameters to the module, e.g.\n[ id:'contrast1', blocking:'patient' ] passed in as ext.args like:\n'--blocking_variable $meta.blocking'.\n" - } - }, - { - "contrast_variable": { - "type": "string", - "description": "The column in the sample sheet that should be used to define groups for\ncomparison\n" - } - }, - { - "reference": { - "type": "string", - "description": "The value within the contrast_variable column of the sample sheet that\nshould be used to derive the reference samples\n" - } - }, - { - "target": { - "type": "string", - "description": "The value within the contrast_variable column of the sample sheet that\nshould be used to derive the target samples\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy map containing study-wide metadata related to the sample sheet\nand matrix\n" - } - }, - { - "sample": { - "type": "file", - "description": "CSV or TSV format sample sheet with sample metadata\n" - } - }, - { - "counts": { - "type": "file", - "description": "Raw TSV or CSV format expression matrix as output from the nf-core\nRNA-seq workflow\n" - } - }, - { - "control_genes": { - "type": "file", - "description": "Text file listing control genes, one per line\n" - } - }, - { - "control_genes_meta": { - "type": "file", - "description": "Meta map describing control genes, e.g. [ id: 'ERCC' ]\n" - } - }, - { - "sizefactors_from_controls": { - "type": "boolean", - "description": "Specify if any supplied control genes should just be stripped to\nprevent bias in conventional normalisation (default), or used to\ngenerate the size factors (supplied via task.ext.args like\n'--sizefactors_from_controls TRUE').\n" - } - } - ], - "output": [ - { - "results": { - "type": "file", - "description": "TSV-format table of differential expression information as output by DESeq2", - "pattern": "deseq2.results.tsv" - } - }, - { - "dispersion_plot": { - "type": "file", - "description": "DESeq2 dispersion plot", - "pattern": "deseq2.dispersion.png" - } - }, - { - "rdata": { - "type": "file", - "description": "Serialised DESeq2 object", - "pattern": "dds.rld.rds" - } - }, - { - "sizefactors": { - "type": "file", - "description": "Size factors", - "pattern": "deseq2.sizefactors.tsv" - } - }, - { - "normalised_counts": { - "type": "file", - "description": "TSV-format counts matrix, normalised to size factors", - "pattern": "normalised_counts.tsv" - } - }, - { - "variance_stabilised_counts": { - "type": "file", - "description": "TSV-format counts matrix, normalised to size factors, with variance stabilisation applied", - "pattern": "variance_stabilised_counts.tsv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@pinin4fjords"] - }, - "pipelines": [ - { - "name": "differentialabundance", - "version": "1.2.0" - } - ] - }, - { - "name": "diamond_blastp", - "path": "modules/nf-core/diamond/blastp/meta.yml", - "type": "module", - "meta": { - "name": "diamond_blastp", - "description": "Queries a DIAMOND database using blastp mode", - "keywords": ["fasta", "diamond", "blastp", "DNA sequence"], - "tools": [ - { - "diamond": { - "description": "Accelerated BLAST compatible local sequence aligner", - "homepage": "https://github.com/bbuchfink/diamond", - "documentation": "https://github.com/bbuchfink/diamond/wiki", - "tool_dev_url": "https://github.com/bbuchfink/diamond", - "doi": "10.1038/s41592-021-01101-x", - "licence": ["GPL v3.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input fasta file containing query sequences", - "pattern": "*.{fa,fasta}" - } - }, - { - "db": { - "type": "directory", - "description": "Directory containing the protein blast database", - "pattern": "*" - } - }, - { - "out_ext": { - "type": "string", - "description": "Specify the type of output file to be generated. `blast` corresponds to\nBLAST pairwise format. `xml` corresponds to BLAST xml format.\n`txt` corresponds to to BLAST tabular format. `tsv` corresponds to\ntaxonomic classification format.\n", - "pattern": "blast|xml|txt|daa|sam|tsv|paf" - } - }, - { - "blast_columns": { - "type": "string", - "description": "Optional space separated list of DIAMOND tabular BLAST output keywords\nused for in conjunction with the 'txt' out_ext option (--outfmt 6). See\nDIAMOND documnetation for more information.\n" - } - } - ], - "output": [ - { - "blast": { - "type": "file", - "description": "File containing blastp hits", - "pattern": "*.{blast}" - } - }, - { - "xml": { - "type": "file", - "description": "File containing blastp hits", - "pattern": "*.{xml}" - } - }, - { - "txt": { - "type": "file", - "description": "File containing hits in tabular BLAST format.", - "pattern": "*.{txt}" - } - }, - { - "daa": { - "type": "file", - "description": "File containing hits DAA format", - "pattern": "*.{daa}" - } - }, - { - "sam": { - "type": "file", - "description": "File containing aligned reads in SAM format", - "pattern": "*.{sam}" - } - }, - { - "tsv": { - "type": "file", - "description": "Tab separated file containing taxonomic classification of hits", - "pattern": "*.{tsv}" - } - }, - { - "paf": { - "type": "file", - "description": "File containing aligned reads in pairwise mapping format format", - "pattern": "*.{paf}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@spficklin", "@jfy133"] - } - }, - { - "name": "diamond_blastx", - "path": "modules/nf-core/diamond/blastx/meta.yml", - "type": "module", - "meta": { - "name": "diamond_blastx", - "description": "Queries a DIAMOND database using blastx mode", - "keywords": ["fasta", "diamond", "blastx", "DNA sequence"], - "tools": [ - { - "diamond": { - "description": "Accelerated BLAST compatible local sequence aligner", - "homepage": "https://github.com/bbuchfink/diamond", - "documentation": "https://github.com/bbuchfink/diamond/wiki", - "tool_dev_url": "https://github.com/bbuchfink/diamond", - "doi": "10.1038/s41592-021-01101-x", - "licence": ["GPL v3.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input fasta file containing query sequences", - "pattern": "*.{fa,fasta}" - } - }, - { - "db": { - "type": "directory", - "description": "Directory containing the nucelotide blast database", - "pattern": "*" - } - }, - { - "out_ext": { - "type": "string", - "description": "Specify the type of output file to be generated. `blast` corresponds to\nBLAST pairwise format. `xml` corresponds to BLAST xml format.\n`txt` corresponds to to BLAST tabular format. `tsv` corresponds to\ntaxonomic classification format.\n", - "pattern": "blast|xml|txt|daa|sam|tsv|paf" - } - } - ], - "output": [ - { - "blast": { - "type": "file", - "description": "File containing blastp hits", - "pattern": "*.{blast}" - } - }, - { - "xml": { - "type": "file", - "description": "File containing blastp hits", - "pattern": "*.{xml}" - } - }, - { - "txt": { - "type": "file", - "description": "File containing hits in tabular BLAST format.", - "pattern": "*.{txt}" - } - }, - { - "daa": { - "type": "file", - "description": "File containing hits DAA format", - "pattern": "*.{daa}" - } - }, - { - "sam": { - "type": "file", - "description": "File containing aligned reads in SAM format", - "pattern": "*.{sam}" - } - }, - { - "tsv": { - "type": "file", - "description": "Tab separated file containing taxonomic classification of hits", - "pattern": "*.{tsv}" - } - }, - { - "paf": { - "type": "file", - "description": "File containing aligned reads in pairwise mapping format format", - "pattern": "*.{paf}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "log": { - "type": "file", - "description": "Log file containing stdout information", - "pattern": "*.{log}" - } - } - ], - "authors": ["@spficklin", "@jfy133", "@mjamy"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "diamond_makedb", - "path": "modules/nf-core/diamond/makedb/meta.yml", - "type": "module", - "meta": { - "name": "diamond_makedb", - "description": "Builds a DIAMOND database", - "keywords": ["fasta", "diamond", "index", "database"], - "tools": [ - { - "diamond": { - "description": "Accelerated BLAST compatible local sequence aligner", - "homepage": "https://github.com/bbuchfink/diamond", - "documentation": "https://github.com/bbuchfink/diamond/wiki", - "tool_dev_url": "https://github.com/bbuchfink/diamond", - "doi": "10.1038/s41592-021-01101-x", - "licence": ["GPL v3.0"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Input fasta file", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "db": { - "type": "file", - "description": "File of the indexed DIAMOND database", - "pattern": "*.{dmnd}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@spficklin"] - } - }, - { - "name": "dragmap_align", - "path": "modules/nf-core/dragmap/align/meta.yml", - "type": "module", - "meta": { - "name": "dragmap_align", - "description": "Performs fastq alignment to a reference using DRAGMAP", - "keywords": ["alignment", "map", "fastq", "bam", "sam"], - "tools": [ - { - "dragmap": { - "description": "Dragmap is the Dragen mapper/aligner Open Source Software.", - "homepage": "https://github.com/Illumina/dragmap", - "documentation": "https://github.com/Illumina/dragmap", - "tool_dev_url": "https://github.com/Illumina/dragmap#basic-command-line-usage", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "hashmap": { - "type": "file", - "description": "DRAGMAP hash table", - "pattern": "Directory containing DRAGMAP hash table *.{cmp,.bin,.txt}" - } - } - ], - "output": [ - { - "bam": { - "type": "file", - "description": "Output BAM file containing read alignments", - "pattern": "*.{bam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Emiller88"] - }, - "pipelines": [ - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "dragmap_hashtable", - "path": "modules/nf-core/dragmap/hashtable/meta.yml", - "type": "module", - "meta": { - "name": "dragmap_hashtable", - "description": "Create DRAGEN hashtable for reference genome", - "keywords": ["index", "fasta", "genome", "reference"], - "tools": [ - { - "dragmap": { - "description": "Dragmap is the Dragen mapper/aligner Open Source Software.", - "homepage": "https://github.com/Illumina/dragmap", - "documentation": "https://github.com/Illumina/dragmap", - "tool_dev_url": "https://github.com/Illumina/dragmap#basic-command-line-usage", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input genome fasta file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "hashmap": { - "type": "file", - "description": "DRAGMAP hash table", - "pattern": "*.{cmp,.bin,.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Emiller88"] - }, - "pipelines": [ - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "dragonflye", - "path": "modules/nf-core/dragonflye/meta.yml", - "type": "module", - "meta": { - "name": "dragonflye", - "description": "Assemble bacterial isolate genomes from Nanopore reads", - "keywords": ["bacterial", "assembly", "nanopore"], - "tools": [ - { - "dragonflye": { - "description": "Microbial assembly pipeline for Nanopore reads", - "homepage": "https://github.com/rpetit3/dragonflye", - "documentation": "https://github.com/rpetit3/dragonflye/blob/main/README.md", - "licence": ["GPL v2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Input Nanopore FASTQ file", - "pattern": "*.fastq.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "contigs": { - "type": "file", - "description": "The final assembly produced by Dragonflye", - "pattern": "contigs.fa" - } - }, - { - "log": { - "type": "file", - "description": "Full log file for bug reporting", - "pattern": "dragonflye.log" - } - }, - { - "raw_contigs": { - "type": "file", - "description": "Raw assembly produced by the assembler (Flye, Miniasm, or Raven)", - "pattern": "{flye,miniasm,raven}.fasta" - } - }, - { - "txt": { - "type": "file", - "description": "Assembly information output by Flye", - "pattern": "flye-info.txt" - } - }, - { - "gfa": { - "type": "file", - "description": "Assembly graph produced by Miniasm, or Raven", - "pattern": "{miniasm,raven}-unpolished.gfa" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "dshbio_exportsegments", - "path": "modules/nf-core/dshbio/exportsegments/meta.yml", - "type": "module", - "meta": { - "name": "dshbio_exportsegments", - "description": "Export assembly segment sequences in GFA 1.0 format to FASTA format", - "keywords": ["gfa", "assembly", "segment"], - "tools": [ - { - "dshbio": { - "description": "Reads, features, variants, assemblies, alignments, genomic range trees, pangenome\ngraphs, and a bunch of random command line tools for bioinformatics. LGPL version 3\nor later.\n", - "homepage": "https://github.com/heuermh/dishevelled-bio", - "documentation": "https://github.com/heuermh/dishevelled-bio", - "licence": ["LGPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gfa": { - "type": "file", - "description": "Assembly segments in uncompressed or compressed GFA 1.0 format", - "pattern": "*.{gfa|gfa.bgz|gfa.gz|gfa.zst}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Assembly segment sequences in gzipped FASTA format", - "pattern": "*.{fa.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@heuermh"] - } - }, - { - "name": "dshbio_filterbed", - "path": "modules/nf-core/dshbio/filterbed/meta.yml", - "type": "module", - "meta": { - "name": "dshbio_filterbed", - "description": "Filter features in gzipped BED format", - "keywords": ["bed"], - "tools": [ - { - "dshbio": { - "description": "Reads, features, variants, assemblies, alignments, genomic range trees, pangenome\ngraphs, and a bunch of random command line tools for bioinformatics. LGPL version 3\nor later.\n", - "homepage": "https://github.com/heuermh/dishevelled-bio", - "documentation": "https://github.com/heuermh/dishevelled-bio", - "licence": ["LGPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Features in gzipped BED format", - "pattern": "*.{bed.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Features in gzipped BED format", - "pattern": "*.{bed.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@heuermh"] - } - }, - { - "name": "dshbio_filtergff3", - "path": "modules/nf-core/dshbio/filtergff3/meta.yml", - "type": "module", - "meta": { - "name": "dshbio_filtergff3", - "description": "Filter features in gzipped GFF3 format", - "keywords": ["gff3"], - "tools": [ - { - "dshbio": { - "description": "Reads, features, variants, assemblies, alignments, genomic range trees, pangenome\ngraphs, and a bunch of random command line tools for bioinformatics. LGPL version 3\nor later.\n", - "homepage": "https://github.com/heuermh/dishevelled-bio", - "documentation": "https://github.com/heuermh/dishevelled-bio", - "licence": ["LGPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gff3": { - "type": "file", - "description": "Features in gzipped GFF3 format", - "pattern": "*.{gff3.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gff3": { - "type": "file", - "description": "Features in gzipped GFF3 format", - "pattern": "*.{gff3.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@heuermh"] - } - }, - { - "name": "dshbio_splitbed", - "path": "modules/nf-core/dshbio/splitbed/meta.yml", - "type": "module", - "meta": { - "name": "dshbio_splitbed", - "description": "Split features in gzipped BED format", - "keywords": ["bed"], - "tools": [ - { - "dshbio": { - "description": "Reads, features, variants, assemblies, alignments, genomic range trees, pangenome\ngraphs, and a bunch of random command line tools for bioinformatics. LGPL version 3\nor later.\n", - "homepage": "https://github.com/heuermh/dishevelled-bio", - "documentation": "https://github.com/heuermh/dishevelled-bio", - "licence": ["LGPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Features in gzipped BED format to split", - "pattern": "*.{bed.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Features in split gzipped BED formatted files", - "pattern": "*.{bed.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@heuermh"] - } - }, - { - "name": "dshbio_splitgff3", - "path": "modules/nf-core/dshbio/splitgff3/meta.yml", - "type": "module", - "meta": { - "name": "dshbio_splitgff3", - "description": "Split features in gzipped GFF3 format", - "keywords": ["gff3"], - "tools": [ - { - "dshbio": { - "description": "Reads, features, variants, assemblies, alignments, genomic range trees, pangenome\ngraphs, and a bunch of random command line tools for bioinformatics. LGPL version 3\nor later.\n", - "homepage": "https://github.com/heuermh/dishevelled-bio", - "documentation": "https://github.com/heuermh/dishevelled-bio", - "licence": ["LGPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gff3": { - "type": "file", - "description": "Features in gzipped GFF3 format to split", - "pattern": "*.{gff3.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gff3": { - "type": "file", - "description": "Features in split gzipped GFF3 formatted files", - "pattern": "*.{gff3.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@heuermh"] - } - }, - { - "name": "duphold", - "path": "modules/nf-core/duphold/meta.yml", - "type": "module", - "meta": { - "name": "duphold", - "description": "SV callers like lumpy look at split-reads and pair distances to find structural variants. This tool is a fast way to add depth information to those calls. This can be used as additional information for filtering variants; for example we will be skeptical of deletion calls that do not have lower than average coverage compared to regions with similar gc-content.", - "keywords": ["sort"], - "tools": [ - { - "duphold": { - "description": "SV callers like lumpy look at split-reads and pair distances to find structural variants. This tool is a fast way to add depth information to those calls.", - "homepage": "https://github.com/brentp/duphold", - "documentation": "https://github.com/brentp/duphold", - "tool_dev_url": "https://github.com/brentp/duphold", - "doi": "10.1093/gigascience/giz040", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "aligment_file": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "aligment_file_index": { - "type": "file", - "description": "Index of the BAM/CRAM file", - "pattern": "*.{bai,crai}" - } - }, - { - "sv_variants": { - "type": "file", - "description": "A variants file containing structural variants", - "pattern": "*.{vcf,bcf}(.gz)?" - } - }, - { - "snp_variants": { - "type": "file", - "description": "A variants file containing SNPs", - "pattern": "*.{vcf,bcf}(.gz)?" - } - }, - { - "snp_variants": { - "type": "file", - "description": "The index of the variants file containing SNPs", - "pattern": "*.tbi" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "The output VCF", - "pattern": "*.vcf.gz" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "ectyper", - "path": "modules/nf-core/ectyper/meta.yml", - "type": "module", - "meta": { - "name": "ectyper", - "description": "In silico prediction of E. coli serotype", - "keywords": ["escherichia coli", "fasta", "serotype"], - "tools": [ - { - "ectyper": { - "description": "ECtyper is a python program for serotyping E. coli genomes", - "homepage": "https://github.com/phac-nml/ecoli_serotyping", - "documentation": "https://github.com/phac-nml/ecoli_serotyping", - "tool_dev_url": "https://github.com/phac-nml/ecoli_serotyping", - "licence": ["Apache 2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA formatted assembly file", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "log": { - "type": "file", - "description": "ectyper log output", - "pattern": "*.log" - } - }, - { - "tsv": { - "type": "file", - "description": "ectyper serotyping results in TSV format", - "pattern": "*.tsv" - } - }, - { - "txt": { - "type": "file", - "description": "Allele report generated from BLAST results", - "pattern": "*.tst" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "eido_convert", - "path": "modules/nf-core/eido/convert/meta.yml", - "type": "module", - "meta": { - "name": "eido_convert", - "description": "Convert any PEP project or Nextflow samplesheet to any format", - "keywords": ["eido", "convert", "PEP", "format", "samplesheet"], - "tools": [ - { - "eido": { - "description": "Convert any PEP project or Nextflow samplesheet to any format", - "homepage": "http://eido.databio.org/en/latest/", - "documentation": "http://eido.databio.org/en/latest/", - "doi": "10.1093/gigascience/giab077", - "licence": "BSD-2-Clause" - } - } - ], - "input": [ - { - "samplesheet": { - "type": "file", - "description": "Nextflow samplesheet or PEP project", - "pattern": "*.{yaml,yml,csv}" - } - }, - { - "format": { - "type": "string", - "description": "Extension of an output file" - } - }, - { - "pep_input_base_dir": { - "type": "file", - "description": "Optional path to the directory where files specified in a PEP config file are stored. Any paths specified in the config will need to be relative to this base directory." - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "samplesheet_converted": { - "type": "file", - "description": "PEP project or samplesheet converted to csv file" - } - } - ], - "authors": ["@rafalstepien"] - } - }, - { - "name": "eido_validate", - "path": "modules/nf-core/eido/validate/meta.yml", - "type": "module", - "meta": { - "name": "eido_validate", - "description": "Validate samplesheet or PEP config against a schema", - "keywords": ["eido", "validate", "schema", "format", "pep"], - "tools": [ - { - "validate": { - "description": "Validate samplesheet or PEP config against a schema.", - "homepage": "http://eido.databio.org/en/latest/", - "documentation": "http://eido.databio.org/en/latest/", - "doi": "10.1093/gigascience/giab077", - "licence": "BSD-2-Clause" - } - } - ], - "input": [ - { - "samplesheet": { - "type": "file", - "description": "Samplesheet or PEP file to be validated", - "pattern": "*.{yaml,yml,csv}" - } - }, - { - "schema": { - "type": "file", - "description": "Schema that the samplesheet will be validated against", - "pattern": "*.{yaml,yml}" - } - }, - { - "pep_input_base_dir": { - "type": "file", - "description": "Optional path to the directory where files specified in a PEP config file are stored. Any paths specified in the config will need to be relative to this base directory." - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "log": { - "type": "file", - "description": "File containing validation log.", - "pattern": "*.log" - } - } - ], - "authors": ["@rafalstepien"] - } - }, - { - "name": "eigenstratdatabasetools_eigenstratsnpcoverage", - "path": "modules/nf-core/eigenstratdatabasetools/eigenstratsnpcoverage/meta.yml", - "type": "module", - "meta": { - "name": "eigenstratdatabasetools_eigenstratsnpcoverage", - "description": "Provide the SNP coverage of each individual in an eigenstrat formatted dataset.", - "keywords": ["coverage", "eigenstrat", "eigenstratdatabasetools", "snp", "snps"], - "tools": [ - { - "eigenstratdatabasetools": { - "description": "A set of tools to compare and manipulate the contents of EingenStrat databases, and to calculate SNP coverage statistics in such databases.", - "documentation": "https://github.com/TCLamnidis/EigenStratDatabaseTools/README.md", - "tool_dev_url": "https://github.com/TCLamnidis/EigenStratDatabaseTools", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "geno": { - "type": "file", - "description": "An Eigenstrat formatted genotype file", - "pattern": "*.{geno}" - } - }, - { - "snp": { - "type": "file", - "description": "An Eigenstrat formatted snp file", - "pattern": "*.{snp}" - } - }, - { - "ind": { - "type": "file", - "description": "An Eigenstrat formatted individual file", - "pattern": "*.{ind}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "A TSV table with the number of covered SNPs per individual.", - "pattern": "*.{tsv}" - } - }, - { - "json": { - "type": "file", - "description": "A json table with the number of covered SNPs per individual.", - "pattern": "*.{json}" - } - } - ], - "authors": ["@TCLamnidis"] - } - }, - { - "name": "eklipse", - "path": "modules/nf-core/eklipse/meta.yml", - "type": "module", - "meta": { - "name": "eklipse", - "description": "tool for detection and quantification of large mtDNA rearrangements.", - "keywords": ["eklipse", "mitochondria", "mtDNA", "circos", "deletion", "SV"], - "tools": [ - { - "eklipse": { - "description": "tool for detection and quantification of large mtDNA rearrangements.", - "homepage": "https://github.com/dooguypapua/eKLIPse/tree/master", - "documentation": "https://github.com/dooguypapua/eKLIPse/tree/master", - "tool_dev_url": "https://github.com/dooguypapua/eKLIPse/tree/master", - "doi": "10.1038/s41436-018-0350-8", - "licence": ["GNU General Public v3 or later (GPL v3+)"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "MT BAM/SAM file", - "pattern": "*.{bam,sam}" - } - }, - { - "bai": { - "type": "file", - "description": "MT BAM/SAM index file", - "pattern": "*.{bai,sai}" - } - }, - { - "ref_gb": { - "type": "file", - "description": "mtDNA reference genome in Genbank format, optional if empty NC_012920.1.gb will be used", - "pattern": "*.{gb}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "csv": { - "type": "file", - "description": "csv file containing deletions", - "pattern": "*.{csv}" - } - }, - { - "circos": { - "type": "file", - "description": "png file with circos plot of mt", - "pattern": "*.{png}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Lucpen"] - } - }, - { - "name": "elprep_filter", - "path": "modules/nf-core/elprep/filter/meta.yml", - "type": "module", - "meta": { - "name": "elprep_filter", - "description": "Filter, sort and markdup sam/bam files, with optional BQSR and variant calling.", - "keywords": ["sort", "bam", "sam", "filter", "variant calling"], - "tools": [ - { - "elprep": { - "description": "elPrep is a high-performance tool for preparing .sam/.bam files for variant calling in sequencing pipelines. It can be used as a drop-in replacement for SAMtools/Picard/GATK4.", - "homepage": "https://github.com/ExaScience/elprep", - "documentation": "https://github.com/ExaScience/elprep", - "tool_dev_url": "https://github.com/ExaScience/elprep", - "doi": "10.1371/journal.pone.0244471", - "licence": "['AGPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Input SAM/BAM file", - "pattern": "*.{bam,sam}" - } - }, - { - "run_haplotypecaller": { - "type": "boolean", - "description": "Run variant calling on the input files. Needed to generate gvcf output." - } - }, - { - "run_bqsr": { - "type": "boolean", - "description": "Run BQSR on the input files. Needed to generate recall metrics." - } - }, - { - "reference_sequences": { - "type": "file", - "description": "Optional SAM header to replace existing header.", - "pattern": "*.sam" - } - }, - { - "filter_regions_bed": { - "type": "file", - "description": "Optional BED file containing regions to filter.", - "pattern": "*.bed" - } - }, - { - "reference_elfasta": { - "type": "file", - "description": "Elfasta file, required for BQSR and variant calling.", - "pattern": "*.elfasta" - } - }, - { - "known_sites": { - "type": "file", - "description": "Optional elsites file containing known SNPs for BQSR.", - "pattern": "*.elsites" - } - }, - { - "target_regions_bed": { - "type": "file", - "description": "Optional BED file containing target regions for BQSR and variant calling.", - "pattern": "*.bed" - } - }, - { - "intermediate_bqsr_tables": { - "type": "file", - "description": "Optional list of BQSR tables, used when parsing files created by `elprep split`", - "pattern": "*.table" - } - }, - { - "bqsr_tables_only": { - "type": "boolean", - "description": "Write intermediate BQSR tables, used when parsing files created by `elprep split`." - } - }, - { - "get_activity_profile": { - "type": "boolean", - "description": "Get the activity profile calculated by the haplotypecaller to the given file in IGV format." - } - }, - { - "get_assembly_regions": { - "type": "boolean", - "description": "Get the assembly regions calculated by haplotypecaller to the speficied file in IGV format." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted, markdup, optionally BQSR BAM/SAM file", - "pattern": "*.{bam,sam}" - } - }, - { - "metrics": { - "type": "file", - "description": "Optional duplicate metrics file generated by elprep", - "pattern": "*.{metrics.txt}" - } - }, - { - "recall": { - "type": "file", - "description": "Optional recall metrics file generated by elprep", - "pattern": "*.{recall}" - } - }, - { - "gvcf": { - "type": "file", - "description": "Optional GVCF output file", - "pattern": "*.{vcf.gz}" - } - }, - { - "table": { - "type": "file", - "description": "Optional intermediate BQSR table output file", - "pattern": "*.{table}" - } - }, - { - "activity_profile": { - "type": "file", - "description": "Optional activity profile output file", - "pattern": "*.{activity_profile.igv}" - } - }, - { - "assembly_regions": { - "type": "file", - "description": "Optional activity regions output file", - "pattern": "*.{assembly_regions.igv}" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "elprep_merge", - "path": "modules/nf-core/elprep/merge/meta.yml", - "type": "module", - "meta": { - "name": "elprep_merge", - "description": "Merge split bam/sam chunks in one file", - "keywords": ["bam", "sam", "merge"], - "tools": [ - { - "elprep": { - "description": "elPrep is a high-performance tool for preparing .sam/.bam files for variant calling in sequencing pipelines. It can be used as a drop-in replacement for SAMtools/Picard/GATK4.", - "homepage": "https://github.com/ExaScience/elprep", - "documentation": "https://github.com/ExaScience/elprep", - "tool_dev_url": "https://github.com/ExaScience/elprep", - "doi": "10.1371/journal.pone.0244471", - "licence": "['AGPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "List of BAM/SAM chunks to merge", - "pattern": "*.{bam,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Merged BAM/SAM file", - "pattern": "*.{bam,sam}" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "elprep_split", - "path": "modules/nf-core/elprep/split/meta.yml", - "type": "module", - "meta": { - "name": "elprep_split", - "description": "Split bam file into manageable chunks", - "keywords": ["bam", "split by chromosome"], - "tools": [ - { - "elprep": { - "description": "elPrep is a high-performance tool for preparing .sam/.bam files for variant calling in sequencing pipelines. It can be used as a drop-in replacement for SAMtools/Picard/GATK4.", - "homepage": "https://github.com/ExaScience/elprep", - "documentation": "https://github.com/ExaScience/elprep", - "tool_dev_url": "https://github.com/ExaScience/elprep", - "doi": "10.1371/journal.pone.0244471", - "licence": "['AGPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "List of BAM/SAM files", - "pattern": "*.{bam,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "List of split BAM/SAM files", - "pattern": "*.{bam,sam}" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "emboss_cons", - "path": "modules/nf-core/emboss/cons/meta.yml", - "type": "module", - "meta": { - "name": "emboss_cons", - "description": "cons calculates a consensus sequence from a multiple sequence alignment. To obtain the consensus, the sequence weights and a scoring matrix are used to calculate a score for each amino acid residue or nucleotide at each position in the alignment.", - "keywords": ["emboss", "consensus", "fasta", "multiple sequence alignment", "MSA"], - "tools": [ - { - "emboss": { - "description": "The European Molecular Biology Open Software Suite", - "homepage": "https://www.ebi.ac.uk/Tools/sfc/emboss_seqret/", - "documentation": "https://emboss.bioinformatics.nl/cgi-bin/emboss/help/seqret", - "tool_dev_url": "http://emboss.open-bio.org/", - "doi": "10.1016/s0168-9525(00)02024-2 ", - "licence": ["GPL"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Multiple sequence alignment (unzipped)", - "pattern": "*.{fasta,fa,fas,fsa,seq,mpfa,aln,clustal,clw,msf,phy,phylip,stockholm,sto,msf,afa,afa,a}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "consensus": { - "type": "file", - "description": "Consensus sequence calculated from multiple sequence alignment", - "pattern": "*.fa" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "emboss_seqret", - "path": "modules/nf-core/emboss/seqret/meta.yml", - "type": "module", - "meta": { - "name": "emboss_seqret", - "description": "Reads in one or more sequences, converts, filters, or transforms them and writes them out again", - "keywords": ["emboss", "gff", "embl", "genbank", "fasta", "convert", "swissprot"], - "tools": [ - { - "emboss": { - "description": "The European Molecular Biology Open Software Suite", - "homepage": "https://www.ebi.ac.uk/Tools/sfc/emboss_seqret/", - "documentation": "https://emboss.bioinformatics.nl/cgi-bin/emboss/help/seqret", - "tool_dev_url": "http://emboss.open-bio.org/", - "doi": "10.1016/s0168-9525(00)02024-2 ", - "licence": ["GPL"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sequence": { - "type": "file", - "description": "Input sequence query", - "pattern": "*.{gff,em,gb,refseq,pir,swiss,sw,txt}" - } - }, - { - "out_ext": { - "type": "string", - "description": "File extension of the output file. Unless otherwise set by a flag in `ext.args`, the extension dictates the output file format." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "outseq": { - "type": "file", - "description": "Converted sequence file", - "pattern": "*" - } - } - ], - "authors": ["@MillironX"] - } - }, - { - "name": "emmtyper", - "path": "modules/nf-core/emmtyper/meta.yml", - "type": "module", - "meta": { - "name": "emmtyper", - "description": "EMM typing of Streptococcus pyogenes assemblies", - "keywords": ["fasta", "Streptococcus pyogenes", "typing"], - "tools": [ - { - "emmtyper": { - "description": "Streptococcus pyogenes in silico EMM typer", - "homepage": "https://github.com/MDU-PHL/emmtyper", - "documentation": "https://github.com/MDU-PHL/emmtyper", - "tool_dev_url": "https://github.com/MDU-PHL/emmtyper", - "licence": ["GNU General Public v3 (GPL v3)"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA assembly file", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "Tab-delimited result file", - "pattern": "*.tsv" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "endorspy", - "path": "modules/nf-core/endorspy/meta.yml", - "type": "module", - "meta": { - "name": "endorspy", - "description": "endorS.py calculates endogenous DNA from samtools flagstat files and print to screen", - "keywords": ["endogenous DNA", "ancient DNA", "percent on target", "statistics"], - "tools": [ - { - "endorspy": { - "description": "endorS.py calculates percent on target and/or clonality from samtools flagstat files and print to screen", - "homepage": "https://github.com/aidaanva/endorS.py", - "documentation": "https://github.com/aidaanva/endorS.py", - "tool_dev_url": "https://github.com/aidaanva/endorS.py", - "doi": "10.7717/peerj.10947", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "stats_raw": { - "type": "file", - "description": "output of samtools flagstat in a txt file, assumes no quality filtering nor duplicate removal performed" - } - }, - { - "stats_qualityfiltered": { - "type": "file", - "description": "output of samtools flagstat in a txt file, assumes some form of quality or length filtering has been performed, must be provided with at least one of the options -r or -d" - } - }, - { - "stats_deduplicated": { - "type": "file", - "description": "output of samtools flagstat in a txt file, whereby duplicate removal has been performed on the input reads" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "file with the endogenous DNA calculation tailored for multiQC", - "pattern": "*_mqc.json" - } - } - ], - "authors": ["@aidaanva"] - } - }, - { - "name": "ensemblvep_download", - "path": "modules/nf-core/ensemblvep/download/meta.yml", - "type": "module", - "meta": { - "name": "ENSEMBLVEP_DOWNLOAD", - "description": "Ensembl Variant Effect Predictor (VEP). The cache downloading options are controlled through `task.ext.args`.", - "keywords": ["annotation", "cache", "download"], - "tools": [ - { - "ensemblvep": { - "description": "VEP determines the effect of your variants (SNPs, insertions, deletions, CNVs\nor structural variants) on genes, transcripts, and protein sequence, as well as regulatory regions.\n", - "homepage": "https://www.ensembl.org/info/docs/tools/vep/index.html", - "documentation": "https://www.ensembl.org/info/docs/tools/vep/script/index.html", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "assembly": { - "type": "string", - "description": "Genome assembly\n" - } - }, - { - "species": { - "type": "string", - "description": "Specie\n" - } - }, - { - "cache_version": { - "type": "string", - "description": "cache version\n" - } - } - ], - "output": [ - { - "cache": { - "type": "file", - "description": "cache", - "pattern": "*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@maxulysse"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "ensemblvep_vep", - "path": "modules/nf-core/ensemblvep/vep/meta.yml", - "type": "module", - "meta": { - "name": "ENSEMBLVEP_VEP", - "description": "Ensembl Variant Effect Predictor (VEP). The output-file-format is controlled through `task.ext.args`.", - "keywords": ["annotation", "vcf", "json", "tab"], - "tools": [ - { - "ensemblvep": { - "description": "VEP determines the effect of your variants (SNPs, insertions, deletions, CNVs\nor structural variants) on genes, transcripts, and protein sequence, as well as regulatory regions.\n", - "homepage": "https://www.ensembl.org/info/docs/tools/vep/index.html", - "documentation": "https://www.ensembl.org/info/docs/tools/vep/script/index.html", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "vcf to annotate\n" - } - }, - { - "custom_extra_files": { - "type": "file", - "description": "extra sample-specific files to be used with the `--custom` flag to be configured with ext.args\n(optional)\n" - } - }, - { - "genome": { - "type": "string", - "description": "which genome to annotate with\n" - } - }, - { - "species": { - "type": "string", - "description": "which species to annotate with\n" - } - }, - { - "cache_version": { - "type": "integer", - "description": "which version of the cache to annotate with\n" - } - }, - { - "cache": { - "type": "file", - "description": "path to VEP cache (optional)\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing fasta reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "reference FASTA file (optional)\n", - "pattern": "*.{fasta,fa}" - } - }, - { - "extra_files": { - "type": "file", - "description": "path to file(s) needed for plugins (optional)\n" - } - } - ], - "output": [ - { - "vcf": { - "type": "file", - "description": "annotated vcf (optional)\n", - "pattern": "*.ann.vcf.gz" - } - }, - { - "tab": { - "type": "file", - "description": "tab file with annotated variants (optional)\n", - "pattern": "*.ann.tab.gz" - } - }, - { - "json": { - "type": "file", - "description": "json file with annotated variants (optional)\n", - "pattern": "*.ann.json.gz" - } - }, - { - "report": { - "type": "file", - "description": "VEP report file", - "pattern": "*.html" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@maxulysse", "@matthdsm", "@nvnieuwk"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "entrezdirect_esearch", - "path": "modules/nf-core/entrezdirect/esearch/meta.yml", - "type": "module", - "meta": { - "name": "entrezdirect_esearch", - "description": "Searches a term in a public NCBI database", - "keywords": ["public datasets", "entrez", "search", "ncbi", "database"], - "tools": [ - { - "entrezdirect": { - "description": "Entrez Direct (EDirect) is a method for accessing the NCBI's set of\ninterconnected databases (publication, sequence, structure, gene,\nvariation, expression, etc.) from a UNIX terminal window. Functions\ntake search terms from command line arguments. Individual operations\nare combined to build multi-step queries. Record retrieval and\nformatting normally complete the process.\n", - "homepage": "https://www.ncbi.nlm.nih.gov/books/NBK179288/", - "documentation": "https://www.ncbi.nlm.nih.gov/books/NBK25501/", - "tool_dev_url": "https://www.ncbi.nlm.nih.gov/books/NBK25498/", - "doi": "10.1016/S0076-6879(96)66012-1", - "licence": ["PUBLIC DOMAIN"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "database": { - "type": "value", - "description": "Value must be a valid Entrez database name." - } - }, - { - "term": { - "type": "value", - "description": "Entrez text query. All special characters must be URL encoded.\nSpaces may be replaced by '+' signs.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "result_xml": { - "type": "file", - "description": "Query result text in XML format", - "pattern": "*.xml" - } - } - ], - "authors": ["@alxndrdiaz"] - } - }, - { - "name": "entrezdirect_esummary", - "path": "modules/nf-core/entrezdirect/esummary/meta.yml", - "type": "module", - "meta": { - "name": "entrezdirect_esummary", - "description": "Queries an NCBI database using Unique Identifier(s)", - "keywords": ["public datasets", "ncbi", "entrez", "metadata", "query", "database"], - "tools": [ - { - "entrezdirect": { - "description": "Entrez Direct (EDirect) is a method for accessing the NCBI's set of\ninterconnected databases (publication, sequence, structure, gene,\nvariation, expression, etc.) from a UNIX terminal window. Functions\ntake search terms from command line arguments. Individual operations\nare combined to build multi-step queries. Record retrieval and\nformatting normally complete the process.\n", - "homepage": "https://www.ncbi.nlm.nih.gov/books/NBK179288/", - "documentation": "https://www.ncbi.nlm.nih.gov/books/NBK25501/", - "tool_dev_url": "https://www.ncbi.nlm.nih.gov/books/NBK25498/", - "doi": "10.1016/S0076-6879(96)66012-1", - "licence": ["PUBLIC DOMAIN"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "database": { - "type": "value", - "description": "Value must be a valid Entrez database name ('assembly', etc)." - } - }, - { - "uid": { - "type": "value", - "description": "Unique Identifier (UID) of record in NCBI database. Cannot be used at the same time as uids_file" - } - }, - { - "uids_file": { - "type": "file", - "description": "Text file containing multiple UIDs. Cannot be used at the same time as uid." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "xml": { - "type": "file", - "description": "Query result in XML format", - "pattern": "*.xml" - } - } - ], - "authors": ["@alxndrdiaz"] - } - }, - { - "name": "entrezdirect_xtract", - "path": "modules/nf-core/entrezdirect/xtract/meta.yml", - "type": "module", - "meta": { - "name": "entrezdirect_xtract", - "description": "Queries an NCBI database using an UID", - "keywords": ["public datasets", "entrez", "search", "ncbi", "database"], - "tools": [ - { - "entrezdirect": { - "description": "Entrez Direct (EDirect) is a method for accessing the NCBI's set of\ninterconnected databases (publication, sequence, structure, gene,\nvariation, expression, etc.) from a UNIX terminal window. Functions\ntake search terms from command line arguments. Individual operations\nare combined to build multi-step queries. Record retrieval and\nformatting normally complete the process.\n", - "homepage": "https://www.ncbi.nlm.nih.gov/books/NBK179288/", - "documentation": "https://www.ncbi.nlm.nih.gov/books/NBK25501/", - "tool_dev_url": "https://www.ncbi.nlm.nih.gov/books/NBK25498/", - "doi": "10.1016/S0076-6879(96)66012-1", - "licence": ["PUBLIC DOMAIN"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "xml_input": { - "type": "file", - "description": "XML text file containing query results from database." - } - }, - { - "pattern": { - "type": "value", - "description": "String in xml_input that encloses element to search." - } - }, - { - "element": { - "type": "value", - "description": "Space-delimited strings that will be converted to columns." - } - }, - { - "sep": { - "type": "value", - "description": "Separator/delimiter between columns (for instance \",\" or \"\\t\")." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "xtract_table": { - "type": "file", - "description": "TXT file containing columns searched from element.", - "pattern": "*.txt" - } - } - ], - "authors": ["@alxndrdiaz"] - } - }, - { - "name": "epang_place", - "path": "modules/nf-core/epang/place/meta.yml", - "type": "module", - "meta": { - "name": "epang_place", - "description": "phylogenetic placement of query sequences in a reference tree", - "keywords": ["phylogeny", "phylogenetic placement", "sequences"], - "tools": [ - { - "epang": { - "description": "Massively parallel phylogenetic placement of genetic sequences", - "homepage": "https://github.com/Pbdas/epa-ng", - "documentation": "https://github.com/Pbdas/epa-ng/wiki/Full-Stack-Example", - "tool_dev_url": "https://github.com/Pbdas/epa-ng", - "doi": "10.1093/sysbio/syy054", - "licence": "['GNU Affero General Public License v3.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "queryaln": { - "type": "file", - "description": "aligned query sequences in any supported format including phylip and fasta, may be gzipped", - "pattern": "*" - } - }, - { - "referencealn": { - "type": "file", - "description": "reference alignment in any supported format including phylip and fasta, may be gzipped", - "pattern": "*" - } - }, - { - "referencetree": { - "type": "file", - "description": "newick file containing the reference tree in which query sequences will be placed", - "pattern": "*" - } - }, - { - "bfastfile": { - "type": "file", - "description": "file argument to the --bfast parameter", - "pattern": "*" - } - }, - { - "binaryfile": { - "type": "file", - "description": "file argument to the --binary parameter", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "epang": { - "type": "directory", - "description": "directory in which EPA-NG was run" - } - }, - { - "jplace": { - "type": "file", - "description": "gzipped file with placement information", - "pattern": "*.jplace.gz" - } - }, - { - "log": { - "type": "file", - "description": "log file from placement", - "pattern": "*.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@erikrikarddaniel"] - }, - "pipelines": [ - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "phyloplace", - "version": "1.0.0" - } - ] - }, - { - "name": "epang_split", - "path": "modules/nf-core/epang/split/meta.yml", - "type": "module", - "meta": { - "name": "epang_split", - "description": "splits an alignment into reference and query parts", - "keywords": ["phylogeny", "phylogenetic placement", "sequences"], - "tools": [ - { - "epang": { - "description": "Massively parallel phylogenetic placement of genetic sequences", - "homepage": "https://github.com/Pbdas/epa-ng", - "documentation": "https://github.com/Pbdas/epa-ng/wiki/Full-Stack-Example", - "tool_dev_url": "https://github.com/Pbdas/epa-ng", - "doi": "10.1093/sysbio/syy054", - "licence": "['GNU Affero General Public License v3.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "refaln": { - "type": "file", - "description": "reference alignment in any supported format including phylip and fasta, may be gzipped", - "pattern": "*.{faa,fna,fa,fasta,fa,phy,aln,alnfaa,alnfna,alnfa,mfa,faa.gz,fna.gz,fa.gz,fasta.gz,fa.gz,phy.gz,aln.gz,alnfaa.gz,alnfna.gz,alnfa.gz,mfa.gz}" - } - }, - { - "fullaln": { - "type": "file", - "description": "full alignment in any supported format to split into reference and query alignments", - "pattern": "*.{faa,fna,fa,fasta,fa,phy,aln,alnfaa,alnfna,alnfa,mfa,faa.gz,fna.gz,fa.gz,fasta.gz,fa.gz,phy.gz,aln.gz,alnfaa.gz,alnfna.gz,alnfa.gz,mfa.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "query": { - "type": "file", - "description": "query sequence alignment in gzipped fasta format" - } - }, - { - "reference": { - "type": "file", - "description": "reference sequence alignment in gzipped fasta format" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@erikrikarddaniel"] - }, - "pipelines": [ - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "phyloplace", - "version": "1.0.0" - } - ] - }, - { - "name": "expansionhunter", - "path": "modules/nf-core/expansionhunter/meta.yml", - "type": "module", - "meta": { - "name": "expansionhunter", - "description": "Estimate repeat sizes using NGS data", - "keywords": ["STR", "repeat_expansions", "bam", "cram", "vcf", "json"], - "tools": [ - { - "expansionhunter": { - "description": "A tool for estimating repeat sizes", - "homepage": "https://github.com/Illumina/ExpansionHunter", - "documentation": "https://github.com/Illumina/ExpansionHunter/blob/master/docs/01_Introduction.md", - "doi": "10.1093/bioinformatics/btz431", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome", - "pattern": "*.{fna,fa,fasta}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome index", - "pattern": "*.fai" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "variant_catalog": { - "type": "file", - "description": "JSON file with repeat expansion sites to genotype", - "pattern": "*.json" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', gender:'female' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF with repeat expansions", - "pattern": "*.vcf.gz" - } - }, - { - "json": { - "type": "file", - "description": "JSON with repeat expansions", - "pattern": "*.json.gz" - } - } - ], - "authors": ["@jemten"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "expansionhunterdenovo_merge", - "path": "modules/nf-core/expansionhunterdenovo/merge/meta.yml", - "type": "module", - "meta": { - "name": "expansionhunterdenovo_merge", - "description": "Merge STR profiles into a multi-sample STR profile", - "keywords": ["expansionhunterdenovo", "merge", "str"], - "tools": [ - { - "expansionhunterdenovo": { - "description": "ExpansionHunter Denovo (EHdn) is a suite of tools for detecting novel expansions of short tandem repeats (STRs).", - "homepage": "https://github.com/Illumina/ExpansionHunterDenovo", - "documentation": "https://github.com/Illumina/ExpansionHunterDenovo/blob/master/documentation/00_Introduction.md", - "tool_dev_url": "https://github.com/Illumina/ExpansionHunterDenovo", - "licence": "['Apache License 2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "manifest": { - "type": "file", - "description": "A tab-delimited file containing the sample name, whether it's case or control\nand the paths to the corresponding STR profiles.\nSee here for an example: https://github.com/Illumina/ExpansionHunterDenovo/blob/master/documentation/06_Merging_profiles.md#manifest-files\n", - "pattern": "*.{tsv,txt}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference FASTA file", - "pattern": "*.{fasta,fa}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the reference FASTA file", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "merged_profiles": { - "type": "file", - "description": "The merged STR profiles", - "pattern": "*.multisample_profile.json" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "expansionhunterdenovo_profile", - "path": "modules/nf-core/expansionhunterdenovo/profile/meta.yml", - "type": "module", - "meta": { - "name": "expansionhunterdenovo_profile", - "description": "Compute genome-wide STR profile", - "keywords": ["expansionhunterdenovo", "profile", "STR", "genome", "bam", "cram"], - "tools": [ - { - "expansionhunterdenovo": { - "description": "ExpansionHunter Denovo (EHdn) is a suite of tools for detecting novel expansions of short tandem repeats (STRs).", - "homepage": "https://github.com/Illumina/ExpansionHunterDenovo", - "documentation": "https://github.com/Illumina/ExpansionHunterDenovo/blob/master/documentation/00_Introduction.md", - "tool_dev_url": "https://github.com/Illumina/ExpansionHunterDenovo", - "licence": "['Apache License 2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "alignment_file": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "alignment_index": { - "type": "file", - "description": "Index of the BAM/CRAM file", - "pattern": "*.{bai,crai}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The FASTA reference file", - "pattern": "*.{fasta,fa}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the FASTA reference file", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "locus_tsv": { - "type": "file", - "description": "The locus TSV file", - "pattern": "*.tsv" - } - }, - { - "motif_tsv": { - "type": "file", - "description": "The motif TSV file", - "pattern": "*.tsv" - } - }, - { - "str_profile": { - "type": "file", - "description": "The JSON file containing the STR profile", - "pattern": "*.json" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "falco", - "path": "modules/nf-core/falco/meta.yml", - "type": "module", - "meta": { - "name": "falco", - "description": "Run falco on sequenced reads", - "keywords": ["quality control", "qc", "adapters", "fastq"], - "tools": [ - { - "fastqc": { - "description": "falco is a drop-in C++ implementation of FastQC to assess the quality of sequence reads.", - "homepage": "https://falco.readthedocs.io/", - "documentation": "https://falco.readthedocs.io/", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "html": { - "type": "file", - "description": "FastQC like report", - "pattern": "*_{fastqc_report.html}" - } - }, - { - "txt": { - "type": "file", - "description": "falco report data", - "pattern": "*_{data.txt}" - } - }, - { - "txt": { - "type": "file", - "description": "falco summary file", - "pattern": "*_{summary.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@lucacozzuto"] - }, - "pipelines": [ - { - "name": "demultiplex", - "version": "1.3.2" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "faqcs", - "path": "modules/nf-core/faqcs/meta.yml", - "type": "module", - "meta": { - "name": "faqcs", - "description": "Perform adapter and quality trimming on sequencing reads with reporting", - "keywords": ["trimming", "quality control", "fastq", "faqcs"], - "tools": [ - { - "faqcs": { - "description": "FaQCs combines several features of currently available applications into a single, user-friendly process, and includes additional unique capabilities such as filtering the PhiX control sequences, conversion of FASTQ formats, and multi-threading. The original data and trimmed summaries are reported within a variety of graphics and reports, providing a simple way to do data quality control and assurance.\n", - "homepage": "https://github.com/LANL-Bioinformatics/FaQCs", - "documentation": "https://github.com/LANL-Bioinformatics/FaQCs", - "tool_dev_url": "https://github.com/LANL-Bioinformatics/FaQCs", - "doi": "10.1186/s12859-014-0366-2", - "licence": ["GPLv3 License"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Metadata about the specific run.\nI guess this can be used if you are running many different images in a single nextflow pass?\nI have no clue.\nGroovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "image": { - "type": "image", - "description": "Obtained from cellpose documentation: Inputs\nYou can use tiffs or PNGs or JPEGs. We use the image loader from scikit-image.\nSingle plane images can read into data as nY x nX x channels or channels x nY x nX.\nThen the channels settings will take care of reshaping the input appropriately for the network.\nNote the model also rescales the input for each channel so that 0 = 1st percentile of image values and 1 = 99th percentile.\n" - } - }, - { - "image_metadata": { - "type": "csv", - "description": "This file will let Cellpose know which channels to use for segmentation.\nThe default will be channel 0.\n" - } - }, - { - "Model_to_use": { - "type": "string", - "description": "This will define which model to use.\nThe default will be nuclear.\nAll models from the model zoo should be usable, the exact string has to be passed.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "reads": { - "type": "file", - "description": "The trimmed/modified fastq reads", - "pattern": "*trimmed.fastq.gz" - } - }, - { - "reads_fail": { - "type": "file", - "description": "Reads that failed the preprocessing (Optional with --discard args setting)", - "pattern": "*discard.fastq.gz" - } - }, - { - "reads_unpaired": { - "type": "file", - "description": "Reads without matching mates in paired-end files (Optional)", - "pattern": "*trimmed.unpaired.fastq.gz" - } - }, - { - "stats": { - "type": "file", - "description": "trimming/qc text stats file", - "pattern": "*.stats.txt" - } - }, - { - "txt": { - "type": "file", - "description": "trimming/qc text txt files from --debug option", - "pattern": "*.txt" - } - }, - { - "statspdf": { - "type": "file", - "description": "trimming/qc pdf report file", - "pattern": "*_qc_report.pdf" - } - }, - { - "log": { - "type": "file", - "description": "fastq log file", - "pattern": "*.log" - } - } - ], - "authors": ["@mjcipriano", "@sateeshperi", "@hseabolt"] - } - }, - { - "name": "fargene", - "path": "modules/nf-core/fargene/meta.yml", - "type": "module", - "meta": { - "name": "fargene", - "description": "tool that takes either fragmented metagenomic data or longer sequences as input and predicts and delivers full-length antiobiotic resistance genes as output.", - "keywords": ["antibiotic resistance genes", "ARGs", "identifier", "metagenomic", "contigs"], - "tools": [ - { - "fargene": { - "description": "Fragmented Antibiotic Resistance Gene Identifier takes either fragmented metagenomic data or longer sequences as input and predicts and delivers full-length antiobiotic resistance genes as output", - "homepage": "https://github.com/fannyhb/fargene", - "documentation": "https://github.com/fannyhb/fargene", - "tool_dev_url": "https://github.com/fannyhb/fargene", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "uncompressed fasta file or paired-end fastq files containing either genomes or longer contigs as nucleotide or protein sequences (fasta) or fragmented metagenomic reads (fastq)", - "pattern": "*.{fasta}" - } - }, - { - "hmm_model": { - "type": "string", - "description": "name of custom hidden markov model to be used [pre-defined class_a, class_b_1_2, class_b_3, class_c, class_d_1, class_d_2, qnr, tet_efflux, tet_rpg, tet_enzyme]" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "log": { - "type": "file", - "description": "log file", - "pattern": "*.{log}" - } - }, - { - "txt": { - "type": "file", - "description": "analysis summary text file", - "pattern": "*.{txt}" - } - }, - { - "hmm": { - "type": "file", - "description": "output from hmmsearch", - "pattern": "*.{out}" - } - }, - { - "orfs": { - "type": "file", - "description": "open reading frames (ORFs)", - "pattern": "*.{fasta}" - } - }, - { - "orfs_amino": { - "type": "file", - "description": "protein translation of open reading frames (ORFs)", - "pattern": "*.{fasta}" - } - }, - { - "contigs": { - "type": "file", - "description": "(complete) contigs that passed the final full-length classification", - "pattern": "*.{fasta}" - } - }, - { - "contigs_pept": { - "type": "file", - "description": "parts of the contigs that passed the final classification step that aligned with the HMM, as amino acid sequences", - "pattern": "*.{fasta}" - } - }, - { - "filtered": { - "type": "file", - "description": "sequences that passed the final classification step, but only the parts that where predicted by the HMM to be part of the gene", - "pattern": "*.{fasta}" - } - }, - { - "filtered_pept": { - "type": "file", - "description": "sequences from filtered.fasta, translated in the same frame as the gene is predicted to be located", - "pattern": "*.{fasta}" - } - }, - { - "fragments": { - "type": "file", - "description": "All quality controlled retrieved fragments that were classified as positive, together with its read-pair, gathered in two files", - "pattern": "*.{fastq}" - } - }, - { - "trimmed": { - "type": "file", - "description": "The quality controlled retrieved fragments from each input file.", - "pattern": "*.{fasta}" - } - }, - { - "spades": { - "type": "directory", - "description": "The output from the SPAdes assembly", - "pattern": "spades_assembly" - } - }, - { - "metagenome": { - "type": "file", - "description": "The FASTQ to FASTA converted input files from metagenomic reads.", - "pattern": "*.{fasta}" - } - }, - { - "tmp": { - "type": "file", - "description": "The from FASTQ to FASTA converted input files and their translated input sequences. Are only saved if option --store-peptides is used.", - "pattern": "*.{fasta}" - } - } - ], - "authors": ["@louperelo"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "fastani", - "path": "modules/nf-core/fastani/meta.yml", - "type": "module", - "meta": { - "name": "fastani", - "description": "Alignment-free computation of average nucleotide Identity (ANI)", - "keywords": ["genome", "fasta", "ANI"], - "tools": [ - { - "fastani": { - "description": "FastANI is developed for fast alignment-free computation of whole-genome Average Nucleotide Identity (ANI).", - "homepage": "https://github.com/ParBLiSS/FastANI", - "documentation": "https://github.com/ParBLiSS/FastANI", - "tool_dev_url": "https://github.com/ParBLiSS/FastANI", - "doi": "10.1038/s41467-018-07641-9", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "query": { - "type": "file", - "description": "Fasta file(s) to be queried", - "pattern": "*.fasta" - } - }, - { - "reference": { - "type": "file", - "description": "Fasta file(s) to be used as reference for the query", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ani": { - "type": "file", - "description": "Results of the query", - "pattern": "*.ani.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@abhi18av"] - } - }, - { - "name": "fastawindows", - "path": "modules/nf-core/fastawindows/meta.yml", - "type": "module", - "meta": { - "name": "fastawindows", - "description": "Quickly compute statistics over a fasta file in windows.", - "keywords": ["genome", "fasta", "tsv", "bed"], - "tools": [ - { - "fastawindows": { - "description": "fasta_windows is a tool written for Darwin Tree of Life chromosomal level genome assemblies. The executable takes a fasta formatted file and calculates some statistics of interest in windows", - "homepage": "https://github.com/tolkit/fasta_windows", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file", - "pattern": "*.{fa,fasta,fna}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "freq": { - "type": "file", - "description": "TSV file with frequencies and statistics", - "pattern": "*.{tsv}" - } - }, - { - "mononuc": { - "type": "file", - "description": "TSV file with mononucleotide counts", - "pattern": "*.{tsv}" - } - }, - { - "dinuc": { - "type": "file", - "description": "TSV file with dinucleotide counts", - "pattern": "*.{tsv}" - } - }, - { - "trinuc": { - "type": "file", - "description": "TSV file with trinucleotide counts", - "pattern": "*.{tsv}" - } - }, - { - "tetranuc": { - "type": "file", - "description": "TSV file with tetranucleotide counts", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@muffato"] - } - }, - { - "name": "fastk_fastk", - "path": "modules/nf-core/fastk/fastk/meta.yml", - "type": "module", - "meta": { - "name": "fastk_fastk", - "description": "A fast K-mer counter for high-fidelity shotgun datasets", - "keywords": ["k-mer", "count", "histogram"], - "tools": [ - { - "fastk": { - "description": "A fast K-mer counter for high-fidelity shotgun datasets", - "homepage": "https://github.com/thegenemyers/FASTK", - "tool_dev_url": "https://github.com/thegenemyers/FASTK", - "licence": "https://github.com/thegenemyers/FASTK/blob/master/LICENSE" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "hist": { - "type": "file", - "description": "Histogram of k-mers", - "pattern": "*.hist" - } - }, - { - "ktab": { - "type": "file", - "description": "A sorted table of all canonical k‑mers along with their counts.", - "pattern": "*.ktab" - } - }, - { - "prof": { - "type": "file", - "description": "A k‑mer count profile of each sequence in the input data set.", - "pattern": "*.prof" - } - } - ], - "authors": ["@mahesh-panchal"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "fastk_histex", - "path": "modules/nf-core/fastk/histex/meta.yml", - "type": "module", - "meta": { - "name": "fastk_histex", - "description": "A fast K-mer counter for high-fidelity shotgun datasets", - "keywords": ["k-mer", "histogram"], - "tools": [ - { - "fastk": { - "description": "A fast K-mer counter for high-fidelity shotgun datasets", - "homepage": "https://github.com/thegenemyers/FASTK", - "tool_dev_url": "https://github.com/thegenemyers/FASTK", - "licence": "https://github.com/thegenemyers/FASTK/blob/master/LICENSE" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "histogram": { - "type": "file", - "description": "A FastK histogram file", - "pattern": "*.hist" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "hist": { - "type": "file", - "description": "A formatted histogram file", - "pattern": "*.hist" - } - } - ], - "authors": ["@mahesh-panchal"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "fastk_merge", - "path": "modules/nf-core/fastk/merge/meta.yml", - "type": "module", - "meta": { - "name": "fastk_merge", - "description": "A tool to merge FastK histograms", - "keywords": ["merge", "k-mer", "histogram", "fastk"], - "tools": [ - { - "fastk": { - "description": "A fast K-mer counter for high-fidelity shotgun datasets", - "homepage": "https://github.com/thegenemyers/FASTK", - "tool_dev_url": "https://github.com/thegenemyers/FASTK", - "licence": "https://github.com/thegenemyers/FASTK/blob/master/LICENSE" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastk_hist": { - "type": "file", - "description": "A histogram files from the program FastK", - "pattern": "*.hist" - } - }, - { - "fastk_ktab": { - "type": "file", - "description": "Histogram ktab files from the program FastK (option -t)", - "pattern": "*.ktab*" - } - }, - { - "fastk_prof": { - "type": "file", - "description": "Histogram profile files from the program FastK (option -p)", - "pattern": "*.{prof,pidx}*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fastk_hist": { - "type": "file", - "description": "A histogram files from the program FastK", - "pattern": "*.hist" - } - }, - { - "fastk_ktab": { - "type": "file", - "description": "Histogram ktab files from the program FastK (option -t)", - "pattern": "*.ktab*" - } - }, - { - "fastk_prof": { - "type": "file", - "description": "Histogram profile files from the program FastK (option -p)", - "pattern": "*.{prof,pidx}*" - } - } - ], - "authors": ["@mahesh-panchal"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "fastp", - "path": "modules/nf-core/fastp/meta.yml", - "type": "module", - "meta": { - "name": "fastp", - "description": "Perform adapter/quality trimming on sequencing reads", - "keywords": ["trimming", "quality control", "fastq"], - "tools": [ - { - "fastp": { - "description": "A tool designed to provide fast all-in-one preprocessing for FastQ files. This tool is developed in C++ with multithreading supported to afford high performance.\n", - "documentation": "https://github.com/OpenGene/fastp", - "doi": "10.1093/bioinformatics/bty560", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information. Use 'single_end: true' to specify single ended or interleaved FASTQs. Use 'single_end: false' for paired-end reads.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively. If you wish to run interleaved paired-end data, supply as single-end data\nbut with `--interleaved_in` in your `modules.conf`'s `ext.args` for the module.\n" - } - }, - { - "adapter_fasta": { - "type": "file", - "description": "File in FASTA format containing possible adapters to remove.", - "pattern": "*.{fasta,fna,fas,fa}" - } - }, - { - "save_trimmed_fail": { - "type": "boolean", - "description": "Specify true to save files that failed to pass trimming thresholds ending in `*.fail.fastq.gz`" - } - }, - { - "save_merged": { - "type": "boolean", - "description": "Specify true to save all merged reads to the a file ending in `*.merged.fastq.gz`" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "The trimmed/modified/unmerged fastq reads", - "pattern": "*fastp.fastq.gz" - } - }, - { - "json": { - "type": "file", - "description": "Results in JSON format", - "pattern": "*.json" - } - }, - { - "html": { - "type": "file", - "description": "Results in HTML format", - "pattern": "*.html" - } - }, - { - "log": { - "type": "file", - "description": "fastq log file", - "pattern": "*.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "reads_fail": { - "type": "file", - "description": "Reads the failed the preprocessing", - "pattern": "*fail.fastq.gz" - } - }, - { - "reads_merged": { - "type": "file", - "description": "Reads that were successfully merged", - "pattern": "*.{merged.fastq.gz}" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "subworkflows": ["fastq_fastqc_umitools_fastp", "fastq_trim_fastp_fastqc"], - "pipelines": [ - { - "name": "airrflow", - "version": "3.1.0" - }, - { - "name": "demultiplex", - "version": "1.3.2" - }, - { - "name": "mag", - "version": "2.3.2" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "smrnaseq", - "version": "2.2.1" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "fastqc", - "path": "modules/nf-core/fastqc/meta.yml", - "type": "module", - "meta": { - "name": "fastqc", - "description": "Run FastQC on sequenced reads", - "keywords": ["quality control", "qc", "adapters", "fastq"], - "tools": [ - { - "fastqc": { - "description": "FastQC gives general quality metrics about your reads.\nIt provides information about the quality score distribution\nacross your reads, the per base sequence content (%A/C/G/T).\nYou get information about adapter contamination and other\noverrepresented sequences.\n", - "homepage": "https://www.bioinformatics.babraham.ac.uk/projects/fastqc/", - "documentation": "https://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/", - "licence": ["GPL-2.0-only"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "html": { - "type": "file", - "description": "FastQC report", - "pattern": "*_{fastqc.html}" - } - }, - { - "zip": { - "type": "file", - "description": "FastQC report archive", - "pattern": "*_{fastqc.zip}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@grst", "@ewels", "@FelixKrueger"] - }, - "subworkflows": [ - "fastq_fastqc_umitools_trimgalore", - "fastq_fastqc_umitools_fastp", - "fastq_trim_fastp_fastqc" - ], - "pipelines": [ - { - "name": "airrflow", - "version": "3.1.0" - }, - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "bacass", - "version": "2.0.0" - }, - { - "name": "bamtofastq", - "version": "2.0.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "crisprseq", - "version": "2.0.0" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "fastquorum", - "version": "dev" - }, - { - "name": "funcscan", - "version": "1.1.2" - }, - { - "name": "genomeannotator", - "version": "dev" - }, - { - "name": "genomeassembler", - "version": "dev" - }, - { - "name": "genomeskim", - "version": "dev" - }, - { - "name": "gwas", - "version": "dev" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "hic", - "version": "2.1.0" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "hlatyping", - "version": "2.0.0" - }, - { - "name": "liverctanalysis", - "version": "dev" - }, - { - "name": "mag", - "version": "2.3.2" - }, - { - "name": "marsseq", - "version": "1.0.3" - }, - { - "name": "mcmicro", - "version": "dev" - }, - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "methylseq", - "version": "2.4.0" - }, - { - "name": "molkart", - "version": "dev" - }, - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "phageannotator", - "version": "dev" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "scrnaseq", - "version": "2.3.2" - }, - { - "name": "smrnaseq", - "version": "2.2.1" - }, - { - "name": "spatialtranscriptomics", - "version": "dev" - }, - { - "name": "spinningjenny", - "version": "dev" - }, - { - "name": "ssds", - "version": "dev" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - }, - { - "name": "variantcatalogue", - "version": "dev" - }, - { - "name": "viralintegration", - "version": "0.1.0" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "fastqscan", - "path": "modules/nf-core/fastqscan/meta.yml", - "type": "module", - "meta": { - "name": "fastqscan", - "description": "FASTQ summary statistics in JSON format", - "keywords": ["fastq", "summary", "statistics"], - "tools": [ - { - "fastqscan": { - "description": "FASTQ summary statistics in JSON format", - "homepage": "https://github.com/rpetit3/fastq-scan", - "documentation": "https://github.com/rpetit3/fastq-scan", - "tool_dev_url": "https://github.com/rpetit3/fastq-scan", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "FASTQ file", - "pattern": "*.{fastq.gz,fq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "JSON formatted file of summary statistics", - "pattern": "*.json" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "fasttree", - "path": "modules/nf-core/fasttree/meta.yml", - "type": "module", - "meta": { - "name": "fasttree", - "description": "Produces a Newick format phylogeny from a multiple sequence alignment. Capable of bacterial genome size alignments.", - "keywords": ["phylogeny", "newick"], - "tools": [ - { - "fasttree": { - "description": "FastTree infers approximately-maximum-likelihood phylogenetic trees from alignments of nucleotide or protein sequences", - "homepage": "http://www.microbesonline.org/fasttree/", - "documentation": "http://www.microbesonline.org/fasttree/#Usage", - "licence": ["GPL v2"] - } - } - ], - "input": [ - { - "alignment": { - "type": "file", - "description": "A FASTA format multiple sequence alignment file", - "pattern": "*.{fasta,fas,fa,mfa}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "phylogeny": { - "type": "file", - "description": "A phylogeny in Newick format", - "pattern": "*.{tre}" - } - } - ], - "authors": ["@aunderwo"] - } - }, - { - "name": "fcs_fcsadaptor", - "path": "modules/nf-core/fcs/fcsadaptor/meta.yml", - "type": "module", - "meta": { - "name": "fcs_fcsadaptor", - "description": "Run NCBI's FCS adaptor on assembled genomes", - "keywords": ["assembly", "genomics", "quality control", "contamination", "NCBI"], - "tools": [ - { - "fcs": { - "description": "The Foreign Contamination Screening (FCS) tool rapidly detects contaminants from foreign\norganisms in genome assemblies to prepare your data for submission. Therefore, the\nsubmission process to NCBI is faster and fewer contaminated genomes are submitted.\nThis reduces errors in analyses and conclusions, not just for the original data submitter\nbut for all subsequent users of the assembly.\n", - "homepage": "https://www.ncbi.nlm.nih.gov/data-hub/cgr/data-quality-tools/", - "documentation": "https://github.com/ncbi/fcs/wiki/FCS-adaptor", - "tool_dev_url": "https://github.com/ncbi/fcs", - "licence": "United States Government Work" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "assembly": { - "type": "file", - "description": "assembly fasta file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "cleaned_assembly": { - "type": "file", - "description": "Cleaned assembly in fasta format", - "pattern": "*.{cleaned_sequences.fa.gz}" - } - }, - { - "adaptor_report": { - "type": "file", - "description": "Report of identified adaptors", - "pattern": "*.{fcs_adaptor_report.txt}" - } - }, - { - "log": { - "type": "file", - "description": "Log file", - "pattern": "*.{fcs_adaptor.log}" - } - }, - { - "pipeline_args": { - "type": "file", - "description": "Run arguments", - "pattern": "*.{pipeline_args.yaml}" - } - }, - { - "skipped_trims": { - "type": "file", - "description": "Skipped trim information", - "pattern": "*.{skipped_trims.jsonl}" - } - } - ], - "authors": ["@d4straub"] - } - }, - { - "name": "fcs_fcsgx", - "path": "modules/nf-core/fcs/fcsgx/meta.yml", - "type": "module", - "meta": { - "name": "fcs_fcsgx", - "description": "Run FCS-GX on assembled genomes. The contigs of the assembly are searched against a reference database excluding the given taxid.", - "keywords": ["assembly", "genomics", "quality control", "contamination", "NCBI"], - "tools": [ - { - "fcs": { - "description": "\"The Foreign Contamination Screening (FCS) tool rapidly detects contaminants from foreign\norganisms in genome assemblies to prepare your data for submission. Therefore, the\nsubmission process to NCBI is faster and fewer contaminated genomes are submitted.\nThis reduces errors in analyses and conclusions, not just for the original data submitter\nbut for all subsequent users of the assembly.\"\n", - "homepage": "https://www.ncbi.nlm.nih.gov/data-hub/cgr/data-quality-tools/", - "documentation": "https://github.com/ncbi/fcs/wiki/FCS-GX", - "tool_dev_url": "https://github.com/ncbi/fcs", - "licence": "United States Government Work" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', taxid:'6973' ]\n" - } - }, - { - "assembly": { - "type": "file", - "description": "assembly fasta file" - } - }, - { - "database": { - "type": "file", - "description": "Files of the database downloaded from the ncbi server, https://ftp.ncbi.nlm.nih.gov/genomes/TOOLS/FCS/database/. All files of one db should be downloaded and given to the process as channel.collect(). The link contains 2 databases, test-only and all. Use all for pipeline usage and test-only for tests." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', taxid:'9606' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fcs_gx_report": { - "type": "file", - "description": "Report containing the contig identifier and recommended action (EXCLUDE, TRIM, FIX, REVIEW)", - "pattern": "*.fcs_gx_report.txt" - } - }, - { - "taxonomy_report": { - "type": "file", - "description": "Report containing the contig identifier and mapped contaminant species", - "pattern": "*.taxonomy.rpt" - } - } - ], - "authors": ["@tillenglert"] - } - }, - { - "name": "ffq", - "path": "modules/nf-core/ffq/meta.yml", - "type": "module", - "meta": { - "name": "ffq", - "description": "A command line tool that makes it easier to find sequencing data from the SRA / GEO / ENA.", - "keywords": ["SRA", "ENA", "GEO", "metadata", "fetch", "public", "databases"], - "tools": [ - { - "ffq": { - "description": "A command line tool that makes it easier to find sequencing data from the SRA / GEO / ENA.", - "homepage": "https://github.com/pachterlab/ffq", - "documentation": "https://github.com/pachterlab/ffq#usage", - "tool_dev_url": "https://github.com/pachterlab/ffq", - "doi": "10.1101/2022.05.18.492548", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "ids": { - "type": "list", - "description": "List of supported database ids e.g. SRA / GEO / ENA" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "JSON file containing metadata for ids", - "pattern": "*.{json}" - } - } - ], - "authors": ["@drpatelh"] - } - }, - { - "name": "fgbio_callduplexconsensusreads", - "path": "modules/nf-core/fgbio/callduplexconsensusreads/meta.yml", - "type": "module", - "meta": { - "name": "fgbio_callduplexconsensusreads", - "description": "Uses FGBIO CallDuplexConsensusReads to call duplex consensus sequences from reads generated from the same double-stranded source molecule.", - "keywords": ["umi", "duplex", "fgbio"], - "tools": [ - { - "fgbio": { - "description": "A set of tools for working with genomic and high throughput sequencing data, including UMIs", - "homepage": "http://fulcrumgenomics.github.io/fgbio/", - "documentation": "http://fulcrumgenomics.github.io/fgbio/tools/latest/CallDuplexConsensusReads.html", - "tool_dev_url": "https://github.com/fulcrumgenomics/fgbio", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/SAM file", - "pattern": "*.{bam,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "consensus BAM file", - "pattern": "*.bam" - } - } - ], - "authors": ["@lescai"] - } - }, - { - "name": "fgbio_callmolecularconsensusreads", - "path": "modules/nf-core/fgbio/callmolecularconsensusreads/meta.yml", - "type": "module", - "meta": { - "name": "fgbio_callmolecularconsensusreads", - "description": "Calls consensus sequences from reads with the same unique molecular tag.", - "keywords": ["UMIs", "consensus sequence", "bam", "sam"], - "tools": [ - { - "fgbio": { - "description": "Tools for working with genomic and high throughput sequencing data.", - "homepage": "https://github.com/fulcrumgenomics/fgbio", - "documentation": "http://fulcrumgenomics.github.io/fgbio/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false, collapse:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "The input SAM or BAM file.\n", - "pattern": "*.{bam,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Output SAM or BAM file to write consensus reads.\n", - "pattern": "*.{bam,sam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sruthipsuresh"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "fgbio_fastqtobam", - "path": "modules/nf-core/fgbio/fastqtobam/meta.yml", - "type": "module", - "meta": { - "name": "fgbio_fastqtobam", - "description": "Using the fgbio tools, converts FASTQ files sequenced into unaligned BAM or CRAM files possibly moving the UMI barcode into the RX field of the reads\n", - "keywords": ["fastqtobam", "fgbio"], - "tools": [ - { - "fgbio": { - "description": "A set of tools for working with genomic and high throughput sequencing data, including UMIs", - "homepage": "http://fulcrumgenomics.github.io/fgbio/", - "documentation": "http://fulcrumgenomics.github.io/fgbio/tools/latest/", - "tool_dev_url": "https://github.com/fulcrumgenomics/fgbio", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "reads": { - "type": "file", - "description": "pair of reads to be converted into BAM file", - "pattern": "*.{fastq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "version": { - "type": "file", - "description": "File containing software version", - "pattern": "*.{version.yml}" - } - }, - { - "bam": { - "type": "file", - "description": "Unaligned, unsorted BAM file", - "pattern": "*.{bam}" - } - }, - { - "cram": { - "type": "file", - "description": "Unaligned, unsorted CRAM file", - "pattern": "*.{cram}" - } - } - ], - "authors": ["@lescai", "@matthdsm"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "fgbio_filterconsensusreads", - "path": "modules/nf-core/fgbio/filterconsensusreads/meta.yml", - "type": "module", - "meta": { - "name": "fgbio_filterconsensusreads", - "description": "Uses FGBIO FilterConsensusReads to filter consensus reads generated by CallMolecularConsensusReads or CallDuplexConsensusReads.", - "keywords": ["fgbio", "filter", "consensus", "umi", "duplexumi"], - "tools": [ - { - "fgbio": { - "description": "A set of tools for working with genomic and high throughput sequencing data, including UMIs", - "homepage": "http://fulcrumgenomics.github.io/fgbio/", - "documentation": "http://fulcrumgenomics.github.io/fgbio/tools/latest/FilterConsensusReads.html", - "tool_dev_url": "https://github.com/fulcrumgenomics/fgbio", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Filtered consensus BAM file", - "pattern": "*.bam" - } - } - ], - "authors": ["@lescai"] - } - }, - { - "name": "fgbio_groupreadsbyumi", - "path": "modules/nf-core/fgbio/groupreadsbyumi/meta.yml", - "type": "module", - "meta": { - "name": "fgbio_groupreadsbyumi", - "description": "Groups reads together that appear to have come from the same original molecule.\nReads are grouped by template, and then templates are sorted by the 5’ mapping positions\nof the reads from the template, used from earliest mapping position to latest.\nReads that have the same end positions are then sub-grouped by UMI sequence.\n(!) Note: the MQ tag is required on reads with mapped mates (!)\nThis can be added using samblaster with the optional argument --addMateTags.\n", - "keywords": ["UMI", "groupreads", "fgbio"], - "tools": [ - { - "fgbio": { - "description": "A set of tools for working with genomic and high throughput sequencing data, including UMIs", - "homepage": "http://fulcrumgenomics.github.io/fgbio/", - "documentation": "http://fulcrumgenomics.github.io/fgbio/tools/latest/", - "tool_dev_url": "https://github.com/fulcrumgenomics/fgbio", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file. Note: the MQ tag is required on reads with mapped mates (!)\n", - "pattern": "*.bam" - } - }, - { - "strategy": { - "type": "value", - "description": "Reguired argument: defines the UMI assignment strategy.\nMust be chosen among: Identity, Edit, Adjacency, Paired.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "UMI-grouped BAM", - "pattern": "*.bam" - } - }, - { - "histogram": { - "type": "file", - "description": "A text file containing the tag family size counts", - "pattern": "*.txt" - } - } - ], - "authors": ["@lescai"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "fgbio_sortbam", - "path": "modules/nf-core/fgbio/sortbam/meta.yml", - "type": "module", - "meta": { - "name": "fgbio_sortbam", - "description": "Sorts a SAM or BAM file. Several sort orders are available, including coordinate, queryname, random, and randomquery.", - "keywords": ["sort", "bam", "sam"], - "tools": [ - { - "fgbio": { - "description": "Tools for working with genomic and high throughput sequencing data.", - "homepage": "https://github.com/fulcrumgenomics/fgbio", - "documentation": "http://fulcrumgenomics.github.io/fgbio/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false, collapse:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "The input SAM or BAM file to be sorted.\n", - "pattern": "*.{bam,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Output SAM or BAM file.\n", - "pattern": "*.{bam,sam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sruthipsuresh"] - } - }, - { - "name": "fgbio_zipperbams", - "path": "modules/nf-core/fgbio/zipperbams/meta.yml", - "type": "module", - "meta": { - "name": "fgbio_zipperbams", - "description": "FGBIO tool to zip together an unmapped and mapped BAM to transfer metadata into the output BAM", - "keywords": ["fgbio", "zipperbams"], - "tools": [ - { - "fgbio": { - "description": "A set of tools for working with genomic and high throughput sequencing data, including UMIs", - "homepage": "http://fulcrumgenomics.github.io/fgbio/", - "documentation": "http://fulcrumgenomics.github.io/fgbio/tools/latest/", - "tool_dev_url": "https://github.com/fulcrumgenomics/fgbio", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "mbam": { - "type": "file", - "description": "mapped BAM/SAM file", - "pattern": "*.{bam,sam}" - } - }, - { - "ubam": { - "type": "file", - "description": "unmapped BAM file", - "pattern": "*.bam" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "authors": ["@lescai"] - } - }, - { - "name": "filtlong", - "path": "modules/nf-core/filtlong/meta.yml", - "type": "module", - "meta": { - "name": "filtlong", - "description": "Filtlong filters long reads based on quality measures or short read data.", - "keywords": ["nanopore", "quality control", "QC", "filtering", "long reads", "short reads"], - "tools": [ - { - "filtlong": { - "description": "Filtlong is a tool for filtering long reads. It can take a set of long reads and produce a smaller, better subset. It uses both read length (longer is better) and read identity (higher is better) when choosing which reads pass the filter.", - "homepage": "https://anaconda.org/bioconda/filtlong", - "tool_dev_url": "https://github.com/rrwick/Filtlong", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "shortreads": { - "type": "file", - "description": "fastq file", - "pattern": "*.{fq,fastq,fq.gz,fastq.gz}" - } - }, - { - "longreads": { - "type": "file", - "description": "fastq file", - "pattern": "*.{fq,fastq,fq.gz,fastq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "reads": { - "type": "file", - "description": "Filtered (compressed) fastq file", - "pattern": "*.fastq.gz" - } - }, - { - "log": { - "type": "file", - "description": "Standard error logging file containing summary statistics", - "pattern": "*.log" - } - } - ], - "authors": ["@d4straub", "@sofstam"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "flash", - "path": "modules/nf-core/flash/meta.yml", - "type": "module", - "meta": { - "name": "flash", - "description": "Perform merging of mate paired-end sequencing reads", - "keywords": ["sort", "reads merging", "merge mate pairs"], - "tools": [ - { - "flash": { - "description": "Merge mates from fragments that are shorter than twice the read length\n", - "homepage": "https://ccb.jhu.edu/software/FLASH/", - "doi": "10.1093/bioinformatics/btr507", - "licence": ["GPL v3+"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 2; i.e., paired-end data.\n", - "pattern": "*fastq.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "The merged fastq reads", - "pattern": "*fastq.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Erkison"] - } - }, - { - "name": "flye", - "path": "modules/nf-core/flye/meta.yml", - "type": "module", - "meta": { - "name": "flye", - "description": "De novo assembler for single molecule sequencing reads", - "keywords": ["assembly", "genome", "de novo", "genome assembler", "single molecule"], - "tools": [ - { - "flye": { - "description": "Fast and accurate de novo assembler for single molecule sequencing reads", - "homepage": "https://github.com/fenderglass/Flye", - "documentation": "https://github.com/fenderglass/Flye/blob/flye/docs/USAGE.md", - "tool_dev_url": "https://github.com/fenderglass/Flye", - "doi": "10.1038/s41592-020-00971-x", - "licence": "['BSD-3-clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Input reads from Oxford Nanopore or PacBio data in FASTA/FASTQ format.", - "pattern": "*.{fasta,fastq,fasta.gz,fastq.gz,fa,fq,fa.gz,fq.gz}" - } - }, - { - "mode": { - "type": "value", - "description": "Flye mode depending on the input data (source and error rate)", - "pattern": "--pacbio-raw|--pacbio-corr|--pacbio-hifi|--nano-raw|--nano-corr|--nano-hq" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fasta": { - "type": "file", - "description": "Assembled FASTA file", - "pattern": "*.fasta.gz" - } - }, - { - "gfa": { - "type": "file", - "description": "Repeat graph in gfa format", - "pattern": "*.gfa.gz" - } - }, - { - "gv": { - "type": "file", - "description": "Repeat graph in gv format", - "pattern": "*.gv.gz" - } - }, - { - "txt": { - "type": "file", - "description": "Extra information and statistics about resulting contigs", - "pattern": "*.txt" - } - }, - { - "log": { - "type": "file", - "description": "Flye log file", - "pattern": "*.log" - } - }, - { - "json": { - "type": "file", - "description": "Flye parameters", - "pattern": "*.json" - } - } - ], - "authors": ["@mirpedrol"] - } - }, - { - "name": "fq_generate", - "path": "modules/nf-core/fq/generate/meta.yml", - "type": "module", - "meta": { - "name": "fq_generate", - "description": "fq generate is a FASTQ file pair generator. It creates two reads, formatting names as described by Illumina. While generate creates \"valid\" FASTQ reads, the content of the files are completely random. The sequences do not align to any genome. This requires a seed (--seed) to be supplied in ext.args.\n", - "keywords": ["generate", "fastq"], - "tools": [ - { - "fq": { - "description": "fq is a library to generate and validate FASTQ file pairs.", - "homepage": "https://github.com/stjude-rust-labs/fq", - "documentation": "https://github.com/stjude-rust-labs/fq", - "tool_dev_url": "https://github.com/stjude-rust-labs/fq", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "Random generated FASTQ files.", - "pattern": "*_R[12].fastq.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@adamrtalbot"] - } - }, - { - "name": "fq_lint", - "path": "modules/nf-core/fq/lint/meta.yml", - "type": "module", - "meta": { - "name": "fq_lint", - "description": "fq lint is a FASTQ file pair validator.", - "keywords": ["lint", "fastq"], - "tools": [ - { - "fq": { - "description": "fq is a library to generate and validate FASTQ file pairs.", - "homepage": "https://github.com/stjude-rust-labs/fq", - "documentation": "https://github.com/stjude-rust-labs/fq", - "tool_dev_url": "https://github.com/stjude-rust-labs/fq", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "FASTQ file list", - "pattern": "*.fastq{,.gz}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@adamrtalbot"] - } - }, - { - "name": "fq_subsample", - "path": "modules/nf-core/fq/subsample/meta.yml", - "type": "module", - "meta": { - "name": "fq_subsample", - "description": "fq subsample outputs a subset of records from single or paired FASTQ files. This requires a seed (--seed) to be set in ext.args.", - "keywords": ["fastq", "sample"], - "tools": [ - { - "fq": { - "description": "fq is a library to generate and validate FASTQ file pairs.", - "homepage": "https://github.com/stjude-rust-labs/fq", - "documentation": "https://github.com/stjude-rust-labs/fq", - "tool_dev_url": "https://github.com/stjude-rust-labs/fq", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "FASTQ file", - "pattern": "*.{fq,fastq}{,.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fastq": { - "type": "file", - "description": "Randomly sampled FASTQ files.", - "pattern": "*_R[12].fastq.gz" - } - } - ], - "authors": ["@adamrtalbot"] - }, - "pipelines": [ - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "fqtk", - "path": "modules/nf-core/fqtk/meta.yml", - "type": "module", - "meta": { - "name": "fqtk", - "description": "Demultiplex fastq files", - "keywords": ["demultiplex", "fastq", "rust"], - "tools": [ - { - "fqtk": { - "description": "A toolkit for working with FASTQ files, written in Rust.", - "homepage": "https://github.com/fulcrumgenomics/fqtk", - "documentation": "https://github.com/fulcrumgenomics/fqtk", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sample_sheet": { - "type": "file", - "description": "Tsv file, with two columns sample_id and barcode", - "pattern": "*.{tsv}" - } - }, - { - "fastq_readstructure_pairs": { - "type": "map", - "description": "List of lists i.e. [[, , ],...]" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sample_fastq": { - "type": "file", - "description": "Demultiplexed per-sample FASTQ files", - "pattern": "output/*R*.fastq.gz" - } - }, - { - "metrics": { - "type": "file", - "description": "Demultiplexing summary stats; sample_id, barcode templates, frac_templates, ratio_to_mean, ratio_to_best\n", - "pattern": "output/demux-metrics.txt" - } - }, - { - "most_frequent_unmatched": { - "type": "file", - "description": "File containing unmatched fastq records\n", - "pattern": "output/unmatched*.fq.gz" - } - } - ], - "authors": ["Samantha White @sam-white04"] - }, - "pipelines": [ - { - "name": "demultiplex", - "version": "1.3.2" - } - ] - }, - { - "name": "freebayes", - "path": "modules/nf-core/freebayes/meta.yml", - "type": "module", - "meta": { - "name": "freebayes", - "description": "A haplotype-based variant detector", - "keywords": [ - "variant caller", - "SNP", - "genotyping", - "somatic variant calling", - "germline variant calling", - "bacterial variant calling", - "bayesian" - ], - "tools": [ - { - "freebayes": { - "description": "Bayesian haplotype-based polymorphism discovery and genotyping", - "homepage": "https://github.com/freebayes/freebayes", - "documentation": "https://github.com/freebayes/freebayes", - "tool_dev_url": "https://github.com/freebayes/freebayes", - "doi": "10.48550/arXiv.1207.3907", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai}" - } - }, - { - "target_bed": { - "type": "file", - "description": "Optional - Limit analysis to targets listed in this BED-format FILE.", - "pattern": "*.bed" - } - }, - { - "fasta": { - "type": "file", - "description": "reference fasta file", - "pattern": ".{fa,fa.gz,fasta,fasta.gz}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "reference fasta file index", - "pattern": "*.{fa,fasta}.fai" - } - }, - { - "samples": { - "type": "file", - "description": "Optional - Limit analysis to samples listed (one per line) in the FILE.", - "pattern": "*.txt" - } - }, - { - "populations": { - "type": "file", - "description": "Optional - Each line of FILE should list a sample and a population which it is part of.", - "pattern": "*.txt" - } - }, - { - "cnv": { - "type": "file", - "description": "A copy number map BED file, which has either a sample-level ploidy:\nsample_name copy_number\nor a region-specific format:\nseq_name start end sample_name copy_number\n", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "version": { - "type": "file", - "description": "File containing software version", - "pattern": "*.{version.txt}" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed VCF file", - "pattern": "*.vcf.gz" - } - } - ], - "authors": ["@maxibor", "@FriederikeHanssen", "@maxulysse"] - }, - "subworkflows": ["bam_variant_calling_sort_freebayes_bcftools"], - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "freyja_boot", - "path": "modules/nf-core/freyja/boot/meta.yml", - "type": "module", - "meta": { - "name": "freyja_boot", - "description": "Bootstrap sample demixing by resampling each site based on a multinomial distribution of read depth across all sites, where the event probabilities were determined by the fraction of the total sample reads found at each site, followed by a secondary resampling at each site according to a multinomial distribution (that is, binomial when there was only one SNV at a site), where event probabilities were determined by the frequencies of each base at the site, and the number of trials is given by the sequencing depth.", - "keywords": ["variants", "fasta", "deconvolution", "wastewater", "bootstrapping"], - "tools": [ - { - "freyja": { - "description": "Freyja recovers relative lineage abundances from mixed SARS-CoV-2 samples and provides functionality to analyze lineage dynamics.", - "homepage": "https://github.com/andersen-lab/Freyja", - "documentation": "https://github.com/andersen-lab/Freyja/wiki", - "tool_dev_url": "https://github.com/andersen-lab/Freyja", - "doi": "10.1038/s41586-022-05049-6", - "licence": "['BSD-2-Clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "variants": { - "type": "file", - "description": "File containing identified variants in a gff-like format", - "pattern": "*.variants.tsv" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "depths": { - "type": "file", - "description": "File containing depth of the variants", - "pattern": "*.depth.tsv" - } - }, - { - "repeats": { - "type": "integer", - "description": "Number of bootstrap repeats to perform" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "barcodes": { - "type": "file", - "description": "File containing lineage defining barcodes", - "pattern": "*barcodes.csv" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "lineages_meta": { - "type": "file", - "description": "File containing lineage metadata that correspond to barcodes", - "pattern": "*lineages.json" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "lineages": { - "type": "file", - "description": "a csv file that includes the lineages present and their corresponding abundances", - "pattern": "*lineages.csv" - } - }, - { - "summarized": { - "type": "file", - "description": "a csv file that includes the lineages present but summarized by constellation and their corresponding abundances", - "pattern": "*summarized.csv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "freyja_demix", - "path": "modules/nf-core/freyja/demix/meta.yml", - "type": "module", - "meta": { - "name": "freyja_demix", - "description": "specify the relative abundance of each known haplotype", - "keywords": ["variants", "fasta", "deconvolution", "wastewater"], - "tools": [ - { - "freyja": { - "description": "Freyja recovers relative lineage abundances from mixed SARS-CoV-2 samples and provides functionality to analyze lineage dynamics.", - "homepage": "https://github.com/andersen-lab/Freyja", - "documentation": "https://github.com/andersen-lab/Freyja/wiki", - "tool_dev_url": "https://github.com/andersen-lab/Freyja", - "doi": "10.1038/s41586-022-05049-6", - "licence": "['BSD-2-Clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "variants": { - "type": "file", - "description": "File containing identified variants in a gff-like format", - "pattern": "*.variants.tsv" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "depths": { - "type": "file", - "description": "File containing depth of the variants", - "pattern": "*.depth.tsv" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "barcodes": { - "type": "file", - "description": "File containing lineage defining barcodes", - "pattern": "*barcodes.csv" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "lineages_meta": { - "type": "file", - "description": "File containing lineage metadata that correspond to barcodes", - "pattern": "*lineages.json" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "demix": { - "type": "file", - "description": "a tsv file that includes the lineages present, their corresponding abundances, and summarization by constellation", - "pattern": "*.demix.tsv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "freyja_update", - "path": "modules/nf-core/freyja/update/meta.yml", - "type": "module", - "meta": { - "name": "freyja_update", - "description": "downloads new versions of the curated SARS-CoV-2 lineage file and barcodes", - "keywords": ["database", "variants", "UShER"], - "tools": [ - { - "freyja": { - "description": "Freyja recovers relative lineage abundances from mixed SARS-CoV-2 samples and provides functionality to analyze lineage dynamics.", - "homepage": "https://github.com/andersen-lab/Freyja", - "documentation": "https://github.com/andersen-lab/Freyja/wiki", - "tool_dev_url": "https://github.com/andersen-lab/Freyja", - "doi": "10.1038/s41586-022-05049-6", - "licence": "['BSD-2-Clause']" - } - } - ], - "input": [ - { - "db_name": { - "type": "string", - "description": "The name of the database directory" - } - } - ], - "output": [ - { - "barcodes": { - "type": "file", - "description": "File containing lineage defining barcodes", - "pattern": "*barcodes.csv" - } - }, - { - "lineages_topology": { - "type": "file", - "description": "File containing the lineage topology", - "pattern": "*lineages.yml" - } - }, - { - "lineages_meta": { - "type": "file", - "description": "File containing lineage metadata that correspond to barcodes", - "pattern": "*lineages.json" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "freyja_variants", - "path": "modules/nf-core/freyja/variants/meta.yml", - "type": "module", - "meta": { - "name": "freyja_variants", - "description": "call variant and sequencing depth information of the variant", - "keywords": ["variants", "fasta", "wastewater"], - "tools": [ - { - "freyja": { - "description": "Freyja recovers relative lineage abundances from mixed SARS-CoV-2 samples and provides functionality to analyze lineage dynamics.", - "homepage": "https://github.com/andersen-lab/Freyja", - "documentation": "https://github.com/andersen-lab/Freyja/wiki", - "tool_dev_url": "https://github.com/andersen-lab/Freyja", - "doi": "10.1038/s41586-022-05049-6", - "licence": "['BSD-2-Clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM file", - "pattern": "*.bam" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference sequence used for mapping and generating the BAM file", - "pattern": "*.fa" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "variants": { - "type": "file", - "description": "File containing identified variants in a gff-like format", - "pattern": "*.variants.tsv" - } - }, - { - "depths": { - "type": "file", - "description": "File containing depth of the variants", - "pattern": "*.depth.tsv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "gamma_gamma", - "path": "modules/nf-core/gamma/gamma/meta.yml", - "type": "module", - "meta": { - "name": "gamma_gamma", - "description": "Gene Allele Mutation Microbial Assessment", - "keywords": ["gamma", "gene-calling"], - "tools": [ - { - "gamma": { - "description": "Tool for Gene Allele Mutation Microbial Assessment", - "homepage": "https://github.com/rastanton/GAMMA", - "documentation": "https://github.com/rastanton/GAMMA", - "tool_dev_url": "https://github.com/rastanton/GAMMA", - "doi": "10.1093/bioinformatics/btab607", - "licence": "['Apache License 2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file", - "pattern": "*.{fa,fasta}" - } - }, - { - "db": { - "type": "file", - "description": "Database in FASTA format", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "gamma": { - "type": "file", - "description": "GAMMA file with annotated gene matches", - "pattern": "*.{gamma}" - } - }, - { - "psl": { - "type": "file", - "description": "PSL file with all gene matches found", - "pattern": "*.{psl}" - } - }, - { - "gff": { - "type": "file", - "description": "GFF file", - "pattern": "*.{gff}" - } - }, - { - "fasta": { - "type": "file", - "description": "multifasta file of the gene matches", - "pattern": "*.{fasta}" - } - } - ], - "authors": ["@sateeshperi", "@rastanton", "@jvhagey"] - } - }, - { - "name": "gangstr", - "path": "modules/nf-core/gangstr/meta.yml", - "type": "module", - "meta": { - "name": "gangstr", - "description": "GangSTR is a tool for genome-wide profiling tandem repeats from short reads.", - "keywords": ["gangstr", "STR", "bam", "cram", "vcf"], - "tools": [ - { - "gangstr": { - "description": "GangSTR is a tool for genome-wide profiling tandem repeats from short reads.", - "homepage": "https://github.com/gymreklab/GangSTR", - "documentation": "https://github.com/gymreklab/GangSTR", - "tool_dev_url": "https://github.com/gymreklab/GangSTR", - "doi": "10.1093/nar/gkz501", - "licence": "['GPL v3-or-later']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "aligment_files": { - "type": "file", - "description": "One or more sorted BAM/CRAM file(s)", - "pattern": "*.{bam,cram}" - } - }, - { - "alignment_indices": { - "type": "file", - "description": "The index/indices of the BAM/CRAM file(s)", - "pattern": "*.{bai,crai}" - } - }, - { - "ref_regions": { - "type": "file", - "description": "A reference set of regions to genotype in a BED-like format. The file should have following columns:\n1. The name of the chromosome on which the STR is located\n2. The start position of the STR on its chromosome\n3. The end position of the STR on its chromosome\n4. The motif length\n5. The repeat motif\n", - "pattern": "*.bed" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference FASTA file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the reference FASTA file", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "The resulting VCF file containing the genotypes", - "pattern": "*.vcf" - } - }, - { - "samplestats": { - "type": "file", - "description": "A tab-delimited file containing statistics for each sample", - "pattern": "*.tab" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "ganon_buildcustom", - "path": "modules/nf-core/ganon/buildcustom/meta.yml", - "type": "module", - "meta": { - "name": "ganon_buildcustom", - "description": "Build ganon database using custom reference sequences.", - "keywords": ["ganon", "metagenomics", "profiling", "taxonomy", "k-mer", "database"], - "tools": [ - { - "ganon": { - "description": "ganon classifies short DNA sequences against large sets of genomic reference sequences efficiently", - "homepage": "https://github.com/pirovc/ganon", - "documentation": "https://github.com/pirovc/ganon", - "tool_dev_url": "https://github.com/pirovc/ganon", - "doi": "10.1093/bioinformatics/btaa458", - "licence": "['MIT License']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "List of input FASTA files, or a directory containing input FASTA files.\nNote you must supply --input-extension via ext.args if FASTA extensions do not end in the default `fna.gz`.\n", - "pattern": "*" - } - }, - { - "taxonomy_files": { - "type": "file", - "description": "Pre-downloaded taxonomy files of input sequences. See ganon docs for formats" - } - }, - { - "genome_size_files": { - "type": "file", - "description": "Pre-downloaded NCBI or GTDB genome size files of input sequences. See ganon docs for formats", - "pattern": "{species_genome_size.txt.gz,*_metadata.tar.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "db": { - "type": "file", - "description": "ganon database files", - "pattern": "*.{ibf,tax}" - } - }, - { - "info": { - "type": "file", - "description": "Copy of target info generated. Can be used for updating database.", - "pattern": "*info.tsv" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "ganon_classify", - "path": "modules/nf-core/ganon/classify/meta.yml", - "type": "module", - "meta": { - "name": "ganon_classify", - "description": "Classify FASTQ files against ganon database", - "keywords": ["ganon", "metagenomics", "profiling", "taxonomy", "k-mer", "classification", "classify"], - "tools": [ - { - "ganon": { - "description": "ganon classifies short DNA sequences against large sets of genomic reference sequences efficiently", - "homepage": "https://github.com/pirovc/ganon", - "documentation": "https://github.com/pirovc/ganon", - "tool_dev_url": "https://github.com/pirovc/ganon", - "doi": "10.1093/bioinformatics/btaa458", - "licence": "['MIT License']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastqs": { - "type": "file", - "description": "Single or paired FASTQ files, optionally gzipped", - "pattern": "*.{fq,fq.gz,fastq,fastq.gz}" - } - }, - { - "dbs": { - "type": "file", - "description": "Ganon database files from build or build-custom", - "pattern": "*.{ibf,tax}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tre": { - "type": "file", - "description": "Full ganon report file", - "pattern": "*.tre" - } - }, - { - "report": { - "type": "file", - "description": "Plain ganon report file with only targets with match", - "pattern": "*.rep" - } - }, - { - "lca": { - "type": "file", - "description": "Information about the lowest common ancestor match of a given read", - "pattern": "*.lca" - } - }, - { - "all": { - "type": "file", - "description": "Information of all matches to a given read", - "pattern": "*.all" - } - }, - { - "unc": { - "type": "file", - "description": "List of all reads without a hit", - "pattern": "*.unc" - } - }, - { - "log": { - "type": "file", - "description": "Text file containing console output from ganon classify", - "pattern": "*.log" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "ganon_report", - "path": "modules/nf-core/ganon/report/meta.yml", - "type": "module", - "meta": { - "name": "ganon_report", - "description": "Generate a ganon report file from the output of ganon classify", - "keywords": ["ganon", "metagenomics", "profiling", "taxonomy", "k-mer", "classification", "report"], - "tools": [ - { - "ganon": { - "description": "ganon classifies short DNA sequences against large sets of genomic reference sequences efficiently", - "homepage": "https://github.com/pirovc/ganon", - "documentation": "https://github.com/pirovc/ganon", - "tool_dev_url": "https://github.com/pirovc/ganon", - "doi": "10.1093/bioinformatics/btaa458", - "licence": "['MIT License']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "rep": { - "type": "file", - "description": "Input 'repo' files from ganon classify", - "pattern": "*.rep" - } - }, - { - "dbs": { - "type": "file", - "description": "Ganon database files from build or build-custom", - "pattern": "*.{ibf,tax}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tre": { - "type": "file", - "description": "Output ganon report containing taxonomic profile information. Formatting of contents depends on --output-format.", - "pattern": "*.tre" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "ganon_table", - "path": "modules/nf-core/ganon/table/meta.yml", - "type": "module", - "meta": { - "name": "ganon_table", - "description": "Generate a multi-sample report file from the output of ganon report runs", - "keywords": [ - "ganon", - "metagenomics", - "profiling", - "taxonomy", - "k-mer", - "classification", - "report", - "table" - ], - "tools": [ - { - "ganon": { - "description": "ganon classifies short DNA sequences against large sets of genomic reference sequences efficiently", - "homepage": "https://github.com/pirovc/ganon", - "documentation": "https://github.com/pirovc/ganon", - "tool_dev_url": "https://github.com/pirovc/ganon", - "doi": "10.1093/bioinformatics/btaa458", - "licence": "['MIT License']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tre": { - "type": "file", - "description": "A list of 'tre' files from ganon report", - "pattern": "*.tre" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "Output ganon table containing taxonomic profile information of multiple samples. Formatting of contents depends on --output-format.", - "pattern": "*.txt" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "gappa_examineassign", - "path": "modules/nf-core/gappa/examineassign/meta.yml", - "type": "module", - "meta": { - "name": "gappa_examineassign", - "description": "assigns taxonomy to query sequences in phylogenetic placement output", - "keywords": ["phylogeny", "phylogenetic placement", "classification", "taxonomy"], - "tools": [ - { - "gappa": { - "description": "Genesis Applications for Phylogenetic Placement Analysis", - "homepage": "https://github.com/lczech/gappa", - "documentation": "https://github.com/lczech/gappa/wiki", - "tool_dev_url": "https://github.com/lczech/gappa", - "doi": "10.1093/bioinformatics/btaa070", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "jplace": { - "type": "file", - "description": "jplace file output from phylogenetic placement, e.g. EPA-NG, gzipped or not", - "pattern": "*.{jplace,jplace.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "examineassign": { - "type": "directory", - "description": "Execution directory" - } - }, - { - "profile": { - "type": "file", - "description": "profile tsv file", - "pattern": "*profile.tsv" - } - }, - { - "labelled_tree": { - "type": "file", - "description": "labelled tree in newick format", - "pattern": "*labelled_tree.newick" - } - }, - { - "per_query": { - "type": "file", - "description": "per query taxonomy assignments in tsv format", - "pattern": "*per_query.tsv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@erikrikarddaniel"] - }, - "pipelines": [ - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "phyloplace", - "version": "1.0.0" - } - ] - }, - { - "name": "gappa_examinegraft", - "path": "modules/nf-core/gappa/examinegraft/meta.yml", - "type": "module", - "meta": { - "name": "gappa_examinegraft", - "description": "grafts query sequences from phylogenetic placement on the reference tree", - "keywords": ["sort"], - "tools": [ - { - "gappa": { - "description": "Genesis Applications for Phylogenetic Placement Analysis", - "homepage": "https://github.com/lczech/gappa", - "documentation": "https://github.com/lczech/gappa/wiki", - "tool_dev_url": "https://github.com/lczech/gappa", - "doi": "10.1093/bioinformatics/btaa070", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "jplace": { - "type": "file", - "description": "jplace file output from phylogenetic placement, e.g. EPA-NG, gzipped or not", - "pattern": "*.{jplace,jplace.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "newick": { - "type": "file", - "description": "phylogenetic tree file in newick format", - "pattern": "*.newick" - } - } - ], - "authors": ["@erikrikarddaniel"] - }, - "pipelines": [ - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "phyloplace", - "version": "1.0.0" - } - ] - }, - { - "name": "gappa_examineheattree", - "path": "modules/nf-core/gappa/examineheattree/meta.yml", - "type": "module", - "meta": { - "name": "gappa_examineheattree", - "description": "colours a phylogeny with placement densities", - "keywords": ["phylogeny", "phylogenetic placement", "heattree", "visualisation"], - "tools": [ - { - "gappa": { - "description": "Genesis Applications for Phylogenetic Placement Analysis", - "homepage": "https://github.com/lczech/gappa", - "documentation": "https://github.com/lczech/gappa/wiki", - "tool_dev_url": "https://github.com/lczech/gappa", - "doi": "10.1093/bioinformatics/btaa070", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "jplace": { - "type": "file", - "description": "jplace file output from phylogenetic placement, e.g. EPA-NG, gzipped or not", - "pattern": "*.{jplace,jplace.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "newick": { - "type": "file", - "description": "phylogenetic tree file in newick format", - "pattern": "*.newick" - } - }, - { - "nexus": { - "type": "file", - "description": "coloured phylogenetic tree file in nexus format", - "pattern": "*.nexus" - } - }, - { - "phyloxml": { - "type": "file", - "description": "coloured phylogenetic tree file in phyloxml format", - "pattern": "*.phyloxml" - } - }, - { - "svg": { - "type": "file", - "description": "coloured phylogenetic tree file in svg format", - "pattern": "*.svg" - } - }, - { - "colours": { - "type": "file", - "description": "colours used in plot", - "pattern": "*.colours.txt" - } - }, - { - "log": { - "type": "file", - "description": "log file from the run", - "pattern": "*.log" - } - } - ], - "authors": ["@erikrikarddaniel"] - }, - "pipelines": [ - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "phyloplace", - "version": "1.0.0" - } - ] - }, - { - "name": "gatk4_annotateintervals", - "path": "modules/nf-core/gatk4/annotateintervals/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_annotateintervals", - "description": "Annotates intervals with GC content, mappability, and segmental-duplication content", - "keywords": ["gatk", "annotateintervals", "intervals", "bed", "annotation"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "intervals": { - "type": "file(s)", - "description": "One or more interval files to annotate", - "pattern": "*.{interval_list,list,bed}" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference FASTA file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the reference FASTA file", - "pattern": "*.fai" - } - }, - { - "dict": { - "type": "file", - "description": "The sequence dictionary reference FASTA file", - "pattern": "*.dict" - } - }, - { - "mappable_regions": { - "type": "file", - "description": "Optional - Umap single-read mappability track\nThe track should correspond to the appropriate read length and overlapping intervals must be merged\n", - "pattern": "*.bed(.gz)?" - } - }, - { - "mappable_regions_tbi": { - "type": "file", - "description": "Optional - The index of the gzipped umap single-read mappability track", - "pattern": "*.bed.gz.tbi" - } - }, - { - "segmental_duplication_regions": { - "type": "file", - "description": "Optional - Segmental-duplication track", - "pattern": "*.bed(.gz)?" - } - }, - { - "segmental_duplication_regions_tbi": { - "type": "file", - "description": "Optional - The index of the gzipped segmental-duplication track", - "pattern": "*.bed.gz.tbi" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "annotated_intervals": { - "type": "file", - "description": "The output TSV file with a SAM-style header containing the annotated intervals", - "pattern": "*.tsv" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gatk4_applybqsr", - "path": "modules/nf-core/gatk4/applybqsr/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_applybqsr", - "description": "Apply base quality score recalibration (BQSR) to a bam file", - "keywords": ["bqsr", "bam", "base quality score recalibration"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file from alignment", - "pattern": "*.{bam,cram}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAI/CRAI file from alignment", - "pattern": "*.{bai,crai}" - } - }, - { - "bqsr_table": { - "type": "file", - "description": "Recalibration table from gatk4_baserecalibrator" - } - }, - { - "intervals": { - "type": "file", - "description": "Bed file with the genomic regions included in the library (optional)" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Recalibrated BAM file", - "pattern": "*.{bam}" - } - }, - { - "cram": { - "type": "file", - "description": "Recalibrated CRAM file", - "pattern": "*.{cram}" - } - } - ], - "authors": ["@yocra3", "@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_applybqsrspark", - "path": "modules/nf-core/gatk4/applybqsrspark/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_applybqsr_spark", - "description": "Apply base quality score recalibration (BQSR) to a bam file", - "keywords": ["bqsr", "bam", "gatk"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file from alignment", - "pattern": "*.{bam,cram}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAI/CRAI file from alignment", - "pattern": "*.{bai,crai}" - } - }, - { - "bqsr_table": { - "type": "file", - "description": "Recalibration table from gatk4_baserecalibrator" - } - }, - { - "intervals": { - "type": "file", - "description": "Bed file with the genomic regions included in the library (optional)" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Recalibrated BAM file", - "pattern": "*.{bam}" - } - }, - { - "cram": { - "type": "file", - "description": "Recalibrated CRAM file", - "pattern": "*.{cram}" - } - } - ], - "authors": ["@yocra3", "@FriederikeHanssen", "@maxulysse"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_applyvqsr", - "path": "modules/nf-core/gatk4/applyvqsr/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_applyvqsr", - "description": "Apply a score cutoff to filter variants based on a recalibration table.\nAplyVQSR performs the second pass in a two-stage process called Variant Quality Score Recalibration (VQSR).\nSpecifically, it applies filtering to the input variants based on the recalibration table produced\nin the first step by VariantRecalibrator and a target sensitivity value.\n", - "keywords": ["gatk4", "applyvqsr", "VQSR"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file to be recalibrated, this should be the same file as used for the first stage VariantRecalibrator.", - "pattern": "*.vcf" - } - }, - { - "vcf_tbi": { - "type": "file", - "description": "tabix index for the input vcf file.", - "pattern": "*.vcf.tbi" - } - }, - { - "recal": { - "type": "file", - "description": "Recalibration file produced when the input vcf was run through VariantRecalibrator in stage 1.", - "pattern": "*.recal" - } - }, - { - "recal_index": { - "type": "file", - "description": "Index file for the recalibration file.", - "pattern": ".recal.idx" - } - }, - { - "tranches": { - "type": "file", - "description": "Tranches file produced when the input vcf was run through VariantRecalibrator in stage 1.", - "pattern": ".tranches" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "vcf": { - "type": "file", - "description": "compressed vcf file containing the recalibrated variants.", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Index of recalibrated vcf file.", - "pattern": "*vcf.gz.tbi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions.", - "pattern": "versions.yml" - } - } - ], - "authors": ["@GCJMackenzie"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_asereadcounter", - "path": "modules/nf-core/gatk4/asereadcounter/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_asereadcounter", - "description": "Calculates the allele-specific read counts for alle-specific expression analysis of RNAseq data", - "keywords": ["asereadcounter", "gatk4", "allele-specific"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf.gz}" - } - }, - { - "fasta": { - "type": "file", - "description": "fasta file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fai": { - "type": "file", - "description": "fasta index file", - "pattern": "*.{fai}" - } - }, - { - "dict": { - "type": "file", - "description": "dictionary file", - "pattern": "*.{dict}" - } - }, - { - "intervals": { - "type": "file", - "description": "interval file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "csv": { - "type": "file", - "description": "output file", - "pattern": "*.{csv}" - } - } - ], - "authors": ["@Lucpen"] - } - }, - { - "name": "gatk4_baserecalibrator", - "path": "modules/nf-core/gatk4/baserecalibrator/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_baserecalibrator", - "description": "Generate recalibration table for Base Quality Score Recalibration (BQSR)", - "keywords": ["sort"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file from alignment", - "pattern": "*.{bam,cram}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAI/CRAI file from alignment", - "pattern": "*.{bai,crai}" - } - }, - { - "intervals": { - "type": "file", - "description": "Bed file with the genomic regions included in the library (optional)" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - }, - { - "known_sites": { - "type": "file", - "description": "VCF files with known sites for indels / snps (optional)", - "pattern": "*.vcf.gz" - } - }, - { - "known_sites_tbi": { - "type": "file", - "description": "Tabix index of the known_sites (optional)", - "pattern": "*.vcf.gz.tbi" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "table": { - "type": "file", - "description": "Recalibration table from BaseRecalibrator", - "pattern": "*.{table}" - } - } - ], - "authors": ["@yocra3", "@FriederikeHanssen", "@maxulysse"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_baserecalibratorspark", - "path": "modules/nf-core/gatk4/baserecalibratorspark/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_baserecalibrator_spark", - "description": "Generate recalibration table for Base Quality Score Recalibration (BQSR)", - "keywords": ["sort", "bqsr", "gatk"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file from alignment", - "pattern": "*.{bam,cram}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAI/CRAI file from alignment", - "pattern": "*.{bai,crai}" - } - }, - { - "intervals": { - "type": "file", - "description": "Bed file with the genomic regions included in the library (optional)" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - }, - { - "known_sites": { - "type": "file", - "description": "VCF files with known sites for indels / snps (optional)", - "pattern": "*.vcf.gz" - } - }, - { - "known_sites_tbi": { - "type": "file", - "description": "Tabix index of the known_sites (optional)", - "pattern": "*.vcf.gz.tbi" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "table": { - "type": "file", - "description": "Recalibration table from BaseRecalibrator", - "pattern": "*.{table}" - } - } - ], - "authors": ["@yocra3", "@FriederikeHanssen", "@maxulysse"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_bedtointervallist", - "path": "modules/nf-core/gatk4/bedtointervallist/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_bedtointervallist", - "description": "Creates an interval list from a bed file and a reference dict", - "keywords": ["bed", "interval list", "bedtointervallist"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "bed": { - "type": "file", - "description": "Input bed file", - "pattern": "*.bed" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "dict": { - "type": "file", - "description": "Sequence dictionary", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "interval_list": { - "type": "file", - "description": "gatk interval list file", - "pattern": "*.interval_list" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kevinmenden", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "rnavar", - "version": "1.0.0" - } - ] - }, - { - "name": "gatk4_calculatecontamination", - "path": "modules/nf-core/gatk4/calculatecontamination/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_calculatecontamination", - "description": "Calculates the fraction of reads from cross-sample contamination based on summary tables from getpileupsummaries. Output to be used with filtermutectcalls.\n", - "keywords": [ - "gatk4", - "calculatecontamination", - "cross-samplecontamination", - "getpileupsummaries", - "filtermutectcalls" - ], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "pileup": { - "type": "file", - "description": "File containing the pileups summary table of a tumor sample to be used to calculate contamination.", - "pattern": "*.pileups.table" - } - }, - { - "matched": { - "type": "file", - "description": "File containing the pileups summary table of a normal sample that matches with the tumor sample specified in pileup argument. This is an optional input.", - "pattern": "*.pileups.table" - } - } - ], - "output": [ - { - "contamination": { - "type": "file", - "description": "File containing the contamination table.", - "pattern": "*.contamination.table" - } - }, - { - "segmentation": { - "type": "file", - "description": "output table containing segmentation of tumor minor allele fractions (optional)", - "pattern": "*.segmentation.table" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@GCJMackenzie", "@maxulysse"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_calibratedragstrmodel", - "path": "modules/nf-core/gatk4/calibratedragstrmodel/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_calibratedragstrmodel", - "description": "estimates the parameters for the DRAGstr model", - "keywords": ["gatk4", "bam", "cram", "sam", "calibratedragstrmodel"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4). Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360057441571-CalibrateDragstrModel-BETA-", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "bam_index": { - "type": "file", - "description": "index of the BAM/CRAM/SAM file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "intervals": { - "type": "file", - "description": "BED file or interval list containing regions (optional)", - "pattern": "*.{bed,interval_list}" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference FASTA file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the reference FASTA file", - "pattern": "*.fai" - } - }, - { - "dict": { - "type": "file", - "description": "The sequence dictionary of the reference FASTA file", - "pattern": "*.dict" - } - }, - { - "strtablefile": { - "type": "file", - "description": "The StrTableFile zip folder of the reference FASTA file", - "pattern": "*.zip" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "dragstr_model": { - "type": "file", - "description": "The DragSTR model", - "pattern": "*.txt" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gatk4_cnnscorevariants", - "path": "modules/nf-core/gatk4/cnnscorevariants/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_cnnscorevariants", - "description": "Apply a Convolutional Neural Net to filter annotated variants", - "keywords": ["gatk4_cnnscorevariants", "gatk4", "variants"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "VCF index file", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "aligned_input": { - "type": "file", - "description": "BAM/CRAM file from alignment (optional)", - "pattern": "*.{bam,cram}" - } - }, - { - "intervals": { - "type": "file", - "description": "Bed file with the genomic regions included in the library (optional)" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - }, - { - "architecture": { - "type": "file", - "description": "Neural Net architecture configuration json file (optional)", - "pattern": "*.json" - } - }, - { - "weights": { - "type": "file", - "description": "Keras model HD5 file with neural net weights. (optional)", - "pattern": "*.hd5" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Annotated VCF file", - "pattern": "*.vcf" - } - }, - { - "tbi": { - "type": "file", - "description": "VCF index file", - "pattern": "*.vcf.gz.tbi" - } - } - ], - "authors": ["@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_collectreadcounts", - "path": "modules/nf-core/gatk4/collectreadcounts/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_collectreadcounts", - "description": "Collects read counts at specified intervals. The count for each interval is calculated by counting the number of read starts that lie in the interval.", - "keywords": ["bam", "cram", "CollectReadCounts", "gatk", "gatk4"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4). Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360037593911-CombineGVCFs", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "intervals": { - "type": "file", - "description": "A file containing the specified intervals", - "pattern": "*.{bed,intervals}" - } - }, - { - "fasta": { - "type": "file", - "description": "Optional - Reference FASTA", - "pattern": "*.{fasta,fa}" - } - }, - { - "fai": { - "type": "file", - "description": "Optional - Index of the reference FASTA file", - "pattern": "*.fai" - } - }, - { - "dict": { - "type": "file", - "description": "Optional - Sequence dictionary of the reference FASTA file", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "hdf5": { - "type": "file", - "description": "The read counts in hdf5 format", - "pattern": "*.hdf5" - } - }, - { - "tsv": { - "type": "file", - "description": "The read counts in TSV format", - "pattern": "*.tsv" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gatk4_collectsvevidence", - "path": "modules/nf-core/gatk4/collectsvevidence/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_collectsvevidence", - "description": "Gathers paired-end and split read evidence files for use in the GATK-SV pipeline. Output files are a file containing the location of and orientation of read pairs marked as discordant, and a file containing the clipping location of all soft clipped reads and the orientation of the clipping.", - "keywords": ["gatk4", "collectsvevidence", "structural variants", "metrics"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4)", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": "['BSD-3-clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "input_index": { - "type": "file", - "description": "Index of the BAM/CRAM/SAM file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "site_depth_vcf": { - "type": "file", - "description": "Optional - input VCF of SNPs marking loci for site depths, needed for the site depths output", - "pattern": "*.vcf.gz" - } - }, - { - "site_depth_vcf_index": { - "type": "file", - "description": "Optional - index of the VCF file, needed for the site depths output", - "pattern": "*.tbi" - } - }, - { - "fasta": { - "type": "file", - "description": "Optional - reference FASTA file needed when the input is a CRAM file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "Optional - index of the reference FASTA file needed when the input is a CRAM file", - "pattern": "*.fai" - } - }, - { - "dict": { - "type": "file", - "description": "Optional - sequence dictionary of the reference FASTA file needed when the input is a CRAM file", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "split_read_evidence": { - "type": "file", - "description": "Output file for split read evidence", - "pattern": "*.sr.txt.gz" - } - }, - { - "split_read_evidence_index": { - "type": "file", - "description": "Index of the output file for split read evidence", - "pattern": "*.sr.txt.gz.tbi" - } - }, - { - "paired_end_evidence": { - "type": "file", - "description": "Output file for paired end evidence", - "pattern": "*.pe.txt.gz" - } - }, - { - "paired_end_evidence_index": { - "type": "file", - "description": "Index of the output file for paired end evidence", - "pattern": "*.pe.txt.gz.tbi" - } - }, - { - "site_depths": { - "type": "file", - "description": "Output file for site depths", - "pattern": "*.sd.txt.gz" - } - }, - { - "site_depths_index": { - "type": "file", - "description": "Index of the output file for site depths", - "pattern": "*.sd.txt.gz.tbi" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gatk4_combinegvcfs", - "path": "modules/nf-core/gatk4/combinegvcfs/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_combinegvcfs", - "description": "Combine per-sample gVCF files produced by HaplotypeCaller into a multi-sample gVCF file", - "keywords": ["gvcf", "gatk4", "vcf", "combinegvcfs", "Short_Variant_Discovery"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4). Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360037593911-CombineGVCFs", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed VCF files", - "pattern": "*.vcf.gz" - } - }, - { - "vcf_idx": { - "type": "file", - "description": "VCF Index file", - "pattern": "*.vcf.gz.idx" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "FASTA index file", - "pattern": "*.fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "FASTA dictionary file", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "gvcf": { - "type": "file", - "description": "Compressed Combined GVCF file", - "pattern": "*.combined.g.vcf.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sateeshperi", "@mjcipriano", "@hseabolt", "@maxulysse"] - } - }, - { - "name": "gatk4_composestrtablefile", - "path": "modules/nf-core/gatk4/composestrtablefile/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_composestrtablefile", - "description": "This tool looks for low-complexity STR sequences along the reference that are later used to estimate the Dragstr model during single sample auto calibration CalibrateDragstrModel.", - "keywords": ["gatk4", "composestrtablefile", "dragstr"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/4405451249819-ComposeSTRTableFile", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "FASTA reference file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "index of the FASTA reference file", - "pattern": "*.fai" - } - }, - { - "dict": { - "type": "file", - "description": "Sequence dictionary of the FASTA reference file", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "str_table": { - "type": "file", - "description": "A zipped folder containing the STR table files", - "pattern": "*.zip" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gatk4_condensedepthevidence", - "path": "modules/nf-core/gatk4/condensedepthevidence/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_condensedepthevidence", - "description": "Merges adjacent DepthEvidence records", - "keywords": ["gatk4", "condensedepthevidence", "evidence"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4)", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": "['BSD-3-clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "depth_evidence": { - "type": "file", - "description": "The depth evidence file", - "pattern": "*.rd.txt.gz" - } - }, - { - "depth_evidence_index": { - "type": "file", - "description": "The index of the depth evidence file", - "pattern": "*.rd.txt.gz.tbi" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference FASTA file needed when the input is a CRAM file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "Index of the reference FASTA file needed when the input is a CRAM file", - "pattern": "*.fai" - } - }, - { - "dict": { - "type": "file", - "description": "Sequence dictionary of the reference FASTA file needed when the input is a CRAM file", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "condensed_evidence": { - "type": "file", - "description": "The condensed depth evidence", - "pattern": "*.rd.txt.gz" - } - }, - { - "condensed_evidence_index": { - "type": "file", - "description": "The condensed depth evidence", - "pattern": "*.rd.txt.gz.tbi" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gatk4_createsequencedictionary", - "path": "modules/nf-core/gatk4/createsequencedictionary/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_createsequencedictionary", - "description": "Creates a sequence dictionary for a reference sequence", - "keywords": ["dictionary", "fasta", "createsequencedictionary"], - "tools": [ - { - "gatk": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input fasta file", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "dict": { - "type": "file", - "description": "gatk dictionary file", - "pattern": "*.{dict}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@maxulysse", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_createsomaticpanelofnormals", - "path": "modules/nf-core/gatk4/createsomaticpanelofnormals/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_createsomaticpanelofnormals", - "description": "Create a panel of normals contraining germline and artifactual sites for use with mutect2.", - "keywords": ["gatk4", "createsomaticpanelofnormals", "panelofnormals"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "genoomicsdb": { - "type": "directory", - "description": "genomicsDB workspace that contains the samples to create the somatic panel of normals with.", - "pattern": "*_genomicsDBworkspace" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test']\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test']\n" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test']\n" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "vcf": { - "type": "file", - "description": "panel of normal as compressed vcf file", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Tabix index of vcf file", - "pattern": "*vcf.gz.tbi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@GCJMackenzie"] - } - }, - { - "name": "gatk4_determinegermlinecontigploidy", - "path": "modules/nf-core/gatk4/determinegermlinecontigploidy/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_determinegermlinecontigploidy", - "description": "Determines the baseline contig ploidy for germline samples given counts data", - "keywords": ["gatk4", "determinegermlinecontigploidy", "counts", "copy number"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "counts": { - "type": "file", - "description": "One or more count TSV files created with gatk/collectreadcounts", - "pattern": "*.tsv" - } - }, - { - "bed": { - "type": "file", - "description": "Optional - A bed file containing the intervals to include in the process", - "pattern": "*.bed" - } - }, - { - "exclude_beds": { - "type": "file", - "description": "Optional - One or more bed files containing intervals to exclude from the process", - "pattern": "*.bed" - } - }, - { - "contig_ploidy_table": { - "type": "file", - "description": "The contig ploidy priors table", - "pattern": "*.tsv" - } - }, - { - "ploidy_model": { - "type": "directory", - "description": "Optional - A folder containing the ploidy model.\nWhen a model is supplied to tool will run in CASE mode.\npattern: '*-model/'\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "calls": { - "type": "directory", - "description": "A folder containing the calls from the input files", - "pattern": "*-calls/" - } - }, - { - "model": { - "type": "directory", - "description": "A folder containing the model from the input files.\nThis will only be created in COHORT mode (when no model is supplied to the process).\n", - "pattern": "*-model/" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gatk4_estimatelibrarycomplexity", - "path": "modules/nf-core/gatk4/estimatelibrarycomplexity/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_estimatelibrarycomplexity", - "description": "Estimates the numbers of unique molecules in a sequencing library.", - "keywords": ["gatk4", "gatk4_estimatelibrarycomplexity", "duplication_metrics", "reporting"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4)", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "metrics": { - "type": "file", - "description": "File containing metrics on the input files", - "pattern": "*.{metrics}" - } - } - ], - "authors": ["@FriederikeHanssen", "@maxulysse"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_fastqtosam", - "path": "modules/nf-core/gatk4/fastqtosam/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_fastqtosam", - "description": "Converts FastQ file to SAM/BAM format", - "keywords": ["bam", "fastq", "convert"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4) Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data, respectively.", - "pattern": "*.fastq.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Converted BAM file", - "pattern": "*.bam" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ntoda03"] - } - }, - { - "name": "gatk4_filterintervals", - "path": "modules/nf-core/gatk4/filterintervals/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_filterintervals", - "description": "Filters intervals based on annotations and/or count statistics.", - "keywords": ["gatk4", "gatk4_filterintervals"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "read_counts": { - "type": "file", - "description": "Read counts input file", - "pattern": "*.{tsv, hdf5}" - } - }, - { - "intervals": { - "type": "file", - "description": "Processed interval list file (processed_intervals.interval_list)", - "pattern": "*.interval_list" - } - }, - { - "annotated_intervals": { - "type": "file", - "description": "Annotated intervals TSV file (annotated_intervals.tsv).", - "pattern": "*.tsv" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "interval_list": { - "type": "file", - "description": "Filtered interval list file", - "pattern": "*.interval_list" - } - } - ], - "authors": ["@ryanjameskennedy", "@ViktorHy"] - } - }, - { - "name": "gatk4_filtermutectcalls", - "path": "modules/nf-core/gatk4/filtermutectcalls/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_filtermutectcalls", - "description": "Filters the raw output of mutect2, can optionally use outputs of calculatecontamination and learnreadorientationmodel to improve filtering.\n", - "keywords": ["filtermutectcalls", "mutect2", "gatk4", "filtervcf"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "compressed vcf file of mutect2calls", - "pattern": "*.vcf.gz" - } - }, - { - "vcf_tbi": { - "type": "file", - "description": "Tabix index of vcf file", - "pattern": "*vcf.gz.tbi" - } - }, - { - "stats": { - "type": "file", - "description": "Stats file that pairs with output vcf file", - "pattern": "*vcf.gz.stats" - } - }, - { - "orientationbias": { - "type": "file", - "description": "files containing artifact priors for input vcf. Optional input.", - "pattern": "*.artifact-prior.tar.gz" - } - }, - { - "segmentation": { - "type": "file", - "description": "tables containing segmentation information for input vcf. Optional input.", - "pattern": "*.segmentation.table" - } - }, - { - "table": { - "type": "file", - "description": "table(s) containing contamination data for input vcf. Optional input, takes priority over estimate.", - "pattern": "*.contamination.table" - } - }, - { - "estimate": { - "type": "float", - "description": "estimation of contamination value as a double. Optional input, will only be used if table is not specified." - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "vcf": { - "type": "file", - "description": "file containing filtered mutect2 calls.", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "tbi file that pairs with vcf.", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "stats": { - "type": "file", - "description": "file containing statistics of the filtermutectcalls run.", - "pattern": "*.filteringStats.tsv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@GCJMackenzie", "@maxulysse", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "gatk4_filtervarianttranches", - "path": "modules/nf-core/gatk4/filtervarianttranches/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_filtervarianttranches", - "description": "Apply tranche filtering", - "keywords": ["gatk4", "filtervarianttranches", "tranche_filtering"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360051308071-FilterVariantTranches", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "a VCF file containing variants, must have info key:CNN_2D", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "tbi file matching with -vcf", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "resources": { - "type": "list", - "description": "resource A VCF containing known SNP and or INDEL sites. Can be supplied as many times as necessary", - "pattern": "*.vcf.gz" - } - }, - { - "resources_index": { - "type": "list", - "description": "Index of resource VCF containing known SNP and or INDEL sites. Can be supplied as many times as necessary", - "pattern": "*.vcf.gz" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": ".dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "VCF index file", - "pattern": "*.vcf.gz.tbi" - } - } - ], - "authors": ["@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_gatherbqsrreports", - "path": "modules/nf-core/gatk4/gatherbqsrreports/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_gatherbqsrreports", - "description": "Gathers scattered BQSR recalibration reports into a single file", - "keywords": ["gatk4", "gatk4_gatherbqsrreports", "base_recalibration"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4)", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "table": { - "type": "file", - "description": "File(s) containing BQSR table(s)", - "pattern": "*.table" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "table": { - "type": "file", - "description": "File containing joined BQSR table", - "pattern": "*.table" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_gatherpileupsummaries", - "path": "modules/nf-core/gatk4/gatherpileupsummaries/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_gatherpileupsummaries", - "description": "write your description here", - "keywords": ["sort"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4)", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "pileup": { - "type": "(list of) file(s)", - "description": "Pileup files from gatk4/getpileupsummaries", - "pattern": "*.pileups.table" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "table": { - "type": "file", - "description": "pileup summaries table file", - "pattern": "*.pileups.table" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@FriederikeHanssen", "@maxulysse"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_genomicsdbimport", - "path": "modules/nf-core/gatk4/genomicsdbimport/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_genomicsdbimport", - "description": "merge GVCFs from multiple samples. For use in joint genotyping or somatic panel of normal creation.", - "keywords": ["gatk4", "genomicsdbimport", "genomicsdb", "panelofnormalscreation", "jointgenotyping"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "vcf": { - "type": "list", - "description": "either a list of vcf files to be used to create or update a genomicsdb, or a file that contains a map to vcf files to be used.", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "list", - "description": "list of tbi files that match with the input vcf files", - "pattern": "*.vcf.gz_tbi" - } - }, - { - "wspace": { - "type": "path", - "description": "path to an existing genomicsdb to be used in update db mode or get intervals mode. This WILL NOT specify name of a new genomicsdb in create db mode.", - "pattern": "/path/to/existing/gendb" - } - }, - { - "intervalfile": { - "type": "file", - "description": "file containing the intervals to be used when creating the genomicsdb", - "pattern": "*.interval_list" - } - }, - { - "intervalval": { - "type": "string", - "description": "if an intervals file has not been spcified, the value enetered here will be used as an interval via the \"-L\" argument", - "pattern": "example: chr1:1000-10000" - } - }, - { - "run_intlist": { - "type": "boolean", - "description": "Specify whether to run get interval list mode, this option cannot be specified at the same time as run_updatewspace.", - "pattern": "true/false" - } - }, - { - "run_updatewspace": { - "type": "boolean", - "description": "Specify whether to run update genomicsdb mode, this option takes priority over run_intlist.", - "pattern": "true/false" - } - }, - { - "input_map": { - "type": "boolean", - "description": "Specify whether the vcf input is providing a list of vcf file(s) or a single file containing a map of paths to vcf files to be used to create or update a genomicsdb.", - "pattern": "*.sample_map" - } - } - ], - "output": [ - { - "genomicsdb": { - "type": "directory", - "description": "Directory containing the files that compose the genomicsdb workspace, this is only output for create mode, as update changes an existing db", - "pattern": "*/$prefix" - } - }, - { - "updatedb": { - "type": "directory", - "description": "Directory containing the files that compose the updated genomicsdb workspace, this is only output for update mode, and should be the same path as the input wspace.", - "pattern": "same/path/as/wspace" - } - }, - { - "intervallist": { - "type": "file", - "description": "File containing the intervals used to generate the genomicsdb, only created by get intervals mode.", - "pattern": "*.interval_list" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@GCJMackenzie"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_genotypegvcfs", - "path": "modules/nf-core/gatk4/genotypegvcfs/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_genotypegvcfs", - "description": "Perform joint genotyping on one or more samples pre-called with HaplotypeCaller.\n", - "keywords": ["joint genotyping", "genotype", "gvcf"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4)", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gvcf": { - "type": "file", - "description": "gVCF(.gz) file or to a GenomicsDB\n", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "gvcf_index": { - "type": "file", - "description": "index of gvcf file, or empty when providing GenomicsDB\n", - "pattern": "*.{idx,tbi}" - } - }, - { - "intervals": { - "type": "file", - "description": "Interval file with the genomic regions included in the library (optional)" - } - }, - { - "intervals_index": { - "type": "file", - "description": "Interval index file (optional)" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Reference fasta index file", - "pattern": "*.fai" - } - }, - { - "dict": { - "type": "file", - "description": "Reference fasta sequence dict file", - "pattern": "*.dict" - } - }, - { - "dbsnp": { - "type": "file", - "description": "dbSNP VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "dbsnp_tbi": { - "type": "file", - "description": "dbSNP VCF index file", - "pattern": "*.tbi" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Genotyped VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Tbi index for VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@santiagorevale", "@maxulysse"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_germlinecnvcaller", - "path": "modules/nf-core/gatk4/germlinecnvcaller/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_germlinecnvcaller", - "description": "Calls copy-number variants in germline samples given their counts and the output of DetermineGermlineContigPloidy.", - "keywords": ["gatk", "gatk4_germlinecnvcaller", "germline contig ploidy"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tsv": { - "type": "file", - "description": "One or more count TSV files created with gatk/collectreadcounts", - "pattern": "*.tsv" - } - }, - { - "intervals": { - "type": "file", - "description": "Optional - A bed file containing the intervals to include in the process", - "pattern": "*.bed" - } - }, - { - "model": { - "type": "directory", - "description": "Optional - directory containing the model produced by germlinecnvcaller cohort mode", - "pattern": "*-cnv-model/*-model" - } - }, - { - "ploidy": { - "type": "file", - "description": "Directory containing ploidy calls produced by determinegermlinecontigploidy case or cohort mode", - "pattern": "*-calls" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "calls": { - "type": "file", - "description": "Tar gzipped directory containing calls produced by germlinecnvcaller case mode", - "pattern": "*-cnv-calls/*-calls" - } - }, - { - "model": { - "type": "directory", - "description": "Optional - Tar gzipped directory containing the model produced by germlinecnvcaller cohort mode", - "pattern": "*-cnv-model/*-model" - } - } - ], - "authors": ["@ryanjameskennedy", "@ViktorHy"] - } - }, - { - "name": "gatk4_getpileupsummaries", - "path": "modules/nf-core/gatk4/getpileupsummaries/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_getpileupsummaries", - "description": "Summarizes counts of reads that support reference, alternate and other alleles for given sites. Results can be used with CalculateContamination. Requires a common germline variant sites file, such as from gnomAD.\n", - "keywords": ["gatk4", "getpileupsumaries", "readcountssummary", "germlinevariantsites"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file to be summarised.", - "pattern": "*.{bam,cram}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAM/CRAM file index.", - "pattern": "*.{bai,crai}" - } - }, - { - "intervals": { - "type": "file", - "description": "File containing specified sites to be used for the summary. If this option is not specified, variants file is used instead automatically.", - "pattern": "*.interval_list" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - }, - { - "variants": { - "type": "file", - "description": "Population vcf of germline sequencing, containing allele fractions. Is also used as sites file if no separate sites file is specified.", - "pattern": "*.vcf.gz" - } - }, - { - "variants_tbi": { - "type": "file", - "description": "Index file for the germline resource.", - "pattern": "*.vcf.gz.tbi" - } - } - ], - "output": [ - { - "pileup": { - "type": "file", - "description": "File containing the pileup summary table.", - "pattern": "*.pileups.table" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@GCJMackenzie"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_haplotypecaller", - "path": "modules/nf-core/gatk4/haplotypecaller/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_haplotypecaller", - "description": "Call germline SNPs and indels via local re-assembly of haplotypes", - "keywords": ["gatk4", "haplotypecaller", "haplotype"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file from alignment", - "pattern": "*.{bam,cram}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAI/CRAI file from alignment", - "pattern": "*.{bai,crai}" - } - }, - { - "intervals": { - "type": "file", - "description": "Bed file with the genomic regions included in the library (optional)" - } - }, - { - "dragstr_model": { - "type": "file", - "description": "Text file containing the DragSTR model of the used BAM/CRAM file (optional)", - "pattern": "*.txt" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - }, - { - "dbsnp": { - "type": "file", - "description": "VCF file containing known sites (optional)" - } - }, - { - "dbsnp_tbi": { - "type": "file", - "description": "VCF index of dbsnp (optional)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Index of VCF file", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "bam": { - "type": "file", - "description": "Assembled haplotypes and locally realigned reads", - "pattern": "*.realigned.bam" - } - } - ], - "authors": ["@suzannejin", "@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_indexfeaturefile", - "path": "modules/nf-core/gatk4/indexfeaturefile/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_indexfeaturefile", - "description": "Creates an index for a feature file, e.g. VCF or BED file.", - "keywords": ["index", "feature"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4)", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "feature_file": { - "type": "file", - "description": "VCF/BED file", - "pattern": "*.{vcf,vcf.gz,bed,bed.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "file", - "description": "Index for VCF/BED file", - "pattern": "*.{tbi,idx}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@santiagorevale"] - }, - "pipelines": [ - { - "name": "rnavar", - "version": "1.0.0" - } - ] - }, - { - "name": "gatk4_intervallisttobed", - "path": "modules/nf-core/gatk4/intervallisttobed/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_intervallisttobed", - "description": "Converts an Picard IntervalList file to a BED file.", - "keywords": ["interval", "bed", "conversion"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4)", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "interval": { - "type": "file", - "description": "Interval list", - "pattern": "*.{interval,interval_list}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "BED file", - "pattern": "*.bed" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_intervallisttools", - "path": "modules/nf-core/gatk4/intervallisttools/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_intervallisttools", - "description": "Splits the interval list file into unique, equally-sized interval files and place it under a directory", - "keywords": ["sort", "bed", "interval list"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "interval_list": { - "type": "file", - "description": "Interval list file", - "pattern": "*.interval_list" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "interval_list": { - "type": "file", - "description": "Interval list files", - "pattern": "*.interval_list" - } - } - ], - "authors": ["@praveenraj2018"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnavar", - "version": "1.0.0" - } - ] - }, - { - "name": "gatk4_learnreadorientationmodel", - "path": "modules/nf-core/gatk4/learnreadorientationmodel/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_learnreadorientationmodel", - "description": "Uses f1r2 counts collected during mutect2 to Learn the prior probability of read orientation artifacts\n", - "keywords": ["gatk4", "learnreadorientationmodel", "readorientationartifacts", "mutect2"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "f1r2": { - "type": "list", - "description": "list of f1r2 files to be used as input.", - "pattern": "*.f1r2.tar.gz" - } - } - ], - "output": [ - { - "artifactprior": { - "type": "file", - "description": "file containing artifact-priors to be used by filtermutectcalls", - "pattern": "*.tar.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@GCJMackenzie"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_leftalignandtrimvariants", - "path": "modules/nf-core/gatk4/leftalignandtrimvariants/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_leftalignandtrimvariants", - "description": "Left align and trim variants using GATK4 LeftAlignAndTrimVariants.", - "keywords": ["normalize", "norm", "vcf"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "The vcf file to be normalized\ne.g. 'file1.vcf.gz'\n" - } - }, - { - "tbi": { - "type": "file", - "description": "Index of the vcf file to be normalized\ne.g. 'file1.vcf.gz.tbi'\n" - } - }, - { - "intervals": { - "type": "file", - "description": "Bed file with the genomic regions included in the library (optional)" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF normalized output file", - "pattern": "*.{vcf.gz}" - } - }, - { - "tbi": { - "type": "file", - "description": "Tbi index for VCF file", - "pattern": "*.tbi" - } - } - ], - "authors": ["@adamrtalbot"] - }, - "pipelines": [ - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "gatk4_markduplicates", - "path": "modules/nf-core/gatk4/markduplicates/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_markduplicates", - "description": "This tool locates and tags duplicate reads in a BAM or SAM file, where duplicate reads are defined as originating from a single fragment of DNA.", - "keywords": ["markduplicates", "bam", "sort"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360037052812-MarkDuplicates-Picard-", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM file", - "pattern": "*.{bam}" - } - }, - { - "fasta": { - "type": "file", - "description": "Fasta file", - "pattern": "*.{fasta}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "Fasta index file", - "pattern": "*.{fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Marked duplicates BAM file", - "pattern": "*.{bam}" - } - }, - { - "cram": { - "type": "file", - "description": "Marked duplicates CRAM file", - "pattern": "*.{cram}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file", - "pattern": "*.{bam.bai}" - } - }, - { - "crai": { - "type": "file", - "description": "CRAM index file", - "pattern": "*.{cram.crai}" - } - }, - { - "metrics": { - "type": "file", - "description": "Duplicate metrics file generated by GATK", - "pattern": "*.{metrics.txt}" - } - } - ], - "authors": ["@ajodeh-juma", "@FriederikeHanssen", "@maxulysse"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "gatk4_markduplicatesspark", - "path": "modules/nf-core/gatk4/markduplicatesspark/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_markduplicates_spark", - "description": "This tool locates and tags duplicate reads in a BAM or SAM file, where duplicate reads are defined as originating from a single fragment of DNA.", - "keywords": ["markduplicates", "bam", "sort"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360037052812-MarkDuplicates-Picard-", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM file", - "pattern": "*.{bam}" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "file", - "description": "Marked duplicates BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "bam_index": { - "type": "file", - "description": "Optional BAM index file", - "pattern": "*.bai" - } - } - ], - "authors": ["@ajodeh-juma", "@FriederikeHanssen", "@maxulysse", "@SusiJo"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk4_mergebamalignment", - "path": "modules/nf-core/gatk4/mergebamalignment/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_mergebamalignment", - "description": "Merge unmapped with mapped BAM files", - "keywords": ["alignment", "bam", "merge", "mergebamalignment"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "aligned": { - "type": "file", - "description": "The aligned bam file", - "pattern": "*.{bam}" - } - }, - { - "unaligned": { - "type": "file", - "description": "The unmaped bam file", - "pattern": "*.{bam}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary" - } - } - ], - "output": [ - { - "bam": { - "type": "file", - "description": "The merged bam file", - "pattern": "*.bam" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kevinmenden", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "gatk4_mergemutectstats", - "path": "modules/nf-core/gatk4/mergemutectstats/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_mergemutectstats", - "description": "Merges mutect2 stats generated on different intervals/regions", - "keywords": ["mutectstats", "merge"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4)", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "stats": { - "type": "(list of) file(s)", - "description": "Stats file", - "pattern": "*.{stats}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "stats": { - "type": "file", - "description": "Stats file", - "pattern": "*.vcf.gz.stats" - } - } - ], - "authors": ["@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "gatk4_mergevcfs", - "path": "modules/nf-core/gatk4/mergevcfs/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_mergevcfs", - "description": "Merges several vcf files", - "keywords": ["vcf", "merge"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "vcf": { - "type": "list", - "description": "Two or more VCF files", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome']\n" - } - }, - { - "ref_dict": { - "type": "file", - "description": "Optional Sequence Dictionary as input", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "vcf": { - "type": "file", - "description": "merged vcf file", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "index files for the merged vcf files", - "pattern": "*.tbi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kevinmenden"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "gatk4_mutect2", - "path": "modules/nf-core/gatk4/mutect2/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_mutect2", - "description": "Call somatic SNVs and indels via local assembly of haplotypes.", - "keywords": ["gatk4", "mutect2", "haplotype", "somatic"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "input": { - "type": "list", - "description": "list of BAM files, also able to take CRAM as an input", - "pattern": "*.{bam/cram}" - } - }, - { - "input_index": { - "type": "list", - "description": "list of BAM file indexes, also able to take CRAM indexes as an input", - "pattern": "*.{bam.bai/cram.crai}" - } - }, - { - "intervals": { - "type": "file", - "description": "Specify region the tools is run on.", - "pattern": ".{bed,interval_list}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - }, - { - "germline_resource": { - "type": "file", - "description": "Population vcf of germline sequencing, containing allele fractions.", - "pattern": "*.vcf.gz" - } - }, - { - "germline_resource_tbi": { - "type": "file", - "description": "Index file for the germline resource.", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "panel_of_normals": { - "type": "file", - "description": "vcf file to be used as a panel of normals.", - "pattern": "*.vcf.gz" - } - }, - { - "panel_of_normals_tbi": { - "type": "file", - "description": "Index for the panel of normals.", - "pattern": "*.vcf.gz.tbi" - } - } - ], - "output": [ - { - "vcf": { - "type": "file", - "description": "compressed vcf file", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Index of vcf file", - "pattern": "*vcf.gz.tbi" - } - }, - { - "stats": { - "type": "file", - "description": "Stats file that pairs with output vcf file", - "pattern": "*vcf.gz.stats" - } - }, - { - "f1r2": { - "type": "file", - "description": "file containing information to be passed to LearnReadOrientationModel (only outputted when tumor_normal_pair mode is run)", - "pattern": "*.f1r2.tar.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@GCJMackenzie", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "gatk4_postprocessgermlinecnvcalls", - "path": "modules/nf-core/gatk4/postprocessgermlinecnvcalls/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_postprocessgermlinecnvcalls", - "description": "Postprocesses the output of GermlineCNVCaller and generates VCFs and denoised copy ratios", - "keywords": ["gatk4", "postprocessgermlinecnvcalls", "copy number"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360037593411-PostprocessGermlineCNVCalls", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ploidy": { - "type": "directory", - "description": "Optional - A folder containing the ploidy model.\nWhen a model is supplied to tool will run in CASE mode.\n", - "pattern": "*-calls/" - } - }, - { - "calls": { - "type": "directory", - "description": "A folder containing the calls from the input files", - "pattern": "*-cnv-calls/*-calls" - } - }, - { - "model": { - "type": "directory", - "description": "A folder containing the model from the input files.\nThis will only be created in COHORT mode (when no model is supplied to the process).\n", - "pattern": "*-cnv-model/*-model" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "denoised": { - "type": "file", - "description": "Denoised copy ratio file", - "pattern": "*.vcf.gz" - } - }, - { - "segments": { - "type": "file", - "description": "Segments VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "intervals": { - "type": "file", - "description": "Intervals VCF file", - "pattern": "*.vcf.gz" - } - } - ], - "authors": ["@ryanjameskennedy"] - } - }, - { - "name": "gatk4_preprocessintervals", - "path": "modules/nf-core/gatk4/preprocessintervals/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_preprocessintervals", - "description": "Prepares bins for coverage collection.", - "keywords": ["gatk4", "preprocessintervals", "interval", "bed"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "intervals": { - "type": "file", - "description": "Interval file (bed or interval_list) with the genomic regions to be included from the analysis (optional)", - "pattern": "*.{bed,interval_list}" - } - }, - { - "meta5": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "exclude_intervals": { - "type": "file", - "description": "Interval file (bed or interval_list) with the genomic regions to be excluded from the analysis (optional)", - "pattern": "*.{bed,interval_list}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "interval_list": { - "type": "file", - "description": "Processed interval list file", - "pattern": "*.{bed,interval_list}" - } - } - ], - "authors": ["@ryanjameskennedy", "@ViktorHy", "@ramprasadn"] - } - }, - { - "name": "gatk4_printreads", - "path": "modules/nf-core/gatk4/printreads/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_printreads", - "description": "Print reads in the SAM/BAM/CRAM file", - "keywords": ["gatk4", "bam", "cram", "sam", "printreads"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "index": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "reference fasta file", - "pattern": "*.{fa,fasta}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "reference fasta index file", - "pattern": "*.{fai}" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "dict": { - "type": "file", - "description": "reference fasta dictionary file", - "pattern": "*.{dict}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM file", - "pattern": "*.{bam}" - } - }, - { - "cram": { - "type": "file", - "description": "Sorted CRAM file", - "pattern": "*.{cram}" - } - }, - { - "sam": { - "type": "file", - "description": "Sorted SAM file", - "pattern": "*.{sam}" - } - } - ], - "authors": ["@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "gatk4_printsvevidence", - "path": "modules/nf-core/gatk4/printsvevidence/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_printsvevidence", - "description": "WARNING - this tool is still experimental and shouldn't be used in a production setting. Gathers paired-end and split read evidence files for use in the GATK-SV pipeline. Output files are a file containing the location of and orientation of read pairs marked as discordant, and a file containing the clipping location of all soft clipped reads and the orientation of the clipping.", - "keywords": ["structural_variants", "gatk4", "printsvevidence"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "evidence_files": { - "type": "file", - "description": "The evidence files created by CollectSVEvidence. They all need to be of the same type to print the SV evidence.", - "pattern": "*.{pe,sr,baf,rd}.txt(.gz)" - } - }, - { - "evidence_indices": { - "type": "file", - "description": "The indices of the evidence files created by CollectSVEvidence", - "pattern": "*.{pe,sr,baf,rd}.txt(.gz).tbi" - } - }, - { - "bed": { - "type": "file", - "description": "An optional BED file", - "pattern": "*.bed" - } - }, - { - "fasta": { - "type": "file", - "description": "An optional reference FASTA file", - "pattern": "*.{fa,fasta}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "An optional reference FASTA file index", - "pattern": "*.fai" - } - }, - { - "dict": { - "type": "file", - "description": "The mandatory sequence dictionary file", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "printed_evidence": { - "type": "file", - "description": "The output file containing the discordant read pairs or the soft clipped reads", - "pattern": "*.{pe,sr,baf,rd}.txt.gz" - } - }, - { - "printed_evidence": { - "type": "file", - "description": "The index of the output file containing the discordant read pairs or the soft clipped reads", - "pattern": "*.{pe,sr,baf,rd}.txt.gz.tbi" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gatk4_reblockgvcf", - "path": "modules/nf-core/gatk4/reblockgvcf/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_reblockgvcf", - "description": "Condenses homRef blocks in a single-sample GVCF", - "keywords": ["gatk4", "reblockgvcf", "gvcf"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gvcf": { - "type": "file", - "description": "GVCF file created using HaplotypeCaller using the '-ERC GVCF' or '-ERC BP_RESOLUTION' mode", - "pattern": "*.{vcf,gvcf}.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Index of the GVCF file", - "pattern": "*.tbi" - } - }, - { - "intervals": { - "type": "file", - "description": "Bed file with the genomic regions included in the library (optional)" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - }, - { - "dbsnp": { - "type": "file", - "description": "VCF file containing known sites (optional)" - } - }, - { - "dbsnp_tbi": { - "type": "file", - "description": "VCF index of dbsnp (optional)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "gvcf": { - "type": "file", - "description": "Filtered GVCF", - "pattern": "*rb.g.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Index of the filtered GVCF", - "pattern": "*rb.g.vcf.gz.tbi" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gatk4_revertsam", - "path": "modules/nf-core/gatk4/revertsam/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_revertsam", - "description": "Reverts SAM or BAM files to a previous state.", - "keywords": ["sam", "revert"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "bam": { - "type": "file", - "description": "The input bam/sam file", - "pattern": "*.{bam,sam}" - } - } - ], - "output": [ - { - "bam": { - "type": "file", - "description": "The reverted bam/sam file", - "pattern": "*.reverted.bam" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kevinmenden"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "gatk4_samtofastq", - "path": "modules/nf-core/gatk4/samtofastq/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_samtofastq", - "description": "Converts BAM/SAM file to FastQ format", - "keywords": ["bed", "interval list"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "bam": { - "type": "file", - "description": "Input SAM/BAM file", - "pattern": "*.{bam,sam}" - } - } - ], - "output": [ - { - "fastq": { - "type": "file", - "description": "converted fastq file", - "pattern": "*.fastq" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kevinmenden"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "gatk4_selectvariants", - "path": "modules/nf-core/gatk4/selectvariants/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_selectvariants", - "description": "Select a subset of variants from a VCF file", - "keywords": ["gatk", "gatk4", "selectvariants", "vcf"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360036362532-SelectVariants", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "vcf": { - "type": "list", - "description": "VCF(.gz) file", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "vcf_idx": { - "type": "list", - "description": "VCF file index", - "pattern": "*.{idx,tbi}" - } - }, - { - "intervals": { - "type": "file", - "description": "One or more genomic intervals over which to operate", - "pattern": ".intervals" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed VCF file", - "pattern": "*.selectvariants.vcf.gz" - } - }, - { - "vcf_tbi": { - "type": "list", - "description": "VCF file index", - "pattern": "*.{idx,tbi}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@mjcipriano", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "gatk4_shiftfasta", - "path": "modules/nf-core/gatk4/shiftfasta/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_shiftfasta", - "description": "Create a fasta with the bases shifted by offset", - "keywords": ["mitochondria", "shiftfasta", "shiftchain", "shiftintervals"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "fasta file", - "pattern": "*.{fa,fasta}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "index for fasta file", - "pattern": "*.{fai}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "dict": { - "type": "file", - "description": "sequence dictionary file", - "pattern": "*.{dict}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing fasta information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "dict": { - "type": "file", - "description": "sequence dictionary file", - "pattern": "*.{dict}" - } - }, - { - "intervals": { - "type": "file", - "description": "Intervals file for the fasta file", - "pattern": "*.{intervals}" - } - }, - { - "shift_back_chain": { - "type": "file", - "description": "The shiftback chain file to use when lifting over", - "pattern": "*.{back_chain}" - } - }, - { - "shift_fa": { - "type": "file", - "description": "Shifted fasta file", - "pattern": "*.{fa,fasta}" - } - }, - { - "shift_intervals": { - "type": "file", - "description": "Intervals file for the shifted fasta file", - "pattern": "*.{shifted.intervals}" - } - } - ], - "authors": ["@ramprasadn"] - } - }, - { - "name": "gatk4_sitedepthtobaf", - "path": "modules/nf-core/gatk4/sitedepthtobaf/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_sitedepthtobaf", - "description": "EXPERIMENTAL TOOL! Convert SiteDepth to BafEvidence", - "keywords": ["gatk4", "site depth", "BAF"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4)", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "site_depths": { - "type": "file", - "description": "Files containing site depths", - "pattern": "*.sd.txt.gz" - } - }, - { - "site_depths_indices": { - "type": "file", - "description": "The indices of the site depth files", - "pattern": "*.sd.txt.gz.tbi" - } - }, - { - "vcf": { - "type": "file", - "description": "Input VCF of SNPs marking loci for site depths", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Index of the input VCF of SNPs marking loci for site depths", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference FASTA file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the reference FASTA file", - "pattern": "*.fai" - } - }, - { - "dict": { - "type": "file", - "description": "The sequence dictionary of the reference FASTA file", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "baf": { - "type": "file", - "description": "The created BAF file", - "pattern": "*.baf.txt.gz" - } - }, - { - "baf_tbi": { - "type": "file", - "description": "The index of the created BAF file", - "pattern": "*.baf.txt.gz.tbi" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gatk4_splitcram", - "path": "modules/nf-core/gatk4/splitcram/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_splitcram", - "description": "Splits CRAM files efficiently by taking advantage of their container based structure", - "keywords": ["gatk4", "splitcram", "split", "cram"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "cram": { - "type": "file", - "description": "The CRAM file to split", - "pattern": "*.cram" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "split_crams": { - "type": "file", - "description": "A list of split CRAM files", - "pattern": "*.cram" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gatk4_splitintervals", - "path": "modules/nf-core/gatk4/splitintervals/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_splitintervals", - "description": "Split intervals into sub-interval files.", - "keywords": ["interval", "bed", "splitintervals"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4)", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "interval": { - "type": "file", - "description": "Interval list or BED", - "pattern": "*.{interval,interval_list,bed}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference FASTA", - "pattern": "*.{fa,fasta}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Reference FASTA index", - "pattern": "*.fai" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "dict": { - "type": "file", - "description": "Reference sequence dictionary", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "A list of scattered interval lists", - "pattern": "*.interval_list" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@nvnieuwk", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "gatk4_splitncigarreads", - "path": "modules/nf-core/gatk4/splitncigarreads/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_splitncigarreads", - "description": "Splits reads that contain Ns in their cigar string", - "keywords": ["vcf", "merge"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "bam": { - "type": "list", - "description": "BAM/SAM/CRAM file containing reads", - "pattern": "*.{bam,sam,cram}" - } - }, - { - "bai": { - "type": "list", - "description": "BAI/SAI/CRAI index file (optional)", - "pattern": "*.{bai,sai,crai}" - } - }, - { - "intervals": { - "type": "file", - "description": "Bed file with the genomic regions included in the library (optional)" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "bam": { - "type": "file", - "description": "Output file with split reads (BAM/SAM/CRAM)", - "pattern": "*.{bam,sam,cram}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kevinmenden"] - }, - "pipelines": [ - { - "name": "rnavar", - "version": "1.0.0" - } - ] - }, - { - "name": "gatk4_svannotate", - "path": "modules/nf-core/gatk4/svannotate/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_svannotate", - "description": "Adds predicted functional consequence, gene overlap, and noncoding element overlap annotations to SV VCF from GATK-SV pipeline. Input files are an SV VCF, a GTF file containing primary or canonical transcripts, and a BED file containing noncoding elements. Output file is an annotated SV VCF.", - "keywords": ["gatk4", "svannotate", "vcf", "annotate", "structural variants"], - "tools": [ - { - "gatk4": { - "description": "Genome Analysis Toolkit (GATK4)", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "tool_dev_url": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "A VCF file created with a structural variant caller", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "The index file of the VCF", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "fasta": { - "type": "file", - "description": "Optional - reference FASTA file needed when the input is a CRAM file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "Optional - index of the reference FASTA file needed when the input is a CRAM file", - "pattern": "*.fai" - } - }, - { - "dict": { - "type": "file", - "description": "Optional - sequence dictionary of the reference FASTA file needed when the input is a CRAM file", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "annotated_vcf": { - "type": "file", - "description": "The annotated structural variant VCF", - "pattern": "*.vcf.gz" - } - }, - { - "index": { - "type": "file", - "description": "The index of the VCF", - "pattern": "*.vcf.gz.tbi" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gatk4_svcluster", - "path": "modules/nf-core/gatk4/svcluster/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_svcluster", - "description": "Clusters structural variants based on coordinates, event type, and supporting algorithms", - "keywords": ["gatk4", "svcluster", "vcf", "structural_variants"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://github.com/broadinstitute/gatk", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcfs": { - "type": "file", - "description": "One or more VCF files created with a structural variant caller", - "pattern": "*.vcf.gz" - } - }, - { - "indices": { - "type": "file", - "description": "Index files for the VCFs", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "ploidy_table": { - "type": "file", - "description": "The sample ploidy table", - "pattern": "*.tsv" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference FASTA file needed when the input is a CRAM file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "Index of the reference FASTA file needed when the input is a CRAM file", - "pattern": "*.fai" - } - }, - { - "dict": { - "type": "file", - "description": "Sequence dictionary of the reference FASTA file needed when the input is a CRAM file", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "clustered_vcf": { - "type": "file", - "description": "The VCF containing the clustered VCFs", - "pattern": "*.vcf.gz" - } - }, - { - "clustered_vcf_index": { - "type": "file", - "description": "The index of the VCF containing the clustered VCFs", - "pattern": "*.vcf.gz.tbi" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gatk4_variantfiltration", - "path": "modules/nf-core/gatk4/variantfiltration/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_variantfiltration", - "description": "Filter variants", - "keywords": ["vcf", "filter", "variantfiltration"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "vcf": { - "type": "list", - "description": "List of VCF(.gz) files", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "vcf_tbi": { - "type": "list", - "description": "List of VCF file indexes", - "pattern": "*.{idx,tbi}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Fasta file of reference genome", - "pattern": "*.fasta" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Index of fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "dict": { - "type": "file", - "description": "Sequence dictionary of fastea file", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "vcf": { - "type": "file", - "description": "Compressed VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Index of VCF file", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kevinmenden", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "gatk4_variantrecalibrator", - "path": "modules/nf-core/gatk4/variantrecalibrator/meta.yml", - "type": "module", - "meta": { - "name": "gatk4_variantrecalibrator", - "description": "Build a recalibration model to score variant quality for filtering purposes.\nIt is highly recommended to follow GATK best practices when using this module,\nthe gaussian mixture model requires a large number of samples to be used for the\ntool to produce optimal results. For example, 30 samples for exome data. For more details see\nhttps://gatk.broadinstitute.org/hc/en-us/articles/4402736812443-Which-training-sets-arguments-should-I-use-for-running-VQSR-\n", - "keywords": ["VariantRecalibrator", "gatk4", "recalibration_model"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "input vcf file containing the variants to be recalibrated", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "tbi file matching with -vcf", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "resource_vcf": { - "type": "file", - "description": "all resource vcf files that are used with the corresponding '--resource' label", - "pattern": "*.vcf.gz" - } - }, - { - "resource_tbi": { - "type": "file", - "description": "all resource tbi files that are used with the corresponding '--resource' label", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "labels": { - "type": "string", - "description": "necessary arguments for GATK VariantRecalibrator. Specified to directly match the resources provided. More information can be found at https://gatk.broadinstitute.org/hc/en-us/articles/5358906115227-VariantRecalibrator" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "recal": { - "type": "file", - "description": "Output recal file used by ApplyVQSR", - "pattern": "*.recal" - } - }, - { - "idx": { - "type": "file", - "description": "Index file for the recal output file", - "pattern": "*.idx" - } - }, - { - "tranches": { - "type": "file", - "description": "Output tranches file used by ApplyVQSR", - "pattern": "*.tranches" - } - }, - { - "plots": { - "type": "file", - "description": "Optional output rscript file to aid in visualization of the input data and learned model.", - "pattern": "*plots.R" - } - }, - { - "version": { - "type": "file", - "description": "File containing software versions", - "pattern": "*.versions.yml" - } - } - ], - "authors": ["@GCJMackenzie", "@nickhsmith"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "gatk_indelrealigner", - "path": "modules/nf-core/gatk/indelrealigner/meta.yml", - "type": "module", - "meta": { - "name": "gatk_indelrealigner", - "description": "Performs local realignment around indels to correct for mapping errors", - "keywords": ["bam", "vcf", "variant calling", "indel", "realignment"], - "tools": [ - { - "gatk": { - "description": "The full Genome Analysis Toolkit (GATK) framework, license restricted.", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://github.com/broadinstitute/gatk-docs", - "licence": "['https://software.broadinstitute.org/gatk/download/licensing', 'BSD', 'https://www.broadinstitute.org/gatk/about/#licensing']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted and indexed BAM file", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file", - "pattern": "*.bai" - } - }, - { - "intervals": { - "type": "file", - "description": "Intervals file created by gatk3 RealignerTargetCreator", - "pattern": "*.{intervals,list}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference file used to generate BAM file", - "pattern": ".{fasta,fa,fna}" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference file used to generate BAM file", - "pattern": ".fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK dict file for reference", - "pattern": ".dict" - } - }, - { - "known_vcf": { - "type": "file", - "description": "Optional input VCF file(s) with known indels", - "pattern": ".vcf" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted and indexed BAM file with local realignment around variants", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "Output BAM Index file", - "pattern": "*.bai" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "gatk_realignertargetcreator", - "path": "modules/nf-core/gatk/realignertargetcreator/meta.yml", - "type": "module", - "meta": { - "name": "gatk_realignertargetcreator", - "description": "Generates a list of locations that should be considered for local realignment prior genotyping.", - "keywords": ["bam", "vcf", "variant calling", "indel", "realignment", "targets"], - "tools": [ - { - "gatk": { - "description": "The full Genome Analysis Toolkit (GATK) framework, license restricted.", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://github.com/broadinstitute/gatk-docs", - "licence": "['https://software.broadinstitute.org/gatk/download/licensing', 'BSD', 'https://www.broadinstitute.org/gatk/about/#licensing']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "Sorted and indexed BAM/CRAM/SAM file", - "pattern": "*.bam" - } - }, - { - "index": { - "type": "file", - "description": "BAM index file", - "pattern": "*.bai" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference file used to generate BAM file", - "pattern": ".{fasta,fa,fna}" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference file used to generate BAM file", - "pattern": ".fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK dict file for reference", - "pattern": ".dict" - } - }, - { - "known_vcf": { - "type": "file", - "description": "Optional input VCF file(s) with known indels", - "pattern": ".vcf" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "intervals": { - "type": "file", - "description": "File containg intervals that represent sites of extant and potential indels.", - "pattern": "*.intervals" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "gatk_unifiedgenotyper", - "path": "modules/nf-core/gatk/unifiedgenotyper/meta.yml", - "type": "module", - "meta": { - "name": "gatk_unifiedgenotyper", - "description": "SNP and Indel variant caller on a per-locus basis", - "keywords": ["bam", "vcf", "variant calling"], - "tools": [ - { - "gatk": { - "description": "The full Genome Analysis Toolkit (GATK) framework, license restricted.", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://github.com/broadinstitute/gatk-docs", - "licence": "['https://software.broadinstitute.org/gatk/download/licensing', 'BSD', 'https://www.broadinstitute.org/gatk/about/#licensing']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "Sorted and indexed BAM/CRAM/SAM file", - "pattern": "*.bam" - } - }, - { - "index": { - "type": "file", - "description": "BAM index file", - "pattern": "*.bai" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference file used to generate BAM file", - "pattern": ".{fasta,fa,fna}" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference file used to generate BAM file", - "pattern": ".fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK dict file for reference", - "pattern": ".dict" - } - }, - { - "intervals": { - "type": "file", - "description": "Bed file with the genomic regions included in the library (optional)", - "pattern": "*.intervals" - } - }, - { - "contamination": { - "type": "file", - "description": "Tab-separated file containing fraction of contamination in sequencing data (per sample) to aggressively remove", - "pattern": "*" - } - }, - { - "dbsnps": { - "type": "file", - "description": "VCF file containing known sites (optional)", - "pattern": "*" - } - }, - { - "comp": { - "type": "file", - "description": "Comparison VCF file (optional)", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file containing called variants", - "pattern": "*.vcf.gz" - } - } - ], - "authors": ["@ilight1542", "@jfy133"] - } - }, - { - "name": "gawk", - "path": "modules/nf-core/gawk/meta.yml", - "type": "module", - "meta": { - "name": "gawk", - "description": "If you are like many computer users, you would frequently like to make changes in various text files\nwherever certain patterns appear, or extract data from parts of certain lines while discarding the rest.\nThe job is easy with awk, especially the GNU implementation gawk.\n", - "keywords": ["gawk", "awk", "txt", "text", "file parsing"], - "tools": [ - { - "gawk": { - "description": "GNU awk", - "homepage": "https://www.gnu.org/software/gawk/", - "documentation": "https://www.gnu.org/software/gawk/manual/", - "tool_dev_url": "https://www.gnu.org/prep/ftp.html", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "The input file - Specify the logic that needs to be executed on this file on the `ext.args2` or in the program file", - "pattern": "*" - } - }, - { - "program_file": { - "type": "file", - "description": "Optional file containing logic for awk to execute. If you don't wish to use a file, you can use `ext.args2` to specify the logic.", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "file", - "description": "The output file - specify the name of this file using `ext.prefix` and the extension using `ext.suffix`", - "pattern": "*" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gecco_run", - "path": "modules/nf-core/gecco/run/meta.yml", - "type": "module", - "meta": { - "name": "gecco_run", - "description": "GECCO is a fast and scalable method for identifying putative novel Biosynthetic Gene Clusters (BGCs) in genomic and metagenomic data using Conditional Random Fields (CRFs).", - "keywords": ["bgc", "detection", "metagenomics", "contigs"], - "tools": [ - { - "gecco": { - "description": "Biosynthetic Gene Cluster prediction with Conditional Random Fields.", - "homepage": "https://gecco.embl.de", - "documentation": "https://gecco.embl.de", - "tool_dev_url": "https://github.com/zellerlab/GECCO", - "doi": "10.1101/2021.05.03.442509", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "A genomic file containing one or more sequences as input. Input type is any supported by Biopython (fasta, gbk, etc.)", - "pattern": "*" - } - }, - { - "hmm": { - "type": "file", - "description": "Alternative HMM file(s) to use in HMMER format", - "pattern": "*.hmm" - } - }, - { - "model_dir": { - "type": "directory", - "description": "Path to an alternative CRF (Conditional Random Fields) module to use" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "genes": { - "type": "file", - "description": "TSV file containing detected/predicted genes with BGC probability scores. Will not be generated if no hits are found.", - "pattern": "*.genes.tsv" - } - }, - { - "features": { - "type": "file", - "description": "TSV file containing identified domains", - "pattern": "*.features.tsv" - } - }, - { - "clusters": { - "type": "file", - "description": "TSV file containing coordinates of predicted clusters and BGC types. Will not be generated if no hits are found.", - "pattern": "*.clusters.tsv" - } - }, - { - "gbk": { - "type": "file", - "description": "Per cluster GenBank file (if found) containing sequence with annotations. Will not be generated if no hits are found.", - "pattern": "*.gbk" - } - }, - { - "json": { - "type": "file", - "description": "AntiSMASH v6 sideload JSON file (if --antismash-sideload) supplied. Will not be generated if no hits are found.", - "pattern": "*.gbk" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "gem2_gem2bedmappability", - "path": "modules/nf-core/gem2/gem2bedmappability/meta.yml", - "type": "module", - "meta": { - "name": "gem2_gem2bedmappability", - "description": "Convert a mappability file to bedgraph format", - "keywords": ["mappability", "bedgraph", "index", "gem"], - "tools": [ - { - "gem2": { - "description": "GEM2 is a high-performance mapping tool. It also provide a unique tool to evaluate mappability.", - "homepage": "https://paoloribeca.science/gem", - "licence": "['Custom']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "map": { - "type": "file", - "description": "The mappability file created from the index", - "pattern": "*.mappability" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing index information\n" - } - }, - { - "index": { - "type": "file", - "description": "The index of the reference FASTA", - "pattern": "*.gem" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bedgraph": { - "type": "file", - "description": "The resulting bedgraph file", - "pattern": "*.bg" - } - }, - { - "sizes": { - "type": "file", - "description": "The chromosome sizes", - "pattern": "*.sizes" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gem2_gemindexer", - "path": "modules/nf-core/gem2/gemindexer/meta.yml", - "type": "module", - "meta": { - "name": "gem2_gemindexer", - "description": "Create a GEM index from a FASTA file", - "keywords": ["fasta", "index", "reference", "mappability"], - "tools": [ - { - "gem2": { - "description": "GEM2 is a high-performance mapping tool. It also provide a unique tool to evaluate mappability.", - "homepage": "https://paoloribeca.science/gem", - "licence": "['Custom']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "A reference FASTA file to index", - "pattern": "*.{fasta,fa,fna}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "gem": { - "type": "file", - "description": "The created index", - "pattern": "*.gem" - } - }, - { - "log": { - "type": "file", - "description": "The execution log", - "pattern": "*.log" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gem2_gemmappability", - "path": "modules/nf-core/gem2/gemmappability/meta.yml", - "type": "module", - "meta": { - "name": "gem2_gemmappability", - "description": "Define the mappability of a reference", - "keywords": ["mappability", "gem", "index", "reference"], - "tools": [ - { - "gem2": { - "description": "GEM2 is a high-performance mapping tool. It also provide a unique tool to evaluate mappability.", - "homepage": "https://paoloribeca.science/gem", - "licence": "['Custom']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "file", - "description": "The index created with gem-indexer from the reference FASTA", - "pattern": "*.gem" - } - }, - { - "read_length": { - "type": "integer", - "description": "The read length to define the mappability of" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "map": { - "type": "file", - "description": "The resulting mappability file", - "pattern": "*.mappability" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "genescopefk", - "path": "modules/nf-core/genescopefk/meta.yml", - "type": "module", - "meta": { - "name": "genescopefk", - "description": "A derivative of GenomeScope2.0 modified to work with FastK", - "keywords": ["k-mer", "genome profile", "histogram"], - "tools": [ - { - "genescopefk": { - "description": "A derivative of GenomeScope2.0 modified to work with FastK", - "homepage": "https://github.com/thegenemyers/GENESCOPE.FK", - "tool_dev_url": "https://github.com/thegenemyers/GENESCOPE.FK", - "licence": "https://github.com/thegenemyers/GENESCOPE.FK/blob/main/LICENSE" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastk_histex_histogram": { - "type": "file", - "description": "A histogram formatted for GeneScope using the -G parameter from Fastk Histex", - "pattern": "*.hist" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "linear_plot": { - "type": "file", - "description": "A GeneScope linear plot in PNG format", - "pattern": "*_linear_plot.png" - } - }, - { - "transformed_linear_plot": { - "type": "file", - "description": "A GeneScope transformed linear plot in PNG format", - "pattern": "*_transformed_linear_plot.png" - } - }, - { - "log_plot": { - "type": "file", - "description": "A GeneScope log plot in PNG format", - "pattern": "*_log_plot.png" - } - }, - { - "transformed_log_plot": { - "type": "file", - "description": "A GeneScope transformed log plot in PNG format", - "pattern": "*_transformed_log_plot.png" - } - }, - { - "model": { - "type": "file", - "description": "GeneScope model fit summary", - "pattern": "*_model.txt" - } - }, - { - "summary": { - "type": "file", - "description": "GeneScope histogram summary", - "pattern": "*_summary.txt" - } - } - ], - "authors": ["@mahesh-panchal"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "genmap_index", - "path": "modules/nf-core/genmap/index/meta.yml", - "type": "module", - "meta": { - "name": "genmap_index", - "description": "create index file for genmap", - "keywords": ["index", "mappability", "fasta"], - "tools": [ - { - "genmap": { - "description": "Ultra-fast computation of genome mappability.", - "homepage": "https://github.com/cpockrandt/genmap", - "documentation": "https://github.com/cpockrandt/genmap", - "tool_dev_url": "https://github.com/cpockrandt/genmap", - "doi": "10.1093/bioinformatics/btaa222", - "licence": ["BSD-3-Clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "fasta file to index", - "pattern": "*.{fasta,fa,fna}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "index": { - "type": "directory", - "description": "Genmap index directory" - } - } - ], - "authors": ["@jianhong", "@nvnieuwk"] - }, - "pipelines": [ - { - "name": "hicar", - "version": "1.0.0" - } - ] - }, - { - "name": "genmap_map", - "path": "modules/nf-core/genmap/map/meta.yml", - "type": "module", - "meta": { - "name": "genmap_map", - "description": "create mappability files for a genome", - "keywords": ["mappability", "index", "fasta", "bedgraph", "csv", "wig"], - "tools": [ - { - "genmap": { - "description": "Ultra-fast computation of genome mappability.", - "homepage": "https://github.com/cpockrandt/genmap", - "documentation": "https://github.com/cpockrandt/genmap", - "tool_dev_url": "https://github.com/cpockrandt/genmap", - "doi": "10.1093/bioinformatics/btaa222", - "licence": ["BSD-3-Clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "directory", - "description": "index directory" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing regions information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "regions": { - "type": "file", - "description": "optional - a bed file with regions to define the mappability off", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "wig": { - "type": "file", - "description": "genmap wig mappability file", - "pattern": "*.wig" - } - }, - { - "bedgraph": { - "type": "file", - "description": "genmap bedgraph mappability file", - "pattern": "*.bedgraph" - } - }, - { - "txt": { - "type": "file", - "description": "genmap text mappability file", - "pattern": "*.txt" - } - }, - { - "csv": { - "type": "file", - "description": "genmap csv mappability file", - "pattern": "*.csv" - } - } - ], - "authors": ["@jianhong", "@nvnieuwk"] - } - }, - { - "name": "genmod_annotate", - "path": "modules/nf-core/genmod/annotate/meta.yml", - "type": "module", - "meta": { - "name": "genmod_annotate", - "description": "for annotating regions, frequencies, cadd scores", - "keywords": ["annotate", "genmod"], - "tools": [ - { - "genmod": { - "description": "Annotate genetic inheritance models in variant files", - "homepage": "https://github.com/Clinical-Genomics/genmod", - "documentation": "https://github.com/Clinical-Genomics/genmod", - "tool_dev_url": "https://github.com/moonso", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "vcf", - "description": "Annotated VCF file", - "pattern": "*.{vcf}" - } - } - ], - "authors": ["@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "genmod_compound", - "path": "modules/nf-core/genmod/compound/meta.yml", - "type": "module", - "meta": { - "name": "genmod_compound", - "description": "Score compounds", - "keywords": ["compound", "genmod"], - "tools": [ - { - "genmod": { - "description": "Annotate genetic inheritance models in variant files", - "homepage": "https://github.com/Clinical-Genomics/genmod", - "documentation": "https://github.com/Clinical-Genomics/genmod", - "tool_dev_url": "https://github.com/moonso", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ] #\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Output VCF file", - "pattern": "*.{vcf}" - } - } - ], - "authors": ["@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "genmod_models", - "path": "modules/nf-core/genmod/models/meta.yml", - "type": "module", - "meta": { - "name": "genmod_models", - "description": "annotate models of inheritance", - "keywords": ["models", "genmod"], - "tools": [ - { - "genmod": { - "description": "Annotate genetic inheritance models in variant files", - "homepage": "https://github.com/Clinical-Genomics/genmod", - "documentation": "https://github.com/Clinical-Genomics/genmod", - "tool_dev_url": "https://github.com/moonso", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_vcf": { - "type": "file", - "description": "vcf file", - "pattern": "*.{vcf}" - } - }, - { - "reduced_penetrance": { - "type": "file", - "description": "file with gene ids that have reduced penetrance", - "pattern": "*.{tsv}" - } - }, - { - "family_file": { - "type": "file", - "description": "ped file", - "pattern": "*.{ped}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Output VCF file", - "pattern": "*.{vcf}" - } - } - ], - "authors": ["@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "genmod_score", - "path": "modules/nf-core/genmod/score/meta.yml", - "type": "module", - "meta": { - "name": "genmod_score", - "description": "Score the variants of a vcf based on their annotation", - "keywords": ["score", "genmod"], - "tools": [ - { - "genmod": { - "description": "Annotate genetic inheritance models in variant files", - "homepage": "https://github.com/Clinical-Genomics/genmod", - "documentation": "https://github.com/Clinical-Genomics/genmod", - "tool_dev_url": "https://github.com/moonso", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_vcf": { - "type": "file", - "description": "vcf file", - "pattern": "*.{vcf}" - } - }, - { - "family_file": { - "type": "file", - "description": "ped file", - "pattern": "*.{ped}" - } - }, - { - "score_config": { - "type": "file", - "description": "rank model config file", - "pattern": "*.{ini}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Output VCF file", - "pattern": "*.{vcf}" - } - } - ], - "authors": ["@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "genomad_download", - "path": "modules/nf-core/genomad/download/meta.yml", - "type": "module", - "meta": { - "name": "genomad_download", - "description": "Download geNomad databases and related files", - "keywords": ["metagenomics", "genomad", "database", "download", "phage", "virus", "plasmid"], - "tools": [ - { - "genomad": { - "description": "Identification of mobile genetic elements", - "homepage": "https://portal.nersc.gov/genomad/", - "documentation": "https://portal.nersc.gov/genomad/", - "tool_dev_url": "https://github.com/apcamargo/genomad/", - "doi": "10.1101/2023.03.05.531206", - "licence": "['Lawrence Berkeley National Labs BSD variant license']" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "genomad_db": { - "type": "directory", - "description": "Directory containing downloaded data with directory being named \"genomad_db\"", - "pattern": "genomad_db" - } - } - ], - "authors": ["@CarsonJM"] - } - }, - { - "name": "genomad_endtoend", - "path": "modules/nf-core/genomad/endtoend/meta.yml", - "type": "module", - "meta": { - "name": "genomad_endtoend", - "description": "Identify mobile genetic elements present in genomic assemblies", - "keywords": ["metagenomics", "genomad", "database", "download", "phage", "virus", "plasmid"], - "tools": [ - { - "genomad": { - "description": "Identification of mobile genetic elements", - "homepage": "https://portal.nersc.gov/genomad/", - "documentation": "https://portal.nersc.gov/genomad/", - "tool_dev_url": "https://github.com/apcamargo/genomad/", - "doi": "10.1101/2023.03.05.531206", - "licence": "['Lawrence Berkeley National Labs BSD variant license']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file containing contigs/scaffolds/chromosomes", - "pattern": "*.{fasta,fna,fa}" - } - }, - { - "genomad_db": { - "type": "directory", - "description": "Directory pointing to geNomad database" - } - }, - { - "score_calibration": { - "type": "boolean", - "description": "true/false value to indicate if score calibration should be enabled" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "aggregated_classification": { - "type": "file", - "description": "Combined classification scores for each contig/scaffold/chromosome", - "pattern": "*_aggregated_classification.tsv" - } - }, - { - "taxonomy": { - "type": "file", - "description": "Detailed output of geNomad's marker gene taxonomy analysis", - "pattern": "*_taxonomy.tsv" - } - }, - { - "provirus": { - "type": "file", - "description": "Detailed output of each provirus identified by geNomad's find_proviruses module", - "pattern": "*_provirus.tsv" - } - }, - { - "compositions": { - "type": "file", - "description": "OPTIONAL - Predicted sample composition when `--enable-score-calibration` is used", - "pattern": "*_compositions.tsv" - } - }, - { - "calibrated_classification": { - "type": "file", - "description": "OPTIONAL - Classification scores that have been adjusted based on sample composition when `--enable-score-calibration` is used`", - "pattern": "*_calibrated_aggregated_classification.tsv" - } - }, - { - "plasmid_fasta": { - "type": "file", - "description": "FASTA file containing predicted plasmid sequences", - "pattern": "*_plasmid.fna" - } - }, - { - "plasmid_genes": { - "type": "file", - "description": "TSV file containing predicted plasmid genes and their annotations", - "pattern": "*_plasmid_genes.tsv" - } - }, - { - "plasmid_proteins": { - "type": "file", - "description": "FASTA file containing predicted plasmid protein sequences", - "pattern": "*_plasmid_proteins.faa" - } - }, - { - "plasmid_summary": { - "type": "file", - "description": "TSV file containing a summary of geNomad's plasmid predictions", - "pattern": "*_plasmid_summary.tsv" - } - }, - { - "virus_fasta": { - "type": "file", - "description": "FASTA file containing predicted virus sequences", - "pattern": "*_virus.fna" - } - }, - { - "virus_genes": { - "type": "file", - "description": "TSV file containing predicted virus genes and their annotations", - "pattern": "*_virus_genes.tsv" - } - }, - { - "virus_proteins": { - "type": "file", - "description": "FASTA file containing predicted virus protein sequences", - "pattern": "*_virus_proteins.faa" - } - }, - { - "virus_summary": { - "type": "file", - "description": "TSV file containing a summary of geNomad's virus predictions", - "pattern": "*_virus_summary.tsv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@CarsonJM"] - } - }, - { - "name": "genomescope2", - "path": "modules/nf-core/genomescope2/meta.yml", - "type": "module", - "meta": { - "name": "genomescope2", - "description": "Estimate genome heterozygosity, repeat content, and size from sequencing reads using a kmer-based statistical approach", - "keywords": ["genome size", "genome heterozygosity", "repeat content"], - "tools": [ - { - "genomescope2": { - "description": "Reference-free profiling of polyploid genomes", - "homepage": "http://qb.cshl.edu/genomescope/genomescope2.0/", - "documentation": "https://github.com/tbenavi1/genomescope2.0/blob/master/README.md", - "tool_dev_url": "https://github.com/tbenavi1/genomescope2.0", - "doi": "10.1038/s41467-020-14998-3", - "licence": "['Apache License, Version 2.0 (Apache-2.0)']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "histogram": { - "type": "file", - "description": "A K-mer histogram file", - "pattern": "*.hist" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "linear_plot_png": { - "type": "file", - "description": "A genomescope2 linear plot in PNG format", - "pattern": "*_linear_plot.png" - } - }, - { - "linear_plot_png": { - "type": "file", - "description": "A genomescope2 linear plot in PNG format", - "pattern": "*_linear_plot.png" - } - }, - { - "transformed_linear_plot_png": { - "type": "file", - "description": "A genomescope2 transformed linear plot in PNG format", - "pattern": "*_transformed_linear_plot.png" - } - }, - { - "log_plot_png": { - "type": "file", - "description": "A genomescope2 log plot in PNG format", - "pattern": "*_log_plot.png" - } - }, - { - "transformed_log_plot_png": { - "type": "file", - "description": "A genomescope2 transformed log plot in PNG format", - "pattern": "*_transformed_log_plot.png" - } - }, - { - "model": { - "type": "file", - "description": "Genomescope2 model fit summary", - "pattern": "*_model.txt" - } - }, - { - "summary": { - "type": "file", - "description": "Genomescope2 histogram summary", - "pattern": "*_summary.txt" - } - } - ], - "authors": ["@mahesh-panchal"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "genotyphi_parse", - "path": "modules/nf-core/genotyphi/parse/meta.yml", - "type": "module", - "meta": { - "name": "genotyphi_parse", - "description": "Genotype Salmonella Typhi from Mykrobe results", - "keywords": ["genotype", "Salmonella Typhi"], - "tools": [ - { - "genotyphi": { - "description": "Assign genotypes to Salmonella Typhi genomes based on VCF files (mapped to Typhi CT18 reference genome)", - "homepage": "https://github.com/katholt/genotyphi", - "documentation": "https://github.com/katholt/genotyphi", - "tool_dev_url": "https://github.com/katholt/genotyphi", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "json": { - "type": "file", - "description": "JSON formatted file of Mykrobe results", - "pattern": "*.json" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "A tab-delimited file of predicted genotypes", - "pattern": "*.tsv" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "genrich", - "path": "modules/nf-core/genrich/meta.yml", - "type": "module", - "meta": { - "name": "genrich", - "description": "Peak-calling for ChIP-seq and ATAC-seq enrichment experiments", - "keywords": ["peak-calling", "ChIP-seq", "ATAC-seq"], - "tools": [ - { - "genrich": { - "description": "Genrich is a peak-caller for genomic enrichment assays (e.g. ChIP-seq, ATAC-seq).\nIt analyzes alignment files generated following the assay and produces a file\ndetailing peaks of significant enrichment.\n", - "homepage": "https://github.com/jsh58/Genrich", - "documentation": "https://github.com/jsh58/Genrich#readme", - "tool_dev_url": "https://github.com/jsh58/Genrich", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "treatment_bam": { - "type": "file", - "description": "Coordinate sorted BAM/SAM file from treatment sample", - "pattern": "*.{bam,sam}" - } - }, - { - "control_bam": { - "type": "file", - "description": "Coordinate sorted BAM/SAM file from control sample", - "pattern": "*.{bam,sam}" - } - }, - { - "blacklist_bed": { - "type": "file", - "description": "Bed file containing genomic intervals to exclude from the analysis", - "pattern": "*.{bed}" - } - }, - { - "save_pvalues": { - "type": "boolean", - "description": "Create bedgraph-ish file for p/q-values file" - } - }, - { - "save_pileup": { - "type": "boolean", - "description": "Create bedgraph-ish file for pileups and p-values" - } - }, - { - "save_bed": { - "type": "boolean", - "description": "Create BED file for reads/fragments/intervals" - } - }, - { - "save_duplicates": { - "type": "boolean", - "description": "Create PCR duplicates file (only works if -r option is set)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "peaks": { - "type": "file", - "description": "Output file is in ENCODE narrowPeak format", - "pattern": "*.{narrowPeak}" - } - }, - { - "bedgraph_pvalues": { - "type": "file", - "description": "bedGraph file containing p/q values", - "pattern": "*.{pvalues.bedGraph}" - } - }, - { - "bedgraph_pileup": { - "type": "file", - "description": "bedGraph file containing pileups and p-values", - "pattern": "*.{pileup.bedGraph}" - } - }, - { - "bed_intervals": { - "type": "file", - "description": "Bed file containing annotated intervals", - "pattern": "*.{intervals.bed}" - } - }, - { - "duplicates": { - "type": "file", - "description": "Text output file containing intervals corresponding to PCR duplicates", - "pattern": "*.{intervals.txt}" - } - }, - { - "version": { - "type": "file", - "description": "File containing software version", - "pattern": "*.{version.txt}" - } - } - ], - "authors": ["@JoseEspinosa"] - } - }, - { - "name": "geoquery_getgeo", - "path": "modules/nf-core/geoquery/getgeo/meta.yml", - "type": "module", - "meta": { - "name": "geoquery_getgeo", - "description": "Retrieves GEO data from the Gene Expression Omnibus (GEO)", - "keywords": ["geo", "expression", "microarray"], - "tools": [ - { - "geoquery": { - "description": "Get data from NCBI Gene Expression Omnibus (GEO)", - "homepage": "https://bioconductor.org/packages/release/bioc/html/GEOquery.html", - "documentation": "https://bioconductor.org/packages/release/bioc/vignettes/GEOquery/inst/doc/GEOquery.html", - "tool_dev_url": "https://github.com/seandavi/GEOquery", - "doi": "10.1093/bioinformatics/btm254", - "licence": "MIT" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing metadata about the GEO dataset, minimally 'id'.\n" - } - }, - { - "querygse": { - "type": "string", - "description": "GSE identifier to pass to getGEO()\n" - } - } - ], - "output": [ - { - "rds": { - "type": "file", - "description": "R object containing GEO data", - "pattern": "*.rds" - } - }, - { - "expression": { - "type": "file", - "description": "TSV-format expression matrix", - "pattern": "*matrix.tsv" - } - }, - { - "annotation": { - "type": "file", - "description": "TSV-format annotation file", - "pattern": "*annotation.tsv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@azedinez", "@pinin4fjords"] - } - }, - { - "name": "gfaffix", - "path": "modules/nf-core/gfaffix/meta.yml", - "type": "module", - "meta": { - "name": "gfaffix", - "description": "Collapse walk-preserving shared affixes in variation graphs in GFA format", - "keywords": ["gfa", "graph", "pangenome", "variation graph"], - "tools": [ - { - "gfaffix": { - "description": "GFAffix identifies walk-preserving shared affixes in variation graphs and\ncollapses them into a non-redundant graph structure.\n", - "homepage": "https://github.com/marschall-lab/GFAffix", - "documentation": "https://github.com/marschall-lab/GFAffix", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gfa": { - "type": "file", - "description": "Variation graph in GFA format", - "pattern": "*.{gfa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gfa": { - "type": "file", - "description": "Non-redundant variation graph in GFA 1.0 format", - "pattern": "*.{gfa}" - } - }, - { - "affixes": { - "type": "file", - "description": "Shared affixes in tab-separated values (TSV) text format", - "pattern": "*.{txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@heuermh"] - }, - "pipelines": [ - { - "name": "pangenome", - "version": "dev" - } - ] - }, - { - "name": "gfastats", - "path": "modules/nf-core/gfastats/meta.yml", - "type": "module", - "meta": { - "name": "gfastats", - "description": "A single fast and exhaustive tool for summary statistics and simultaneous *fa*\n(fasta, fastq, gfa [.gz]) genome assembly file manipulation.\n", - "keywords": [ - "gfastats", - "fasta", - "genome assembly", - "genome summary", - "genome manipulation", - "genome statistics" - ], - "tools": [ - { - "gfastats": { - "description": "The swiss army knife for genome assembly.", - "homepage": "https://github.com/vgl-hub/gfastats", - "documentation": "https://github.com/vgl-hub/gfastats/tree/main/instructions", - "tool_dev_url": "https://github.com/vgl-hub/gfastats", - "doi": "10.1093/bioinformatics/btac460", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "assembly": { - "type": "file", - "description": "Draft assembly file", - "pattern": "*.{fasta,fastq,gfa}(.gz)?" - } - }, - { - "out_fmt": { - "type": "string", - "description": "Output format (fasta, fastq, gfa)" - } - }, - { - "genome_size": { - "type": "integer", - "description": "estimated genome size (bp) for NG* statistics (optional)." - } - }, - { - "target": { - "type": "string", - "description": "target specific sequence by header, optionally with coordinates (optional)." - } - }, - { - "agpfile": { - "type": "file", - "description": "converts input agp to path and replaces existing paths." - } - }, - { - "include_bed": { - "type": "file", - "description": "generates output on a subset list of headers or coordinates in 0-based bed format." - } - }, - { - "exclude_bed": { - "type": "file", - "description": "opposite of --include-bed. They can be combined (no coordinates)." - } - }, - { - "instructions": { - "type": "file", - "description": "set of instructions provided as an ordered list." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "assembly_summary": { - "type": "file", - "description": "Assembly summary statistics file", - "pattern": "*.assembly_summary" - } - }, - { - "assembly": { - "type": "file", - "description": "The assembly as modified by gfastats", - "pattern": "*.{fasta,fastq,gfa}.gz" - } - } - ], - "authors": ["@mahesh-panchal"] - } - }, - { - "name": "gffcompare", - "path": "modules/nf-core/gffcompare/meta.yml", - "type": "module", - "meta": { - "name": "gffcompare", - "description": "Compare, merge, annotate and estimate accuracy of generated gtf files", - "keywords": ["transcripts", "gtf", "merge", "compare"], - "tools": [ - { - "gffcompare": { - "description": "GffCompare by Geo Pertea", - "homepage": "http://ccb.jhu.edu/software/stringtie/gffcompare.shtml", - "documentation": "http://ccb.jhu.edu/software/stringtie/gffcompare.shtml", - "tool_dev_url": "https://github.com/gpertea/gffcompare", - "doi": "10.12688/f1000research.23297.1", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing meta data\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gtfs": { - "type": "file", - "description": "GTF/GFF files\ne.g. [ 'file_1.gtf', 'file_2.gtf' ]\n", - "pattern": "*.{gtf,gff}" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome reference fasta file (optional)", - "pattern": "*.{fasta,fa}" - } - }, - { - "fai": { - "type": "file", - "description": "Index for fasta file", - "pattern": "*.fai" - } - }, - { - "reference_gtf": { - "type": "file", - "description": "Reference annotation in gtf/gff format (optional)", - "pattern": "*.{gtf,gff}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing meta data\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "annotated_gtf": { - "type": "file", - "description": "Annotated gtf file when reference gtf is provided (optional)\n", - "pattern": "*.annotated.gtf" - } - }, - { - "combined_gtf": { - "type": "file", - "description": "Combined gtf file when multiple input files are\nprovided (optional)\n", - "pattern": "*.annotated.gtf" - } - }, - { - "tmap": { - "type": "file", - "description": "File listing the most closely matching reference transcript\nfor each query transcript (optional)\n", - "pattern": "*.tmap" - } - }, - { - "refmap": { - "type": "file", - "description": "File listing the reference transcripts with overlapping\nquery transcripts (optional)\n", - "pattern": "*.refmap" - } - }, - { - "loci": { - "type": "file", - "description": "File with loci", - "pattern": "*.loci" - } - }, - { - "stats": { - "type": "file", - "description": "File with stats for input transcripts as compared to\nreference alternatively stats for the combined gtf\n", - "pattern": "*.stats" - } - }, - { - "tracking": { - "type": "file", - "description": "This file matches transcripts up between samples\n", - "pattern": "*.tracking" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@jemten"] - } - }, - { - "name": "gffread", - "path": "modules/nf-core/gffread/meta.yml", - "type": "module", - "meta": { - "name": "gffread", - "description": "Validate, filter, convert and perform various other operations on GFF files", - "keywords": ["gff", "conversion", "validation"], - "tools": [ - { - "gffread": { - "description": "GFF/GTF utility providing format conversions, region filtering, FASTA sequence extraction and more.", - "homepage": "http://ccb.jhu.edu/software/stringtie/gff.shtml#gffread", - "documentation": "http://ccb.jhu.edu/software/stringtie/gff.shtml#gffread", - "tool_dev_url": "https://github.com/gpertea/gffread", - "doi": "10.12688/f1000research.23297.1", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "gff": { - "type": "file", - "description": "A reference file in either the GFF3, GFF2 or GTF format.", - "pattern": "*.{gff, gtf}" - } - } - ], - "output": [ - { - "gtf": { - "type": "file", - "description": "GTF file resulting from the conversion of the GFF input file", - "pattern": "*.{gtf}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@emiller88"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "scrnaseq", - "version": "2.3.2" - } - ] - }, - { - "name": "gget_gget", - "path": "modules/nf-core/gget/gget/meta.yml", - "type": "module", - "meta": { - "name": "gget_gget", - "description": "gget is a free, open-source command-line tool and Python package that enables efficient querying of genomic databases. gget consists of a collection of separate but interoperable modules, each designed to facilitate one type of database querying in a single line of code.", - "keywords": ["gget", "reference", "database", "databases", "download"], - "tools": [ - { - "gget": { - "description": "gget enables efficient querying of genomic databases", - "homepage": "https://github.com/pachterlab/gget", - "documentation": "https://pachterlab.github.io/gget/", - "tool_dev_url": "https://github.com/pachterlab/gget", - "doi": "10.1093/bioinformatics/btac836", - "licence": "['BSD-2-clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "files": { - "type": "files", - "description": "Optional input files which can be specified for certain tools. This is mostly used to supply a FASTA file for gget muscle.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "file", - "description": "File containing output of gget command (-o for most gget tools).", - "pattern": "*.{json,csv}" - } - }, - { - "file": { - "type": "file", - "description": "Path to any file downloaded by gget", - "pattern": "*" - } - } - ], - "authors": ["@adamrtalbot"] - } - }, - { - "name": "glimpse2_chunk", - "path": "modules/nf-core/glimpse2/chunk/meta.yml", - "type": "module", - "meta": { - "name": "glimpse2_chunk", - "description": "Defines chunks where to run imputation", - "keywords": ["chunk", "low-coverage", "imputation", "glimpse"], - "tools": [ - { - "glimpse2": { - "description": "GLIMPSE2 is a phasing and imputation method for large-scale low-coverage sequencing studies.", - "homepage": "https://odelaneau.github.io/GLIMPSE", - "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", - "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", - "doi": "10.1038/s41588-020-00756-0", - "licence": "['MIT']" - } - } - ], - "requirements": ["AVX2"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "Target dataset in VCF/BCF format defined at all variable positions.\nThe file could possibly be without GT field (for efficiency reasons a file containing only the positions is recommended).\n", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "input_index": { - "type": "file", - "description": "Index file of the input VCF/BCF file containing genotype likelihoods.", - "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" - } - }, - { - "region": { - "type": "string", - "description": "Target region, usually a full chromosome (e.g. chr20:1000000-2000000 or chr20).\nFor chrX, please treat PAR and non-PAR regions as different choromosome in order to avoid mixing ploidy.\n" - } - }, - { - "map": { - "type": "file", - "description": "File containing the genetic map.", - "pattern": "*.gmap" - } - }, - { - "model": { - "type": "string", - "description": "Algorithm model to use:\n\"recursive\": Recursive algorithm\n\"sequential\": Sequential algorithm (Recommended)\n\"uniform-number-variants\": Experimental. Uniform the number of variants in the sequential algorithm\n", - "pattern": "{recursive,sequential,uniform-number-variants}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "Tab delimited output txt file containing buffer and imputation regions.", - "pattern": "*.{txt}" - } - } - ], - "authors": ["@louislenezet"] - } - }, - { - "name": "glimpse2_concordance", - "path": "modules/nf-core/glimpse2/concordance/meta.yml", - "type": "module", - "meta": { - "name": "glimpse2_concordance", - "description": "Program to compute the genotyping error rate at the sample or marker level.", - "keywords": ["concordance", "low-coverage", "glimpse", "imputation"], - "tools": [ - { - "glimpse2": { - "description": "GLIMPSE2 is a phasing and imputation method for large-scale low-coverage sequencing studies.", - "homepage": "https://odelaneau.github.io/GLIMPSE", - "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", - "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", - "doi": "10.1038/s41588-020-00756-0", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "region": { - "type": "string", - "description": "Target region used for imputation, including left and right buffers (e.g. chr20:1000000-2000000).", - "pattern": "chrXX:leftBufferPosition-rightBufferPosition" - } - }, - { - "freq": { - "type": "file", - "description": "File containing allele frequencies at each site.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "truth": { - "type": "file", - "description": "Validation dataset called at the same positions as the imputed file.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "estimate": { - "type": "file", - "description": "Imputed dataset file obtain after phasing.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "samples": { - "type": "file", - "description": "List of samples to process, one sample ID per line.", - "pattern": "*.{txt,tsv}" - } - }, - { - "groups": { - "type": "file", - "description": "Alternative to frequency bins, group bins are user defined, provided in a file.", - "pattern": "*.{txt,tsv}" - } - }, - { - "bins": { - "type": "string", - "description": "Allele frequency bins used for rsquared computations.\nBy default they should as MAF bins [0-0.5], while\nthey should take the full range [0-1] if --use-ref-alt is used.\n", - "pattern": "0 0.01 0.05 ... 0.5" - } - }, - { - "ac_bins": { - "type": "string", - "description": "User-defined allele count bins used for rsquared computations.", - "pattern": "1 2 5 10 20 ... 100000" - } - }, - { - "allele_counts": { - "type": "string", - "description": "Default allele count bins used for rsquared computations.\nAN field must be defined in the frequency file.\n" - } - }, - { - "min_val_gl": { - "type": "float", - "description": "Minimum genotype likelihood probability P(G|R) in validation data.\nSet to zero to have no filter of if using –gt-validation\n" - } - }, - { - "min_val_dp": { - "type": "integer", - "description": "Minimum coverage in validation data.\nIf FORMAT/DP is missing and –min_val_dp > 0, the program exits with an error.\nSet to zero to have no filter of if using –gt-validation\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions.", - "pattern": "versions.yml" - } - }, - { - "errors_cal": { - "type": "file", - "description": "Calibration correlation errors between imputed dosages (in MAF bins) and highly-confident genotype.", - "pattern": "*.errors.cal.txt.gz" - } - }, - { - "errors_grp": { - "type": "file", - "description": "Groups correlation errors between imputed dosages (in MAF bins) and highly-confident genotype.", - "pattern": "*.errors.grp.txt.gz" - } - }, - { - "errors_spl": { - "type": "file", - "description": "Samples correlation errors between imputed dosages (in MAF bins) and highly-confident genotype.", - "pattern": "*.errors.spl.txt.gz" - } - }, - { - "rsquared_grp": { - "type": "file", - "description": "Groups r-squared correlation between imputed dosages (in MAF bins) and highly-confident genotype.", - "pattern": "*.rsquare.grp.txt.gz" - } - }, - { - "rsquared_spl": { - "type": "file", - "description": "Samples r-squared correlation between imputed dosages (in MAF bins) and highly-confident genotype.", - "pattern": "*.rsquare.spl.txt.gz" - } - } - ], - "authors": ["@louislenezet"] - } - }, - { - "name": "glimpse2_ligate", - "path": "modules/nf-core/glimpse2/ligate/meta.yml", - "type": "module", - "meta": { - "name": "glimpse2_ligate", - "description": "Ligatation of multiple phased BCF/VCF files into a single whole chromosome file.\nGLIMPSE2 is run in chunks that are ligated into chromosome-wide files maintaining the phasing.\n", - "keywords": ["ligate", "low-coverage", "glimpse", "imputation"], - "tools": [ - { - "glimpse2": { - "description": "GLIMPSE2 is a phasing and imputation method for large-scale low-coverage sequencing studies.", - "homepage": "https://odelaneau.github.io/GLIMPSE", - "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", - "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", - "doi": "10.1038/s41588-020-00756-0", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_list": { - "type": "file", - "description": "VCF/BCF file containing genotype probabilities (GP field).", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "input_index": { - "type": "file", - "description": "Index file of the input VCF/BCF file containing genotype likelihoods.", - "pattern": "*.{csi,tbi}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "merged_variants": { - "type": "file", - "description": "Output ligated (phased) file in VCF/BCF format.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - } - ], - "authors": ["@louislenezet"] - } - }, - { - "name": "glimpse2_phase", - "path": "modules/nf-core/glimpse2/phase/meta.yml", - "type": "module", - "meta": { - "name": "glimpse2_phase", - "description": "Tool for imputation and phasing from vcf file or directly from bam files.", - "keywords": ["phasing", "low-coverage", "imputation", "glimpse"], - "tools": [ - { - "glimpse2": { - "description": "GLIMPSE2 is a phasing and imputation method for large-scale low-coverage sequencing studies.", - "homepage": "https://odelaneau.github.io/GLIMPSE", - "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", - "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", - "doi": "10.1038/s41588-020-00756-0", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "Either multiple BAM/CRAM files containing low-coverage sequencing reads or one VCF/BCF file containing the genotype likelihoods.\nWhen using BAM/CRAM the name of the file is used as samples name.\n", - "pattern": "*.{bam,cram,vcf,vcf.gz,bcf,bcf.gz}" - } - }, - { - "input_index": { - "type": "file", - "description": "Index file of the input BAM/CRAM/VCF/BCF file.", - "pattern": "*.{bam.bai,cram.crai,vcf.gz.csi,bcf.gz.csi}" - } - }, - { - "samples_file": { - "type": "file", - "description": "File with sample names and ploidy information.\nOne sample per line with a mandatory second column indicating ploidy (1 or 2).\nSample names that are not present are assumed to have ploidy 2 (diploids).\nGLIMPSE does NOT handle the use of sex (M/F) instead of ploidy.\n", - "pattern": "*.{txt,tsv}" - } - }, - { - "input_region": { - "type": "string", - "description": "Target region used for imputation, including left and right buffers (e.g. chr20:1000000-2000000).\nOptional if reference panel is in bin format.\n", - "pattern": "chrXX:leftBufferPosition-rightBufferPosition" - } - }, - { - "output_region": { - "type": "string", - "description": "Target imputed region, excluding left and right buffers (e.g. chr20:1000000-2000000).\nOptional if reference panel is in bin format.\n", - "pattern": "chrXX:leftBufferPosition-rightBufferPosition" - } - }, - { - "reference": { - "type": "file", - "description": "Reference panel of haplotypes in VCF/BCF format.", - "pattern": "*.{vcf.gz,bcf.gz}" - } - }, - { - "reference_index": { - "type": "file", - "description": "Index file of the Reference panel file.", - "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" - } - }, - { - "map": { - "type": "file", - "description": "File containing the genetic map.\nOptional if reference panel is in bin format.\n", - "pattern": "*.gmap" - } - }, - { - "fasta_reference": { - "type": "file", - "description": "Faidx-indexed reference sequence file in the appropriate genome build.\nNecessary for CRAM files.\n", - "pattern": "*.fasta" - } - }, - { - "fasta_reference_index": { - "type": "file", - "description": "Faidx index of the reference sequence file in the appropriate genome build.\nNecessary for CRAM files.\n", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "phased_variants": { - "type": "file", - "description": "Output VCF/BCF file containing genotype probabilities (GP field), imputed dosages (DS field), best guess genotypes (GT field), sampled haplotypes in the last (max 16) main iterations (HS field) and info-score.\n", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "stats_coverage": { - "type": "file", - "description": "Optional coverage statistic file created when BAM/CRAM files are used as inputs.", - "pattern": "*.txt.gz" - } - } - ], - "authors": ["@LouisLeNezet"] - } - }, - { - "name": "glimpse2_splitreference", - "path": "modules/nf-core/glimpse2/splitreference/meta.yml", - "type": "module", - "meta": { - "name": "glimpse2_splitreference", - "description": "Tool to create a binary reference panel for quick reading time.", - "keywords": ["split", "reference", "phasing"], - "tools": [ - { - "glimpse2": { - "description": "GLIMPSE2 is a phasing and imputation method for large-scale low-coverage sequencing studies.", - "homepage": "https://odelaneau.github.io/GLIMPSE", - "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", - "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", - "doi": "10.1038/s41588-020-00756-0", - "licence": "['MIT']" - } - } - ], - "requirements": ["AVX2"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reference": { - "type": "file", - "description": "Reference panel of haplotypes in VCF/BCF format.", - "pattern": "*.{vcf.gz,bcf.gz}" - } - }, - { - "reference_index": { - "type": "file", - "description": "Index file of the Reference panel file.", - "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" - } - }, - { - "input_region": { - "type": "string", - "description": "Target region used for imputation, including left and right buffers (e.g. chr20:1000000-2000000).", - "pattern": "chrXX:leftBufferPosition-rightBufferPosition" - } - }, - { - "output_region": { - "type": "string", - "description": "Target imputed region, excluding left and right buffers (e.g. chr20:1000000-2000000).", - "pattern": "chrXX:leftBufferPosition-rightBufferPosition" - } - }, - { - "map": { - "type": "file", - "description": "File containing the genetic map.", - "pattern": "*.gmap" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bin_ref": { - "type": "file", - "description": "binary reference panel", - "pattern": "*.bin" - } - } - ], - "authors": ["@LouisLeNezet"] - } - }, - { - "name": "glimpse_chunk", - "path": "modules/nf-core/glimpse/chunk/meta.yml", - "type": "module", - "meta": { - "name": "glimpse_chunk", - "description": "Defines chunks where to run imputation", - "keywords": ["chunk", "imputation", "low coverage"], - "tools": [ - { - "glimpse": { - "description": "GLIMPSE is a phasing and imputation method for large-scale low-coverage sequencing studies.", - "homepage": "https://odelaneau.github.io/GLIMPSE", - "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", - "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", - "doi": "10.1038/s41588-020-00756-0", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "Target dataset in VCF/BCF format defined at all variable positions.\nThe file could possibly be without GT field (for efficiency reasons a file containing only the positions is recommended).\n", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "region": { - "type": "string", - "description": "Target region, usually a full chromosome (e.g. chr20:1000000-2000000 or chr20).\nFor chrX, please treat PAR and non-PAR regions as different choromosome in order to avoid mixing ploidy.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "Tab delimited output txt file containing buffer and imputation regions.", - "pattern": "*.{txt}" - } - } - ], - "authors": ["@louislenezet"] - } - }, - { - "name": "glimpse_concordance", - "path": "modules/nf-core/glimpse/concordance/meta.yml", - "type": "module", - "meta": { - "name": "glimpse_concordance", - "description": "Compute the r2 correlation between imputed dosages (in MAF bins) and highly-confident genotype calls from the high-coverage dataset.", - "keywords": ["concordance", "low-coverage", "glimpse", "imputation"], - "tools": [ - { - "glimpse": { - "description": "GLIMPSE is a phasing and imputation method for large-scale low-coverage sequencing studies.", - "homepage": "https://odelaneau.github.io/GLIMPSE", - "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", - "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", - "doi": "10.1038/s41588-020-00756-0", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "region": { - "type": "string", - "description": "Target region used for imputation, including left and right buffers (e.g. chr20:1000000-2000000).", - "pattern": "chrXX:leftBufferPosition-rightBufferPosition" - } - }, - { - "freq": { - "type": "file", - "description": "File containing allele frequencies at each site.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "truth": { - "type": "file", - "description": "Validation dataset called at the same positions as the imputed file.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "estimate": { - "type": "file", - "description": "Imputed data.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "min_prob": { - "type": "float", - "description": "Minimum posterior probability P(G|R) in validation data" - } - }, - { - "min_dp": { - "type": "integer", - "description": "Minimum coverage in validation data.\nIf FORMAT/DP is missing and --minDP > 0, the program exits with an error.\n" - } - }, - { - "bins": { - "type": "string", - "description": "Allele frequency bins used for rsquared computations.\nBy default they should as MAF bins [0-0.5], while\nthey should take the full range [0-1] if --use-ref-alt is used.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "errors_cal": { - "type": "file", - "description": "Calibration correlation errors between imputed dosages (in MAF bins) and highly-confident genotype.", - "pattern": "*.errors.cal.txt.gz" - } - }, - { - "errors_grp": { - "type": "file", - "description": "Groups correlation errors between imputed dosages (in MAF bins) and highly-confident genotype.", - "pattern": "*.errors.grp.txt.gz" - } - }, - { - "errors_spl": { - "type": "file", - "description": "Samples correlation errors between imputed dosages (in MAF bins) and highly-confident genotype.", - "pattern": "*.errors.spl.txt.gz" - } - }, - { - "rsquared_grp": { - "type": "file", - "description": "Groups r-squared correlation between imputed dosages (in MAF bins) and highly-confident genotype.", - "pattern": "*.rsquare.grp.txt.gz" - } - }, - { - "rsquared_spl": { - "type": "file", - "description": "Samples r-squared correlation between imputed dosages (in MAF bins) and highly-confident genotype.", - "pattern": "*.rsquare.spl.txt.gz" - } - } - ], - "authors": ["@louislenezet"] - } - }, - { - "name": "glimpse_ligate", - "path": "modules/nf-core/glimpse/ligate/meta.yml", - "type": "module", - "meta": { - "name": "glimpse_ligate", - "description": "Concatenates imputation chunks in a single VCF/BCF file ligating phased information.", - "keywords": ["ligate", "low-coverage", "glimpse", "imputation"], - "tools": [ - { - "glimpse": { - "description": "GLIMPSE is a phasing and imputation method for large-scale low-coverage sequencing studies.", - "homepage": "https://odelaneau.github.io/GLIMPSE", - "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", - "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", - "doi": "10.1038/s41588-020-00756-0", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_list": { - "type": "file", - "description": "VCF/BCF file containing genotype probabilities (GP field).", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "input_index": { - "type": "file", - "description": "Index file of the input VCF/BCF file containing genotype likelihoods.", - "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "merged_variants": { - "type": "file", - "description": "Output VCF/BCF file for the merged regions.\nPhased information (HS field) is updated accordingly for the full region.\n", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - } - ], - "authors": ["@louislenezet"] - } - }, - { - "name": "glimpse_phase", - "path": "modules/nf-core/glimpse/phase/meta.yml", - "type": "module", - "meta": { - "name": "glimpse_phase", - "description": "main GLIMPSE algorithm, performs phasing and imputation refining genotype likelihoods", - "keywords": ["phase", "imputation", "low-coverage", "glimpse"], - "tools": [ - { - "glimpse": { - "description": "GLIMPSE is a phasing and imputation method for large-scale low-coverage sequencing studies.", - "homepage": "https://odelaneau.github.io/GLIMPSE", - "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", - "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", - "doi": "10.1038/s41588-020-00756-0", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "Input VCF/BCF file containing genotype likelihoods.", - "pattern": "*.{vcf.gz,bcf.gz}" - } - }, - { - "input_index": { - "type": "file", - "description": "Index file of the input VCF/BCF file containing genotype likelihoods.", - "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" - } - }, - { - "samples_file": { - "type": "file", - "description": "File with sample names and ploidy information.\nOne sample per line with a mandatory second column indicating ploidy (1 or 2).\nSample names that are not present are assumed to have ploidy 2 (diploids).\nGLIMPSE does NOT handle the use of sex (M/F) instead of ploidy.\n", - "pattern": "*.{txt,tsv}" - } - }, - { - "input_region": { - "type": "string", - "description": "Target region used for imputation, including left and right buffers (e.g. chr20:1000000-2000000).", - "pattern": "chrXX:leftBufferPosition-rightBufferPosition" - } - }, - { - "output_region": { - "type": "string", - "description": "Target imputed region, excluding left and right buffers (e.g. chr20:1000000-2000000).", - "pattern": "chrXX:leftBufferPosition-rightBufferPosition" - } - }, - { - "reference": { - "type": "file", - "description": "Reference panel of haplotypes in VCF/BCF format.", - "pattern": "*.{vcf.gz,bcf.gz}" - } - }, - { - "reference_index": { - "type": "file", - "description": "Index file of the Reference panel file.", - "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" - } - }, - { - "map": { - "type": "file", - "description": "File containing the genetic map.", - "pattern": "*.gmap" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "phased_variants": { - "type": "file", - "description": "Output VCF/BCF file containing genotype probabilities (GP field),\nimputed dosages (DS field), best guess genotypes (GT field),\nsampled haplotypes in the last (max 16) main iterations (HS field) and info-score.\n", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - } - ], - "authors": ["@louislenezet"] - } - }, - { - "name": "glimpse_sample", - "path": "modules/nf-core/glimpse/sample/meta.yml", - "type": "module", - "meta": { - "name": "glimpse_sample", - "description": "Generates haplotype calls by sampling haplotype estimates", - "keywords": ["Sample", "Haplotypes", "Imputation"], - "tools": [ - { - "glimpse": { - "description": "GLIMPSE is a phasing and imputation method for large-scale low-coverage sequencing studies.", - "homepage": "https://odelaneau.github.io/GLIMPSE", - "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", - "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", - "doi": "10.1038/s41588-020-00756-0", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "VCF/BCF file generated using GLIMPSE ligate", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "sample": { - "type": "parameter", - "description": "Samples a likely haplotype pair for each sample, use it in combination with --seed. Option not recommended for general usage, use --solve instead" - } - }, - { - "solve": { - "type": "parameter", - "description": "Get the most likely haplotype pair for each sample (the random number generator is not used)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "haplo_sampled": { - "type": "file", - "description": "Output VCF/BCF file containing phased genotypes.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - } - ], - "authors": ["@louislenezet"] - } - }, - { - "name": "glnexus", - "path": "modules/nf-core/glnexus/meta.yml", - "type": "module", - "meta": { - "name": "glnexus", - "description": "merge gVCF files and perform joint variant calling", - "keywords": ["merge", "gvcf"], - "tools": [ - { - "glnexus": { - "description": "scalable gVCF merging and joint variant calling for population sequencing projects.", - "homepage": "https://github.com/dnanexus-rnd/GLnexus", - "documentation": "https://github.com/dnanexus-rnd/GLnexus/wiki/Getting-Started", - "doi": "10.1101/343970", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "gvcfs": { - "type": "list", - "description": "Input genomic vcf files", - "pattern": "*.{gvcf,gvcf.gz,g.vcf,g.vcf.gz}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bcf": { - "type": "file", - "description": "merged BCF file", - "pattern": "*.bcf" - } - } - ], - "authors": ["@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "gnu_sort", - "path": "modules/nf-core/gnu/sort/meta.yml", - "type": "module", - "meta": { - "name": "GNU_SORT", - "description": "Writes a sorted concatenation of file/s\n", - "keywords": ["GNU", "sort", "merge compare"], - "tools": [ - { - "sort": { - "description": "Writes a sorted concatenation of file/s", - "homepage": "https://github.com/vgl-hub/gfastats", - "documentation": "https://www.gnu.org/software/coreutils/manual/html_node/sort-invocation.html", - "licence": ["GPL"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "Draft assembly file", - "pattern": "*.{txt,bed,interval,genome,bins}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sorted": { - "type": "file", - "description": "The sorted txt file generated by sort", - "pattern": "*.{txt,bed,interval,genome,bins}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@DLBPointon"] - } - }, - { - "name": "goat_taxonsearch", - "path": "modules/nf-core/goat/taxonsearch/meta.yml", - "type": "module", - "meta": { - "name": "goat_taxonsearch", - "description": "Query metadata for any taxon across the tree of life.", - "keywords": ["public datasets", "ncbi", "genomes on a tree"], - "tools": [ - { - "goat": { - "description": "goat-cli is a command line interface to query the\nGenomes on a Tree Open API.\n", - "homepage": "https://github.com/genomehubs/goat-cli", - "documentation": "https://github.com/genomehubs/goat-cli/wiki", - "tool_dev_url": "https://genomehubs.github.io/goat-cli/goat_cli/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "taxon": { - "type": "val", - "description": "The taxon to search. An NCBI taxon ID, or the name of a taxon at any rank.\n" - } - }, - { - "taxa_file": { - "type": "file", - "description": "A file of NCBI taxonomy ID's (tips) and/or binomial names. Each line\nshould contain a single entry.File size is limited to 500 entries.\n", - "pattern": "*.txt" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "taxonsearch": { - "type": "file", - "description": "TSV file containing search results.", - "pattern": "*.tsv" - } - } - ], - "authors": ["@alxndrdiaz"] - } - }, - { - "name": "goleft_indexsplit", - "path": "modules/nf-core/goleft/indexsplit/meta.yml", - "type": "module", - "meta": { - "name": "goleft_indexsplit", - "description": "Quickly generate evenly sized (by amount of data) regions across a number of bam/cram files", - "keywords": ["bam", "bed", "cram", "index", "split"], - "tools": [ - { - "goleft": { - "description": "goleft is a collection of bioinformatics tools distributed under MIT license in a single static binary", - "homepage": "https://github.com/brentp/goleft", - "documentation": "https://github.com/brentp/goleft", - "tool_dev_url": "https://github.com/brentp/goleft", - "doi": "10.1093/gigascience/gix090", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bai": { - "type": "file", - "description": "BAI/CRAI file", - "pattern": "*.{bai,crai}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Reference fasta index file", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Bed file containing split regions", - "pattern": "*.bed" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "graphmap2_align", - "path": "modules/nf-core/graphmap2/align/meta.yml", - "type": "module", - "meta": { - "name": "graphmap2_align", - "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences", - "keywords": ["align", "fasta", "fastq", "genome", "reference"], - "tools": [ - { - "graphmap2": { - "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences.\n", - "homepage": "https://github.com/lbcb-sci/graphmap2", - "documentation": "https://github.com/lbcb-sci/graphmap2#graphmap2---a-highly-sensitive-and-accurate-mapper-for-long-error-prone-reads", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "List of input FASTQ files\nand paired-end data, respectively.\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference database in FASTA format.\n" - } - }, - { - "index": { - "type": "file", - "description": "FASTA index in gmidx.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sam": { - "type": "file", - "description": "Alignment in SAM format", - "pattern": "*.sam" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@yuukiiwa", "@drpatelh"] - } - }, - { - "name": "graphmap2_index", - "path": "modules/nf-core/graphmap2/index/meta.yml", - "type": "module", - "meta": { - "name": "graphmap2_index", - "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences", - "keywords": ["index", "fasta", "reference"], - "tools": [ - { - "graphmap2": { - "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences.\n", - "homepage": "https://github.com/lbcb-sci/graphmap2", - "documentation": "https://github.com/lbcb-sci/graphmap2#graphmap2---a-highly-sensitive-and-accurate-mapper-for-long-error-prone-reads", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Reference database in FASTA format.\n" - } - } - ], - "output": [ - { - "gmidx": { - "type": "file", - "description": "Graphmap2 fasta index in gmidx format", - "pattern": "*.gmidx" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@yuukiiwa", "@drpatelh"] - } - }, - { - "name": "graphtyper_genotype", - "path": "modules/nf-core/graphtyper/genotype/meta.yml", - "type": "module", - "meta": { - "name": "graphtyper_genotype", - "description": "Tools for population-scale genotyping using pangenome graphs.", - "keywords": ["variant", "vcf", "bam", "cram", "pangenome"], - "tools": [ - { - "graphtyper": { - "description": "A graph-based variant caller capable of genotyping population-scale short read data sets while incoperating previously discovered variants.", - "homepage": "https://github.com/DecodeGenetics/graphtyper", - "documentation": "https://github.com/DecodeGenetics/graphtyper/wiki/User-guide", - "tool_dev_url": "https://github.com/DecodeGenetics/graphtyper", - "doi": "10.1038/ng.3964", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file. This is automatically found base on BAM input file name", - "pattern": "*.{bai}" - } - }, - { - "ref": { - "type": "file", - "description": "Reference fasta file", - "pattern": "*.{fa, fasta, fas}" - } - }, - { - "ref_fai": { - "type": "file", - "description": "Reference index file. This is automatically found based on referece input file name.", - "pattern": "*.{.fai}" - } - }, - { - "region_file": { - "type": "file", - "description": "File with a list of chromosome/locations in reference genome to genotype. One region per line in the format :-. This or `--region` (in ext.args) must be specified.", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file with genotyped variants", - "pattern": "*.{vcf.gz}" - } - }, - { - "tbi": { - "type": "file", - "description": "VCF index file", - "pattern": "*.{vcf.gz.tbi}" - } - } - ], - "authors": ["@zachary-foster"] - } - }, - { - "name": "graphtyper_vcfconcatenate", - "path": "modules/nf-core/graphtyper/vcfconcatenate/meta.yml", - "type": "module", - "meta": { - "name": "graphtyper_vcfconcatenate", - "description": "Tools for population-scale genotyping using pangenome graphs.", - "keywords": ["combine", "concatenate", "variant", "vcf"], - "tools": [ - { - "graphtyper": { - "description": "A graph-based variant caller capable of genotyping population-scale short read data sets while incoperating previously discovered variants.", - "homepage": "https://github.com/DecodeGenetics/graphtyper", - "documentation": "https://github.com/DecodeGenetics/graphtyper/wiki/User-guide", - "tool_dev_url": "https://github.com/DecodeGenetics/graphtyper", - "doi": "10.1038/ng.3964", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF files", - "pattern": "*.{vcf,vcf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Concatenated VCF file", - "pattern": "*.{vcf.gz}" - } - }, - { - "tbi": { - "type": "file", - "description": "Concatenated VCF file index", - "pattern": "*.{tbi}" - } - } - ], - "authors": ["@zachary-foster"] - } - }, - { - "name": "gridss_gridss", - "path": "modules/nf-core/gridss/gridss/meta.yml", - "type": "module", - "meta": { - "name": "gridss_gridss", - "description": "GRIDSS is a module software suite containing tools useful for the detection of genomic rearrangements.", - "keywords": ["gridss", "structural variants", "bam", "cram", "vcf"], - "tools": [ - { - "gridss": { - "description": "GRIDSS: the Genomic Rearrangement IDentification Software Suite", - "documentation": "https://github.com/PapenfussLab/gridss/wiki/GRIDSS-Documentation", - "tool_dev_url": "https://github.com/PapenfussLab/gridss", - "doi": "10.1186/s13059-021-02423-x", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "inputs": { - "type": "file(s)", - "description": "One or more input BAM/CRAM file(s)", - "pattern": "*.{bam,cram}" - } - }, - { - "assembly": { - "type": "file", - "description": "OPTIONAL - An assembly BAM file created by the assembly step of Gridss", - "pattern": "*.bam" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta", - "pattern": "*.{fa,fna,fasta}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the reference fasta", - "pattern": "*.fai" - } - }, - { - "bwa_index": { - "type": "directory", - "description": "OPTIONAL - The BWA index created from the reference fasta, will be generated by Gridss in the setupreference step" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "The called VCF file created by Gridss' call step", - "pattern": "*.vcf.gz" - } - }, - { - "assembly": { - "type": "file", - "description": "The assembly BAM file created by Gridss' assembly step", - "pattern": "*.assembly.bam" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "gsea_gsea", - "path": "modules/nf-core/gsea/gsea/meta.yml", - "type": "module", - "meta": { - "name": "gsea_gsea", - "description": "run the Broad Gene Set Enrichment tool in GSEA mode", - "keywords": ["gene set analysis", "enrichment", "gsea", "gene set"], - "tools": [ - { - "gsea": { - "description": "Gene Set Enrichment Analysis (GSEA)", - "homepage": "http://www.gsea-msigdb.org/gsea/index.jsp", - "documentation": "https://software.broadinstitute.org/cancer/software/gsea/wiki/index.php/Main_Page", - "doi": "10.1073/pnas.0506580102", - "licence": "['BSD-3-clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing metadata, at a minimum an id e.g. [ id:'test' ].\n" - } - }, - { - "gct": { - "type": "file", - "description": "GCT file with expression values", - "pattern": "*.{gct}" - } - }, - { - "cls": { - "type": "file", - "description": "CL file with the classes of the samples in the GCT file", - "pattern": "*.{gct}" - } - }, - { - "gene_sets": { - "type": "file", - "description": "GMX or GMT file with gene sets", - "pattern": "*.{gmx,gmt}" - } - }, - { - "reference": { - "type": "string", - "description": "String indicating which of the classes in the cls file should be used\nas the reference level of the comparison.\n" - } - }, - { - "target": { - "type": "string", - "description": "String indicating which of the classes in the cls file should be used\nas the target level of the comparison.\n" - } - }, - { - "chip": { - "type": "file", - "description": "optional Broad-style chip file mapping identifiers in gct to\nthose in gene_sets\n", - "pattern": "*.{chip}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing metadata, at a minimum an id e.g. [ id:'test' ]\n" - } - }, - { - "rpt": { - "type": "file", - "description": "File containing parameter settings used", - "pattern": "*.rpt" - } - }, - { - "index_html": { - "type": "file", - "description": "Top level report HTML file", - "pattern": "index.html" - } - }, - { - "heat_map_corr_plot": { - "type": "file", - "description": "HTML file combining heatmap and rank correlation plot", - "pattern": "heat_map_corr_plot.html" - } - }, - { - "report_tsvs_ref": { - "type": "file", - "description": "Main TSV results report file for the reference group.", - "pattern": "gsea_report_for_reference*.tsv" - } - }, - { - "report_htmls_ref": { - "type": "file", - "description": "Main HTML results report file for the reference group. sample groups", - "pattern": "gsea_report_for_reference*.html" - } - }, - { - "report_tsvs_target": { - "type": "file", - "description": "Main TSV results report file for the target group.", - "pattern": "gsea_report_for_target*.tsv" - } - }, - { - "report_htmls_target": { - "type": "file", - "description": "Main HTML results report file for the target group.", - "pattern": "gsea_report_for_target*.html" - } - }, - { - "ranked_gene_list": { - "type": "file", - "description": "TSV file with ranked gene list and scores", - "pattern": "ranked_gene_list*.tsv" - } - }, - { - "gene_set_sizes": { - "type": "file", - "description": "TSV file with gene set sizes", - "pattern": "gene_set_sizes.tsv" - } - }, - { - "butterfly_plot": { - "type": "file", - "description": "Butterfly plot with gene rank plotted against score", - "pattern": "butterfly_plot.png" - } - }, - { - "histogram": { - "type": "file", - "description": "Plot showing number of gene sets by enrichment score", - "pattern": "global_es_histogram.png" - } - }, - { - "heatmap": { - "type": "file", - "description": "Heat Map of the top 50 features for each phenotype in test", - "pattern": "heat_map_1.png" - } - }, - { - "pvalues_vs_nes_plot": { - "type": "file", - "description": "Plot showing FDR q-value by normalised enrichment score", - "pattern": "pvalues_vs_nes_plot" - } - }, - { - "ranked_list_corr": { - "type": "file", - "description": "Ranked Gene List Correlation Profile", - "pattern": "ranked_list_corr_2.png" - } - }, - { - "gene_set_tsv": { - "type": "list", - "description": "Where -make_sets is not set to false, TSV files, one file for each gene set, with detail on enrichment for each gene", - "pattern": "[!gene_set_size|gsea_report|ranked_gene_list]*.tsv" - } - }, - { - "gene_set_html": { - "type": "list", - "description": "Where -make_sets is not set to false, HTML files, one file for each gene set, with detail on enrichment for each gene", - "pattern": "[!gsea_report|heat_map_corr_plot|index|pos_snapshot|neg_snapshot]*.html" - } - }, - { - "gene_set_heatmap": { - "type": "list", - "description": "Where -make_sets is not set to false, PNG-format heatmaps, one file for each gene set, showing expression for each gene", - "pattern": "[!butterfly|enplot|global_es_histogram|gset_rnd_es_dist|heat_map|pvalues_vs_nes_plot|ranked_list_corr]*.png" - } - }, - { - "snapshot": { - "type": "list", - "description": "HTML files, one each for positive and negative enrichment, collecting elements of gene_set_enplot", - "pattern": "*_snapshot*.html" - } - }, - { - "gene_set_enplot": { - "type": "list", - "description": "Where -make_sets is not set to false, PNG-format enrichment (barcode) plots, one file for each gene set, showing how genes contribute to enrichment.", - "pattern": "enplot*.png" - } - }, - { - "gene_set_dist": { - "type": "list", - "description": "Where -make_sets is not set to false, PNG-format enrichment score distributions plots, one file for each gene set.", - "pattern": "gset_rnd_es_dist*.png" - } - }, - { - "archive": { - "type": "file", - "description": "Where -zip_report is set, a zip archive containing all outputs", - "pattern": "*.zip" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@pinin4fjords"] - }, - "pipelines": [ - { - "name": "differentialabundance", - "version": "1.2.0" - } - ] - }, - { - "name": "gstama_collapse", - "path": "modules/nf-core/gstama/collapse/meta.yml", - "type": "module", - "meta": { - "name": "GSTAMA_COLLAPSE", - "description": "Collapse redundant transcript models in Iso-Seq data.", - "keywords": [ - "tama_collapse.py", - "isoseq", - "nanopore", - "long-read", - "transcriptome", - "gene model", - "TAMA" - ], - "tools": [ - { - "tama_collapse.py": { - "description": "Collapse similar gene model", - "homepage": "https://github.com/sguizard/gs-tama", - "documentation": "https://github.com/GenomeRIK/tama/wiki", - "tool_dev_url": "https://github.com/sguizard/gs-tama", - "doi": "10.1186/s12864-020-07123-7", - "licence": "GNU GPL3" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "A sorted BAM or sam file of aligned reads", - "pattern": "*.{bam,sam}" - } - }, - { - "fasta": { - "type": "file", - "description": "A fasta file of the genome used for the mapping", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "a bed12 format file containing the final collapsed version of your transcriptome", - "pattern": "*.bed" - } - }, - { - "bed_trans_reads": { - "type": "file", - "description": "This file uses bed12 format to show the transcript model for each read based on the mapping prior to collapsing. This only contains the reads which were accepted according to the defined thresholds. You can use this file to see if there were any strange occurrences during collapsing. It also contains the relationships between reads and collapsed transcript models. The 1st subfield in the 4th column shows the final transcript ID and the 2nd subfield in the 4th column shows the read ID. If you used no_cap mode for collapsing there may be multiple lines for a single read. This happens when a 5' degraded read can match to multiple 5' longer transcript models.", - "pattern": "*_trans_read.bed" - } - }, - { - "local_density_error": { - "type": "file", - "description": "This file contains the log of filtering for local density error around the splice junctions (\"-lde\")", - "pattern": "*_local_density_error.txt" - } - }, - { - "polya": { - "type": "file", - "description": "This file contains the reads with potential poly A truncation.", - "pattern": "*_polya.txt" - } - }, - { - "read": { - "type": "file", - "description": "This file contains information for all mapped reads from the input SAM/BAM file. It shows both accepted and discarded reads and should match the number of mapped reads in your SAM/BAM file", - "pattern": "*_read.txt" - } - }, - { - "strand_check": { - "type": "file", - "description": "This file shows instances where the sam flag strand information contrasted the GMAP strand information.", - "pattern": "*_strand_check.txt" - } - }, - { - "trans_report": { - "type": "file", - "description": "This file contains collapsing information for each transcript.", - "pattern": "*_trans_report.txt" - } - }, - { - "varcov": { - "type": "file", - "description": "This file contains the coverage information for each variant detected.", - "pattern": "*_varcov.txt" - } - }, - { - "variants": { - "type": "file", - "description": "This file contains the variants called. Variants are only called if 5 or more reads show the variant at a specific locus. If you would like to change the threshold, please make an issue about this in the Github repo.", - "pattern": "*_variants.txt" - } - } - ], - "authors": ["@sguizard"] - }, - "pipelines": [ - { - "name": "isoseq", - "version": "1.1.4" - } - ] - }, - { - "name": "gstama_merge", - "path": "modules/nf-core/gstama/merge/meta.yml", - "type": "module", - "meta": { - "name": "gstama_merge", - "description": "Merge multiple transcriptomes while maintaining source information.", - "keywords": [ - "gstama", - "gstama/merge", - "long-read", - "isoseq", - "nanopore", - "tama", - "trancriptome", - "annotation" - ], - "tools": [ - { - "gstama": { - "description": "Gene-Switch Transcriptome Annotation by Modular Algorithms", - "homepage": "https://github.com/sguizard/gs-tama", - "documentation": "https://github.com/GenomeRIK/tama/wiki", - "tool_dev_url": "https://github.com/sguizard/gs-tama", - "doi": "10.1186/s12864-020-07123-7", - "licence": ["GPL v3 License"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "bed12 file generated by TAMA collapse", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "This is the main merged annotation file. Transcripts are coloured according to the source support for each model. Sources are numbered based on the order supplied in the input filelist file. For example the first file named in the filelist file would have its transcripts coloured in red. If a transcript has multiple sources the colour is shown as magenta.", - "pattern": "*.bed" - } - }, - { - "gene_report": { - "type": "file", - "description": "This contains a report of the genes from the merged file. \"num_clusters\" refers to the number of source transcripts that were used to make this gene model. \"num_final_trans\" refers to the number of transcripts in the final gene model.", - "pattern": "*_gene_report.txt" - } - }, - { - "merge": { - "type": "file", - "description": "This contains a bed12 format file which shows the coordinates of each input transcript matched to the merged transcript ID. I used the \"txt\" extension even though it is a bed file just to avoid confusion with the main bed file. You can use this file to map the final merged transcript models to their pre-merged supporting transcripts. The 1st subfield in the 4th column shows the final merged transcript ID while the 2nd subfield shows the pre-merged transcript ID with source prefix.", - "pattern": "*_merge.txt" - } - }, - { - "trans_report": { - "type": "file", - "description": "This contains the source information for each merged transcript.", - "pattern": "*_trans_report.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sguizard"] - }, - "pipelines": [ - { - "name": "isoseq", - "version": "1.1.4" - } - ] - }, - { - "name": "gstama_polyacleanup", - "path": "modules/nf-core/gstama/polyacleanup/meta.yml", - "type": "module", - "meta": { - "name": "gstama_polyacleanup", - "description": "Helper script, remove remaining polyA sequences from Full Length Non Chimeric reads (Pacbio isoseq3)", - "keywords": [ - "gstama", - "gstama/polyacleanup", - "long-read", - "isoseq", - "tama", - "trancriptome", - "annotation" - ], - "tools": [ - { - "gstama": { - "description": "Gene-Switch Transcriptome Annotation by Modular Algorithms", - "homepage": "https://github.com/sguizard/gs-tama", - "documentation": "https://github.com/GenomeRIK/tama/wiki", - "tool_dev_url": "https://github.com/sguizard/gs-tama", - "doi": "10.1186/s12864-020-07123-7", - "licence": ["GPL v3 License"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Full Length Non Chimeric reads in fasta format", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fasta": { - "type": "file", - "description": "The Full Length Non Chimeric reads clened from remaining polyA tails. The sequences are in FASTA format compressed with gzip.", - "pattern": "*_tama.fa.gz" - } - }, - { - "report": { - "type": "file", - "description": "A text file describing the number of polyA tails removed and their length. Compressed with gzip.", - "pattern": "*_tama_polya_flnc_report.txt.gz" - } - }, - { - "tails": { - "type": "file", - "description": "A gzip compressed FASTA file of trimmed polyA tails.", - "pattern": "*_tama_tails.fa.gz" - } - } - ], - "authors": ["@sguizard"] - }, - "pipelines": [ - { - "name": "isoseq", - "version": "1.1.4" - } - ] - }, - { - "name": "gtdbtk_classifywf", - "path": "modules/nf-core/gtdbtk/classifywf/meta.yml", - "type": "module", - "meta": { - "name": "gtdbtk_classifywf", - "description": "GTDB-Tk is a software toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes based on the Genome Database Taxonomy GTDB.", - "keywords": [ - "GTDB taxonomy", - "taxonomic classification", - "metagenomics", - "classification", - "genome taxonomy database", - "bacteria", - "archaea" - ], - "tools": [ - { - "gtdbtk": { - "description": "GTDB-Tk is a software toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes based on the Genome Database Taxonomy GTDB.", - "homepage": "https://ecogenomics.github.io/GTDBTk/", - "documentation": "https://ecogenomics.github.io/GTDBTk/", - "tool_dev_url": "https://github.com/Ecogenomics/GTDBTk", - "doi": "10.1093/bioinformatics/btz848", - "licence": ["GNU General Public v3 (GPL v3)"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false, assembler:'spades' ]\n" - } - }, - { - "bins": { - "type": "file", - "description": "The binned fasta files from the assembler", - "pattern": "*.{fasta,fa}" - } - }, - { - "database": { - "type": "file", - "description": "The local copy of the taxonomic database used by GTDB-tk (unzipped copy)", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "summary": { - "type": "file", - "description": "A TSV summary file for the classification", - "pattern": "*.{summary.tsv}" - } - }, - { - "tree": { - "type": "file", - "description": "NJ or UPGMA tree in Newick format produced from a multiple sequence alignment", - "pattern": "*.{classify.tree.gz}" - } - }, - { - "markers": { - "type": "file", - "description": "A TSV summary file lineage markers used for the classification.", - "pattern": "*.{markers_summary.tsv}" - } - }, - { - "msa": { - "type": "file", - "description": "Multiple sequence alignments file.", - "pattern": "*.{msa.fasta.gz}" - } - }, - { - "user_msa": { - "type": "file", - "description": "Multiple sequence alignments file for the user-provided files.", - "pattern": "*.{user_msa.fasta.gz}" - } - }, - { - "filtered": { - "type": "file", - "description": "A list of genomes with an insufficient number of amino acids in MSA..", - "pattern": "*.{filtered.tsv}" - } - }, - { - "log": { - "type": "file", - "description": "GTDB-tk log file", - "pattern": "*.{log}" - } - }, - { - "warnings": { - "type": "file", - "description": "GTDB-tk warnings log file", - "pattern": "*.{warnings.log}" - } - }, - { - "failed": { - "type": "file", - "description": "A TSV summary of the genomes which GTDB-tk failed to classify.", - "pattern": "*.{failed_genomes.tsv}" - } - } - ], - "authors": ["@skrakau", "@abhi18av"] - } - }, - { - "name": "gubbins", - "path": "modules/nf-core/gubbins/meta.yml", - "type": "module", - "meta": { - "name": "gubbins", - "description": "Gubbins (Genealogies Unbiased By recomBinations In Nucleotide Sequences) is an algorithm that iteratively identifies loci containing elevated densities of base substitutions while concurrently constructing a phylogeny based on the putative point mutations outside of these regions.", - "licence": ["GPL-2.0-only"], - "keywords": ["recombination", "alignment"], - "tools": [ - { - "gubbins": { - "description": "Rapid phylogenetic analysis of large samples of recombinant bacterial whole genome sequences using Gubbins.", - "homepage": "https://sanger-pathogens.github.io/gubbins/", - "documentation": "https://sanger-pathogens.github.io/gubbins/" - } - } - ], - "input": [ - { - "alignment": { - "type": "file", - "description": "fasta alignment file", - "pattern": "*.{fasta,fas,fa,aln}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fasta": { - "type": "file", - "description": "Filtered variant alignment in fasta format", - "pattern": "*.{fasta}" - } - }, - { - "embl_predicted": { - "type": "file", - "description": "Recombination predictions in embl format", - "pattern": "*.{recombination_predictions.embl}" - } - }, - { - "gff": { - "type": "file", - "description": "Recombination predictions in gff format", - "pattern": "*.{gff}" - } - }, - { - "embl_branch": { - "type": "file", - "description": "Branch base reconstruction", - "pattern": "*.{branch_base_reconstruction.embl}" - } - }, - { - "vcf": { - "type": "file", - "description": "SNP distribution", - "pattern": "*.{vcf}" - } - }, - { - "stats": { - "type": "file", - "description": "Per branch statistics", - "pattern": "*.{csv}" - } - }, - { - "phylip": { - "type": "file", - "description": "Filtered variant alignment in phylip format", - "pattern": "*.{phylip}" - } - }, - { - "tree": { - "type": "file", - "description": "Recombination removed RAxML phylogenetic tree", - "pattern": "*.{final_tree.tre}" - } - }, - { - "tree_labelled": { - "type": "file", - "description": "Recombination removed RAxML phylogenetic tree (nodes labelled)", - "pattern": "*.{node_labelled.final_tree.tre}" - } - } - ], - "authors": ["@avantonder"] - } - }, - { - "name": "gunc_downloaddb", - "path": "modules/nf-core/gunc/downloaddb/meta.yml", - "type": "module", - "meta": { - "name": "gunc_downloaddb", - "description": "Download database for GUNC detection of Chimerism and Contamination in Prokaryotic Genomes", - "keywords": ["download", "prokaryote", "assembly", "genome", "quality control", "chimeras"], - "tools": [ - { - "gunc": { - "description": "Python package for detection of chimerism and contamination in prokaryotic genomes.", - "homepage": "https://grp-bork.embl-community.io/gunc/", - "documentation": "https://grp-bork.embl-community.io/gunc/", - "tool_dev_url": "https://github.com/grp-bork/gunc", - "doi": "10.1186/s13059-021-02393-0", - "licence": ["GNU General Public v3 or later (GPL v3+)"] - } - } - ], - "input": [ - { - "db_name": { - "type": "string", - "description": "Which database to download. Options: progenomes or gtdb", - "pattern": "progenomes|gtdb" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "db": { - "type": "file", - "description": "GUNC database file", - "pattern": "*.dmnd" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "gunc_mergecheckm", - "path": "modules/nf-core/gunc/mergecheckm/meta.yml", - "type": "module", - "meta": { - "name": "gunc_mergecheckm", - "description": "Merging of CheckM and GUNC results in one summary table", - "keywords": [ - "gunc", - "checkm", - "summary", - "prokaryote", - "assembly", - "genome", - "quality control", - "chimeras" - ], - "tools": [ - { - "gunc": { - "description": "Python package for detection of chimerism and contamination in prokaryotic genomes.", - "homepage": "https://grp-bork.embl-community.io/gunc/", - "documentation": "https://grp-bork.embl-community.io/gunc/", - "tool_dev_url": "https://github.com/grp-bork/gunc", - "doi": "10.1186/s13059-021-02393-0", - "licence": ["GNU General Public v3 or later (GPL v3+)"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gunc_file": { - "type": "file", - "description": "Path of a gunc_scores.tsv file (mandatory)", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "checkm_file": { - "type": "file", - "description": "Output TSV from CheckM qa (ideally with -o 2 extended format) (mandatory)", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "Merged checkm/gunc results in TSV format", - "pattern": "*.tsv" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "gunc_run", - "path": "modules/nf-core/gunc/run/meta.yml", - "type": "module", - "meta": { - "name": "gunc_run", - "description": "Detection of Chimerism and Contamination in Prokaryotic Genomes", - "keywords": ["prokaryote", "assembly", "genome", "quality control", "chimeras"], - "tools": [ - { - "gunc": { - "description": "Python package for detection of chimerism and contamination in prokaryotic genomes.", - "homepage": "https://grp-bork.embl-community.io/gunc/", - "documentation": "https://grp-bork.embl-community.io/gunc/", - "tool_dev_url": "https://github.com/grp-bork/gunc", - "doi": "10.1186/s13059-021-02393-0", - "licence": ["GNU General Public v3 or later (GPL v3+)"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file containing contig (bins)", - "pattern": "*.fa" - } - }, - { - "db": { - "type": "file", - "description": "GUNC database file", - "pattern": "*.dmnd" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "maxcss_levels_tsv": { - "type": "file", - "description": "Output file with scores for a taxonomic level with the highest CSS score", - "pattern": "*.tsv" - } - }, - { - "all_levels_tsv": { - "type": "file", - "description": "Optional output file with results for each taxonomic level", - "pattern": "*.tsv" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "gunzip", - "path": "modules/nf-core/gunzip/meta.yml", - "type": "module", - "meta": { - "name": "gunzip", - "description": "Compresses and decompresses files.", - "keywords": ["gunzip", "compression", "decompression"], - "tools": [ - { - "gunzip": { - "description": "gzip is a file format and a software application used for file compression and decompression.\n", - "documentation": "https://www.gnu.org/software/gzip/manual/gzip.html", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Optional groovy Map containing meta information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "archive": { - "type": "file", - "description": "File to be compressed/uncompressed", - "pattern": "*.*" - } - } - ], - "output": [ - { - "gunzip": { - "type": "file", - "description": "Compressed/uncompressed file", - "pattern": "*.*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh", "@jfy133"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "differentialabundance", - "version": "1.2.0" - }, - { - "name": "epitopeprediction", - "version": "2.2.1" - }, - { - "name": "funcscan", - "version": "1.1.2" - }, - { - "name": "genomeannotator", - "version": "dev" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "hlatyping", - "version": "2.0.0" - }, - { - "name": "isoseq", - "version": "1.1.4" - }, - { - "name": "mag", - "version": "2.3.2" - }, - { - "name": "marsseq", - "version": "1.0.3" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "proteinfold", - "version": "1.0.0" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "scrnaseq", - "version": "2.3.2" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "gvcftools_extractvariants", - "path": "modules/nf-core/gvcftools/extractvariants/meta.yml", - "type": "module", - "meta": { - "name": "gvcftools_extractvariants", - "description": "Removes all non-variant blocks from a gVCF file to produce a smaller variant-only VCF file.", - "keywords": ["gvcftools", "extract_variants", "extractvariants", "gvcf", "vcf"], - "tools": [ - { - "gvcftools": { - "description": "gvcftools is a package of small utilities for creating and analyzing gVCF files", - "homepage": "https://sites.google.com/site/gvcftools/home", - "documentation": "https://sites.google.com/site/gvcftools/home/configuration-and-analysis", - "tool_dev_url": "https://github.com/sequencing/gvcftools", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gvcf": { - "type": "file", - "description": "GVCF file", - "pattern": "*.{g.vcf,gvcf}.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Converted variant-only VCF file", - "pattern": "*.vcf.gz" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "hamronization_abricate", - "path": "modules/nf-core/hamronization/abricate/meta.yml", - "type": "module", - "meta": { - "name": "hamronization_abricate", - "description": "Tool to convert and summarize ABRicate outputs using the hAMRonization specification", - "keywords": ["amr", "antimicrobial resistance", "reporting", "abricate"], - "tools": [ - { - "hamronization": { - "description": "Tool to convert and summarize AMR gene detection outputs using the hAMRonization specification", - "homepage": "https://github.com/pha4ge/hAMRonization/", - "documentation": "https://github.com/pha4ge/hAMRonization/", - "tool_dev_url": "https://github.com/pha4ge/hAMRonization", - "licence": "['GNU Lesser General Public v3 (LGPL v3)']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "report": { - "type": "file", - "description": "Output TSV or CSV file from ABRicate", - "pattern": "*.{csv,tsv}" - } - }, - { - "format": { - "type": "value", - "description": "Type of report file to be produced", - "pattern": "tsv|json" - } - }, - { - "software_version": { - "type": "value", - "description": "Version of ABRicate used", - "pattern": "[0-9].[0-9].[0-9]" - } - }, - { - "reference_db_version": { - "type": "value", - "description": "Database version of ABRicate used", - "pattern": "[0-9][0-9][0-9][0-9]-[A-Z][a-z][a-z]-[0-9][0-9]" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "hAMRonised report in JSON format", - "pattern": "*.json" - } - }, - { - "tsv": { - "type": "file", - "description": "hAMRonised report in TSV format", - "pattern": "*.json" - } - } - ], - "authors": ["@jasmezz"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "hamronization_amrfinderplus", - "path": "modules/nf-core/hamronization/amrfinderplus/meta.yml", - "type": "module", - "meta": { - "name": "hamronization_amrfinderplus", - "description": "Tool to convert and summarize AMRfinderPlus outputs using the hAMRonization specification.", - "keywords": [ - "amr", - "antimicrobial resistance", - "arg", - "antimicrobial resistance genes", - "reporting", - "amrfinderplus" - ], - "tools": [ - { - "hamronization": { - "description": "Tool to convert and summarize AMR gene detection outputs using the hAMRonization specification", - "homepage": "https://github.com/pha4ge/hAMRonization/", - "documentation": "https://github.com/pha4ge/hAMRonization/", - "tool_dev_url": "https://github.com/pha4ge/hAMRonization", - "licence": "['GNU Lesser General Public v3 (LGPL v3)']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "report": { - "type": "file", - "description": "Output .tsv file from AMRfinderPlus", - "pattern": "*.tsv" - } - }, - { - "format": { - "type": "value", - "description": "Type of report file to be produced", - "pattern": "tsv|json" - } - }, - { - "software_version": { - "type": "value", - "description": "Version of AMRfinder used", - "pattern": "[0-9].[0-9].[0-9]" - } - }, - { - "reference_db_version": { - "type": "value", - "description": "Database version of ncbi_AMRfinder used", - "pattern": "[0-9]-[0-9]-[0-9].[0-9]" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "hAMRonised report in JSON format", - "pattern": "*.json" - } - }, - { - "tsv": { - "type": "file", - "description": "hAMRonised report in TSV format", - "pattern": "*.tsv" - } - } - ], - "authors": ["@louperelo"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "hamronization_deeparg", - "path": "modules/nf-core/hamronization/deeparg/meta.yml", - "type": "module", - "meta": { - "name": "hamronization_deeparg", - "description": "Tool to convert and summarize DeepARG outputs using the hAMRonization specification", - "keywords": ["amr", "antimicrobial resistance", "reporting", "deeparg"], - "tools": [ - { - "hamronization": { - "description": "Tool to convert and summarize AMR gene detection outputs using the hAMRonization specification", - "homepage": "https://github.com/pha4ge/hAMRonization/", - "documentation": "https://github.com/pha4ge/hAMRonization/", - "tool_dev_url": "https://github.com/pha4ge/hAMRonization", - "licence": ["GNU Lesser General Public v3 (LGPL v3)"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "report": { - "type": "file", - "description": "Output .mapping.ARG file from DeepARG", - "pattern": "*.mapping.ARG" - } - }, - { - "format": { - "type": "value", - "description": "Type of report file to be produced", - "pattern": "tsv|json" - } - }, - { - "software_version": { - "type": "value", - "description": "Version of DeepARG used", - "pattern": "[0-9].[0-9].[0-9]" - } - }, - { - "reference_db_version": { - "type": "value", - "description": "Database version of DeepARG used", - "pattern": "[0-9]" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "hAMRonised report in JSON format", - "pattern": "*.json" - } - }, - { - "tsv": { - "type": "file", - "description": "hAMRonised report in TSV format", - "pattern": "*.json" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "hamronization_fargene", - "path": "modules/nf-core/hamronization/fargene/meta.yml", - "type": "module", - "meta": { - "name": "hamronization_fargene", - "description": "Tool to convert and summarize fARGene outputs using the hAMRonization specification", - "keywords": [ - "amr", - "antimicrobial resistance", - "arg", - "antimicrobial resistance genes", - "reporting", - "fARGene" - ], - "tools": [ - { - "hamronization": { - "description": "Tool to convert and summarize AMR gene detection outputs using the hAMRonization specification", - "homepage": "https://github.com/pha4ge/hAMRonization/", - "documentation": "https://github.com/pha4ge/hAMRonization/", - "tool_dev_url": "https://github.com/pha4ge/hAMRonization", - "licence": "['GNU Lesser General Public v3 (LGPL v3)']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "report": { - "type": "file", - "description": "Output .txt file from fARGene", - "pattern": "*.txt" - } - }, - { - "format": { - "type": "value", - "description": "Type of report file to be produced", - "pattern": "tsv|json" - } - }, - { - "software_version": { - "type": "value", - "description": "Version of fARGene used", - "pattern": "[0-9].[0-9].[0-9]" - } - }, - { - "reference_db_version": { - "type": "value", - "description": "Database version of fARGene used", - "pattern": "[0-9].[0-9].[0-9]" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "hAMRonised report in JSON format", - "pattern": "*.json" - } - }, - { - "tsv": { - "type": "file", - "description": "hAMRonised report in TSV format", - "pattern": "*.json" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "hamronization_rgi", - "path": "modules/nf-core/hamronization/rgi/meta.yml", - "type": "module", - "meta": { - "name": "hamronization_rgi", - "description": "Tool to convert and summarize RGI outputs using the hAMRonization specification.", - "keywords": [ - "amr", - "antimicrobial resistance", - "arg", - "antimicrobial resistance genes", - "reporting", - "rgi" - ], - "tools": [ - { - "hamronization": { - "description": "Tool to convert and summarize AMR gene detection outputs using the hAMRonization specification", - "homepage": "https://github.com/pha4ge/hAMRonization/", - "documentation": "https://github.com/pha4ge/hAMRonization/", - "tool_dev_url": "https://github.com/pha4ge/hAMRonization", - "licence": "['GNU Lesser General Public v3 (LGPL v3)']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "report": { - "type": "file", - "description": "Output .txt file from RGI", - "pattern": "*.txt" - } - }, - { - "format": { - "type": "value", - "description": "Type of report file to be produced", - "pattern": "tsv|json" - } - }, - { - "software_version": { - "type": "value", - "description": "Version of DeepARG used", - "pattern": "[0-9].[0-9].[0-9]" - } - }, - { - "reference_db_version": { - "type": "value", - "description": "Database version of DeepARG used", - "pattern": "[0-9].[0-9].[0-9]" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "hAMRonised report in JSON format", - "pattern": "*.json" - } - }, - { - "tsv": { - "type": "file", - "description": "hAMRonised report in TSV format", - "pattern": "*.json" - } - } - ], - "authors": ["@louperelo"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "hamronization_summarize", - "path": "modules/nf-core/hamronization/summarize/meta.yml", - "type": "module", - "meta": { - "name": "hamronization_summarize", - "description": "Tool to summarize and combine all hAMRonization reports into a single file", - "keywords": ["amr", "antimicrobial resistance", "reporting"], - "tools": [ - { - "hamronization": { - "description": "Tool to convert and summarize AMR gene detection outputs using the hAMRonization specification", - "homepage": "https://github.com/pha4ge/hAMRonization/", - "documentation": "https://github.com/pha4ge/hAMRonization/", - "tool_dev_url": "https://github.com/pha4ge/hAMRonization", - "licence": ["GNU Lesser General Public v3 (LGPL v3)"] - } - } - ], - "input": [ - { - "reports": { - "type": "file", - "description": "List of multiple hAMRonization reports in either JSON or TSV format", - "pattern": "*.{json,tsv}" - } - }, - { - "format": { - "type": "value", - "description": "Type of final combined report file to be produced", - "pattern": "tsv|json|interactive" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "hAMRonised summary in JSON format", - "pattern": "*.json" - } - }, - { - "tsv": { - "type": "file", - "description": "hAMRonised summary in TSV format", - "pattern": "*.json" - } - }, - { - "html": { - "type": "file", - "description": "hAMRonised summary in HTML format", - "pattern": "*.html" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "hapibd", - "path": "modules/nf-core/hapibd/meta.yml", - "type": "module", - "meta": { - "name": "hapibd", - "description": "The hap-ibd program detects identity-by-descent (IBD) segments and homozygosity-by-descent (HBD) segments in phased genotype data. The hap-ibd program can analyze data sets with hundreds of thousands of samples.", - "keywords": ["ibd", "hbd", "beagle"], - "tools": [ - { - "hapibd": { - "description": "Hap-ibd Detects identity-by-descent (IBD) segments and homozygosity-by-descent (HBD) segments in phased genotype data.", - "homepage": "https://github.com/browning-lab/hap-ibd/blob/master/README.md", - "documentation": "https://github.com/browning-lab/hap-ibd/blob/master/README.md", - "doi": "10.1016/j.ajhg.2020.02.010", - "licence": "['Apache-2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing cohort information\ne.g. [ id:'test' ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "phased VCF file with a GT FORMAT subfield with no missing alleles", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "map": { - "type": "file", - "description": "genetic map with cM units in PLINK format", - "pattern": "*.{map,map.gz,map.zip}" - } - }, - { - "exclude": { - "type": "file", - "description": "text file containing samples one sample per line to be excluded from the analysis", - "pattern": "*.*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing cohort information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "hbd": { - "type": "file", - "description": "contains HBD segments within individuals", - "pattern": "*.hbd.gz" - } - }, - { - "ibd": { - "type": "file", - "description": "contains IBD segments shared between individuals", - "pattern": "*.ibd.gz" - } - }, - { - "log": { - "type": "file", - "description": "contains a summary of the analysis which includes the analysis parameters the number of markers the number of samples the number of output HBD and IBD segments and the mean number of HBD and IBD segments per sample", - "pattern": "*.log" - } - } - ], - "authors": ["@ashotmarg"] - } - }, - { - "name": "haplocheck", - "path": "modules/nf-core/haplocheck/meta.yml", - "type": "module", - "meta": { - "name": "haplocheck", - "description": "Haplocheck detects contamination patterns in mtDNA AND WGS sequencing studies by analyzing\nthe mitochondrial DNA. Haplocheck also works as a proxy tool for nDNA studies and provides\nusers a graphical report to investigate the contamination further. Internally, it uses the\nHaplogrep tool, that supports rCRS and RSRS mitochondrial versions.\n", - "keywords": ["mitochondrial", "mtDNA", "contamination"], - "tools": [ - { - "haplocheck": { - "description": "Detects in-sample contamination in mtDNA or WGS sequencing studies by analyzing the mitochondrial content.", - "homepage": "https://github.com/genepi/haplocheck", - "documentation": "https://github.com/genepi/haplocheck", - "tool_dev_url": "https://github.com/genepi/haplocheck", - "doi": "10.1101/gr.256545.119", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "Raw report in txt format", - "pattern": "*.{txt}" - } - }, - { - "html": { - "type": "file", - "description": "Haplocheck HTML report", - "pattern": "*.{html}" - } - } - ], - "authors": ["@lmtani"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "haplogrep2_classify", - "path": "modules/nf-core/haplogrep2/classify/meta.yml", - "type": "module", - "meta": { - "name": "haplogrep2_classify", - "description": "classification into haplogroups", - "keywords": ["haplogroups."], - "tools": [ - { - "haplogrep2": { - "description": "A tool for mtDNA haplogroup classification.", - "homepage": "https://github.com/seppinho/haplogrep-cmd", - "documentation": "https://github.com/seppinho/haplogrep-cmd", - "tool_dev_url": "https://github.com/seppinho/haplogrep-cmd", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "inputfile": { - "type": "file", - "description": "valid options are hsd, vcf, or fasta files", - "pattern": "*.{vcf,vcf.gz,fasta,hsd}" - } - }, - { - "format": { - "type": "string", - "description": "either \"vcf\", \"fasta\" or \"hsd\"" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "text file with classification information", - "pattern": "*.{txt}" - } - } - ], - "authors": ["@lucpen"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "happy_happy", - "path": "modules/nf-core/happy/happy/meta.yml", - "type": "module", - "meta": { - "name": "happy_happy", - "description": "Hap.py is a tool to compare diploid genotypes at haplotype level. Rather than comparing VCF records row by row, hap.py will generate and match alternate sequences in a superlocus. A superlocus is a small region of the genome (sized between 1 and around 1000 bp) that contains one or more variants.", - "keywords": ["happy", "benchmark", "haplotype", "validation"], - "tools": [ - { - "happy": { - "description": "Haplotype VCF comparison tools", - "homepage": "https://www.illumina.com/products/by-type/informatics-products/basespace-sequence-hub/apps/hap-py-benchmarking.html", - "documentation": "https://github.com/Illumina/hap.py", - "tool_dev_url": "https://github.com/Illumina/hap.py", - "licence": "['BSD-2-clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "query_vcf": { - "type": "file", - "description": "VCF/GVCF file to query", - "pattern": "*.{gvcf,vcf}.gz" - } - }, - { - "truth_vcf": { - "type": "file", - "description": "gold standard VCF file", - "pattern": "*.{gvcf,vcf}.gz" - } - }, - { - "regions_bed": { - "type": "file", - "description": "Sparse regions to restrict the analysis to", - "pattern": "*.bed" - } - }, - { - "targets_bed": { - "type": "file", - "description": "Dense regions to restrict the analysis to", - "pattern": "*.bed" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file of the reference genome", - "pattern": "*.{fa,fasta}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the reference FASTA", - "pattern": "*.fai" - } - }, - { - "false_positives_bed": { - "type": "file", - "description": "False positive / confident call regions. Calls outside these regions will be labelled as UNK.", - "pattern": "*.{bed,bed.gz}" - } - }, - { - "stratification_tsv": { - "type": "file", - "description": "Stratification file list in TSV format", - "pattern": "*.tsv" - } - }, - { - "stratification_beds": { - "type": "file(s)", - "description": "One or more BED files used for stratification (these should be referenced in the stratification TSV)", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "summary_csv": { - "type": "file", - "description": "A CSV file containing the summary of the benchmarking", - "pattern": "*.summary.csv" - } - }, - { - "roc_all_csv": { - "type": "file", - "description": "A CSV file containing ROC values for all variants", - "pattern": "*.roc.all.csv.gz" - } - }, - { - "roc_indel_locations_csv": { - "type": "file", - "description": "A CSV file containing ROC values for all indels", - "pattern": "*.roc.Locations.INDEL.csv.gz" - } - }, - { - "roc_indel_locations_pass_csv": { - "type": "file", - "description": "A CSV file containing ROC values for all indels that passed all filters", - "pattern": "*.roc.Locations.INDEL.PASS.csv.gz" - } - }, - { - "roc_snp_locations_csv": { - "type": "file", - "description": "A CSV file containing ROC values for all SNPs", - "pattern": "*.roc.Locations.SNP.csv.gz" - } - }, - { - "roc_snp_locations_pass_csv": { - "type": "file", - "description": "A CSV file containing ROC values for all SNPs that passed all filters", - "pattern": "*.roc.Locations.SNP.PASS.csv.gz" - } - }, - { - "extended_csv": { - "type": "file", - "description": "A CSV file containing extended info of the benchmarking", - "pattern": "*.extended.csv" - } - }, - { - "json": { - "type": "file", - "description": "A JSON file containing the run info", - "pattern": "*.runinfo.json" - } - }, - { - "runinfo": { - "type": "file", - "description": "A JSON file containing the benchmarking metrics", - "pattern": "*.metrics.json.gz" - } - }, - { - "vcf": { - "type": "file", - "description": "An annotated VCF", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "The index of the annotated VCF", - "pattern": "*.tbi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "happy_prepy", - "path": "modules/nf-core/happy/prepy/meta.yml", - "type": "module", - "meta": { - "name": "happy_prepy", - "description": "Pre.py is a preprocessing tool made to preprocess VCF files for Hap.py", - "keywords": ["happy", "benchmark", "haplotype"], - "tools": [ - { - "happy": { - "description": "Haplotype VCF comparison tools", - "homepage": "https://www.illumina.com/products/by-type/informatics-products/basespace-sequence-hub/apps/hap-py-benchmarking.html", - "documentation": "https://github.com/Illumina/hap.py", - "tool_dev_url": "https://github.com/Illumina/hap.py", - "licence": "['BSD-2-clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file to preprocess", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "bed": { - "type": "file", - "description": "BED file", - "pattern": "*.bed" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file of the reference genome", - "pattern": "*.{fa,fasta}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the reference FASTA", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "A preprocessed VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "hicap", - "path": "modules/nf-core/hicap/meta.yml", - "type": "module", - "meta": { - "name": "hicap", - "description": "Identify cap locus serotype and structure in your Haemophilus influenzae assemblies", - "keywords": ["fasta", "serotype", "Haemophilus influenzae"], - "tools": [ - { - "hicap": { - "description": "In silico typing of the H. influenzae capsule locus", - "homepage": "https://github.com/scwatts/hicap", - "documentation": "https://github.com/scwatts/hicap", - "tool_dev_url": "https://github.com/scwatts/hicap", - "doi": "10.1128/JCM.00190-19", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA formatted assembly file", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" - } - }, - { - "database_dir": { - "type": "directory", - "description": "Optional - Directory containing locus database", - "pattern": "*/*" - } - }, - { - "model_fp": { - "type": "file", - "description": "Optional - Prodigal model to use for gene prediction", - "pattern": "*.{bin}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "gbk": { - "type": "file", - "description": "GenBank file and cap locus annotations", - "pattern": "*.gbk" - } - }, - { - "svg": { - "type": "file", - "description": "Visualization of annotated cap locus", - "pattern": "*.svg" - } - }, - { - "tsv": { - "type": "file", - "description": "Detailed summary of cap locus annotations", - "pattern": "*.tsv" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "hicexplorer_hicpca", - "path": "modules/nf-core/hicexplorer/hicpca/meta.yml", - "type": "module", - "meta": { - "name": "hicexplorer_hicpca", - "description": "Computes PCA eigenvectors for a Hi-C matrix.", - "keywords": ["eigenvectors", "PCA", "hicPCA"], - "tools": [ - { - "hicexplorer": { - "description": "Set of programs to process, analyze and visualize Hi-C and capture Hi-C data", - "homepage": "https://hicexplorer.readthedocs.io", - "documentation": "https://hicexplorer.readthedocs.io", - "tool_dev_url": "https://github.com/deeptools/HiCExplorer", - "doi": "10.1038/s41467-017-02525-w", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', bin:50000 ]\n" - } - }, - { - "matrix": { - "type": "file", - "description": "HiCExplorer matrix in h5 format" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', bin:50000 ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "results": { - "type": "file", - "description": "Outputs of hicPCA" - } - }, - { - "pca1": { - "type": "file", - "description": "PCA1 file" - } - }, - { - "pca2": { - "type": "file", - "description": "PCA2 file" - } - } - ], - "authors": ["@jianhong"] - } - }, - { - "name": "hifiasm", - "path": "modules/nf-core/hifiasm/meta.yml", - "type": "module", - "meta": { - "name": "hifiasm", - "description": "Whole-genome assembly using PacBio HiFi reads", - "keywords": ["genome assembly", "haplotype resolution", "phasing", "PacBio", "HiFi", "long reads"], - "tools": [ - { - "hifiasm": { - "description": "Haplotype-resolved assembler for accurate HiFi reads", - "homepage": "https://github.com/chhylp123/hifiasm", - "documentation": "https://github.com/chhylp123/hifiasm", - "tool_dev_url": "https://github.com/chhylp123/hifiasm", - "doi": "10.1038/s41592-020-01056-5", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "FASTQ file with PacBio HiFi reads", - "pattern": "*.{fastq}" - } - }, - { - "paternal_kmer_dump": { - "type": "file", - "description": "Yak kmer dump file for paternal reads (can be used for haplotype resolution). It can have an arbitrary extension." - } - }, - { - "maternal_kmer_dump": { - "type": "file", - "description": "Yak kmer dump file for maternal reads (can be used for haplotype resolution). It can have an arbitrary extension." - } - }, - { - "use_parental_kmers": { - "type": "logical", - "description": "A flag (true or false) signalling if the module should use the paternal and maternal kmer dumps." - } - }, - { - "hic_read1": { - "type": "file", - "description": "Hi-C data Forward reads." - } - }, - { - "hic_read2": { - "type": "file", - "description": "Hi-C data Reverse reads." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "raw_unitigs": { - "type": "file", - "description": "Raw unitigs", - "pattern": "*.r_utg.gfa" - } - }, - { - "processed_unitigs": { - "type": "file", - "description": "Processed unitigs", - "pattern": "*.p_utg.gfa" - } - }, - { - "primary_contigs": { - "type": "file", - "description": "Primary contigs", - "pattern": "*.asm.p_ctg.gfa" - } - }, - { - "alternate_contigs": { - "type": "file", - "description": "Alternative contigs", - "pattern": "*.asm.a_ctg.gfa" - } - }, - { - "paternal_contigs": { - "type": "file", - "description": "Paternal contigs", - "pattern": "*.hap1.p_ctg.gfa" - } - }, - { - "maternal_contigs": { - "type": "file", - "description": "Maternal contigs", - "pattern": "*.hap2.p_ctg.gfa" - } - }, - { - "corrected_reads": { - "type": "file", - "description": "Corrected reads", - "pattern": "*.ec.bin" - } - }, - { - "source_overlaps": { - "type": "file", - "description": "Source overlaps", - "pattern": "*.ovlp.source.bin" - } - }, - { - "reverse_overlaps": { - "type": "file", - "description": "Reverse overlaps", - "pattern": "*.ovlp.reverse.bin" - } - } - ], - "authors": ["@sidorov-si", "@scorreard"] - } - }, - { - "name": "hisat2_align", - "path": "modules/nf-core/hisat2/align/meta.yml", - "type": "module", - "meta": { - "name": "hisat2_align", - "description": "Align RNA-Seq reads to a reference with HISAT2", - "keywords": ["align", "fasta", "genome", "reference"], - "tools": [ - { - "hisat2": { - "description": "HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads (both DNA and RNA) to a population of human genomes as well as to a single reference genome.", - "homepage": "https://daehwankimlab.github.io/hisat2/", - "documentation": "https://daehwankimlab.github.io/hisat2/manual/", - "doi": "10.1038/s41587-019-0201-4", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "index": { - "type": "file", - "description": "HISAT2 genome index file", - "pattern": "*.ht2" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "splicesites": { - "type": "file", - "description": "Splices sites in gtf file", - "pattern": "*.{txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Output BAM file containing read alignments", - "pattern": "*.{bam}" - } - }, - { - "summary": { - "type": "file", - "description": "Aligment log", - "pattern": "*.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ntoda03", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "circrna", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "hisat2_build", - "path": "modules/nf-core/hisat2/build/meta.yml", - "type": "module", - "meta": { - "name": "hisat2_build", - "description": "Builds HISAT2 index for reference genome", - "keywords": ["build", "index", "fasta", "genome", "reference"], - "tools": [ - { - "hisat2": { - "description": "HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads (both DNA and RNA) to a population of human genomes as well as to a single reference genome.", - "homepage": "https://daehwankimlab.github.io/hisat2/", - "documentation": "https://daehwankimlab.github.io/hisat2/manual/", - "doi": "10.1038/s41587-019-0201-4", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference fasta file", - "pattern": "*.{fa,fasta,fna}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "gtf": { - "type": "file", - "description": "Reference gtf annotation file", - "pattern": "*.{gtf}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "splicesites": { - "type": "file", - "description": "Splices sites in gtf file", - "pattern": "*.{txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "index": { - "type": "file", - "description": "HISAT2 genome index file", - "pattern": "*.ht2" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ntoda03"] - }, - "pipelines": [ - { - "name": "circrna", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "hisat2_extractsplicesites", - "path": "modules/nf-core/hisat2/extractsplicesites/meta.yml", - "type": "module", - "meta": { - "name": "hisat2_extractsplicesites", - "description": "Extracts splicing sites from a gtf files", - "keywords": ["splicing", "gtf", "genome", "reference"], - "tools": [ - { - "hisat2": { - "description": "HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads (both DNA and RNA) to a population of human genomes as well as to a single reference genome.", - "homepage": "https://daehwankimlab.github.io/hisat2/", - "documentation": "https://daehwankimlab.github.io/hisat2/manual/", - "doi": "10.1038/s41587-019-0201-4", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "gtf": { - "type": "file", - "description": "Reference gtf annotation file", - "pattern": "*.{gtf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "splicesites": { - "type": "file", - "description": "Splices sites in gtf file", - "pattern": "*.{splice_sites.txt}" - } - } - ], - "authors": ["@ntoda03", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "circrna", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "hlala_preparegraph", - "path": "modules/nf-core/hlala/preparegraph/meta.yml", - "type": "module", - "meta": { - "name": "hlala_preparegraph", - "description": "Pre-compute the graph index structure.", - "keywords": ["hla", "hlala", "hla_typing", "hlala_typing"], - "tools": [ - { - "hlala": { - "description": "HLA typing from short and long reads", - "homepage": "https://github.com/DiltheyLab/HLA-LA", - "documentation": "https://github.com/DiltheyLab/HLA-LA#running-hlala", - "tool_dev_url": "https://github.com/DiltheyLab/HLA-LA", - "doi": "10.1093/bioinformatics/btz235", - "licence": "['GPL']" - } - } - ], - "input": [ - { - "graph": { - "type": "directory", - "description": "PRG graph directory" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "folder": { - "type": "directory", - "description": "Directory containing indexed graph" - } - } - ], - "authors": ["@mapo9"] - } - }, - { - "name": "hlala_typing", - "path": "modules/nf-core/hlala/typing/meta.yml", - "type": "module", - "meta": { - "name": "hlala_typing", - "description": "Performs HLA typing based on a population reference graph and employs a new linear projection method to align reads to the graph.", - "keywords": ["hla", "hlala", "hla_typing", "hlala_typing"], - "tools": [ - { - "hlala": { - "description": "HLA typing from short and long reads", - "homepage": "https://github.com/DiltheyLab/HLA-LA", - "documentation": "https://github.com/DiltheyLab/HLA-LA#running-hlala", - "tool_dev_url": "https://github.com/DiltheyLab/HLA-LA", - "doi": "10.1093/bioinformatics/btz235", - "licence": "['GPL']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "graph": { - "type": "directory", - "description": "Path to prepared graph with hla-la --acton prepareGraph" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "folder": { - "type": "directory", - "description": "Folder containing the HLA typing output" - } - } - ], - "authors": ["@mapo9"] - } - }, - { - "name": "hmmcopy_gccounter", - "path": "modules/nf-core/hmmcopy/gccounter/meta.yml", - "type": "module", - "meta": { - "name": "hmmcopy_gccounter", - "description": "gcCounter function from HMMcopy utilities, used to generate GC content in non-overlapping windows from a fasta reference", - "keywords": ["hmmcopy", "gccounter", "cnv"], - "tools": [ - { - "hmmcopy": { - "description": "C++ based programs for analyzing BAM files and preparing read counts -- used with bioconductor-hmmcopy", - "homepage": "https://github.com/shahcompbio/hmmcopy_utils", - "documentation": "https://github.com/shahcompbio/hmmcopy_utils", - "tool_dev_url": "https://github.com/shahcompbio/hmmcopy_utils", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input genome fasta file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "wig": { - "type": "file", - "description": "wig file containing gc content of each window of the genome", - "pattern": "*.wig" - } - } - ], - "authors": ["@sppearce", "@adamrtalbot"] - } - }, - { - "name": "hmmcopy_generatemap", - "path": "modules/nf-core/hmmcopy/generatemap/meta.yml", - "type": "module", - "meta": { - "name": "hmmcopy_generatemap", - "description": "Perl script (generateMap.pl) generates the mappability of a genome given a certain size of reads, for input to hmmcopy mapcounter. Takes a very long time on large genomes, is not parallelised at all.", - "keywords": ["hmmcopy", "mapcounter", "mappability"], - "tools": [ - { - "hmmcopy": { - "description": "C++ based programs for analyzing BAM files and preparing read counts -- used with bioconductor-hmmcopy", - "homepage": "https://github.com/shahcompbio/hmmcopy_utils", - "documentation": "https://github.com/shahcompbio/hmmcopy_utils", - "tool_dev_url": "https://github.com/shahcompbio/hmmcopy_utils", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input genome fasta file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bigwig": { - "type": "file", - "description": "bigwig file containing the mappability of the genome", - "pattern": "*.bw" - } - } - ], - "authors": ["@sppearce", "@adamrtalbot"] - } - }, - { - "name": "hmmcopy_mapcounter", - "path": "modules/nf-core/hmmcopy/mapcounter/meta.yml", - "type": "module", - "meta": { - "name": "hmmcopy_mapcounter", - "description": "mapCounter function from HMMcopy utilities, used to generate mappability in non-overlapping windows from a bigwig file", - "keywords": ["hmmcopy", "mapcounter", "cnv"], - "tools": [ - { - "hmmcopy": { - "description": "C++ based programs for analyzing BAM files and preparing read counts -- used with bioconductor-hmmcopy", - "homepage": "https://github.com/shahcompbio/hmmcopy_utils", - "documentation": "https://github.com/shahcompbio/hmmcopy_utils", - "tool_dev_url": "https://github.com/shahcompbio/hmmcopy_utils", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bigwig": { - "type": "file", - "description": "BigWig file with the mappability score of the genome, for instance made with generateMap function.", - "pattern": "*.wig" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "wig": { - "type": "file", - "description": "wig file containing mappability of each window of the genome", - "pattern": "*.wig" - } - } - ], - "authors": ["@sppearce"] - } - }, - { - "name": "hmmcopy_readcounter", - "path": "modules/nf-core/hmmcopy/readcounter/meta.yml", - "type": "module", - "meta": { - "name": "hmmcopy_readcounter", - "description": "readCounter function from HMMcopy utilities, used to generate read in windows", - "keywords": ["hmmcopy", "readcounter", "cnv"], - "tools": [ - { - "hmmcopy": { - "description": "C++ based programs for analyzing BAM files and preparing read counts -- used with bioconductor-hmmcopy", - "homepage": "https://github.com/shahcompbio/hmmcopy_utils", - "documentation": "https://github.com/shahcompbio/hmmcopy_utils", - "tool_dev_url": "https://github.com/shahcompbio/hmmcopy_utils", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "wig": { - "type": "file", - "description": "A wig file with the number of reads lying within each window in each chromosome", - "pattern": "*.wig" - } - } - ], - "authors": ["@sppearce"] - } - }, - { - "name": "hmmer_eslalimask", - "path": "modules/nf-core/hmmer/eslalimask/meta.yml", - "type": "module", - "meta": { - "name": "hmmer_eslalimask", - "description": "Mask multiple sequence alignments", - "keywords": ["hmmer", "alignment", "mask"], - "tools": [ - { - "hmmer": { - "description": "Biosequence analysis using profile hidden Markov models", - "homepage": "http://hmmer.org/", - "documentation": "http://hmmer.org/documentation.html", - "doi": "10.1371/journal.pcbi.1002195", - "licence": ["BSD-3-Clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "unmaskedaln": { - "type": "file", - "description": "multiple sequence alignment, Stockholm or other formats", - "pattern": "*" - } - }, - { - "fmask_rf": { - "type": "val", - "description": "Flag to output optional file with final mask of non-gap RF len" - } - }, - { - "fmask_all": { - "type": "val", - "description": "Flag to output optional file with final mask of full aln len" - } - }, - { - "gmask_rf": { - "type": "val", - "description": "Flag to output optional file gap-based 0/1 mask of non-gap RF len" - } - }, - { - "gmask_all": { - "type": "val", - "description": "Flag to output optional file gap-based 0/1 mask of full aln len" - } - }, - { - "pmask_rf": { - "type": "val", - "description": "Flag to output optional file with PP-based 0/1 mask of non-gap RF len" - } - }, - { - "pmask_all": { - "type": "val", - "description": "Flag to output optional file with PP-based 0/1 mask of full aln len" - } - }, - { - "maskfile": { - "type": "file", - "description": "mask file, see program documentation", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "maskedaln": { - "type": "file", - "description": "Masked alignment in gzipped Stockholm format", - "pattern": "*.sthlm.gz" - } - }, - { - "fmask_rf": { - "type": "file", - "description": "File with final mask of non-gap RF len", - "pattern": "*.fmask-rf.gz" - } - }, - { - "fmask_all": { - "type": "file", - "description": "File with final mask of full aln len", - "pattern": "*.fmask-all.gz" - } - }, - { - "gmask_rf": { - "type": "file", - "description": "File with gap-based 0/1 mask of non-gap RF len", - "pattern": "*.gmask-rf.gz" - } - }, - { - "gmask_all": { - "type": "file", - "description": "File with gap-based 0/1 mask of full aln len", - "pattern": "*.gmask-all.gz" - } - }, - { - "pmask_rf": { - "type": "file", - "description": "File with PP-based 0/1 mask of non-gap RF len", - "pattern": "*.pmask-rf.gz" - } - }, - { - "pmask_all": { - "type": "file", - "description": "File with PP-based 0/1 mask of full aln len", - "pattern": "*.pmask-all.gz" - } - } - ], - "authors": ["@erikrikarddaniel"] - }, - "pipelines": [ - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "phyloplace", - "version": "1.0.0" - } - ] - }, - { - "name": "hmmer_eslreformat", - "path": "modules/nf-core/hmmer/eslreformat/meta.yml", - "type": "module", - "meta": { - "name": "hmmer_eslreformat", - "description": "reformats sequence files, see HMMER documentation for details. The module requires that the format is specified in ext.args in a config file, and that this comes last. See the tools help for possible values.", - "keywords": ["sort"], - "tools": [ - { - "hmmer": { - "description": "Biosequence analysis using profile hidden Markov models", - "homepage": "http://hmmer.org/", - "documentation": "http://hmmer.org/documentation.html", - "doi": "10.1371/journal.pcbi.1002195", - "licence": ["BSD-3-Clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "seqfile": { - "type": "file", - "description": "Sequences, aligned or not, in any supported format", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "seqreformated": { - "type": "file", - "description": "Reformated sequence file", - "pattern": "*.*.gz" - } - } - ], - "authors": ["@erikrikarddaniel"] - }, - "pipelines": [ - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "phyloplace", - "version": "1.0.0" - } - ] - }, - { - "name": "hmmer_hmmalign", - "path": "modules/nf-core/hmmer/hmmalign/meta.yml", - "type": "module", - "meta": { - "name": "hmmer_hmmalign", - "description": "hmmalign from the HMMER suite aligns a number of sequences to an HMM profile", - "keywords": ["alignment"], - "tools": [ - { - "hmmer": { - "description": "Biosequence analysis using profile hidden Markov models", - "homepage": "http://hmmer.org/", - "documentation": "http://hmmer.org/documentation.html", - "doi": "10.1371/journal.pcbi.1002195", - "licence": ["BSD-3-Clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Amino acid or nucleotide gzipped compressed fasta file", - "pattern": "*.{fna.gz,faa.gz,fasta.gz,fa.gz}" - } - }, - { - "hmm": { - "type": "file", - "description": "A gzipped HMM file", - "pattern": "*.hmm.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sthlm": { - "type": "file", - "description": "Multiple alignment in gzipped Stockholm format", - "pattern": "*.sthlm.gz" - } - } - ], - "authors": ["@erikrikarddaniel", "@jfy133"] - }, - "pipelines": [ - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "phyloplace", - "version": "1.0.0" - } - ] - }, - { - "name": "hmmer_hmmbuild", - "path": "modules/nf-core/hmmer/hmmbuild/meta.yml", - "type": "module", - "meta": { - "name": "hmmer_hmmbuild", - "description": "create an hmm profile from a multiple sequence alignment", - "keywords": ["search", "hidden Markov model", "HMM", "hmmer", "hmmsearch"], - "tools": [ - { - "hmmer": { - "description": "Biosequence analysis using profile hidden Markov models", - "homepage": "http://hmmer.org", - "documentation": "http://hmmer.org/documentation.html", - "tool_dev_url": "https://github.com/EddyRivasLab/hmmer", - "doi": "10.1371/journal.pcbi.1002195", - "licence": "['BSD']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "alignment": { - "type": "file", - "description": "multiple sequence alignment in fasta, clustal, stockholm or phylip format", - "pattern": "*" - } - }, - { - "mxfile": { - "type": "file", - "description": "read substitution score matrix, for use when building profiles from single sequences (--singlemx option)", - "pattern": "*" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "hmm": { - "type": "file", - "description": "Gzipped HMM file", - "pattern": "*.{hmm.gz}" - } - } - ], - "authors": ["@erikrikarddaniel"] - }, - "pipelines": [ - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "phyloplace", - "version": "1.0.0" - } - ] - }, - { - "name": "hmmer_hmmsearch", - "path": "modules/nf-core/hmmer/hmmsearch/meta.yml", - "type": "module", - "meta": { - "name": "hmmer_hmmsearch", - "description": "search profile(s) against a sequence database", - "keywords": ["hidden Markov model", "HMM", "hmmer", "hmmsearch"], - "tools": [ - { - "hmmer": { - "description": "Biosequence analysis using profile hidden Markov models", - "homepage": "http://hmmer.org/", - "documentation": "http://hmmer.org/documentation.html", - "tool_dev_url": "https://github.com/EddyRivasLab/hmmer", - "doi": "10.1371/journal.pcbi.1002195", - "licence": ["BSD"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "hmmfile": { - "type": "file", - "description": "One or more HMM profiles created with hmmbuild", - "pattern": "*.{hmm,hmm.gz}" - } - }, - { - "seqdb": { - "type": "file", - "description": "Database of sequences in FASTA format", - "pattern": "*.{fasta,fna,faa,fa,fasta.gz,fna.gz,faa.gz,fa.gz}" - } - }, - { - "write_align": { - "type": "val", - "description": "Flag to write optional alignment output. Specify with 'true' to output" - } - }, - { - "write_target": { - "type": "val", - "description": "Flag to write optional per target summary . Specify with 'true' to output" - } - }, - { - "write_domain": { - "type": "val", - "description": "Flag to write optional per domain summary. Specify with 'true' to output" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "file", - "description": "Human readable output summarizing hmmsearch results", - "pattern": "*.{txt.gz}" - } - }, - { - "alignments": { - "type": "file", - "description": "Optional multiple sequence alignment (MSA) in Stockholm format", - "pattern": "*.{sto.gz}" - } - }, - { - "target_summary": { - "type": "file", - "description": "Optional tabular (space-delimited) summary of per-target output", - "pattern": "*.{tbl.gz}" - } - }, - { - "domain_summary": { - "type": "file", - "description": "Optional tabular (space-delimited) summary of per-domain output", - "pattern": "*.{domtbl.gz}" - } - } - ], - "authors": ["@Midnighter"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - }, - { - "name": "metatdenovo", - "version": "dev" - } - ] - }, - { - "name": "hmtnote_annotate", - "path": "modules/nf-core/hmtnote/annotate/meta.yml", - "type": "module", - "meta": { - "name": "hmtnote_annotate", - "description": "Human mitochondrial variants annotation using HmtVar. Contains .plk file with annotation, so can be run offline", - "keywords": ["hmtnote", "mitochondria", "annotation"], - "tools": [ - { - "hmtnote": { - "description": "Human mitochondrial variants annotation using HmtVar.", - "homepage": "https://github.com/robertopreste/HmtNote", - "documentation": "https://hmtnote.readthedocs.io/en/latest/usage.html", - "doi": "10.1101/600619", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\n" - } - }, - { - "vcf": { - "type": "file", - "description": "vcf file", - "pattern": "*.vcf" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "annotated vcf", - "pattern": "*_annotated.vcf" - } - } - ], - "authors": ["@sysbiocoder"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "homer_annotatepeaks", - "path": "modules/nf-core/homer/annotatepeaks/meta.yml", - "type": "module", - "meta": { - "name": "homer_annotatepeaks", - "description": "Annotate peaks with HOMER suite", - "keywords": ["annotations", "peaks", "bed"], - "tools": [ - { - "homer": { - "description": "HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of tools for Motif Discovery and next-gen sequencing analysis.\n", - "documentation": "http://homer.ucsd.edu/homer/", - "doi": "10.1016/j.molcel.2010.05.004.", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "peaks": { - "type": "file", - "description": "The peak files in bed format", - "pattern": "*.bed" - } - }, - { - "fasta": { - "type": "file", - "description": "Fasta file of reference genome", - "pattern": "*.fasta" - } - }, - { - "gtf": { - "type": "file", - "description": "GTF file of reference genome", - "pattern": "*.gtf" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "annotated_peaks": { - "type": "file", - "description": "The annotated peaks", - "pattern": "*annotatePeaks.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - } - ] - }, - { - "name": "homer_findpeaks", - "path": "modules/nf-core/homer/findpeaks/meta.yml", - "type": "module", - "meta": { - "name": "homer_findpeaks", - "description": "Find peaks with HOMER suite", - "keywords": ["annotation", "peaks", "enrichment"], - "tools": [ - { - "homer": { - "description": "HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of tools for Motif Discovery and next-gen sequencing analysis.\n", - "homepage": "http://homer.ucsd.edu/homer/index.html", - "documentation": "http://homer.ucsd.edu/homer/", - "tool_dev_url": "http://homer.ucsd.edu/homer/ngs/peaks.html", - "doi": "10.1016/j.molcel.2010.05.004.", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tagDir": { - "type": "directory", - "description": "The 'Tag Directory'", - "pattern": "tagDir" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "peaks": { - "type": "file", - "description": "The found peaks", - "pattern": "*.peaks.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@EMiller88"] - }, - "pipelines": [ - { - "name": "nascent", - "version": "2.1.1" - } - ] - }, - { - "name": "homer_maketagdirectory", - "path": "modules/nf-core/homer/maketagdirectory/meta.yml", - "type": "module", - "meta": { - "name": "homer_maketagdirectory", - "description": "Create a tag directory with the HOMER suite", - "keywords": ["peaks", "bed", "bam", "sam"], - "tools": [ - { - "homer": { - "description": "HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of tools for Motif Discovery and next-gen sequencing analysis.\n", - "documentation": "http://homer.ucsd.edu/homer/", - "doi": "10.1016/j.molcel.2010.05.004.", - "licence": ["GPL-3.0-or-later"] - } - }, - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - }, - { - "DESeq2": { - "description": "Differential gene expression analysis based on the negative binomial distribution\n", - "homepage": "https://bioconductor.org/packages/DESeq2", - "documentation": "https://bioconductor.org/packages/DESeq2", - "tool_dev_url": "https://github.com/mikelove/DESeq2", - "doi": "10.18129/B9.bioc.DESeq2", - "licence": ["LGPL-3.0-or-later"] - } - }, - { - "edgeR": { - "description": "Empirical Analysis of Digital Gene Expression Data in R\n", - "homepage": "https://bioinf.wehi.edu.au/edgeR", - "documentation": "https://bioconductor.org/packages/edgeR", - "tool_dev_url": "https://git.bioconductor.org/packages/edgeR", - "doi": "10.18129/B9.bioc.edgeR", - "licence": ["GPL >=2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/BED/SAM file", - "pattern": "*.{bam,bed,sam}" - } - }, - { - "fasta": { - "type": "file", - "description": "Fasta file of reference genome", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tagdir": { - "type": "directory", - "description": "The \"Tag Directory\"", - "pattern": "*_tagdir" - } - }, - { - "taginfo": { - "type": "directory", - "description": "The tagInfo.txt included to ensure there's proper output", - "pattern": "*_tagdir/tagInfo.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@EMiller88"] - }, - "pipelines": [ - { - "name": "nascent", - "version": "2.1.1" - } - ] - }, - { - "name": "homer_makeucscfile", - "path": "modules/nf-core/homer/makeucscfile/meta.yml", - "type": "module", - "meta": { - "name": "homer_makeucscfile", - "description": "Create a UCSC bed graph with the HOMER suite", - "keywords": ["peaks", "bed", "bedGraph"], - "tools": [ - { - "homer": { - "description": "HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of tools for Motif Discovery and next-gen sequencing analysis.\n", - "documentation": "http://homer.ucsd.edu/homer/", - "doi": "10.1016/j.molcel.2010.05.004.", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tagDir": { - "type": "directory", - "description": "The 'Tag Directory'", - "pattern": "tagDir" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bedGraph": { - "type": "file", - "description": "The UCSC bed graph", - "pattern": "*.bedGraph.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@EMiller88"] - }, - "pipelines": [ - { - "name": "nascent", - "version": "2.1.1" - } - ] - }, - { - "name": "homer_pos2bed", - "path": "modules/nf-core/homer/pos2bed/meta.yml", - "type": "module", - "meta": { - "name": "homer_pos2bed", - "description": "Coverting from HOMER peak to BED file formats", - "keywords": ["peaks", "bed", "pos"], - "tools": [ - { - "homer": { - "description": "HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of tools for Motif Discovery and next-gen sequencing analysis.\n", - "homepage": "http://homer.ucsd.edu/homer/index.html", - "documentation": "http://homer.ucsd.edu/homer/", - "tool_dev_url": "http://homer.ucsd.edu/homer/ngs/miscellaneous.html", - "doi": "10.1016/j.molcel.2010.05.004.", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tagDir": { - "type": "directory", - "description": "The 'Tag Directory'", - "pattern": "tagDir" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "BED file", - "pattern": "*.bed" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Emiller88"] - }, - "pipelines": [ - { - "name": "nascent", - "version": "2.1.1" - } - ] - }, - { - "name": "hpsuissero", - "path": "modules/nf-core/hpsuissero/meta.yml", - "type": "module", - "meta": { - "name": "hpsuissero", - "description": "Serotype prediction of Haemophilus parasuis assemblies", - "keywords": ["bacteria", "fasta", "haemophilus"], - "tools": [ - { - "hpsuissero": { - "description": "Rapid Haemophilus parasuis serotyping pipeline for Nanpore data", - "homepage": "https://github.com/jimmyliu1326/HpsuisSero", - "documentation": "https://github.com/jimmyliu1326/HpsuisSero", - "tool_dev_url": "https://github.com/jimmyliu1326/HpsuisSero", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Assembly in FASTA format", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz,faa,faa.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "Tab-delimited serotype prediction", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "ichorcna_createpon", - "path": "modules/nf-core/ichorcna/createpon/meta.yml", - "type": "module", - "meta": { - "name": "ichorcna_createpon", - "description": "ichorCNA is an R package for calculating copy number alteration from (low-pass) whole genome sequencing, particularly for use in cell-free DNA. This module generates a panel of normals", - "keywords": ["ichorcna", "cnv", "cna", "cfDNA", "wgs", "panel_of_normals"], - "tools": [ - { - "ichorcna": { - "description": "Estimating tumor fraction in cell-free DNA from ultra-low-pass whole genome sequencing.", - "homepage": "https://github.com/broadinstitute/ichorCNA", - "documentation": "https://github.com/broadinstitute/ichorCNA/wiki", - "tool_dev_url": "https://github.com/broadinstitute/ichorCNA", - "doi": "10.1038/s41467-017-00965-y", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "wigs": { - "type": "file", - "description": "Any number of hmmcopy/readCounter processed .wig files giving the number of reads in the sample, in each genomic window. These will be averaged over to generate the panel of normals.", - "pattern": "*.{wig}" - } - }, - { - "gc_wig": { - "type": "file", - "description": "hmmcopy/gcCounter processed .wig file giving the gc content in the reference fasta, in each genomic window", - "pattern": "*.{wig}" - } - }, - { - "map_wig": { - "type": "file", - "description": "hmmcopy/mapCounter processed .wig file giving the mapability in the reference fasta, in each genomic window", - "pattern": "*.{wig}" - } - }, - { - "centromere": { - "type": "file", - "description": "Text file giving centromere locations of each genome, to exclude these windows", - "pattern": "*.{txt}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "rds": { - "type": "file", - "description": "R data file (.rds) containing panel of normals data, medians of each bin.", - "pattern": "*.rds" - } - }, - { - "txt": { - "type": "file", - "description": "Text file containing panel of normals data, medians of each bin.", - "pattern": "*.txt" - } - } - ], - "authors": ["@sppearce"] - } - }, - { - "name": "ichorcna_run", - "path": "modules/nf-core/ichorcna/run/meta.yml", - "type": "module", - "meta": { - "name": "ichorcna_run", - "description": "ichorCNA is an R package for calculating copy number alteration from (low-pass) whole genome sequencing, particularly for use in cell-free DNA", - "keywords": ["ichorcna", "cnv", "cna", "cfDNA", "wgs"], - "tools": [ - { - "ichorcna": { - "description": "Estimating tumor fraction in cell-free DNA from ultra-low-pass whole genome sequencing.", - "homepage": "https://github.com/broadinstitute/ichorCNA", - "documentation": "https://github.com/broadinstitute/ichorCNA/wiki", - "tool_dev_url": "https://github.com/broadinstitute/ichorCNA", - "doi": "10.1038/s41467-017-00965-y", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "wig": { - "type": "file", - "description": "hmmcopy/readCounter processed .wig file giving the number of reads in the sample, in each genomic window", - "pattern": "*.{wig}" - } - }, - { - "gc_wig": { - "type": "file", - "description": "hmmcopy/gcCounter processed .wig file giving the gc content in the reference fasta, in each genomic window", - "pattern": "*.{wig}" - } - }, - { - "map_wig": { - "type": "file", - "description": "hmmcopy/mapCounter processed .wig file giving the mapability in the reference fasta, in each genomic window", - "pattern": "*.{wig}" - } - }, - { - "panel_of_normals": { - "type": "file", - "description": "Panel of normals data, generated by calling ichorCNA on a set of normal samples with the same window size etc.", - "pattern": "*.{rds}" - } - }, - { - "centromere": { - "type": "file", - "description": "Text file giving centromere locations of each genome, to exclude these windows", - "pattern": "*.{txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "cna_seg": { - "type": "file", - "description": "Predicted copy number variation per segment", - "pattern": "*.{cng.seg}" - } - }, - { - "ichorcna_params": { - "type": "file", - "description": "A text file showing the values that ichorCNA has estimated for tumour fraction, ploidy etc", - "pattern": "*.{params.txt}" - } - }, - { - "genome_plot": { - "type": "file", - "description": "A plot with the best-fit genome-wide CNV data", - "pattern": "*.{genomeWide.pdf}" - } - } - ], - "authors": ["@sppearce"] - } - }, - { - "name": "icountmini_metagene", - "path": "modules/nf-core/icountmini/metagene/meta.yml", - "type": "module", - "meta": { - "name": "icountmini_metagene", - "description": "Plot a metagene of cross-link events/sites around various transcriptomic landmarks.", - "keywords": ["iCLIP", "gtf", "genomics"], - "tools": [ - { - "icount": { - "description": "Computational pipeline for analysis of iCLIP data", - "homepage": "https://icount.readthedocs.io/en/latest/", - "documentation": "https://icount.readthedocs.io/en/latest/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "BED file of crosslinks" - } - }, - { - "segmentation": { - "type": "file", - "description": "A iCount segmentation file", - "pattern": "*.{gtf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tsv": { - "type": "file", - "description": "Metagene table", - "pattern": "*.tsv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@marc-jones", "@chris-cheshire", "@charlotteanne"] - } - }, - { - "name": "icountmini_peaks", - "path": "modules/nf-core/icountmini/peaks/meta.yml", - "type": "module", - "meta": { - "name": "icountmini_peaks", - "description": "Runs iCount peaks on a BED file of crosslinks", - "keywords": ["iCLIP", "bed", "genomics"], - "tools": [ - { - "icount": { - "description": "Computational pipeline for analysis of iCLIP data", - "homepage": "https://github.com/ulelab/iCount-Mini", - "documentation": "https://github.com/ulelab/iCount-Mini", - "tool_dev_url": "https://github.com/ulelab/iCount-Mini", - "doi": "10.1038/nsmb.1838", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "BED file of crosslinks", - "pattern": "*.{bed}" - } - }, - { - "sigxls": { - "type": "file", - "description": "TSV file of sigxls from iCount sigxls", - "pattern": "*.{tsv}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "peaks": { - "type": "file", - "description": "Crosslinks deemed significant by iCount", - "pattern": "*.{bed.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@marc-jones", "@chris-cheshire", "@charlotteanne"] - } - }, - { - "name": "icountmini_segment", - "path": "modules/nf-core/icountmini/segment/meta.yml", - "type": "module", - "meta": { - "name": "icountmini_segment", - "description": "Formats a GTF file for use with iCount sigxls", - "keywords": ["iCLIP", "gtf", "genomics"], - "tools": [ - { - "icount": { - "description": "Computational pipeline for analysis of iCLIP data", - "homepage": "https://github.com/ulelab/iCount-Mini", - "documentation": "https://github.com/ulelab/iCount-Mini", - "tool_dev_url": "https://github.com/ulelab/iCount-Mini", - "doi": "10.1038/nsmb.1838", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gtf": { - "type": "file", - "description": "A GTF file to use for the segmentation", - "pattern": "*.{gtf}" - } - }, - { - "fai": { - "type": "file", - "description": "FAI file corresponding to the reference sequence", - "pattern": "*.{fai}" - } - } - ], - "output": [ - { - "gtf": { - "type": "file", - "description": "Segmented GTF file for use with iCount sigxls", - "pattern": "*.{gtf}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@marc-jones", "@chris-cheshire", "@charlotteanne"] - } - }, - { - "name": "icountmini_sigxls", - "path": "modules/nf-core/icountmini/sigxls/meta.yml", - "type": "module", - "meta": { - "name": "icountmini_sigxls", - "description": "Runs iCount sigxls on a BED file of crosslinks", - "keywords": ["CLIP", "iCLIP", "bed", "genomics"], - "tools": [ - { - "icount": { - "description": "Computational pipeline for analysis of iCLIP data", - "homepage": "https://github.com/ulelab/iCount-Mini", - "documentation": "https://github.com/ulelab/iCount-Mini", - "tool_dev_url": "https://github.com/ulelab/iCount-Mini", - "doi": "10.1038/nsmb.1838", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "BED file of crosslinks", - "pattern": "*.{bam,bam.gz}" - } - }, - { - "segmentation": { - "type": "file", - "description": "A iCount segmentation file", - "pattern": "*.{gtf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "peaks": { - "type": "file", - "description": "Crosslinks deemed significant by iCount", - "pattern": "*.{bed.gz}" - } - }, - { - "scores": { - "type": "file", - "description": "Crosslink scores calculated by iCount", - "pattern": "*.{tsv}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@marc-jones", "@chris-cheshire", "@charlotteanne"] - } - }, - { - "name": "icountmini_summary", - "path": "modules/nf-core/icountmini/summary/meta.yml", - "type": "module", - "meta": { - "name": "icountmini_summary", - "description": "Report proportion of cross-link events/sites on each region type.", - "keywords": ["iCLIP", "gtf", "genomics"], - "tools": [ - { - "icount": { - "description": "Computational pipeline for analysis of iCLIP data", - "homepage": "https://icount.readthedocs.io/en/latest/", - "documentation": "https://icount.readthedocs.io/en/latest/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "BED file of crosslinks" - } - }, - { - "segmentation": { - "type": "file", - "description": "A iCount segmentation file", - "pattern": "*.{gtf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "summary_type": { - "type": "file", - "description": "Summary type output stats file", - "pattern": "*summary_type.tsv" - } - }, - { - "summary_subtype": { - "type": "file", - "description": "Summary subtype output stats file", - "pattern": "*summary_subtype.tsv" - } - }, - { - "summary_gene": { - "type": "file", - "description": "Summary gene output stats file", - "pattern": "*summary_gene.tsv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@marc-jones", "@chris-cheshire", "@charlotteanne"] - } - }, - { - "name": "idr", - "path": "modules/nf-core/idr/meta.yml", - "type": "module", - "meta": { - "name": "idr", - "description": "Measures reproducibility of ChIP-seq, ATAC-seq peaks using IDR (Irreproducible\nDiscovery Rate)\n", - "keywords": ["IDR", "peaks", "ChIP-seq", "ATAC-seq"], - "tools": [ - { - "idr": { - "description": "The IDR (Irreproducible Discovery Rate) framework is a unified approach\nto measure the reproducibility of findings identified from replicate\nexperiments and provide highly stable thresholds based on reproducibility.\n", - "tool_dev_url": "https://github.com/kundajelab/idr", - "licence": ["GPL v2"] - } - } - ], - "input": [ - { - "peaks": { - "type": "tuple of two files", - "description": "BED, narrowPeak or broadPeak files of replicates", - "pattern": "*" - } - }, - { - "peak_type": { - "type": "value", - "description": "Type of peak file", - "pattern": "{narrowPeak,broadPeak,bed}" - } - }, - { - "prefix": { - "type": "value", - "description": "Prefix for output files" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "idr": { - "type": "file", - "description": "Text file containing IDR values", - "pattern": "*.{txt}" - } - }, - { - "log": { - "type": "file", - "description": "Log file", - "pattern": "*.{txt}" - } - }, - { - "png": { - "type": "file", - "description": "Plot generated by idr", - "pattern": "*{.png}" - } - } - ], - "authors": ["@drpatelh", "@joseespinosa"] - } - }, - { - "name": "igv_js", - "path": "modules/nf-core/igv/js/meta.yml", - "type": "module", - "meta": { - "name": "igv_js", - "description": "igv.js is an embeddable interactive genome visualization component", - "keywords": ["igv", "igv.js", "js", "genome browser"], - "tools": [ - { - "igv": { - "description": "Create an embeddable interactive genome browser component.\nOutput files are expected to be present in the same directory as teh genome browser html file.\nTo visualise it, files have to be served. Check the documentation at:\n https://github.com/igvteam/igv-webapp for an example and\n https://github.com/igvteam/igv.js/wiki/Data-Server-Requirements for server requirements\n", - "homepage": "https://github.com/igvteam/igv.js", - "documentation": "https://github.com/igvteam/igv.js/wiki", - "tool_dev_url": "https://github.com/igvteam/igv.js", - "doi": "10.1093/bioinformatics/btac830", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "alignment": { - "type": "file", - "description": "Sorted BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "index": { - "type": "file", - "description": "Index of sorted BAM/CRAM file", - "pattern": "*.{bai,crai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "browser": { - "type": "file", - "description": "Genome browser HTML file", - "pattern": "*.{html}" - } - }, - { - "align_files": { - "type": "file", - "description": "Copy of the input sorted BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "index_files": { - "type": "file", - "description": "Copy of the input index of sorted BAM/CRAM file", - "pattern": "*.{bai,crai}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@mirpedrol"] - } - }, - { - "name": "ilastik_multicut", - "path": "modules/nf-core/ilastik/multicut/meta.yml", - "type": "module", - "meta": { - "name": "ilastik_multicut", - "description": "Ilastik is a tool that utilizes machine learning algorithms to classify pixels, segment, track and count cells in images. Ilastik contains a graphical user interface to interactively label pixels. However, this nextflow module will implement the --headless mode, to apply pixel classification using a pre-trained .ilp file on an input image.", - "keywords": ["multicut", "segmentation", "pixel classification"], - "tools": [ - { - "ilastik": { - "description": "Ilastik is a user friendly tool that enables pixel classification, segmentation and analysis.", - "homepage": "https://www.ilastik.org/", - "documentation": "https://www.ilastik.org/documentation/", - "tool_dev_url": "https://github.com/ilastik/ilastik", - "licence": "GPL3" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "h5": { - "type": "file", - "description": "h5 file containing image stack to classify file", - "pattern": "*.{h5,hdf5}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ilp": { - "type": "file", - "description": "Trained ilastik .ilp project file", - "pattern": "*.{ilp}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "probs": { - "type": "file", - "description": "Probability map for boundary based segmentation", - "pattern": "*.{h5,,hdf5}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "out_tiff": { - "type": "file", - "description": "Multicut segmentation mask output.", - "pattern": "*.{tiff}" - } - } - ], - "authors": ["@FloWuenne"] - } - }, - { - "name": "ilastik_pixelclassification", - "path": "modules/nf-core/ilastik/pixelclassification/meta.yml", - "type": "module", - "meta": { - "name": "ilastik_pixelclassification", - "description": "Ilastik is a tool that utilizes machine learning algorithms to classify pixels, segment, track and count cells in images. Ilastik contains a graphical user interface to interactively label pixels. However, this nextflow module will implement the --headless mode, to apply pixel classification using a pre-trained .ilp file on an input image.", - "keywords": ["pixel_classification", "segmentation", "probability_maps"], - "tools": [ - { - "ilastik": { - "description": "Ilastik is a user friendly tool that enables pixel classification, segmentation and analysis.", - "homepage": "https://www.ilastik.org/", - "documentation": "https://www.ilastik.org/documentation/", - "tool_dev_url": "https://github.com/ilastik/ilastik", - "licence": "GPL3" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information for h5 file\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_img": { - "type": "file", - "description": "Input img file containing image stack to classify" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information for ilp file\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ilp": { - "type": "file", - "description": "Trained ilastik pixel classification .ilp project file", - "pattern": "*.{ilp}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "file", - "description": "Output file from ilastik pixel classification." - } - } - ], - "authors": ["@FloWuenne"] - } - }, - { - "name": "instrain_profile", - "path": "modules/nf-core/instrain/profile/meta.yml", - "type": "module", - "meta": { - "name": "instrain_profile", - "description": "inStrain is python program for analysis of co-occurring genome populations from metagenomes that allows highly accurate genome comparisons, analysis of coverage, microdiversity, and linkage, and sensitive SNP detection with gene localization and synonymous non-synonymous identification", - "keywords": ["instrain", "metagenomics", "population genomics", "profile"], - "tools": [ - { - "instrain": { - "description": "Calculation of strain-level metrics", - "homepage": "https://github.com/MrOlm/instrain", - "documentation": "https://instrain.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/MrOlm/instrain", - "doi": "10.1038/s41587-020-00797-0", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test']" - } - }, - { - "bam": { - "type": "path", - "description": "Path to .bam file to be profiled", - "pattern": "*.{bam,sam}" - } - }, - { - "genome_fasta": { - "type": "path", - "description": "Path to .fasta file to be profiled; MUST be the .fasta file that was mapped to to create the .bam file", - "pattern": "*.{fasta,fna,fa}" - } - }, - { - "genes_fasta": { - "type": "path", - "description": "Path to .fna file of genes to be profiled (OPTIONAL)", - "pattern": "*.{fasta,fna,fa}" - } - }, - { - "stb_file": { - "type": "path", - "description": "Path to .stb (scaffold to bin) file to be profiled (OPTIONAL)", - "pattern": "*.stb" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "profile": { - "type": "path", - "description": "InStrain profile folder", - "pattern": "*.IS/" - } - } - ], - "authors": ["@mrolm"] - } - }, - { - "name": "interproscan", - "path": "modules/nf-core/interproscan/meta.yml", - "type": "module", - "meta": { - "name": "interproscan", - "description": "Produces protein annotations and predictions from a FASTA file", - "keywords": ["annotation", "fasta", "interproscan"], - "tools": [ - { - "interproscan": { - "description": "InterPro integrates together predictive information about proteins function from a number of partner resources", - "homepage": "https://www.ebi.ac.uk/interpro/search/sequence/", - "documentation": "https://interproscan-docs.readthedocs.io", - "tool_dev_url": "https://github.com/ebi-pf-team/interproscan", - "doi": "10.1093/bioinformatics/btu031", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input fasta file containing query sequences", - "pattern": "*.{fa,fasta}" - } - }, - { - "out_ext": { - "type": "string", - "description": "Specify the type of output file to be generated", - "pattern": "tsv|xml|gff3|json" - } - } - ], - "output": [ - { - "tsv": { - "type": "file", - "description": "Tab separated file containing with detailed hits", - "pattern": "*.{tsv}" - } - }, - { - "xml": { - "type": "file", - "description": "XML file containing with detailed hits", - "pattern": "*.{xml}" - } - }, - { - "gff3": { - "type": "file", - "description": "GFF3 file containing with detailed hits", - "pattern": "*.{gff3}" - } - }, - { - "json": { - "type": "file", - "description": "JSON file containing with detailed hits", - "pattern": "*.{json}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@toniher"] - } - }, - { - "name": "iphop_download", - "path": "modules/nf-core/iphop/download/meta.yml", - "type": "module", - "meta": { - "name": "iphop_download", - "description": "Download, extract, and check md5 of iPHoP databases", - "keywords": ["metagenomics", "iphop", "database", "download", "phage", "bacteria", "host"], - "tools": [ - { - "iphop": { - "description": "Predict host genus from genomes of uncultivated phages.", - "homepage": "https://bitbucket.org/srouxjgi/iphop/src/main/", - "documentation": "https://bitbucket.org/srouxjgi/iphop/src/main/", - "tool_dev_url": "https://bitbucket.org/srouxjgi/iphop/src/main/", - "doi": "10.1371/journal.pbio.3002083", - "licence": "['Modified GPL v3']" - } - } - ], - "output": [ - { - "iphop_db": { - "type": "directory", - "description": "Directory containing downloaded and md5 checked iPHoP database", - "pattern": "iphop_db/" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@CarsonJM"] - } - }, - { - "name": "iphop_predict", - "path": "modules/nf-core/iphop/predict/meta.yml", - "type": "module", - "meta": { - "name": "iphop_predict", - "description": "Predict phage host using iPHoP", - "keywords": ["metagenomics", "iphop", "database", "download", "phage", "bacteria", "host"], - "tools": [ - { - "iphop": { - "description": "Predict host genus from genomes of uncultivated phages.", - "homepage": "https://bitbucket.org/srouxjgi/iphop/src/main/", - "documentation": "https://bitbucket.org/srouxjgi/iphop/src/main/", - "tool_dev_url": "https://bitbucket.org/srouxjgi/iphop/src/main/", - "doi": "10.1371/journal.pbio.3002083", - "licence": "['Modified GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file containing phage contigs/scaffolds/chromosomes", - "pattern": "*.{fasta,fna,fa}" - } - }, - { - "iphop_db": { - "type": "directory", - "description": "Directory pointing to iPHoP database" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "iphop_genus": { - "type": "file", - "description": "File containing integrated host predictions at genus level, with a minimum score defined by the `--min_score` argument", - "pattern": "Host_prediction_to_genus_m*.csv" - } - }, - { - "iphop_genome": { - "type": "file", - "description": "File containing integrated host predictions at host genome level, with a minimum score defined by the `--min_score` argument", - "pattern": "Host_prediction_to_genome_m*.csv" - } - }, - { - "iphop_detailed_output": { - "type": "file", - "description": "File containing each phage's top 5 hits via each method", - "pattern": "Detailed_output_by_tool.csv" - } - } - ], - "authors": ["@CarsonJM"] - } - }, - { - "name": "iqtree", - "path": "modules/nf-core/iqtree/meta.yml", - "type": "module", - "meta": { - "name": "iqtree", - "description": "Produces a Newick format phylogeny from a multiple sequence alignment using the maxium likelihood algorithm. Capable of bacterial genome size alignments.", - "keywords": ["phylogeny", "newick", "maximum likelihood"], - "tools": [ - { - "iqtree": { - "description": "Efficient phylogenomic software by maximum likelihood.", - "homepage": "http://www.iqtree.org", - "documentation": "http://www.iqtree.org/doc", - "tool_dev_url": "https://github.com/iqtree/iqtree2", - "doi": "10.1093/molbev/msaa015", - "licence": ["GPL v2-or-later"] - } - } - ], - "input": [ - { - "alignment": { - "type": "file", - "description": "A FASTA format multiple sequence alignment file", - "pattern": "*.{fasta,fas,fa,mfa}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "phylogeny": { - "type": "file", - "description": "A phylogeny in Newick format", - "pattern": "*.{treefile}" - } - } - ], - "authors": ["@avantonder", "@aunderwo"] - } - }, - { - "name": "islandpath", - "path": "modules/nf-core/islandpath/meta.yml", - "type": "module", - "meta": { - "name": "islandpath", - "description": "Genomic island prediction in bacterial and archaeal genomes", - "keywords": ["genomes", "genomic islands", "prediction"], - "tools": [ - { - "islandpath": { - "description": "IslandPath-DIMOB is a standalone software to predict genomic islands (GIs - clusters of genes in prokaryotic genomes of probable horizontal origin) in bacterial and archaeal genomes based on the presence of dinucleotide biases and mobility genes.", - "homepage": "https://github.com/brinkmanlab/islandpath", - "documentation": "https://github.com/brinkmanlab/islandpath#readme", - "tool_dev_url": "https://github.com/brinkmanlab/islandpath", - "doi": "10.1093/bioinformatics/bty095", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "genome": { - "type": "file", - "description": "Genome file in .gbk or .embl format.\npattern: \"*.{gbk, embl, gbff}\"\n" - } - } - ], - "output": [ - { - "gff": { - "type": "file", - "description": "GFF file listing the predicted genomic islands and their coordinates", - "pattern": "*.gff" - } - }, - { - "log": { - "type": "file", - "description": "Log file of the islandpath run", - "pattern": "*.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@jvfe"] - } - }, - { - "name": "ismapper", - "path": "modules/nf-core/ismapper/meta.yml", - "type": "module", - "meta": { - "name": "ismapper", - "description": "Identify insertion sites positions in bacterial genomes", - "keywords": ["fastq", "insertion sequences"], - "tools": [ - { - "ismapper": { - "description": "A mapping-based tool for identification of the site and orientation of IS insertions in bacterial genomes.", - "homepage": "https://github.com/jhawkey/IS_mapper", - "documentation": "https://github.com/jhawkey/IS_mapper", - "tool_dev_url": "https://github.com/jhawkey/IS_mapper", - "doi": "10.1186/s12864-015-1860-2", - "licence": ["BSD-3-Clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "A set of paired-end FASTQ files", - "pattern": "*.{fastq.gz,fq.gz}" - } - }, - { - "reference": { - "type": "file", - "description": "Reference genome in GenBank format", - "pattern": "*.{gbk}" - } - }, - { - "query": { - "type": "file", - "description": "Insertion sequences to query in FASTA format", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "results": { - "type": "directory", - "description": "Directory containing ISMapper result files", - "pattern": "*/*" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "isoseq3_cluster", - "path": "modules/nf-core/isoseq3/cluster/meta.yml", - "type": "module", - "meta": { - "name": "isoseq3_cluster", - "description": "IsoSeq3 - Cluster - Cluster trimmed consensus sequences", - "keywords": ["cluster"], - "tools": [ - { - "isoseq3": { - "description": "IsoSeq3 - Cluster - Cluster trimmed consensus sequences", - "homepage": "https://github.com/PacificBiosciences/IsoSeq/blob/master/isoseq-clustering.md", - "documentation": "https://github.com/PacificBiosciences/IsoSeq/blob/master/isoseq-clustering.md", - "tool_dev_url": "https://github.com/PacificBiosciences/IsoSeq/blob/master/isoseq-clustering.md", - "licence": ["BSD-3-Clause-Clear"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file generated by isoseq3 refine", - "pattern": "*.bam" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "version": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file of clustered consensus", - "pattern": "*.transcripts.bam" - } - }, - { - "pbi": { - "type": "file", - "description": "Pacbio Index of consensus reads generated by clustering", - "pattern": "*.transcripts.bam.pbi" - } - }, - { - "cluster": { - "type": "file", - "description": "A two columns (from, to) file describing original read name to new read name", - "pattern": "*.transcripts.cluster" - } - }, - { - "cluster_report": { - "type": "file", - "description": "A table files clusters (transcripts) members (read)", - "pattern": "*.transcripts.cluster_report.csv" - } - }, - { - "transcriptset": { - "type": "file", - "description": "A metadata xml file which contains full paths to data files", - "pattern": "*.transcripts.transcriptset.xml" - } - }, - { - "hq_bam": { - "type": "file", - "description": "High quality reads (when --use-qvs is set)", - "pattern": "*.transcripts.hq.bam" - } - }, - { - "hq_pbi": { - "type": "file", - "description": "Pacbio index of high quality reads (when --use-qvs is set)", - "pattern": "*.transcripts.hq.bam.pbi" - } - }, - { - "lq_bam": { - "type": "file", - "description": "Low quality reads (when --use-qvs is set)", - "pattern": "*.transcripts.lq.bam" - } - }, - { - "lq_pbi": { - "type": "file", - "description": "Pacbio index of low quality reads (when --use-qvs is set)", - "pattern": "*.transcripts.lq.bam.pbi" - } - }, - { - "singletons_bam": { - "type": "file", - "description": "Unclustered reads (when --singletons is set)", - "pattern": "*.transcripts.singletons.bam" - } - }, - { - "singletons_pbi": { - "type": "file", - "description": "Pacbio index of unclustered reads (when --singletons is set)", - "pattern": "*.transcripts.singletons.bam.pbi" - } - } - ], - "authors": ["@sguizard"] - } - }, - { - "name": "isoseq3_refine", - "path": "modules/nf-core/isoseq3/refine/meta.yml", - "type": "module", - "meta": { - "name": "isoseq3_refine", - "description": "Remove polyA tail and artificial concatemers", - "keywords": ["isoseq", "refine", "ccs", "pacbio", "polyA_tail"], - "tools": [ - { - "isoseq3": { - "description": "IsoSeq3 - Scalable De Novo Isoform Discovery", - "homepage": "https://github.com/PacificBiosciences/IsoSeq/blob/master/isoseq-clustering.md", - "documentation": "https://github.com/PacificBiosciences/IsoSeq/blob/master/isoseq-clustering.md", - "tool_dev_url": "https://github.com/PacificBiosciences/IsoSeq/blob/master/isoseq-clustering.md", - "licence": ["BSD-3-Clause-Clear"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file, cleaned ccs generated by lima", - "pattern": "*.bam" - } - }, - { - "primers": { - "type": "file", - "description": "fasta file of primers", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Set of complete reads (with polyA tail), where the polyA has been trimmed", - "pattern": "*.bam" - } - }, - { - "pbi": { - "type": "file", - "description": "Pacbio index file from polyA trimmed reads", - "pattern": "*.pbi" - } - }, - { - "consensusreadset": { - "type": "file", - "description": "Metadata about read library", - "pattern": "*.xml" - } - }, - { - "summary": { - "type": "file", - "description": "json file describing number of full length reads, full length non chimeric reads and full length non chimeric polyA reads", - "pattern": "*.json" - } - }, - { - "report": { - "type": "file", - "description": "Metadata about primer and polyA detection (primers/polyA/insert length, strand, primer name)", - "pattern": "*.csv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sguizard"] - }, - "pipelines": [ - { - "name": "isoseq", - "version": "1.1.4" - } - ] - }, - { - "name": "ivar_consensus", - "path": "modules/nf-core/ivar/consensus/meta.yml", - "type": "module", - "meta": { - "name": "ivar_consensus", - "description": "Generate a consensus sequence from a BAM file using iVar", - "keywords": ["amplicon sequencing", "consensus", "fasta"], - "tools": [ - { - "ivar": { - "description": "iVar - a computational package that contains functions broadly useful for viral amplicon-based sequencing.\n", - "homepage": "https://github.com/andersen-lab/ivar", - "documentation": "https://andersen-lab.github.io/ivar/html/manualpage.html", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "A sorted (with samtools sort) and trimmed (with iVar trim) bam file", - "pattern": "*.bam" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference sequence used for mapping and generating the BAM file", - "pattern": "*.fa" - } - }, - { - "save_mpileup": { - "type": "boolean", - "description": "Save mpileup file generated by ivar consensus", - "patter": "*.mpileup" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "iVar generated consensus sequence", - "pattern": "*.fa" - } - }, - { - "qual": { - "type": "file", - "description": "iVar generated quality file", - "pattern": "*.qual.txt" - } - }, - { - "mpileup": { - "type": "file", - "description": "mpileup output from samtools mpileup [OPTIONAL]", - "pattern": "*.mpileup" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@andersgs", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "ivar_trim", - "path": "modules/nf-core/ivar/trim/meta.yml", - "type": "module", - "meta": { - "name": "ivar_trim", - "description": "Trim primer sequences rom a BAM file with iVar", - "keywords": ["amplicon sequencing", "trimming", "fasta"], - "tools": [ - { - "ivar": { - "description": "iVar - a computational package that contains functions broadly useful for viral amplicon-based sequencing.\n", - "homepage": "https://github.com/andersen-lab/ivar", - "documentation": "https://andersen-lab.github.io/ivar/html/manualpage.html", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Co-ordinate sorted BAM file", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "Index file for co-ordinate sorted BAM file", - "pattern": "*.bai" - } - }, - { - "bed": { - "type": "file", - "description": "BED file with primer labels and positions", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "iVar generated trimmed bam file (unsorted)", - "pattern": "*.bam" - } - }, - { - "log": { - "type": "file", - "description": "Log file generated by iVar for use with MultiQC", - "pattern": "*.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@andersgs", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "ivar_variants", - "path": "modules/nf-core/ivar/variants/meta.yml", - "type": "module", - "meta": { - "name": "ivar_variants", - "description": "Call variants from a BAM file using iVar", - "keywords": ["amplicon sequencing", "variants", "fasta"], - "tools": [ - { - "ivar": { - "description": "iVar - a computational package that contains functions broadly useful for viral amplicon-based sequencing.\n", - "homepage": "https://github.com/andersen-lab/ivar", - "documentation": "https://andersen-lab.github.io/ivar/html/manualpage.html", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "A sorted (with samtools sort) and trimmed (with iVar trim) bam file", - "pattern": "*.bam" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference sequence used for mapping and generating the BAM file", - "pattern": "*.fa" - } - }, - { - "fai": { - "type": "file", - "description": "The index for the reference sequence used for mapping and generating the BAM file", - "pattern": "*.fai" - } - }, - { - "gff": { - "type": "file", - "description": "A GFF file in the GFF3 format can be supplied to specify coordinates of open reading frames (ORFs). In absence of GFF file, amino acid translation will not be done.", - "patter": "*.gff" - } - }, - { - "save_mpileup": { - "type": "boolean", - "description": "Save mpileup file generated by ivar variants", - "patter": "*.mpileup" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tsv": { - "type": "file", - "description": "iVar generated TSV file with the variants", - "pattern": "*.tsv" - } - }, - { - "mpileup": { - "type": "file", - "description": "mpileup output from samtools mpileup [OPTIONAL]", - "pattern": "*.mpileup" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@andersgs", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "jasminesv", - "path": "modules/nf-core/jasminesv/meta.yml", - "type": "module", - "meta": { - "name": "jasminesv", - "description": "Jointly Accurate Sv Merging with Intersample Network Edges", - "keywords": ["jasminesv", "jasmine", "structural variants", "vcf", "bam"], - "tools": [ - { - "jasminesv": { - "description": "Software for merging structural variants between individuals", - "homepage": "https://github.com/mkirsche/Jasmine/wiki/Jasmine-User-Manual", - "documentation": "https://github.com/mkirsche/Jasmine/wiki/Jasmine-User-Manual", - "tool_dev_url": "https://github.com/mkirsche/Jasmine", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcfs": { - "type": "files", - "description": "The VCF files that need to be merged\n", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "bams": { - "type": "files", - "description": "Optional - The BAM files from which the VCFs were created", - "pattern": "*.bam" - } - }, - { - "sample_dists": { - "type": "file", - "description": "Optional - A txt file containing the distance thresholds for each sample", - "pattern": "*.txt" - } - }, - { - "fasta": { - "type": "file", - "description": "Optional - The reference FASTA file used to create the VCFs", - "pattern": "*.{fasta,fa}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "Optional - The index of the reference FASTA file used to create the VCFs", - "pattern": "*.fai" - } - }, - { - "chr_norm": { - "type": "file", - "description": "Optional - A txt file containing the chromosomes and their aliases for normalization", - "pattern": "*.txt" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "The merged VCF file", - "pattern": "*.vcf.gz" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "jupyternotebook", - "path": "modules/nf-core/jupyternotebook/meta.yml", - "type": "module", - "meta": { - "name": "jupyternotebook", - "description": "Render jupyter (or jupytext) notebooks to HTML reports. Supports parametrization\nthrough papermill.\n", - "keywords": ["Python", "Jupyter", "jupytext", "papermill", "notebook", "reports"], - "tools": [ - { - "jupytext": { - "description": "Jupyter notebooks as plain text scripts or markdown documents", - "homepage": "https://github.com/mwouts/jupytext/", - "documentation": "https://jupyter.org/documentation", - "tool_dev_url": "https://github.com/mwouts/jupytext/", - "licence": "MIT" - } - }, - { - "papermill": { - "description": "Parameterize, execute, and analyze notebooks", - "homepage": "https://github.com/nteract/papermill", - "documentation": "http://papermill.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/nteract/papermill", - "licence": "BSD 3-clause" - } - }, - { - "nbconvert": { - "description": "Parameterize, execute, and analyze notebooks", - "homepage": "https://nbconvert.readthedocs.io/en/latest/", - "documentation": "https://nbconvert.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/jupyter/nbconvert", - "licence": "BSD 3-clause" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "notebook": { - "type": "file", - "description": "Jupyter notebook or jupytext representation thereof", - "pattern": "*.{ipynb,py,md,Rmd,myst}" - } - }, - { - "parameters": { - "type": "map", - "description": "Groovy map with notebook parameters which will be passed\nto papermill in order to create parametrized reports.\n" - } - }, - { - "input_files": { - "type": "file", - "description": "One or multiple files serving as input data for the notebook.", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "report": { - "type": "file", - "description": "HTML report generated from Jupyter notebook", - "pattern": "*.html" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@grst"] - } - }, - { - "name": "kaiju_kaiju", - "path": "modules/nf-core/kaiju/kaiju/meta.yml", - "type": "module", - "meta": { - "name": "kaiju_kaiju", - "description": "Taxonomic classification of metagenomic sequence data using a protein reference database", - "keywords": ["classify", "metagenomics", "fastq", "taxonomic profiling"], - "tools": [ - { - "kaiju": { - "description": "Fast and sensitive taxonomic classification for metagenomics", - "homepage": "https://kaiju.binf.ku.dk/", - "documentation": "https://github.com/bioinformatics-centre/kaiju/blob/master/README.md", - "tool_dev_url": "https://github.com/bioinformatics-centre/kaiju", - "doi": "10.1038/ncomms11257", - "licence": ["GNU GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input fastq/fasta files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n", - "pattern": "*.{fastq,fq,fasta,fa,fsa,fas,fna,fastq.gz,fq.gz,fasta.gz,fa.gz,fsa.gz,fas.gz,fna.gz}" - } - }, - { - "db": { - "type": "files", - "description": "List containing the database and nodes files for Kaiju\ne.g. [ 'database.fmi', 'nodes.dmp' ]\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "results": { - "type": "file", - "description": "Results with taxonomic classification of each read", - "pattern": "*.tsv" - } - } - ], - "authors": ["@talnor", "@sofstam", "@jfy133"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "kaiju_kaiju2krona", - "path": "modules/nf-core/kaiju/kaiju2krona/meta.yml", - "type": "module", - "meta": { - "name": "kaiju_kaiju2krona", - "description": "Convert Kaiju's tab-separated output file into a tab-separated text file which can be imported into Krona.", - "keywords": ["taxonomy", "visualisation", "krona chart", "metagenomics"], - "tools": [ - { - "kaiju": { - "description": "Fast and sensitive taxonomic classification for metagenomics", - "homepage": "https://kaiju.binf.ku.dk/", - "documentation": "https://github.com/bioinformatics-centre/kaiju/blob/master/README.md", - "tool_dev_url": "https://github.com/bioinformatics-centre/kaiju", - "doi": "10.1038/ncomms11257", - "licence": ["GNU GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tsv": { - "type": "file", - "description": "Kaiju tab-separated output file", - "pattern": "*.{tsv,txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "Krona text-based input file converted from Kaiju report", - "pattern": "*.{txt,krona}" - } - } - ], - "authors": ["@MillironX"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "kaiju_kaiju2table", - "path": "modules/nf-core/kaiju/kaiju2table/meta.yml", - "type": "module", - "meta": { - "name": "kaiju_kaiju2table", - "description": "write your description here", - "keywords": ["classify", "metagenomics"], - "tools": [ - { - "kaiju": { - "description": "Fast and sensitive taxonomic classification for metagenomics", - "homepage": "https://kaiju.binf.ku.dk/", - "documentation": "https://github.com/bioinformatics-centre/kaiju/blob/master/README.md", - "tool_dev_url": "https://github.com/bioinformatics-centre/kaiju", - "doi": "10.1038/ncomms11257", - "licence": ["GNU GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "results": { - "type": "file", - "description": "File containing the kaiju classification results", - "pattern": "*.{txt}" - } - }, - { - "taxon_rank": { - "type": "string", - "description": "Taxonomic rank to display in report\npattern: \"phylum|class|order|family|genus|species\"\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "results": { - "type": "file", - "description": "Summary table for a given taxonomic rank\n", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@sofstam", "@talnor", "@jfy133"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "kallisto_index", - "path": "modules/nf-core/kallisto/index/meta.yml", - "type": "module", - "meta": { - "name": "kallisto_index", - "description": "Create kallisto index", - "keywords": ["index"], - "tools": [ - { - "kallisto": { - "description": "Quantifying abundances of transcripts from bulk and single-cell RNA-Seq data, or more generally of target sequences using high-throughput sequencing reads.", - "homepage": "https://pachterlab.github.io/kallisto/", - "documentation": "https://pachterlab.github.io/kallisto/manual", - "tool_dev_url": "https://github.com/pachterlab/kallisto", - "licence": ["BSD-2-Clause"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "genome fasta file", - "pattern": "*.{fasta}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "idx": { - "type": "index", - "description": "Kallisto genome index", - "pattern": "*.idx" - } - } - ], - "authors": ["@ggabernet"] - }, - "pipelines": [ - { - "name": "rnafusion", - "version": "2.3.4" - } - ] - }, - { - "name": "kallisto_quant", - "path": "modules/nf-core/kallisto/quant/meta.yml", - "type": "module", - "meta": { - "name": "kallisto_quant", - "description": "Computes equivalence classes for reads and quantifies abundances", - "keywords": ["quant", "kallisto"], - "tools": [ - { - "kallisto": { - "description": "Quantifying abundances of transcripts from RNA-Seq data, or more generally of target sequences using high-throughput sequencing reads.", - "homepage": "https://pachterlab.github.io/kallisto/", - "documentation": "https://pachterlab.github.io/kallisto/manual", - "tool_dev_url": "https://github.com/pachterlab/kallisto", - "doi": "10.1038/nbt.3519", - "licence": "['BSD_2_clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n", - "pattern": "*.{fastq,fastq.gz}" - } - }, - { - "index": { - "type": "index", - "description": "Kallisto genome index.", - "pattern": "*.idx" - } - }, - { - "gtf": { - "type": "file", - "description": "Optional gtf file for translation of transcripts into genomic coordinates.", - "pattern": "*.gtf" - } - }, - { - "chromosomes": { - "type": "file", - "description": "Optional tab separated file with chromosome names and lengths.", - "pattern": "*.tsv" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "log": { - "type": "file", - "description": "File containing log information from running kallisto quant", - "pattern": "*.log.txt" - } - }, - { - "abundance": { - "type": "file", - "description": "Plaintext file of the abundance estimates", - "pattern": "abundance.tsv" - } - }, - { - "abundance_hdf5": { - "type": "file", - "description": "A HDF5 binary file containing run info, abundance estimates, bootstrap\nestimates, and transcript length information\n", - "pattern": "abundance.h5" - } - }, - { - "run_info": { - "type": "file", - "description": "A json file containing information about the run", - "pattern": "run_info.json" - } - } - ], - "authors": ["@anoronh4"] - } - }, - { - "name": "kallistobustools_count", - "path": "modules/nf-core/kallistobustools/count/meta.yml", - "type": "module", - "meta": { - "name": "kallistobustools_count", - "description": "quantifies scRNA-seq data from fastq files using kb-python.", - "keywords": ["scRNA-seq", "count", "single-cell", "kallisto", "bustools"], - "tools": [ - { - "kb": { - "description": "kallisto and bustools are wrapped in an easy-to-use program called kb", - "homepage": "https://www.kallistobus.tools/", - "documentation": "https://kb-python.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/pachterlab/kb_python", - "licence": "MIT License" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "index": { - "type": "file", - "description": "kb-ref index file (.idx)", - "pattern": "*.{idx}" - } - }, - { - "t2g": { - "type": "file", - "description": "t2g file from kallisto", - "pattern": "*t2g.txt" - } - }, - { - "t1c": { - "type": "file", - "description": "kb ref's c1 spliced_t2c file", - "pattern": "*.{cdna_t2c.txt}" - } - }, - { - "t2c": { - "type": "file", - "description": "kb ref's c2 unspliced_t2c file", - "pattern": "*.{introns_t2c.txt}" - } - }, - { - "workflow_mode": { - "type": "string", - "description": "String value defining workflow to use, can be one of \"standard\", \"lamanno\", \"nucleus\"", - "pattern": "{standard,lamanno,nucleus,kite}" - } - }, - { - "technology": { - "type": "string", - "description": "String value defining the sequencing technology used.", - "pattern": "{10XV1,10XV2,10XV3,CELSEQ,CELSEQ2,DROPSEQ,INDROPSV1,INDROPSV2,INDROPSV3,SCRUBSEQ,SURECELL,SMARTSEQ}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "count": { - "type": "file", - "description": "kb count output folder", - "pattern": "*.{count}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@flowuenne"] - }, - "pipelines": [ - { - "name": "scrnaseq", - "version": "2.3.2" - } - ] - }, - { - "name": "kallistobustools_ref", - "path": "modules/nf-core/kallistobustools/ref/meta.yml", - "type": "module", - "meta": { - "name": "kallistobustools_ref", - "description": "index creation for kb count quantification of single-cell data.", - "keywords": ["kallisto-bustools", "index"], - "tools": [ - { - "kb": { - "description": "kallisto|bustools (kb) is a tool developed for fast and efficient processing of single-cell OMICS data.", - "homepage": "https://www.kallistobus.tools/", - "documentation": "https://kb-python.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/pachterlab/kb_python", - "doi": "10.22002/D1.1876", - "licence": "MIT License" - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Genomic DNA fasta file", - "pattern": "*.{fasta,fasta.gz}" - } - }, - { - "gtf": { - "type": "file", - "description": "Genomic gtf file", - "pattern": "*.{gtf,gtf.gz}" - } - }, - { - "workflow_mode": { - "type": "value", - "description": "String value defining workflow to use, can be one of \"standard\", \"lamanno\", \"nucleus\"", - "pattern": "{standard,lamanno,nucleus}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "kb_ref_idx": { - "type": "file", - "description": "Index file from kb ref.", - "pattern": "*.{idx}" - } - }, - { - "t2g": { - "type": "file", - "description": "Transcript to gene table", - "pattern": "*t2g.{txt}" - } - }, - { - "cdna": { - "type": "file", - "description": "Cdna fasta file", - "pattern": "*cdna.{fa}" - } - }, - { - "intron": { - "type": "file", - "description": "intron fasta file", - "pattern": "*intron.{fa}" - } - }, - { - "cdna_t2c": { - "type": "file", - "description": "cdna transcript to capture file", - "pattern": "*cdna_t2c.{txt}" - } - }, - { - "intron_t2c": { - "type": "file", - "description": "intron transcript to capture file", - "pattern": "*intron_t2c.{txt}" - } - } - ], - "authors": ["@flowuenne"] - }, - "pipelines": [ - { - "name": "scrnaseq", - "version": "2.3.2" - } - ] - }, - { - "name": "kat_hist", - "path": "modules/nf-core/kat/hist/meta.yml", - "type": "module", - "meta": { - "name": "kat_hist", - "description": "Creates a histogram of the number of distinct k-mers having a given frequency.", - "keywords": ["k-mer", "histogram", "count"], - "tools": [ - { - "kat": { - "description": "KAT is a suite of tools that analyse jellyfish hashes or sequence files (fasta or fastq) using kmer counts", - "homepage": "https://www.earlham.ac.uk/kat-tools", - "documentation": "https://kat.readthedocs.io/en/latest/index.html", - "tool_dev_url": "https://github.com/TGAC/KAT", - "doi": "10.1093/bioinformatics/btw663", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "hist": { - "type": "file", - "description": "KAT histogram of k-mer counts", - "pattern": "*.hist" - } - }, - { - "json": { - "type": "file", - "description": "KAT histogram summary of distance analysis", - "pattern": "*.hist.dist_analysis.json" - } - }, - { - "png": { - "type": "file", - "description": "KAT plot of k-mer histogram in PNG format", - "pattern": "*.png" - } - }, - { - "ps": { - "type": "file", - "description": "KAT plot of k-mer histogram in PS format", - "pattern": "*.ps" - } - }, - { - "pdf": { - "type": "file", - "description": "KAT plot of k-mer histogram in PDF format", - "pattern": "*.pdf" - } - }, - { - "jellyfish_hash": { - "type": "file", - "description": "Jellyfish hash file", - "pattern": "*-hist.jf*" - } - } - ], - "authors": ["@mahesh-panchal"] - } - }, - { - "name": "khmer_normalizebymedian", - "path": "modules/nf-core/khmer/normalizebymedian/meta.yml", - "type": "module", - "meta": { - "name": "khmer_normalizebymedian", - "description": "Module that calls normalize-by-median.py from khmer. The module can take a mix of paired end (interleaved) and single end reads. If both types are provided, only a single file with single ends is possible.", - "keywords": ["digital normalization", "khmer"], - "tools": [ - { - "khmer": { - "description": "khmer k-mer counting library", - "homepage": "https://github.com/dib-lab/khmer", - "documentation": "https://khmer.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/dib-lab/khmer", - "doi": "10.12688/f1000research.6924.1", - "licence": ["BSD License"] - } - } - ], - "input": [ - { - "pe_reads": { - "type": "files", - "description": "Paired-end interleaved fastq files", - "pattern": "*.{fq,fastq}.gz" - } - }, - { - "se_reads": { - "type": "files", - "description": "Single-end fastq files", - "pattern": "*.{fq,fastq}.gz" - } - }, - { - "name": { - "type": "string", - "description": "filename for output file(s); \".fastq.gz\" will be appended" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "reads": { - "type": "file", - "description": "Interleaved fastq files", - "pattern": "*.{fq,fastq}.gz" - } - } - ], - "authors": ["@erikrikarddaniel"] - } - }, - { - "name": "khmer_uniquekmers", - "path": "modules/nf-core/khmer/uniquekmers/meta.yml", - "type": "module", - "meta": { - "name": "khmer_uniquekmers", - "description": "In-memory nucleotide sequence k-mer counting, filtering, graph traversal and more", - "keywords": ["khmer", "k-mer", "effective genome size"], - "tools": [ - { - "khmer": { - "description": "khmer k-mer counting library", - "homepage": "https://github.com/dib-lab/khmer", - "documentation": "https://khmer.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/dib-lab/khmer", - "doi": "10.12688/f1000research.6924.1", - "licence": ["BSD License"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "fasta file", - "pattern": "*.{fa,fasta}" - } - }, - { - "kmer_size": { - "type": "value", - "description": "k-mer size to use", - "pattern": "[0-9]+" - } - } - ], - "output": [ - { - "report": { - "type": "file", - "description": "Text file containing unique-kmers.py execution report", - "pattern": "report.txt" - } - }, - { - "kmers": { - "type": "file", - "description": "Text file containing number of kmers", - "pattern": "kmers.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@JoseEspinosa"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - } - ] - }, - { - "name": "kleborate", - "path": "modules/nf-core/kleborate/meta.yml", - "type": "module", - "meta": { - "name": "kleborate", - "description": "Kleborate is a tool to screen genome assemblies of Klebsiella pneumoniae and the Klebsiella pneumoniae species complex (KpSC).", - "keywords": ["screening assemblies", "Klebsiella pneumoniae"], - "tools": [ - { - "kleborate": { - "description": "Screening Klebsiella genome assemblies for MLST, sub-species, and other Klebsiella related genes of interest", - "homepage": "https://github.com/katholt/Kleborate", - "documentation": "https://github.com/katholt/Kleborate/wiki", - "tool_dev_url": "https://github.com/katholt/Kleborate", - "doi": "10.1038/s41467-021-24448-3", - "licence": ["GPL v3 or later (GPL v3+)"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastas": { - "type": "files", - "description": "Klebsiella genome assemblies to be screened", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "Result file generated after screening", - "pattern": "*.txt" - } - } - ], - "authors": ["@abhi18av", "@rpetit3"] - } - }, - { - "name": "kmcp_compute", - "path": "modules/nf-core/kmcp/compute/meta.yml", - "type": "module", - "meta": { - "name": "kmcp_compute", - "description": "Generate k-mers (sketches) from FASTA/Q sequences", - "keywords": ["metagenomics", "classify", "taxonomic profiling", "fastq", "sequences", "kmers"], - "tools": [ - { - "kmcp": { - "description": "Accurate metagenomic profiling of both prokaryotic and viral populations by pseudo-mapping", - "homepage": "https://github.com/shenwei356/kmcp", - "documentation": "https://github.com/shenwei356/kmcp#documents", - "tool_dev_url": "https://github.com/shenwei356/kmcp", - "doi": "10.1093/bioinformatics/btac845", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sequences": { - "type": "file", - "description": "fasta file, or a directory containing FASTA files", - "pattern": "**/*.{fa,fa.gz,fasta,fasta.gz,fna,fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "outdir": { - "type": "directory", - "description": "Output directory containing all .unik files and a summary file in .txt format. Every .unik file contains the sequence/reference ID,chunk index, number of chunks, and genome size of reference.", - "pattern": "*/" - } - }, - { - "info": { - "type": "file", - "description": "Summary file that is generated for later use", - "pattern": "*_info.txt" - } - } - ], - "authors": ["@sofstam"] - } - }, - { - "name": "kmcp_index", - "path": "modules/nf-core/kmcp/index/meta.yml", - "type": "module", - "meta": { - "name": "kmcp_index", - "description": "Construct KMCP database from k-mer files", - "keywords": ["metagenomics", "classify", "taxonomic profiling", "fastq", "sequences", "kmers", "index"], - "tools": [ - { - "kmcp": { - "description": "Accurate metagenomic profiling of both prokaryotic and viral populations by pseudo-mapping", - "homepage": "https://github.com/shenwei356/kmcp", - "documentation": "https://github.com/shenwei356/kmcp#documents", - "tool_dev_url": "https://github.com/shenwei356/kmcp", - "doi": "10.1093/bioinformatics/btac845", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "outdir": { - "type": "directory", - "description": "Output directory generated by \"kmcp compute\"", - "pattern": "*/" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "kmcp": { - "type": "directory", - "description": "Output directory containing the database from k-mer files.", - "pattern": "*/" - } - }, - { - "log": { - "type": "file", - "description": "A log of kmcp/index output", - "pattern": "*.log" - } - } - ], - "authors": ["@sofstam"] - } - }, - { - "name": "kmcp_merge", - "path": "modules/nf-core/kmcp/merge/meta.yml", - "type": "module", - "meta": { - "name": "kmcp_merge", - "description": "Merge search results from multiple databases.", - "keywords": ["metagenomics", "classify", "taxonomic profiling", "fastq", "sequences", "kmers"], - "tools": [ - { - "kmcp": { - "description": "Accurate metagenomic profiling of both prokaryotic and viral populations by pseudo-mapping", - "homepage": "https://github.com/shenwei356/kmcp", - "documentation": "https://github.com/shenwei356/kmcp#documents", - "tool_dev_url": "https://github.com/shenwei356/kmcp", - "doi": "10.1093/bioinformatics/btac845", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "search_out": { - "type": "file", - "description": "The output file created by kmcp search", - "pattern": "*.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "result": { - "type": "file", - "description": "Output file in gzipped format", - "pattern": "*.gz" - } - } - ], - "authors": ["@sofstam"] - } - }, - { - "name": "kmcp_profile", - "path": "modules/nf-core/kmcp/profile/meta.yml", - "type": "module", - "meta": { - "name": "kmcp_profile", - "description": "Generate taxonomic profile from search results", - "keywords": ["metagenomics", "classify", "taxonomic profiling", "fastq", "sequences", "kmers", "index"], - "tools": [ - { - "kmcp": { - "description": "Accurate metagenomic profiling of both prokaryotic and viral populations by pseudo-mapping", - "homepage": "https://github.com/shenwei356/kmcp", - "documentation": "https://bioinf.shenwei.me/kmcp/usage/#profile", - "tool_dev_url": "https://github.com/shenwei356/kmcp", - "doi": "10.1093/bioinformatics/btac845", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "search_results": { - "type": "file", - "description": "Gzipped file output from kmcp search module", - "pattern": "*.gz" - } - }, - { - "taxdump": { - "type": "directory", - "description": "Directory of NCBI taxonomy dump files - names.dmp, nodes.dmp", - "pattern": "*" - } - }, - { - "taxid": { - "type": "file", - "description": "Tabular two-column file(s) mapping reference IDs to TaxIds.", - "pattern": "*.{csv,tsv}" - } - }, - { - "mode": { - "type": "integer", - "description": "Profiling mode. 0-pathogen detection 1-higher recall 2-high recall 3-default 4-high precision 5-higher precision" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "profile": { - "type": "file", - "description": "Tab-delimited format file with 17 columns.", - "pattern": "*.profile" - } - } - ], - "authors": ["@sofstam"] - } - }, - { - "name": "kmcp_search", - "path": "modules/nf-core/kmcp/search/meta.yml", - "type": "module", - "meta": { - "name": "kmcp_compute", - "description": "Search sequences against database", - "keywords": ["metagenomics", "classify", "taxonomic profiling", "fastq", "sequences", "kmers"], - "tools": [ - { - "kmcp": { - "description": "Accurate metagenomic profiling of both prokaryotic and viral populations by pseudo-mapping", - "homepage": "https://github.com/shenwei356/kmcp", - "documentation": "https://github.com/shenwei356/kmcp#documents", - "tool_dev_url": "https://github.com/shenwei356/kmcp", - "doi": "10.1093/bioinformatics/btac845", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "db": { - "type": "directory", - "description": "Database directory created by \"kmcp index\"", - "pattern": "*" - } - }, - { - "reads": { - "type": "file", - "description": "gzipped fasta or fastq files", - "pattern": "*.{fq.gz,fastq.gz,fa.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "result": { - "type": "file", - "description": "Output file in tab-delimited format with 15 columns", - "pattern": "*.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sofstam"] - } - }, - { - "name": "kofamscan", - "path": "modules/nf-core/kofamscan/meta.yml", - "type": "module", - "meta": { - "name": "kofamscan", - "description": "Produces annotation using kofamscan against a Profile database and a KO list", - "keywords": ["fasta", "kegg", "kofamscan"], - "tools": [ - { - "kofamscan": { - "description": "KofamKOALA assigns K numbers to the user's sequence data by HMMER/HMMSEARCH against KOfam", - "homepage": "https://www.genome.jp/tools/kofamkoala/", - "documentation": "https://github.com/takaram/kofam_scan", - "tool_dev_url": "https://github.com/takaram/kofam_scan", - "doi": "10.1093/bioinformatics/btz859", - "licence": "['MIT License']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input fasta file containing query sequences", - "pattern": "*.{fa,fasta}" - } - }, - { - "profiles": { - "type": "directory", - "description": "Directory containing the Profiles database", - "pattern": "*" - } - }, - { - "ko_list": { - "type": "file", - "description": "File containing list of KO entries with their data", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "txt": { - "type": "file", - "description": "Application-specific text file with hits information", - "pattern": "*.{txt}" - } - }, - { - "tsv": { - "type": "file", - "description": "Tab separated file containing with detailed hits", - "pattern": "*.{tsv}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@toniher"] - } - }, - { - "name": "kraken2_kraken2", - "path": "modules/nf-core/kraken2/kraken2/meta.yml", - "type": "module", - "meta": { - "name": "kraken2_kraken2", - "description": "Classifies metagenomic sequence data", - "keywords": ["classify", "metagenomics", "fastq", "db"], - "tools": [ - { - "kraken2": { - "description": "Kraken2 is a taxonomic sequence classifier that assigns taxonomic labels to sequence reads\n", - "homepage": "https://ccb.jhu.edu/software/kraken2/", - "documentation": "https://github.com/DerrickWood/kraken2/wiki/Manual", - "doi": "10.1186/s13059-019-1891-0", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "db": { - "type": "directory", - "description": "Kraken2 database" - } - }, - { - "save_output_fastqs": { - "type": "string", - "description": "If true, optional commands are added to save classified and unclassified reads\nas fastq files\n" - } - }, - { - "save_reads_assignment": { - "type": "string", - "description": "If true, an optional command is added to save a file reporting the taxonomic\nclassification of each input read\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "classified_reads_fastq": { - "type": "file", - "description": "Reads classified as belonging to any of the taxa\non the Kraken2 database.\n", - "pattern": "*{fastq.gz}" - } - }, - { - "unclassified_reads_fastq": { - "type": "file", - "description": "Reads not classified to any of the taxa\non the Kraken2 database.\n", - "pattern": "*{fastq.gz}" - } - }, - { - "classified_reads_assignment": { - "type": "file", - "description": "Kraken2 output file indicating the taxonomic assignment of\neach input read\n" - } - }, - { - "report": { - "type": "file", - "description": "Kraken2 report containing stats about classified\nand not classifed reads.\n", - "pattern": "*.{report.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "bacass", - "version": "2.0.0" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "krakentools_combinekreports", - "path": "modules/nf-core/krakentools/combinekreports/meta.yml", - "type": "module", - "meta": { - "name": "krakentools_combinekreports", - "description": "Takes a Kraken report file and prints out a krona-compatible TEXT file", - "keywords": ["kraken", "krakentools", "metagenomics", "table", "combining", "merging"], - "tools": [ - { - "krakentools": { - "description": "KrakenTools is a suite of scripts to be used for post-analysis of Kraken/KrakenUniq/Kraken2/Bracken results. Please cite the relevant paper if using KrakenTools with any of the listed programs.", - "homepage": "https://github.com/jenniferlu717/KrakenTools", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "kreports": { - "type": "file", - "description": "List of kraken-style report files", - "pattern": "*.{txt,kreport}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "Combined kreport file of all input files", - "pattern": "*.txt" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "krakentools_kreport2krona", - "path": "modules/nf-core/krakentools/kreport2krona/meta.yml", - "type": "module", - "meta": { - "name": "krakentools_kreport2krona", - "description": "Takes a Kraken report file and prints out a krona-compatible TEXT file", - "keywords": ["kraken", "krona", "metagenomics", "visualization"], - "tools": [ - { - "krakentools": { - "description": "KrakenTools is a suite of scripts to be used for post-analysis of Kraken/KrakenUniq/Kraken2/Bracken results. Please cite the relevant paper if using KrakenTools with any of the listed programs.", - "homepage": "https://github.com/jenniferlu717/KrakenTools", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "kreport": { - "type": "file", - "description": "Kraken report", - "pattern": "*.{txt,kreport}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "krona": { - "type": "file", - "description": "Krona text-based input file converted from Kraken report", - "pattern": "*.{txt,krona}" - } - } - ], - "authors": ["@MillironX"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "krakenuniq_build", - "path": "modules/nf-core/krakenuniq/build/meta.yml", - "type": "module", - "meta": { - "name": "krakenuniq_build", - "description": "Download and build (custom) KrakenUniq databases", - "keywords": ["metagenomics", "krakenuniq", "database", "build", "ncbi"], - "tools": [ - { - "krakenuniq": { - "description": "Metagenomics classifier with unique k-mer counting for more specific results", - "homepage": "https://github.com/fbreitwieser/krakenuniq", - "documentation": "https://github.com/fbreitwieser/krakenuniq", - "tool_dev_url": "https://github.com/fbreitwieser/krakenuniq", - "doi": "10.1186/s13059-018-1568-0", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "custom_library_dir": { - "type": "directory", - "description": "Optional directory containing custom fasta files for database build", - "pattern": "*" - } - }, - { - "custom_taxonomy_dir": { - "type": "directory", - "description": "Optional directory containing custom taxonomy files for database build", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "db": { - "type": "directory", - "description": "Directory containing KrakenUniq database", - "pattern": "*/" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "krakenuniq_download", - "path": "modules/nf-core/krakenuniq/download/meta.yml", - "type": "module", - "meta": { - "name": "krakenuniq_download", - "description": "Download KrakenUniq databases and related fles", - "keywords": ["metagenomics", "krakenuniq", "database", "download", "ncbi"], - "tools": [ - { - "krakenuniq": { - "description": "Metagenomics classifier with unique k-mer counting for more specific results", - "homepage": "https://github.com/fbreitwieser/krakenuniq", - "documentation": "https://github.com/fbreitwieser/krakenuniq", - "tool_dev_url": "https://github.com/fbreitwieser/krakenuniq", - "doi": "10.1186/s13059-018-1568-0", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "pattern": { - "type": "string", - "description": "Pattern indicating what type of NCBI data to download. See KrakenUniq documnation for possibilities." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "directory", - "description": "Directory containing downloaded data with directory naming being the user provided pattern." - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "krakenuniq_preloadedkrakenuniq", - "path": "modules/nf-core/krakenuniq/preloadedkrakenuniq/meta.yml", - "type": "module", - "meta": { - "name": "krakenuniq_preloadedkrakenuniq", - "description": "Classifies metagenomic sequence data using unique k-mer counts", - "keywords": ["classify", "metagenomics", "kmers", "fastq", "db"], - "tools": [ - { - "krakenuniq": { - "description": "Metagenomics classifier with unique k-mer counting for more specific results", - "homepage": "https://github.com/fbreitwieser/krakenuniq", - "documentation": "https://github.com/fbreitwieser/krakenuniq", - "doi": "10.1186/s13059-018-1568-0", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastqs": { - "type": "file", - "description": "List of input FastQ files" - } - }, - { - "db": { - "type": "directory", - "description": "KrakenUniq database" - } - }, - { - "ram_chunk_size": { - "type": "val", - "description": "Amount of maximum amount of RAM each chunk of database that should be loaded at any one time", - "pattern": "*GB" - } - }, - { - "save_output_fastqs": { - "type": "boolean", - "description": "If true, optional commands are added to save classified and unclassified reads\nas fastq files\n" - } - }, - { - "save_reads_assignment": { - "type": "boolean", - "description": "If true, an optional command is added to save a file reporting the taxonomic\nclassification of each input read\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "classified_reads_fastq": { - "type": "file", - "description": "Reads classified as belonging to any of the taxa\non the KrakenUniq database.\n", - "pattern": "*.fastq.gz" - } - }, - { - "unclassified_reads_fastq": { - "type": "file", - "description": "Reads not classified to any of the taxa\non the KrakenUniq database.\n", - "pattern": "*.fastq.gz" - } - }, - { - "classified_assignment": { - "type": "file", - "description": "KrakenUniq output file indicating the taxonomic assignment of\neach input read ## DOUBLE CHECK!!\n" - } - }, - { - "report": { - "type": "file", - "description": "KrakenUniq report containing stats about classified\nand not classifed reads.\n", - "pattern": "*.report.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@mjamy", "@Midnighter"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "krona_kronadb", - "path": "modules/nf-core/krona/kronadb/meta.yml", - "type": "module", - "meta": { - "name": "krona_kronadb", - "description": "KronaTools Update Taxonomy downloads a taxonomy database", - "keywords": ["database", "taxonomy", "krona"], - "tools": [ - { - "krona": { - "description": "Krona Tools is a set of scripts to create Krona charts from several Bioinformatics tools as well as from text and XML files.", - "homepage": "https://github.com/marbl/Krona/wiki/KronaTools", - "documentation": "https://github.com/marbl/Krona/wiki/Installing", - "doi": "10.1186/1471-2105-12-385" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "db": { - "type": "file", - "description": "A TAB separated file that contains a taxonomy database.", - "pattern": "*.{tab}" - } - } - ], - "authors": ["@mjakobs"] - } - }, - { - "name": "krona_ktimporttaxonomy", - "path": "modules/nf-core/krona/ktimporttaxonomy/meta.yml", - "type": "module", - "meta": { - "name": "krona_ktimporttaxonomy", - "description": "KronaTools Import Taxonomy imports taxonomy classifications and produces an interactive Krona plot.", - "keywords": ["plot", "taxonomy", "interactive", "html", "visualisation", "krona chart"], - "tools": [ - { - "krona": { - "description": "Krona Tools is a set of scripts to create Krona charts from several Bioinformatics tools as well as from text and XML files.", - "homepage": "https://github.com/marbl/Krona/wiki/KronaTools", - "documentation": "http://manpages.ubuntu.com/manpages/impish/man1/ktImportTaxonomy.1.html", - "doi": "10.1186/1471-2105-12-385" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "database": { - "type": "file", - "description": "Path to a Krona taxonomy .tab file normally downloaded and generated by\nkrona/ktUpdateTaxonomy. Custom taxonomy files can have any name, but\nmust end in `.tab`.\n", - "pattern": "*tab" - } - }, - { - "report": { - "type": "file", - "description": "A tab-delimited file with taxonomy IDs and (optionally) query IDs, magnitudes, and scores. Query IDs are taken from column 1, taxonomy IDs from column 2, and scores from column 3. Lines beginning with # will be ignored.", - "pattern": "*.{tsv}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "html": { - "type": "file", - "description": "A html file containing an interactive krona plot.", - "pattern": "*.{html}" - } - } - ], - "authors": ["@mjakobs"] - }, - "pipelines": [ - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "krona_ktimporttext", - "path": "modules/nf-core/krona/ktimporttext/meta.yml", - "type": "module", - "meta": { - "name": "krona_ktimporttext", - "description": "Creates a Krona chart from text files listing quantities and lineages.", - "keywords": ["plot", "taxonomy", "interactive", "html", "visualisation", "krona chart", "metagenomics"], - "tools": [ - { - "krona": { - "description": "Krona Tools is a set of scripts to create Krona charts from several Bioinformatics tools as well as from text and XML files.", - "homepage": "https://github.com/marbl/Krona/wiki/KronaTools", - "documentation": "http://manpages.ubuntu.com/manpages/impish/man1/ktImportTaxonomy.1.html", - "tool_dev_url": "https://github.com/marbl/Krona", - "doi": "10.1186/1471-2105-12-385", - "licence": "https://raw.githubusercontent.com/marbl/Krona/master/KronaTools/LICENSE.txt" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "report": { - "type": "file", - "description": "Tab-delimited text file. Each line should be a number followed by a list of wedges to contribute to (starting from the highest level). If no wedges are listed (and just a quantity is given), it will contribute to the top level. If the same lineage is listed more than once, the values will be added. Quantities can be omitted if -q is specified. Lines beginning with '#' will be ignored.", - "pattern": "*.{txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "html": { - "type": "file", - "description": "A html file containing an interactive krona plot.", - "pattern": "*.{html}" - } - } - ], - "authors": ["@jianhong"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "krona_ktupdatetaxonomy", - "path": "modules/nf-core/krona/ktupdatetaxonomy/meta.yml", - "type": "module", - "meta": { - "name": "krona_ktupdatetaxonomy", - "description": "KronaTools Update Taxonomy downloads a taxonomy database", - "keywords": ["database", "taxonomy", "krona", "visualisation"], - "tools": [ - { - "krona": { - "description": "Krona Tools is a set of scripts to create Krona charts from several Bioinformatics tools as well as from text and XML files.", - "homepage": "https://github.com/marbl/Krona/wiki/KronaTools", - "documentation": "https://github.com/marbl/Krona/wiki/Installing", - "doi": "10.1186/1471-2105-12-385" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "db": { - "type": "file", - "description": "A TAB separated file that contains a taxonomy database.", - "pattern": "*.{tab}" - } - } - ], - "authors": ["@mjakobs"] - }, - "pipelines": [ - { - "name": "hgtseq", - "version": "1.1.0" - } - ] - }, - { - "name": "last_dotplot", - "path": "modules/nf-core/last/dotplot/meta.yml", - "type": "module", - "meta": { - "name": "last_dotplot", - "description": "Makes a dotplot (Oxford Grid) of pair-wise sequence alignments", - "keywords": ["LAST", "plot", "pair", "alignment", "MAF"], - "tools": [ - { - "last": { - "description": "LAST finds & aligns related regions of sequences.", - "homepage": "https://gitlab.com/mcfrith/last", - "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/last-dotplot.rst", - "tool_dev_url": "https://gitlab.com/mcfrith/last", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "maf": { - "type": "file", - "description": "Multiple Aligment Format (MAF) file, compressed with gzip", - "pattern": "*.{maf.gz}" - } - }, - { - "format": { - "type": "value", - "description": "Output format (PNG or GIF)." - } - } - ], - "output": [ - { - "png": { - "type": "file", - "description": "Pairwise alignment dot plot image, in PNG format.", - "pattern": "*.png" - } - }, - { - "gif": { - "type": "file", - "description": "Pairwise alignment dot plot image, in GIF format.", - "pattern": "*.gif" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@charles-plessy"] - } - }, - { - "name": "last_lastal", - "path": "modules/nf-core/last/lastal/meta.yml", - "type": "module", - "meta": { - "name": "last_lastal", - "description": "Find suitable score parameters for sequence alignment", - "keywords": ["LAST", "align", "fastq", "fasta"], - "tools": [ - { - "last": { - "description": "LAST finds & aligns related regions of sequences.", - "homepage": "https://gitlab.com/mcfrith/last", - "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/last-train.rst", - "tool_dev_url": "https://gitlab.com/mcfrith/last", - "licence": ["GPL v3-or-later"] - } - } - ], - "input": [ - { - "index": { - "type": "directory", - "description": "Directory containing the files of the LAST index", - "pattern": "lastdb/" - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastx": { - "type": "file", - "description": "FASTA/FASTQ file", - "pattern": "*.{fasta,fastq}" - } - }, - { - "param_file": { - "type": "file", - "description": "Trained parameter file", - "pattern": "*.par" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "maf": { - "type": "file", - "description": "Gzipped MAF (Multiple Alignment Format) file", - "pattern": "*.{maf.gz}" - } - } - ], - "authors": ["@charles-plessy"] - } - }, - { - "name": "last_lastdb", - "path": "modules/nf-core/last/lastdb/meta.yml", - "type": "module", - "meta": { - "name": "last_lastdb", - "description": "Prepare sequences for subsequent alignment with lastal.", - "keywords": ["LAST", "index", "fasta", "fastq"], - "tools": [ - { - "last": { - "description": "LAST finds & aligns related regions of sequences.", - "homepage": "https://gitlab.com/mcfrith/last", - "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/lastdb.rst", - "tool_dev_url": "https://gitlab.com/mcfrith/last", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastx": { - "type": "file", - "description": "Sequence file in FASTA or FASTQ format. May be compressed with gzip.\n", - "pattern": "*.{fasta,fasta.gz,fastq,fastq.gz}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "index": { - "type": "directory", - "description": "directory containing the files of the LAST index", - "pattern": "lastdb/" - } - } - ], - "authors": ["@charles-plessy"] - } - }, - { - "name": "last_mafconvert", - "path": "modules/nf-core/last/mafconvert/meta.yml", - "type": "module", - "meta": { - "name": "last_mafconvert", - "description": "Converts MAF alignments in another format.", - "keywords": ["LAST", "convert", "alignment", "MAF"], - "tools": [ - { - "last": { - "description": "LAST finds & aligns related regions of sequences.", - "homepage": "https://gitlab.com/mcfrith/last", - "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/", - "tool_dev_url": "https://gitlab.com/mcfrith/last", - "licence": ["GPL v3-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "maf": { - "type": "file", - "description": "Multiple Aligment Format (MAF) file, optionally compressed with gzip", - "pattern": "*.{maf.gz,maf}" - } - }, - { - "format": { - "type": "value", - "description": "Output format (one of axt, blast, blasttab, chain, gff, html, psl, sam, or tab)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "axt_gz": { - "type": "file", - "description": "Gzipped pairwise alignment in Axt (Blastz) format (optional)", - "pattern": "*.axt.gz" - } - }, - { - "blast_gz": { - "type": "file", - "description": "Gzipped pairwise alignment in blast format (optional)", - "pattern": "*.blast.gz" - } - }, - { - "blasttab_gz": { - "type": "file", - "description": "Gzipped pairwise alignment in blasttab format (optional)", - "pattern": "*.blasttab.gz" - } - }, - { - "chain_gz": { - "type": "file", - "description": "Gzipped pairwise alignment in UCSC chain format (optional)", - "pattern": "*.chain.gz" - } - }, - { - "gff_gz": { - "type": "file", - "description": "Gzipped pairwise alignment in GFF format (optional)", - "pattern": "*.gff.gz" - } - }, - { - "html_gz": { - "type": "file", - "description": "Gzipped pairwise alignment in HTML format (optional)", - "pattern": "*.html.gz" - } - }, - { - "psl_gz": { - "type": "file", - "description": "Gzipped pairwise alignment in PSL (BLAT) format (optional)", - "pattern": "*.psl.gz" - } - }, - { - "SAM": { - "type": "file", - "description": "Gzipped pairwise alignment in SAM format (optional)", - "pattern": "*.sam.gz" - } - }, - { - "tab": { - "type": "file", - "description": "Gzipped pairwise alignment in TAB format (optional)", - "pattern": "*.tab.gz" - } - } - ], - "authors": ["@aleksandrabliznina"] - } - }, - { - "name": "last_mafswap", - "path": "modules/nf-core/last/mafswap/meta.yml", - "type": "module", - "meta": { - "name": "last_mafswap", - "description": "Reorder alignments in a MAF file", - "keywords": ["LAST", "reorder", "alignment", "MAF"], - "tools": [ - { - "last": { - "description": "LAST finds & aligns related regions of sequences.", - "homepage": "https://gitlab.com/mcfrith/last", - "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/", - "tool_dev_url": "https://gitlab.com/mcfrith/last", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "maf": { - "type": "file", - "description": "Multiple Aligment Format (MAF) file, optionally compressed with gzip", - "pattern": "*.{maf.gz,maf}" - } - } - ], - "output": [ - { - "maf": { - "type": "file", - "description": "Multiple Aligment Format (MAF) file, compressed with gzip", - "pattern": "*.{maf.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@charles-plessy"] - } - }, - { - "name": "last_postmask", - "path": "modules/nf-core/last/postmask/meta.yml", - "type": "module", - "meta": { - "name": "last_postmask", - "description": "Post-alignment masking", - "keywords": ["LAST", "mask", "alignment", "MAF"], - "tools": [ - { - "last": { - "description": "LAST finds & aligns related regions of sequences.", - "homepage": "https://gitlab.com/mcfrith/last", - "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/last-postmask.rst", - "tool_dev_url": "https://gitlab.com/mcfrith/last", - "doi": "10.1371/journal.pone.0028819", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "maf": { - "type": "file", - "description": "Multiple Aligment Format (MAF) file, optionally compressed with gzip", - "pattern": "*.{maf.gz,maf}" - } - } - ], - "output": [ - { - "maf": { - "type": "file", - "description": "Multiple Aligment Format (MAF) file, compressed with gzip", - "pattern": "*.{maf.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@charles-plessy"] - } - }, - { - "name": "last_split", - "path": "modules/nf-core/last/split/meta.yml", - "type": "module", - "meta": { - "name": "last_split", - "description": "Find split or spliced alignments in a MAF file", - "keywords": ["LAST", "split", "spliced", "alignment", "MAF"], - "tools": [ - { - "last": { - "description": "LAST finds & aligns related regions of sequences.", - "homepage": "https://gitlab.com/mcfrith/last", - "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/", - "tool_dev_url": "https://gitlab.com/mcfrith/last", - "licence": ["GPL v3-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "maf": { - "type": "file", - "description": "Multiple Aligment Format (MAF) file, compressed with gzip", - "pattern": "*.{maf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "maf": { - "type": "file", - "description": "Multiple Aligment Format (MAF) file, compressed with gzip", - "pattern": "*.{maf.gz}" - } - } - ], - "authors": ["@aleksandrabliznina"] - } - }, - { - "name": "last_train", - "path": "modules/nf-core/last/train/meta.yml", - "type": "module", - "meta": { - "name": "last_train", - "description": "Find suitable score parameters for sequence alignment", - "keywords": ["LAST", "train", "fastq", "fasta"], - "tools": [ - { - "last": { - "description": "LAST finds & aligns related regions of sequences.", - "homepage": "https://gitlab.com/mcfrith/last", - "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/last-train.rst", - "tool_dev_url": "https://gitlab.com/mcfrith/last", - "licence": ["GPL v3-or-later"] - } - } - ], - "input": [ - { - "index": { - "type": "directory", - "description": "Directory containing the files of the LAST index", - "pattern": "lastdb/" - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastx": { - "type": "file", - "description": "FASTA/FASTQ file", - "pattern": "*.{fasta,fastq}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "param_file": { - "type": "file", - "description": "Trained parameter file", - "pattern": "*.par" - } - } - ], - "authors": ["@aleksandrabliznina"] - } - }, - { - "name": "leehom", - "path": "modules/nf-core/leehom/meta.yml", - "type": "module", - "meta": { - "name": "leehom", - "description": "Bayesian reconstruction of ancient DNA fragments", - "keywords": [ - "ancient DNA", - "adapter removal", - "clipping", - "trimming", - "merging", - "collapsing", - "preprocessing", - "bayesian" - ], - "tools": [ - { - "leehom": { - "description": "Bayesian reconstruction of ancient DNA fragments", - "homepage": "https://grenaud.github.io/leeHom/", - "documentation": "https://github.com/grenaud/leeHom", - "tool_dev_url": "https://github.com/grenaud/leeHom", - "doi": "10.1093/nar/gku699", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Unaligned BAM or one or two gzipped FASTQ file(s)", - "pattern": "*.{bam,fq.gz,fastq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - }, - { - "fq_pass": { - "type": "file", - "description": "Trimmed and merged FASTQ", - "pattern": "*.fq.gz" - } - }, - { - "fq_fail": { - "type": "file", - "description": "Failed trimmed and merged FASTQs", - "pattern": "*.fail.fq.gz" - } - }, - { - "unmerged_r1_fq_pass": { - "type": "file", - "description": "Passed unmerged R1 FASTQs", - "pattern": "*.r1.fq.gz" - } - }, - { - "unmerged_r1_fq_fail": { - "type": "file", - "description": "Failed unmerged R1 FASTQs", - "pattern": "*.r1.fail.fq.gz" - } - }, - { - "unmerged_r2_fq_pass": { - "type": "file", - "description": "Passed unmerged R2 FASTQs", - "pattern": "*.r2.fq.gz" - } - }, - { - "unmerged_r2_fq_pass": { - "type": "file", - "description": "Failed unmerged R2 FASTQs", - "pattern": "*.r2.fail.fq.gz" - } - }, - { - "log": { - "type": "file", - "description": "Log file of command", - "pattern": "*.log" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "legsta", - "path": "modules/nf-core/legsta/meta.yml", - "type": "module", - "meta": { - "name": "legsta", - "description": "Typing of clinical and environmental isolates of Legionella pneumophila", - "keywords": ["bacteria", "legionella"], - "tools": [ - { - "legsta": { - "description": "In silico Legionella pneumophila Sequence Based Typing", - "homepage": "https://github.com/tseemann/legsta", - "documentation": "https://github.com/tseemann/legsta", - "tool_dev_url": "https://github.com/tseemann/legsta", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "seqs": { - "type": "file", - "description": "FASTA, GenBank or EMBL formatted files", - "pattern": "*.{fasta,gbk,embl}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "Tab-delimited summary of the results", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "lima", - "path": "modules/nf-core/lima/meta.yml", - "type": "module", - "meta": { - "name": "lima", - "description": "lima - The PacBio Barcode Demultiplexer and Primer Remover", - "keywords": ["isoseq", "ccs", "primer", "pacbio", "barcode"], - "tools": [ - { - "lima": { - "description": "lima - The PacBio Barcode Demultiplexer and Primer Remover", - "homepage": "https://github.com/PacificBiosciences/pbbioconda", - "documentation": "https://lima.how/", - "tool_dev_url": "https://github.com/pacificbiosciences/barcoding/", - "licence": ["BSD-3-Clause-Clear"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "ccs": { - "type": "file", - "description": "A BAM or fasta or fasta.gz or fastq or fastq.gz file of subreads or ccs", - "pattern": "*.{bam,fasta,fasta.gz,fastq,fastq.gz}" - } - }, - { - "primers": { - "type": "file", - "description": "Fasta file, sequences of primers", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "A bam file of ccs purged of primers", - "pattern": "*.bam" - } - }, - { - "pbi": { - "type": "file", - "description": "Pacbio index file of ccs purged of primers", - "pattern": "*.bam" - } - }, - { - "xml": { - "type": "file", - "description": "An XML file representing a set of a particular sequence data type such as subreads, references or aligned subreads.", - "pattern": "*.xml" - } - }, - { - "json": { - "type": "file", - "description": "A metadata json file", - "pattern": "*.json" - } - }, - { - "clips": { - "type": "file", - "description": "A fasta file of clipped primers", - "pattern": "*.clips" - } - }, - { - "counts": { - "type": "file", - "description": "A tabulated file of describing pairs of primers", - "pattern": "*.counts" - } - }, - { - "guess": { - "type": "file", - "description": "A second tabulated file of describing pairs of primers (no doc available)", - "pattern": "*.guess" - } - }, - { - "report": { - "type": "file", - "description": "A tab-separated file about each ZMW, unfiltered", - "pattern": "*.report" - } - }, - { - "summary": { - "type": "file", - "description": "This file shows how many ZMWs have been filtered, how ZMWs many are same/different, and how many reads have been filtered.", - "pattern": "*.summary" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sguizard"] - }, - "pipelines": [ - { - "name": "isoseq", - "version": "1.1.4" - } - ] - }, - { - "name": "limma_differential", - "path": "modules/nf-core/limma/differential/meta.yml", - "type": "module", - "meta": { - "name": "limma_differential", - "description": "runs a differential expression analysis with Limma", - "keywords": ["differential", "expression", "microarray", "limma"], - "tools": [ - { - "limma": { - "description": "Linear Models for Microarray Data", - "homepage": "https://bioconductor.org/packages/release/bioc/html/limma.html", - "documentation": "https://bioconductor.org/packages/release/bioc/vignettes/limma/inst/doc/usersguide.pdf", - "tool_dev_url": "https://github.com/cran/limma\"\"", - "doi": "10.18129/B9.bioc.limma", - "licence": "['LGPL >=3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing contrast information. This can be used at the\nworkflow level to pass optional parameters to the module, e.g.\n[ id:'contrast1', blocking:'patient' ] passed in as ext.args like:\n'--blocking_variable $meta.blocking'.\n" - } - }, - { - "contrast_variable": { - "type": "string", - "description": "The column in the sample sheet that should be used to define groups for\ncomparison\n" - } - }, - { - "reference": { - "type": "string", - "description": "The value within the contrast_variable column of the sample sheet that\nshould be used to derive the reference samples\n" - } - }, - { - "target": { - "type": "string", - "description": "The value within the contrast_variable column of the sample sheet that\nshould be used to derive the target samples\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy map containing study-wide metadata related to the sample sheet\nand matrix\n" - } - }, - { - "samplesheeet": { - "type": "file", - "description": "CSV or TSV format sample sheet with sample metadata\n" - } - }, - { - "intensities": { - "type": "file", - "description": "Raw TSV or CSV format expression matrix with probes by row and samples\nby column\n" - } - } - ], - "output": [ - { - "results": { - "type": "file", - "description": "TSV-format table of differential expression information as output by Limma", - "pattern": "*.limma.results.tsv" - } - }, - { - "md_plot": { - "type": "file", - "description": "Limma mean difference plot", - "pattern": "*.mean_difference.png" - } - }, - { - "rdata": { - "type": "file", - "description": "Serialised MArrayLM object", - "pattern": "*.MArrayLM.limma.rds" - } - }, - { - "session_info": { - "type": "file", - "description": "dump of R SessionInfo", - "pattern": "*.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@pinin4fjords"] - }, - "pipelines": [ - { - "name": "differentialabundance", - "version": "1.2.0" - } - ] - }, - { - "name": "lissero", - "path": "modules/nf-core/lissero/meta.yml", - "type": "module", - "meta": { - "name": "lissero", - "description": "Serogrouping Listeria monocytogenes assemblies", - "keywords": ["fasta", "Listeria monocytogenes", "serogroup"], - "tools": [ - { - "lissero": { - "description": "In silico serotyping of Listeria monocytogenes", - "homepage": "https://github.com/MDU-PHL/LisSero/blob/master/README.md", - "documentation": "https://github.com/MDU-PHL/LisSero/blob/master/README.md", - "tool_dev_url": "https://github.com/MDU-PHL/lissero", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA assembly file", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "Tab-delimited result file", - "pattern": "*.tsv" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "lofreq_call", - "path": "modules/nf-core/lofreq/call/meta.yml", - "type": "module", - "meta": { - "name": "lofreq_call", - "description": "Lofreq subcommand to call low frequency variants from alignments", - "keywords": ["variant calling", "low frequency variant calling", "lofreq", "lofreq/call"], - "tools": [ - { - "lofreq": { - "description": "A fast and sensitive variant-caller for inferring SNVs and indels from next-generation sequencing data", - "homepage": "https://csb5.github.io/lofreq/", - "documentation": "https://csb5.github.io/lofreq/commands/", - "doi": "10.1093/nar/gks918 ", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM input file", - "pattern": "*.{bam}" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF output file", - "pattern": "*.{vcf}" - } - } - ], - "authors": ["@bjohnnyd"] - } - }, - { - "name": "lofreq_callparallel", - "path": "modules/nf-core/lofreq/callparallel/meta.yml", - "type": "module", - "meta": { - "name": "lofreq_callparallel", - "description": "It predicts variants using multiple processors", - "keywords": ["call", "variants"], - "tools": [ - { - "lofreq": { - "description": "Lofreq is a fast and sensitive variant-caller for inferring SNVs and indels from next-generation sequencing data. It's call-parallel programme predicts variants using multiple processors", - "homepage": "https://csb5.github.io/lofreq/", - "documentation": "https://csb5.github.io/lofreq/", - "doi": "10.1093/nar/gks918", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM file", - "pattern": "*.{bam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file", - "pattern": "*.{bai}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome FASTA file", - "pattern": "*.{fasta}" - } - }, - { - "fai": { - "type": "file", - "description": "Reference genome FASTA index file", - "pattern": "*.{fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Predicted variants file", - "pattern": "*.{vcf}" - } - } - ], - "authors": ["@kaurravneet4123", "@bjohnnyd"] - } - }, - { - "name": "lofreq_filter", - "path": "modules/nf-core/lofreq/filter/meta.yml", - "type": "module", - "meta": { - "name": "lofreq_filter", - "description": "Lofreq subcommand to remove variants with low coverage or strand bias potential", - "keywords": [ - "variant calling", - "low frequency variant calling", - "filtering", - "lofreq", - "lofreq/filter" - ], - "tools": [ - { - "lofreq": { - "description": "A fast and sensitive variant-caller for inferring SNVs and indels from next-generation sequencing data", - "homepage": "https://csb5.github.io/lofreq/", - "documentation": "https://csb5.github.io/lofreq/commands/", - "doi": "10.1093/nar/gks918 ", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF input file", - "pattern": "*.{vcf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF filtered output file", - "pattern": "*.{vcf}" - } - } - ], - "authors": ["@bjohnnyd"] - } - }, - { - "name": "lofreq_indelqual", - "path": "modules/nf-core/lofreq/indelqual/meta.yml", - "type": "module", - "meta": { - "name": "lofreq_indelqual", - "description": "Inserts indel qualities in a BAM file", - "keywords": ["bam", "indel", "qualities"], - "tools": [ - { - "lofreq": { - "description": "Lofreq is a fast and sensitive variant-caller for inferring SNVs and indels from next-generation sequencing data. It's indelqual programme inserts indel qualities in a BAM file", - "homepage": "https://csb5.github.io/lofreq/", - "doi": "10.1093/nar/gks918", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.{bam}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome FASTA file", - "pattern": "*.{fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file with indel qualities inserted into it", - "pattern": "*.{bam}" - } - } - ], - "authors": ["@kaurravneet4123"] - } - }, - { - "name": "lofreq_somatic", - "path": "modules/nf-core/lofreq/somatic/meta.yml", - "type": "module", - "meta": { - "name": "lofreq_somatic", - "description": "Lofreq subcommand to call low frequency variants from alignments when tumor-normal paired samples are available", - "keywords": ["variant calling", "low frequency variant calling", "somatic", "variants", "vcf"], - "tools": [ - { - "lofreq": { - "description": "A fast and sensitive variant-caller for inferring SNVs and indels from next-generation sequencing data", - "homepage": "https://csb5.github.io/lofreq/", - "documentation": "https://csb5.github.io/lofreq/commands/", - "doi": "10.1093/nar/gks918", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information" - } - }, - { - "tumor_bam": { - "type": "file", - "description": "tumor sample input BAM file", - "pattern": "*.{bam}" - } - }, - { - "tumor_bai": { - "type": "file", - "description": "tumor sample BAM index file", - "pattern": "*.{bai}" - } - }, - { - "normal_bam": { - "type": "file", - "description": "normal sample input BAM file", - "pattern": "*.{bam}" - } - }, - { - "normal_bai": { - "type": "file", - "description": "normal sample BAM index file", - "pattern": "*.{bai}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome FASTA file", - "pattern": "*.{fasta}" - } - }, - { - "fai": { - "type": "file", - "description": "Reference genome FASTA index file", - "pattern": "*.{fai}" - } - }, - { - "target_bed": { - "type": "file", - "description": "BED file containing target regions for variant calling", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Gzipped VCF file containing variants", - "pattern": "*.{vcf.gz}" - } - } - ], - "authors": ["@nevinwu"] - } - }, - { - "name": "macrel_contigs", - "path": "modules/nf-core/macrel/contigs/meta.yml", - "type": "module", - "meta": { - "name": "macrel_contigs", - "description": "A tool that mines antimicrobial peptides (AMPs) from (meta)genomes by predicting peptides from genomes (provided as contigs) and outputs all the predicted anti-microbial peptides found.", - "keywords": ["AMP", "antimicrobial peptides", "genome mining", "metagenomes", "peptide prediction"], - "tools": [ - { - "macrel": { - "description": "A pipeline for AMP (antimicrobial peptide) prediction", - "homepage": "https://macrel.readthedocs.io/en/latest/", - "documentation": "https://macrel.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/BigDataBiology/macrel", - "doi": "10.7717/peerj.10555", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "A fasta file with nucleotide sequences.", - "pattern": "*.{fasta,fa,fna,fasta.gz,fa.gz,fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "amp_prediction": { - "type": "file", - "description": "A zipped file, with all predicted amps in a table format.", - "pattern": "*.prediction.gz" - } - }, - { - "smorfs": { - "type": "file", - "description": "A zipped fasta file containing aminoacid sequences showing the general gene prediction information in the contigs.", - "pattern": "*.smorfs.faa.gz" - } - }, - { - "all_orfs": { - "type": "file", - "description": "A zipped fasta file containing amino acid sequences showing the general gene prediction information in the contigs.", - "pattern": "*.all_orfs.faa.gz" - } - }, - { - "readme_file": { - "type": "file", - "description": "A readme file containing tool specific information (e.g. citations, details about the output, etc.).", - "pattern": "*.md" - } - }, - { - "log_file": { - "type": "file", - "description": "A log file containing the information pertaining to the run.", - "pattern": "*_log.txt" - } - } - ], - "authors": ["@darcy220606"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "macs2_callpeak", - "path": "modules/nf-core/macs2/callpeak/meta.yml", - "type": "module", - "meta": { - "name": "macs2_callpeak", - "description": "Peak calling of enriched genomic regions of ChIP-seq and ATAC-seq experiments", - "keywords": ["alignment", "atac-seq", "chip-seq", "peak-calling"], - "tools": [ - { - "macs2": { - "description": "Model Based Analysis for ChIP-Seq data", - "documentation": "https://docs.csc.fi/apps/macs2/", - "tool_dev_url": "https://github.com/macs3-project/MACS", - "doi": "10.1101/496521", - "licence": ["BSD"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ipbam": { - "type": "file", - "description": "The ChIP-seq treatment file" - } - }, - { - "controlbam": { - "type": "file", - "description": "The control file" - } - }, - { - "macs2_gsize": { - "type": "string", - "description": "Effective genome size. It can be 1.0e+9 or 1000000000, or shortcuts:'hs' for human (2.7e9), 'mm' for mouse (1.87e9), 'ce' for C. elegans (9e7) and 'dm' for fruitfly (1.2e8)" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - }, - { - "peak": { - "type": "file", - "description": "BED file containing annotated peaks", - "pattern": "*.gappedPeak,*.narrowPeak}" - } - }, - { - "xls": { - "type": "file", - "description": "xls file containing annotated peaks", - "pattern": "*.xls" - } - }, - { - "gapped": { - "type": "file", - "description": "Optional BED file containing gapped peak", - "pattern": "*.gappedPeak" - } - }, - { - "bed": { - "type": "file", - "description": "Optional BED file containing peak summits locations for every peak", - "pattern": "*.bed" - } - }, - { - "bdg": { - "type": "file", - "description": "Optional bedGraph files for input and treatment input samples", - "pattern": "*.bdg" - } - } - ], - "authors": ["@ntoda03", "@JoseEspinosa", "@jianhong"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "hicar", - "version": "1.0.0" - } - ] - }, - { - "name": "mafft", - "path": "modules/nf-core/mafft/meta.yml", - "type": "module", - "meta": { - "name": "mafft", - "description": "Multiple sequence alignment using MAFFT", - "keywords": ["msa", "multiple sequence alignment"], - "tools": [ - { - "mafft": { - "description": "Multiple alignment program for amino acid or nucleotide sequences based on fast Fourier transform", - "homepage": "https://mafft.cbrc.jp/alignment/software/", - "documentation": "https://mafft.cbrc.jp/alignment/software/manual/manual.html", - "tool_dev_url": "https://mafft.cbrc.jp/alignment/software/source.html", - "doi": "10.1093/nar/gkf436", - "licence": ["BSD"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file containing the sequences to align", - "pattern": "*.{fa,fasta}" - } - }, - { - "addsequences": { - "type": "file", - "description": "FASTA file containing sequences to align to the sequences in `fasta`", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fas": { - "type": "file", - "description": "Aligned sequences in FASTA format", - "pattern": "*.{fas}" - } - } - ], - "authors": ["@MillironX"] - }, - "subworkflows": ["fasta_newick_epang_gappa"], - "pipelines": [ - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "phyloplace", - "version": "1.0.0" - } - ] - }, - { - "name": "mageck_count", - "path": "modules/nf-core/mageck/count/meta.yml", - "type": "module", - "meta": { - "name": "mageck_count", - "description": "mageck count for functional genomics, reads are usually mapped to a specific sgRNA", - "keywords": ["sort", "functional genomics", "sgRNA", "CRISPR-Cas9"], - "tools": [ - { - "mageck": { - "description": "MAGeCK (Model-based Analysis of Genome-wide CRISPR-Cas9 Knockout), an algorithm to process, QC, analyze and visualize CRISPR screening data.", - "homepage": "https://sourceforge.net/p/mageck/wiki/Home/", - "documentation": "https://sourceforge.net/p/mageck/wiki/demo/#step-4-run-the-mageck-count-command", - "doi": "10.1186/s13059-014-0554-4", - "licence": "['BSD License']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "library": { - "type": "file", - "description": "library file containing the sgRNA and gene name", - "pattern": "*.{csv,txt,tsv}" - } - }, - { - "inputfile": { - "type": "file", - "description": "library fastq file containing the sgRNA and gene name or count table containing the sgRNA and number of reads to per sample", - "pattern": "*.{fq,fastq,fastq.gz,fq.gz,csv,txt,tsv}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "norm": { - "type": "file", - "description": "File containing normalized read counts", - "pattern": "*.count_normalized.txt" - } - }, - { - "count": { - "type": "file", - "description": "File containing read counts", - "pattern": "*.countsummary.txt" - } - } - ], - "authors": ["@LaurenceKuhl"] - }, - "pipelines": [ - { - "name": "crisprseq", - "version": "2.0.0" - } - ] - }, - { - "name": "mageck_mle", - "path": "modules/nf-core/mageck/mle/meta.yml", - "type": "module", - "meta": { - "name": "mageck_mle", - "description": "maximum-likelihood analysis of gene essentialities computation", - "keywords": ["sort", "maximum-likelihood", "CRISPR"], - "tools": [ - { - "mageck": { - "description": "MAGeCK (Model-based Analysis of Genome-wide CRISPR-Cas9 Knockout), an algorithm to process, QC, analyze and visualize CRISPR screening data.", - "homepage": "https://sourceforge.net/p/mageck/wiki/Home/#mle", - "documentation": "https://sourceforge.net/p/mageck/wiki/Home/", - "tool_dev_url": "https://bitbucket.org/liulab/mageck/src", - "doi": "10.1186/s13059-015-0843-6", - "licence": "['BSD License']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "count_table": { - "type": "file", - "description": "Count table file.\nEach line in the table should include\nsgRNA name (1st column), target gene (2nd column)\nand read counts in each sample.\n", - "pattern": "*.{txt,tsv}" - } - }, - { - "design_matrix": { - "type": "file", - "description": "Design matrix describing the samples and conditions", - "pattern": "*.{txt,tsv}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "gene_summary": { - "type": "file", - "description": "Gene summary file describing the fitness score\nand associated p-values.\n", - "pattern": "*.{gene_summary}" - } - }, - { - "sgrna_summary": { - "type": "file", - "description": "sgRNA summary file describing the sgRNA and\nassociated gene\n", - "pattern": "*.{gene_summary}" - } - } - ], - "authors": ["@LaurenceKuhl"] - }, - "pipelines": [ - { - "name": "crisprseq", - "version": "2.0.0" - } - ] - }, - { - "name": "mageck_test", - "path": "modules/nf-core/mageck/test/meta.yml", - "type": "module", - "meta": { - "name": "mageck_test", - "description": "Mageck test performs a robust ranking aggregation (RRA) to identify positively or negatively selected genes in functional genomics screens.", - "keywords": ["sort", "rra", "CRISPR"], - "tools": [ - { - "mageck": { - "description": "MAGeCK (Model-based Analysis of Genome-wide CRISPR-Cas9 Knockout), an algorithm to process, QC, analyze and visualize CRISPR screening data.", - "homepage": "https://sourceforge.net/p/mageck/wiki/Home/#mle", - "documentation": "https://sourceforge.net/p/mageck/wiki/Home/", - "tool_dev_url": "https://bitbucket.org/liulab/mageck/src", - "doi": "10.1186/s13059-015-0843-6", - "licence": "['BSD License']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "count_table": { - "type": "file", - "description": "Count table file.\nEach line in the table should include\nsgRNA name (1st column), target gene (2nd column)\nand read counts in each sample.\n", - "pattern": "*.{txt,tsv}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "gene_summary": { - "type": "file", - "description": "Gene summary file describing the fitness score\nand associated p-values.\n", - "pattern": "*.{gene_summary.txt}" - } - }, - { - "sgrna_summary": { - "type": "file", - "description": "sgRNA summary file describing the sgRNA and\nassociated gene\n", - "pattern": "*.{sgrna_summary.txt}" - } - }, - { - "r_script": { - "type": "file", - "description": "R script allowing to output plots\nfrom main hit genes\n", - "pattern": "*.R" - } - } - ], - "authors": ["@LaurenceKuhl"] - }, - "pipelines": [ - { - "name": "crisprseq", - "version": "2.0.0" - } - ] - }, - { - "name": "malt_build", - "path": "modules/nf-core/malt/build/meta.yml", - "type": "module", - "meta": { - "name": "malt_build", - "description": "MALT, an acronym for MEGAN alignment tool, is a sequence alignment and analysis tool designed for processing high-throughput sequencing data, especially in the context of metagenomics.", - "keywords": [ - "malt", - "alignment", - "metagenomics", - "ancient DNA", - "aDNA", - "palaeogenomics", - "archaeogenomics", - "microbiome", - "database" - ], - "tools": [ - { - "malt": { - "description": "A tool for mapping metagenomic data", - "homepage": "https://www.wsi.uni-tuebingen.de/lehrstuehle/algorithms-in-bioinformatics/software/malt/", - "documentation": "https://software-ab.cs.uni-tuebingen.de/download/malt/manual.pdf", - "doi": "10.1038/s41559-017-0446-6", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "fastas": { - "type": "file", - "description": "Directory of, or list of FASTA reference files for indexing", - "pattern": "*/|*.fasta" - } - }, - { - "gff": { - "type": "file", - "description": "Directory of, or GFF3 files of input FASTA files", - "pattern": "*/|*.gff|*.gff3" - } - }, - { - "mapping_db": { - "type": "file", - "description": "MEGAN .db file from https://software-ab.cs.uni-tuebingen.de/download/megan6/welcome.html", - "pattern": "*.db" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "index": { - "type": "directory", - "description": "Directory containing MALT database index directory", - "pattern": "malt_index/" - } - }, - { - "log": { - "type": "file", - "description": "Log file from STD out of malt-build", - "pattern": "malt-build.log" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "malt_run", - "path": "modules/nf-core/malt/run/meta.yml", - "type": "module", - "meta": { - "name": "malt_run", - "description": "MALT, an acronym for MEGAN alignment tool, is a sequence alignment and analysis tool designed for processing high-throughput sequencing data, especially in the context of metagenomics.", - "keywords": [ - "malt", - "alignment", - "metagenomics", - "ancient DNA", - "aDNA", - "palaeogenomics", - "archaeogenomics", - "microbiome" - ], - "tools": [ - { - "malt": { - "description": "A tool for mapping metagenomic data", - "homepage": "https://www.wsi.uni-tuebingen.de/lehrstuehle/algorithms-in-bioinformatics/software/malt/", - "documentation": "https://software-ab.cs.uni-tuebingen.de/download/malt/manual.pdf", - "doi": "10.1038/s41559-017-0446-6", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastqs": { - "type": "file", - "description": "Input FASTQ files", - "pattern": "*.{fastq.gz,fq.gz}" - } - }, - { - "index": { - "type": "directory", - "description": "Index/database directory from malt-build", - "pattern": "*/" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "rma6": { - "type": "file", - "description": "MEGAN6 RMA6 file", - "pattern": "*.rma6" - } - }, - { - "sam": { - "type": "file", - "description": "Alignment files in Tab, Text or MEGAN-compatible SAM format", - "pattern": "*.{tab,txt,sam}" - } - }, - { - "log": { - "type": "file", - "description": "Log of verbose MALT stdout", - "pattern": "*-malt-run.log" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "maltextract", - "path": "modules/nf-core/maltextract/meta.yml", - "type": "module", - "meta": { - "name": "maltextract", - "description": "Tool for evaluation of MALT results for true positives of ancient metagenomic taxonomic screening", - "keywords": [ - "malt", - "MaltExtract", - "HOPS", - "alignment", - "metagenomics", - "ancient DNA", - "aDNA", - "palaeogenomics", - "archaeogenomics", - "microbiome", - "authentication", - "damage", - "edit distance" - ], - "tools": [ - { - "maltextract": { - "description": "Java tool to work with ancient metagenomics", - "homepage": "https://github.com/rhuebler/hops", - "documentation": "https://github.com/rhuebler/hops", - "tool_dev_url": "https://github.com/rhuebler/hops", - "doi": "10.1186/s13059-019-1903-0", - "licence": ["GPL 3"] - } - } - ], - "input": [ - { - "rma6": { - "type": "file", - "description": "RMA6 files from MALT", - "pattern": "*.rma6" - } - }, - { - "taxon_list": { - "type": "file", - "description": "List of target taxa to evaluate", - "pattern": "*.txt" - } - }, - { - "ncbi_dir": { - "type": "directory", - "description": "Directory containing NCBI taxonomy map and tre files", - "pattern": "${ncbi_dir}/" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "results": { - "type": "directory", - "description": "Directory containing MaltExtract text results files", - "pattern": "results/" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "manta_convertinversion", - "path": "modules/nf-core/manta/convertinversion/meta.yml", - "type": "module", - "meta": { - "name": "manta_convertinversion", - "description": "Manta calls structural variants (SVs) and indels from mapped paired-end sequencing reads. This script reformats inversions into single inverted sequence junctions which was the format used in Manta versions <= 1.4.0.", - "keywords": ["structural variants", "conversion", "indels"], - "tools": [ - { - "manta": { - "description": "Structural variant and indel caller for mapped sequencing data", - "homepage": "https://github.com/Illumina/manta", - "documentation": "https://github.com/Illumina/manta/blob/v1.6.0/docs/userGuide/README.md", - "tool_dev_url": "https://github.com/Illumina/manta", - "doi": "10.1093/bioinformatics/btv710", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file produces by Manta", - "pattern": "*.vcf.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file with reformatted inversions", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "TBI file produces by Manta", - "pattern": "*.vcf.gz.tbi" - } - } - ], - "authors": ["@FriederikeHanssen"] - } - }, - { - "name": "manta_germline", - "path": "modules/nf-core/manta/germline/meta.yml", - "type": "module", - "meta": { - "name": "manta_germline", - "description": "Manta calls structural variants (SVs) and indels from mapped paired-end sequencing reads. It is optimized for analysis of germline variation in small sets of individuals and somatic variation in tumor/normal sample pairs.", - "keywords": ["somatic", "wgs", "wxs", "panel", "vcf", "structural variants", "small indels"], - "tools": [ - { - "manta": { - "description": "Structural variant and indel caller for mapped sequencing data", - "homepage": "https://github.com/Illumina/manta", - "documentation": "https://github.com/Illumina/manta/blob/v1.6.0/docs/userGuide/README.md", - "tool_dev_url": "https://github.com/Illumina/manta", - "doi": "10.1093/bioinformatics/btv710", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file. For joint calling use a list of files.", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "index": { - "type": "file", - "description": "BAM/CRAM/SAM index file. For joint calling use a list of files.", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "target_bed": { - "type": "file", - "description": "BED file containing target regions for variant calling", - "pattern": "*.{bed}" - } - }, - { - "target_bed_tbi": { - "type": "file", - "description": "Index for BED file containing target regions for variant calling", - "pattern": "*.{bed.tbi}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome reference FASTA file", - "pattern": "*.{fa,fasta}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Genome reference FASTA index file", - "pattern": "*.{fa.fai,fasta.fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "candidate_small_indels_vcf": { - "type": "file", - "description": "Gzipped VCF file containing variants", - "pattern": "*.{vcf.gz}" - } - }, - { - "candidate_small_indels_vcf_tbi": { - "type": "file", - "description": "Index for gzipped VCF file containing variants", - "pattern": "*.{vcf.gz.tbi}" - } - }, - { - "candidate_sv_vcf": { - "type": "file", - "description": "Gzipped VCF file containing variants", - "pattern": "*.{vcf.gz}" - } - }, - { - "candidate_sv_vcf_tbi": { - "type": "file", - "description": "Index for gzipped VCF file containing variants", - "pattern": "*.{vcf.gz.tbi}" - } - }, - { - "diploid_sv_vcf": { - "type": "file", - "description": "Gzipped VCF file containing variants", - "pattern": "*.{vcf.gz}" - } - }, - { - "diploid_sv_vcf_tbi": { - "type": "file", - "description": "Index for gzipped VCF file containing variants", - "pattern": "*.{vcf.gz.tbi}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@maxulysse", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "manta_somatic", - "path": "modules/nf-core/manta/somatic/meta.yml", - "type": "module", - "meta": { - "name": "manta_somatic", - "description": "Manta calls structural variants (SVs) and indels from mapped paired-end sequencing reads. It is optimized for analysis of germline variation in small sets of individuals and somatic variation in tumor/normal sample pairs.", - "keywords": ["somatic", "wgs", "wxs", "panel", "vcf", "structural variants", "small indels"], - "tools": [ - { - "manta": { - "description": "Structural variant and indel caller for mapped sequencing data", - "homepage": "https://github.com/Illumina/manta", - "documentation": "https://github.com/Illumina/manta/blob/v1.6.0/docs/userGuide/README.md", - "tool_dev_url": "https://github.com/Illumina/manta", - "doi": "10.1093/bioinformatics/btv710", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_normal": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "input_index_normal": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "input_tumor": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "input_index_tumor": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "target_bed": { - "type": "file", - "description": "BED file containing target regions for variant calling", - "pattern": "*.{bed}" - } - }, - { - "target_bed_tbi": { - "type": "file", - "description": "Index for BED file containing target regions for variant calling", - "pattern": "*.{bed.tbi}" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome reference FASTA file", - "pattern": "*.{fa,fasta}" - } - }, - { - "fai": { - "type": "file", - "description": "Genome reference FASTA index file", - "pattern": "*.{fa.fai,fasta.fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "candidate_small_indels_vcf": { - "type": "file", - "description": "Gzipped VCF file containing variants", - "pattern": "*.{vcf.gz}" - } - }, - { - "candidate_small_indels_vcf_tbi": { - "type": "file", - "description": "Index for gzipped VCF file containing variants", - "pattern": "*.{vcf.gz.tbi}" - } - }, - { - "candidate_sv_vcf": { - "type": "file", - "description": "Gzipped VCF file containing variants", - "pattern": "*.{vcf.gz}" - } - }, - { - "candidate_sv_vcf_tbi": { - "type": "file", - "description": "Index for gzipped VCF file containing variants", - "pattern": "*.{vcf.gz.tbi}" - } - }, - { - "diploid_sv_vcf": { - "type": "file", - "description": "Gzipped VCF file containing variants", - "pattern": "*.{vcf.gz}" - } - }, - { - "diploid_sv_vcf_tbi": { - "type": "file", - "description": "Index for gzipped VCF file containing variants", - "pattern": "*.{vcf.gz.tbi}" - } - }, - { - "somatic_sv_vcf": { - "type": "file", - "description": "Gzipped VCF file containing variants", - "pattern": "*.{vcf.gz}" - } - }, - { - "somatic_sv_vcf_tbi": { - "type": "file", - "description": "Index for gzipped VCF file containing variants", - "pattern": "*.{vcf.gz.tbi}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "manta_tumoronly", - "path": "modules/nf-core/manta/tumoronly/meta.yml", - "type": "module", - "meta": { - "name": "manta_tumoronly", - "description": "Manta calls structural variants (SVs) and indels from mapped paired-end sequencing reads. It is optimized for analysis of germline variation in small sets of individuals and somatic variation in tumor/normal sample pairs.", - "keywords": ["somatic", "wgs", "wxs", "panel", "vcf", "structural variants", "small indels"], - "tools": [ - { - "manta": { - "description": "Structural variant and indel caller for mapped sequencing data", - "homepage": "https://github.com/Illumina/manta", - "documentation": "https://github.com/Illumina/manta/blob/v1.6.0/docs/userGuide/README.md", - "tool_dev_url": "https://github.com/Illumina/manta", - "doi": "10.1093/bioinformatics/btv710", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "target_bed": { - "type": "file", - "description": "BED file containing target regions for variant calling", - "pattern": "*.{bed}" - } - }, - { - "target_bed_tbi": { - "type": "file", - "description": "Index for BED file containing target regions for variant calling", - "pattern": "*.{bed.tbi}" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome reference FASTA file", - "pattern": "*.{fa,fasta}" - } - }, - { - "fai": { - "type": "file", - "description": "Genome reference FASTA index file", - "pattern": "*.{fa.fai,fasta.fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "candidate_small_indels_vcf": { - "type": "file", - "description": "Gzipped VCF file containing variants", - "pattern": "*.{vcf.gz}" - } - }, - { - "candidate_small_indels_vcf_tbi": { - "type": "file", - "description": "Index for gzipped VCF file containing variants", - "pattern": "*.{vcf.gz.tbi}" - } - }, - { - "candidate_sv_vcf": { - "type": "file", - "description": "Gzipped VCF file containing variants", - "pattern": "*.{vcf.gz}" - } - }, - { - "candidate_sv_vcf_tbi": { - "type": "file", - "description": "Index for gzipped VCF file containing variants", - "pattern": "*.{vcf.gz.tbi}" - } - }, - { - "tumor_sv_vcf": { - "type": "file", - "description": "Gzipped VCF file containing variants", - "pattern": "*.{vcf.gz}" - } - }, - { - "tumor_sv_vcf_tbi": { - "type": "file", - "description": "Index for gzipped VCF file containing variants", - "pattern": "*.{vcf.gz.tbi}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@maxulysse"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "mapad_index", - "path": "modules/nf-core/mapad/index/meta.yml", - "type": "module", - "meta": { - "name": "mapad_index", - "description": "Create mapAD index for reference genome", - "keywords": ["index", "fasta", "genome", "reference"], - "tools": [ - { - "mapad": { - "description": "An aDNA aware short-read mapper", - "homepage": "https://github.com/mpieva/mapAD", - "documentation": "https://github.com/mpieva/mapAD", - "tool_dev_url": "https://github.com/mpieva/mapAD", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file", - "pattern": "*.{fasta,fa,fna}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "index": { - "type": "directory", - "description": "mapAD genome index files", - "pattern": "*.{tbw,tle,toc,tos,tpi,trt,tsa}" - } - } - ], - "authors": ["@jch-13"] - } - }, - { - "name": "mapad_map", - "path": "modules/nf-core/mapad/map/meta.yml", - "type": "module", - "meta": { - "name": "mapad_map", - "description": "Map short-reads to an indexed reference genome", - "keywords": [ - "mapad", - "ancient dna", - "adna", - "damage", - "deamination", - "miscoding lesions", - "c to t", - "palaeogenomics", - "archaeogenomics", - "palaeogenetics", - "archaeogenetics", - "short-read", - "align", - "aligner", - "alignment", - "map", - "mapper", - "mapping", - "reference", - "fasta", - "fastq", - "bam", - "cram" - ], - "tools": [ - { - "mapad": { - "description": "An aDNA aware short-read mapper", - "homepage": "https://github.com/mpieva/mapAD", - "documentation": "https://github.com/mpieva/mapAD", - "tool_dev_url": "https://github.com/mpieva/mapAD", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Sequencing reads in FASTQ or BAM (unmapped/mapped) related formats. Supports only single-end or merged paired-end data (mandatory)\n", - "pattern": "*.{bam,cram,fastq,fastq.gz,fq,fq.gz}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "file", - "description": "mapAD genome index files (mandatory)", - "pattern": "*.{tbw,tle,toc,tos,tpi,trt,tsa}" - } - }, - { - "mismatch_parameter": { - "type": "float", - "description": "Minimum probability of the number of mismatches under `-D` base error rate\n" - } - }, - { - "double_stranded_library": { - "type": "boolean", - "description": "Library preparation method - specify if double stranded else it's assumed single stranded" - } - }, - { - "five_prime_overhang": { - "type": "float", - "description": "5'-overhang length parameter" - } - }, - { - "three_prime_overhang": { - "type": "float", - "description": "3'-overhang length parameter" - } - }, - { - "deam_rate_double_stranded": { - "type": "float", - "description": "Deamination rate in double-stranded stem of a read" - } - }, - { - "deam_rate_single_stranded": { - "type": "float", - "description": "Deamination rate in single-stranded ends of a read" - } - }, - { - "indel_rate": { - "type": "float", - "description": "Expected rate of indels between reads and reference" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Output BAM/SAM file containing read alignments", - "pattern": "*.bam" - } - } - ], - "authors": ["@jch-13"] - } - }, - { - "name": "mapdamage2", - "path": "modules/nf-core/mapdamage2/meta.yml", - "type": "module", - "meta": { - "name": "mapdamage2", - "description": "Computational framework for tracking and quantifying DNA damage patterns among ancient DNA sequencing reads generated by Next-Generation Sequencing platforms.", - "keywords": ["ancient DNA", "DNA damage", "NGS", "damage patterns", "bam"], - "tools": [ - { - "mapdamage2": { - "description": "Tracking and quantifying damage patterns in ancient DNA sequences", - "homepage": "http://ginolhac.github.io/mapDamage/", - "documentation": "https://ginolhac.github.io/mapDamage/", - "tool_dev_url": "https://github.com/ginolhac/mapDamage", - "doi": "10.1093/bioinformatics/btt193", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.{bam}" - } - }, - { - "fasta": { - "type": "file", - "description": "Fasta file, the reference the input BAM was mapped against", - "pattern": "*.{fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "runtime_log": { - "type": "file", - "description": "Log file with a summary of command lines used and timestamps.", - "pattern": "Runtime_log.txt" - } - }, - { - "fragmisincorporation_plot": { - "type": "file", - "description": "A pdf file that displays both fragmentation and misincorporation patterns.", - "pattern": "Fragmisincorporation_plot.pdf" - } - }, - { - "length_plot": { - "type": "file", - "description": "A pdf file that displays length distribution of singleton reads per strand and cumulative frequencies of C->T at 5'-end and G->A at 3'-end are also displayed per strand.", - "pattern": "Length_plot.pdf" - } - }, - { - "misincorporation": { - "type": "file", - "description": "Contains a table with occurrences for each type of mutations and relative positions from the reads ends.", - "pattern": "misincorporation.txt" - } - }, - { - "pctot_freq": { - "type": "file", - "description": "Contains frequencies of Cytosine to Thymine mutations per position from the 5'-ends.", - "pattern": "5pCtoT_freq.txt" - } - }, - { - "pgtoa_freq": { - "type": "file", - "description": "Contains frequencies of Guanine to Adenine mutations per position from the 3'-ends.", - "pattern": "3pGtoA_freq.txt" - } - }, - { - "dnacomp": { - "type": "file", - "description": "Contains a table of the reference genome base composition per position, inside reads and adjacent regions.", - "pattern": "dnacomp.txt" - } - }, - { - "lgdistribution": { - "type": "file", - "description": "Contains a table with read length distributions per strand.", - "pattern": "lgdistribution.txt" - } - }, - { - "stats_out_mcmc_hist": { - "type": "file", - "description": "A MCMC histogram for the damage parameters and log likelihood.", - "pattern": "Stats_out_MCMC_hist.pdf" - } - }, - { - "stats_out_mcmc_iter": { - "type": "file", - "description": "Values for the damage parameters and log likelihood in each MCMC iteration.", - "pattern": "Stats_out_MCMC_iter.csv" - } - }, - { - "stats_out_mcmc_trace": { - "type": "file", - "description": "A MCMC trace plot for the damage parameters and log likelihood.", - "pattern": "Stats_out_MCMC_trace.pdf" - } - }, - { - "stats_out_mcmc_iter_summ_stat": { - "type": "file", - "description": "Summary statistics for the damage parameters estimated posterior distributions.", - "pattern": "Stats_out_MCMC_iter_summ_stat.csv" - } - }, - { - "stats_out_mcmc_post_pred": { - "type": "file", - "description": "Empirical misincorporation frequency and posterior predictive intervals from the fitted model.", - "pattern": "Stats_out_MCMC_post_pred.pdf" - } - }, - { - "stats_out_mcmc_correct_prob": { - "type": "file", - "description": "Position specific probability of a C->T and G->A misincorporation is due to damage.", - "pattern": "Stats_out_MCMC_correct_prob.csv" - } - }, - { - "dnacomp_genome": { - "type": "file", - "description": "Contains the global reference genome base composition (computed by seqtk).", - "pattern": "dnacomp_genome.csv" - } - }, - { - "rescaled": { - "type": "file", - "description": "Rescaled BAM file, where likely post-mortem damaged bases have downscaled quality scores.", - "pattern": "*.{bam}" - } - }, - { - "fasta": { - "type": "file", - "description": "Allignments in a FASTA file, only if flagged by -d.", - "pattern": "*.{fasta}" - } - }, - { - "folder": { - "type": "directory", - "description": "Folder created when --plot-only, --rescale and --stats-only flags are passed.", - "pattern": "*/" - } - } - ], - "authors": ["@darcy220606"] - } - }, - { - "name": "mash_dist", - "path": "modules/nf-core/mash/dist/meta.yml", - "type": "module", - "meta": { - "name": "mash_dist", - "description": "Calculate Mash distances between reference and query seqeunces", - "keywords": ["mash/dist"], - "tools": [ - { - "mash": { - "description": "Fast sequence distance estimator that uses MinHash", - "homepage": "https://github.com/marbl/Mash", - "documentation": "https://mash.readthedocs.io/en/latest/sketches.html", - "tool_dev_url": "https://github.com/marbl/Mash", - "doi": "10.1186/s13059-016-0997-x", - "licence": ["https://github.com/marbl/Mash/blob/master/LICENSE.txt"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reference": { - "type": "file", - "description": "FASTA, FASTQ or Mash sketch", - "pattern": "*.{fasta,fasta.gz,fastq,fastq.gz,msh}" - } - }, - { - "query": { - "type": "file", - "description": "FASTA, FASTQ or Mash sketch", - "pattern": "*.{fasta,fasta.gz,fastq,fastq.gz,msh}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "dist": { - "type": "file", - "description": "The results from mash dist", - "pattern": "*.txt" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "mash_screen", - "path": "modules/nf-core/mash/screen/meta.yml", - "type": "module", - "meta": { - "name": "mash_screen", - "description": "Screens query sequences against large sequence databases", - "keywords": ["screen", "containment", "contamination", "taxonomic assignment"], - "tools": [ - { - "mash": { - "description": "Fast sequence distance estimator that uses MinHash", - "homepage": "https://github.com/marbl/Mash", - "documentation": "https://mash.readthedocs.io/en/latest/sketches.html", - "tool_dev_url": "https://github.com/marbl/Mash", - "doi": "10.1186/s13059-016-0997-x", - "licence": ["https://github.com/marbl/Mash/blob/master/LICENSE.txt"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "query": { - "type": "file", - "description": "Query sequences", - "pattern": "*.fastq.gz" - } - }, - { - "sequence_sketch": { - "type": "file", - "description": "Sequence files to match against", - "pattern": "*.msh" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "screen": { - "type": "file", - "description": "List of sequences from fastx_db similar to query sequences", - "pattern": "*.screen" - } - } - ], - "authors": ["@mahesh-panchal"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "mash_sketch", - "path": "modules/nf-core/mash/sketch/meta.yml", - "type": "module", - "meta": { - "name": "mash_sketch", - "description": "Creates vastly reduced representations of sequences using MinHash", - "keywords": ["mash/sketch"], - "tools": [ - { - "mash": { - "description": "Fast sequence distance estimator that uses MinHash", - "homepage": "https://github.com/marbl/Mash", - "documentation": "https://mash.readthedocs.io/en/latest/sketches.html", - "tool_dev_url": "https://github.com/marbl/Mash", - "doi": "10.1186/s13059-016-0997-x", - "licence": ["https://github.com/marbl/Mash/blob/master/LICENSE.txt"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input paired-end FastQ files" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "mash": { - "type": "file", - "description": "Sketch output", - "pattern": "*.{mash}" - } - }, - { - "stats": { - "type": "file", - "description": "Sketch statistics", - "pattern": "*.{mash_stats}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@thanhleviet"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "mashtree", - "path": "modules/nf-core/mashtree/meta.yml", - "type": "module", - "meta": { - "name": "mashtree", - "description": "Quickly create a tree using Mash distances", - "keywords": ["tree", "mash", "fasta", "fastq"], - "tools": [ - { - "mashtree": { - "description": "Create a tree using Mash distances", - "homepage": "https://github.com/lskatz/mashtree", - "documentation": "https://github.com/lskatz/mashtree", - "tool_dev_url": "https://github.com/lskatz/mashtree", - "doi": "10.21105/joss.01762", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "seqs": { - "type": "file", - "description": "FASTA, FASTQ, GenBank, or Mash sketch files", - "pattern": "*.{fna,fna.gz,fasta,fasta.gz,fa,fa.gz,gbk,gbk.gz,fastq.gz,msh}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tree": { - "type": "file", - "description": "A Newick formatted tree file", - "pattern": "*.{dnd}" - } - }, - { - "matrix": { - "type": "file", - "description": "A TSV matrix of pair-wise Mash distances", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "maxbin2", - "path": "modules/nf-core/maxbin2/meta.yml", - "type": "module", - "meta": { - "name": "maxbin2", - "description": "MaxBin is a software that is capable of clustering metagenomic contigs", - "keywords": [ - "metagenomics", - "assembly", - "binning", - "maxbin2", - "de novo assembly", - "mags", - "metagenome-assembled genomes", - "contigs" - ], - "tools": [ - { - "maxbin2": { - "description": "MaxBin is software for binning assembled metagenomic sequences based on an Expectation-Maximization algorithm.", - "homepage": "https://sourceforge.net/projects/maxbin/", - "documentation": "https://sourceforge.net/projects/maxbin/", - "tool_dev_url": "https://sourceforge.net/projects/maxbin/", - "doi": "10.1093/bioinformatics/btv638", - "licence": ["BSD 3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "contigs": { - "type": "file", - "description": "Multi FASTA file containing assembled contigs of a given sample", - "pattern": "*.fasta" - } - }, - { - "reads": { - "type": "file", - "description": "Reads used to assemble contigs in FASTA or FASTQ format. Do not supply at the same time as abundance files.", - "pattern": "*.fasta" - } - }, - { - "abund": { - "type": "file", - "description": "Contig abundance files, i.e. reads against each contig. See MaxBin2 README for details. Do not supply at the same time as read files." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "binned_fastas": { - "type": "file", - "description": "Binned contigs, one per bin designated with numeric IDs", - "pattern": "*.fasta.gz" - } - }, - { - "summary": { - "type": "file", - "description": "Summary file describing which contigs are being classified into which bin", - "pattern": "*.summary" - } - }, - { - "log": { - "type": "file", - "description": "Log file recording the core steps of MaxBin algorithm", - "pattern": "*.log.gz" - } - }, - { - "marker": { - "type": "file", - "description": "Marker gene presence numbers for each bin", - "pattern": "*.marker.gz" - } - }, - { - "unbinned_fasta": { - "type": "file", - "description": "All sequences that pass the minimum length threshold but are not classified successfully.", - "pattern": "*.noclass.gz" - } - }, - { - "tooshort_fasta": { - "type": "file", - "description": "All sequences that do not meet the minimum length threshold.", - "pattern": "*.tooshort.gz" - } - }, - { - "marker_genes": { - "type": "file", - "description": "All sequences that do not meet the minimum length threshold.", - "pattern": "*.marker_of_each_gene.tar.gz" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "maxquant_lfq", - "path": "modules/nf-core/maxquant/lfq/meta.yml", - "type": "module", - "meta": { - "name": "maxquant_lfq", - "description": "Run standard proteomics data analysis with MaxQuant, mostly dedicated to label-free. Paths to fasta and raw files needs to be marked by \"PLACEHOLDER\"", - "keywords": ["sort"], - "tools": [ - { - "maxquant": { - "description": "MaxQuant is a quantitative proteomics software package designed for analyzing large mass-spectrometric data sets. License restricted.", - "homepage": "https://www.maxquant.org/", - "documentation": "http://coxdocs.org/doku.php?id=maxquant:start", - "licence": ["http://www.coxdocs.org/lib/exe/fetch.php?media=license_agreement.pdf"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "raw": { - "type": "file", - "description": "raw files with mass spectra", - "pattern": "*.{raw,RAW,Raw}" - } - }, - { - "fasta": { - "type": "file", - "description": "fasta file with protein sequences", - "pattern": "*.{fasta}" - } - }, - { - "parfile": { - "type": "file", - "description": "MaxQuant parameter file (XML)", - "pattern": "*.{xml}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - }, - { - "maxquant_txt": { - "type": "file", - "description": "tables with peptides and protein information", - "pattern": "*.{txt}" - } - } - ], - "authors": ["@veitveit"] - } - }, - { - "name": "mcquant", - "path": "modules/nf-core/mcquant/meta.yml", - "type": "module", - "meta": { - "name": "mcquant", - "description": "write your description here", - "keywords": ["quantification", "image_analysis", "mcmicro", "highly_multiplexed_imaging"], - "tools": [ - { - "mcquant": { - "description": "Module for single-cell data extraction given a segmentation mask and multi-channel image. The CSV structure is aligned with histoCAT output.", - "homepage": "https://github.com/labsyspharm/quantification", - "documentation": "https://github.com/labsyspharm/quantification/blob/master/README.md", - "tool_dev_url": "https://github.com/labsyspharm/quantification", - "doi": "10.1038/s41592-021-01308-y", - "licence": "" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "image": { - "type": "file", - "description": "Multi-channel image file", - "pattern": "*.{tiff,tif,h5,hdf5}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "mask": { - "type": "file", - "description": "Labeled segmentation mask for image", - "pattern": "*.{tiff,tif,h5,hdf5}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "markerfile": { - "type": "file", - "description": "Marker file with channel names for image to quantify", - "pattern": "*.{csv}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "csv": { - "type": "file", - "description": "Quantified regionprops_table", - "pattern": "*.{csv}" - } - } - ], - "authors": ["@FloWuenne"] - } - }, - { - "name": "mcroni", - "path": "modules/nf-core/mcroni/meta.yml", - "type": "module", - "meta": { - "name": "mcroni", - "description": "Analysis of mcr-1 gene (mobilized colistin resistance) for sequence variation", - "keywords": ["resistance", "fasta"], - "tools": [ - { - "mcroni": { - "description": "Scripts for finding and processing promoter variants upstream of mcr-1", - "homepage": "https://github.com/liampshaw/mcroni", - "documentation": "https://github.com/liampshaw/mcroni", - "tool_dev_url": "https://github.com/liampshaw/mcroni", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "A fasta file.", - "pattern": "*.{fasta.gz,fasta,fa.gz,fa,fna.gz,fna}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "mcroni results in TSV format", - "pattern": "*.tsv" - } - }, - { - "fa": { - "type": "file", - "description": "mcr-1 matching sequences", - "pattern": "*.fa" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "md5sum", - "path": "modules/nf-core/md5sum/meta.yml", - "type": "module", - "meta": { - "name": "md5sum", - "description": "Create an MD5 (128-bit) checksum", - "keywords": ["checksum", "MD5", "128 bit"], - "tools": [ - { - "md5sum": { - "description": "Create an MD5 (128-bit) checksum", - "homepage": "https://www.gnu.org", - "documentation": "https://man7.org/linux/man-pages/man1/md5sum.1.html", - "licence": "GPLv3+" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "file": { - "type": "file", - "description": "Any file", - "pattern": "*.*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "checksum": { - "type": "file", - "description": "File containing checksum", - "pattern": "*.md5" - } - } - ], - "authors": ["@matthdsm"] - }, - "pipelines": [ - { - "name": "demultiplex", - "version": "1.3.2" - } - ] - }, - { - "name": "medaka", - "path": "modules/nf-core/medaka/meta.yml", - "type": "module", - "meta": { - "name": "medaka", - "description": "A tool to create consensus sequences and variant calls from nanopore sequencing data", - "keywords": ["assembly", "polishing", "nanopore"], - "tools": [ - { - "medaka": { - "description": "Neural network sequence error correction.", - "homepage": "https://nanoporetech.github.io/medaka/index.html", - "documentation": "https://nanoporetech.github.io/medaka/index.html", - "tool_dev_url": "https://github.com/nanoporetech/medaka", - "licence": ["Mozilla Public License 2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input nanopore fasta/FastQ files", - "pattern": "*.{fasta,fa,fastq,fastq.gz,fq,fq.gz}" - } - }, - { - "assembly": { - "type": "file", - "description": "Genome assembly", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "assembly": { - "type": "file", - "description": "Polished genome assembly", - "pattern": "*.fa.gz" - } - } - ], - "authors": ["@avantonder"] - }, - "pipelines": [ - { - "name": "crisprseq", - "version": "2.0.0" - } - ] - }, - { - "name": "megahit", - "path": "modules/nf-core/megahit/meta.yml", - "type": "module", - "meta": { - "name": "megahit", - "description": "An ultra-fast metagenomic assembler for large and complex metagenomics", - "keywords": ["megahit", "denovo", "assembly", "debruijn", "metagenomics"], - "tools": [ - { - "megahit": { - "description": "An ultra-fast single-node solution for large and complex metagenomics assembly via succinct de Bruijn graph", - "homepage": "https://github.com/voutcn/megahit", - "documentation": "https://github.com/voutcn/megahit", - "tool_dev_url": "https://github.com/voutcn/megahit", - "doi": "10.1093/bioinformatics/btv033", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information and input single, or paired-end FASTA/FASTQ files (optionally decompressed)\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively in gzipped or uncompressed FASTQ or FASTA format.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "contigs": { - "type": "file", - "description": "Final final contigs result of the assembly in FASTA format.", - "pattern": "*.contigs.fa.gz" - } - }, - { - "k_contigs": { - "type": "file", - "description": "Contigs assembled from the de Bruijn graph of order-K", - "pattern": "k*.contigs.fa.gz" - } - }, - { - "addi_contigs": { - "type": "file", - "description": "Contigs assembled after iteratively removing local low coverage unitigs in the de Bruijn graph of order-K", - "pattern": "k*.addi.fa.gz" - } - }, - { - "local_contigs": { - "type": "file", - "description": "Contigs of the locally assembled contigs for k=K", - "pattern": "k*.local.fa.gz" - } - }, - { - "kfinal_contigs": { - "type": "file", - "description": "Stand-alone contigs for k=K; if local assembly is turned on, the file will be empty", - "pattern": "k*.final.contigs.fa.gz" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "megan_daa2info", - "path": "modules/nf-core/megan/daa2info/meta.yml", - "type": "module", - "meta": { - "name": "megan_daa2info", - "description": "Analyses a DAA file and exports information in text format", - "keywords": ["megan", "diamond", "daa", "classification", "conversion"], - "tools": [ - { - "megan": { - "description": "A tool for studying the taxonomic content of a set of DNA reads", - "homepage": "https://uni-tuebingen.de/fakultaeten/mathematisch-naturwissenschaftliche-fakultaet/fachbereiche/informatik/lehrstuehle/algorithms-in-bioinformatics/software/megan6/", - "documentation": "https://software-ab.cs.uni-tuebingen.de/download/megan6/welcome.html", - "tool_dev_url": "https://github.com/husonlab/megan-ce", - "doi": "10.1371/journal.pcbi.1004957", - "licence": "['GPL >=3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "daa": { - "type": "file", - "description": "DAA file from DIAMOND", - "pattern": "*.daa" - } - }, - { - "megan_summary": { - "type": "boolean", - "description": "Specify whether to generate a MEGAN summary file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt_gz": { - "type": "file", - "description": "Compressed text file", - "pattern": "*.txt.gz" - } - }, - { - "megan": { - "type": "file", - "description": "Optionally generated MEGAN summary file", - "pattern": "*.megan" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "megan_rma2info", - "path": "modules/nf-core/megan/rma2info/meta.yml", - "type": "module", - "meta": { - "name": "megan_rma2info", - "description": "Analyses an RMA file and exports information in text format", - "keywords": ["megan", "rma6", "classification", "conversion"], - "tools": [ - { - "megan": { - "description": "A tool for studying the taxonomic content of a set of DNA reads", - "homepage": "https://uni-tuebingen.de/fakultaeten/mathematisch-naturwissenschaftliche-fakultaet/fachbereiche/informatik/lehrstuehle/algorithms-in-bioinformatics/software/megan6/", - "documentation": "https://software-ab.cs.uni-tuebingen.de/download/megan6/welcome.html", - "tool_dev_url": "https://github.com/husonlab/megan-ce", - "doi": "10.1371/journal.pcbi.1004957", - "licence": "['GPL >=3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "rma6": { - "type": "file", - "description": "RMA6 file from MEGAN or MALT", - "pattern": "*.rma6" - } - }, - { - "megan_summary": { - "type": "boolean", - "description": "Specify whether to generate an MEGAN summary file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "Compressed text file", - "pattern": "*.txt.gz" - } - }, - { - "megan_summary": { - "type": "file", - "description": "Optionally generated MEGAN summary file", - "pattern": "*.megan" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "meningotype", - "path": "modules/nf-core/meningotype/meta.yml", - "type": "module", - "meta": { - "name": "meningotype", - "description": "Serotyping of Neisseria meningitidis assemblies", - "keywords": ["fasta", "Neisseria meningitidis", "serotype"], - "tools": [ - { - "meningotype": { - "description": "In silico serotyping and finetyping (porA and fetA) of Neisseria meningitidis", - "homepage": "https://github.com/MDU-PHL/meningotype", - "documentation": "https://github.com/MDU-PHL/meningotype", - "tool_dev_url": "https://github.com/MDU-PHL/meningotype", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA assembly file", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "Tab-delimited result file", - "pattern": "*.tsv" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "merqury", - "path": "modules/nf-core/merqury/meta.yml", - "type": "module", - "meta": { - "name": "merqury", - "description": "k-mer based assembly evaluation.", - "keywords": ["k-mer", "assembly", "evaluation"], - "tools": [ - { - "merqury": { - "description": "Evaluate genome assemblies with k-mers and more.", - "tool_dev_url": "https://github.com/marbl/merqury", - "doi": "10.1186/s13059-020-02134-9", - "licence": "['PUBLIC DOMAIN']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "meryl_db": { - "type": "file", - "description": "Meryl read database" - } - }, - { - "assembly": { - "type": "file", - "description": "FASTA assembly file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "assembly_only_kmers_bed": { - "type": "file", - "description": "The positions of the k-mers found only in an assembly for further investigation in .bed", - "pattern": "*_only.bed" - } - }, - { - "assembly_only_kmers_wig": { - "type": "file", - "description": "The positions of the k-mers found only in an assembly for further investigation in .wig", - "pattern": "*_only.wig" - } - }, - { - "stats": { - "type": "file", - "description": "Assembly statistics file", - "pattern": "*.completeness.stats" - } - }, - { - "dist_hist": { - "type": "file", - "description": "Histogram", - "pattern": "*.dist_only.hist" - } - }, - { - "spectra_cn_fl_png": { - "type": "file", - "description": "Unstacked copy number spectra filled plot in PNG format", - "pattern": "*.spectra-cn.fl.png" - } - }, - { - "spectra_cn_ln_png": { - "type": "file", - "description": "Unstacked copy number spectra line plot in PNG format", - "pattern": "*.spectra-cn.ln.png" - } - }, - { - "spectra_cn_st_png": { - "type": "file", - "description": "Stacked copy number spectra line plot in PNG format", - "pattern": "*.spectra-cn.st.png" - } - }, - { - "spectra_cn_hist": { - "type": "file", - "description": "Copy number spectra histogram", - "pattern": "*.spectra-cn.hist" - } - }, - { - "spectra_asm_fl_png": { - "type": "file", - "description": "Unstacked assembly spectra filled plot in PNG format", - "pattern": "*.spectra-asm.fl.png" - } - }, - { - "spectra_asm_ln_png": { - "type": "file", - "description": "Unstacked assembly spectra line plot in PNG format", - "pattern": "*.spectra-asm.ln.png" - } - }, - { - "spectra_asm_st_png": { - "type": "file", - "description": "Stacked assembly spectra line plot in PNG format", - "pattern": "*.spectra-asm.st.png" - } - }, - { - "spectra_asm_hist": { - "type": "file", - "description": "Assembly spectra histogram", - "pattern": "*.spectra-asm.hist" - } - }, - { - "assembly_qv": { - "type": "file", - "description": "Assembly consensus quality estimation", - "pattern": "*.qv" - } - }, - { - "scaffold_qv": { - "type": "file", - "description": "Scaffold consensus quality estimation", - "pattern": "*.qv" - } - }, - { - "read_ploidy": { - "type": "file", - "description": "Ploidy estimate from read k-mer database", - "pattern": "*.hist.ploidy" - } - } - ], - "authors": ["@mahesh-panchal"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "merquryfk_katcomp", - "path": "modules/nf-core/merquryfk/katcomp/meta.yml", - "type": "module", - "meta": { - "name": "merquryfk_katcomp", - "description": "A reimplemenation of Kat Comp to work with FastK databases", - "keywords": ["fastk", "k-mer", "compare"], - "tools": [ - { - "merquryfk": { - "description": "FastK based version of Merqury", - "homepage": "https://github.com/thegenemyers/MERQURY.FK", - "tool_dev_url": "https://github.com/thegenemyers/MERQURY.FK", - "licence": "https://github.com/thegenemyers/MERQURY.FK/blob/main/LICENSE" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastk1_hist": { - "type": "file", - "description": "A histogram files from the program FastK", - "pattern": "*.hist" - } - }, - { - "fastk1_ktab": { - "type": "file", - "description": "Histogram ktab files from the program FastK (option -t)", - "pattern": "*.ktab*" - } - }, - { - "fastk2_hist": { - "type": "file", - "description": "A histogram files from the program FastK", - "pattern": "*.hist" - } - }, - { - "fastk2_ktab": { - "type": "file", - "description": "Histogram ktab files from the program FastK (option -t)", - "pattern": "*.ktab*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "filled_png": { - "type": "file", - "description": "Comparison of Kmers between sample 1 and 2 in filled PNG format.", - "pattern": "*.fi.png" - } - }, - { - "line_png": { - "type": "file", - "description": "Comparison of Kmers between sample 1 and 2 in line PNG format.", - "pattern": "*.ln.png" - } - }, - { - "stacked_png": { - "type": "file", - "description": "Comparison of Kmers between sample 1 and 2 in stacked PNG format.", - "pattern": "*.st.png" - } - }, - { - "filled_pdf": { - "type": "file", - "description": "Comparison of Kmers between sample 1 and 2 in filled PDF format.", - "pattern": "*.fi.pdf" - } - }, - { - "line_pdf": { - "type": "file", - "description": "Comparison of Kmers between sample 1 and 2 in line PDF format.", - "pattern": "*.ln.pdf" - } - }, - { - "stacked_pdf": { - "type": "file", - "description": "Comparison of Kmers between sample 1 and 2 in stacked PDF format.", - "pattern": "*.st.pdf" - } - } - ], - "authors": ["@mahesh-panchal"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "merquryfk_katgc", - "path": "modules/nf-core/merquryfk/katgc/meta.yml", - "type": "module", - "meta": { - "name": "merquryfk_katgc", - "description": "A reimplemenation of Kat GC to work with FastK databases", - "keywords": ["k-mer", "GC content"], - "tools": [ - { - "merquryfk": { - "description": "FastK based version of Merqury", - "homepage": "https://github.com/thegenemyers/MERQURY.FK", - "tool_dev_url": "https://github.com/thegenemyers/MERQURY.FK", - "licence": "https://github.com/thegenemyers/MERQURY.FK/blob/main/LICENSE" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastk_hist": { - "type": "file", - "description": "A histogram files from the program FastK", - "pattern": "*.hist" - } - }, - { - "fastk_ktab": { - "type": "file", - "description": "ktab files from the program FastK", - "pattern": "*.ktab*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "filled_gc_plot_png": { - "type": "file", - "description": "A filled GC content plot in PNG format", - "pattern": "*.fi.png" - } - }, - { - "filled_gc_plot_pdf": { - "type": "file", - "description": "A filled GC content plot in PDF format", - "pattern": "*.fi.pdf" - } - }, - { - "line_gc_plot_png": { - "type": "file", - "description": "A line GC content plot in PNG format", - "pattern": "*.ln.png" - } - }, - { - "line_gc_plot_pdf": { - "type": "file", - "description": "A line GC content plot in PDF format", - "pattern": "*.ln.pdf" - } - }, - { - "stacked_gc_plot_png": { - "type": "file", - "description": "A stacked GC content plot in PNG format", - "pattern": "*.st.png" - } - }, - { - "stacked_gc_plot_pdf": { - "type": "file", - "description": "A stacked GC content plot in PDF format", - "pattern": "*.st.pdf" - } - } - ], - "authors": ["@mahesh-panchal"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "merquryfk_merquryfk", - "path": "modules/nf-core/merquryfk/merquryfk/meta.yml", - "type": "module", - "meta": { - "name": "merquryfk_merquryfk", - "description": "FastK based version of Merqury", - "keywords": ["sort"], - "tools": [ - { - "merquryfk": { - "description": "FastK based version of Merqury", - "homepage": "https://github.com/thegenemyers/MERQURY.FK", - "tool_dev_url": "https://github.com/thegenemyers/MERQURY.FK", - "licence": "https://github.com/thegenemyers/MERQURY.FK/blob/main/LICENSE" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastk_hist": { - "type": "file", - "description": "A histogram files from the program FastK", - "pattern": "*.hist" - } - }, - { - "fastk_ktab": { - "type": "file", - "description": "Histogram ktab files from the program FastK (option -t)", - "pattern": "*.ktab*" - } - }, - { - "assembly": { - "type": "file", - "description": "Genome (primary) assembly files (fasta format)", - "pattern": ".fasta" - } - }, - { - "haplotigs": { - "type": "file", - "description": "Assembly haplotigs (fasta format)", - "pattern": ".fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "stats": { - "type": "file", - "description": "Assembly statistics file", - "pattern": "*.completeness.stats" - } - }, - { - "bed": { - "type": "file", - "description": "Assembly only kmer positions not supported by reads in bed format", - "pattern": "*_only.bed" - } - }, - { - "spectra_cn_fl_png": { - "type": "file", - "description": "Unstacked copy number spectra filled plot in PNG format", - "pattern": "*.spectra-cn.fl.png" - } - }, - { - "spectra_cn_ln_png": { - "type": "file", - "description": "Unstacked copy number spectra line plot in PNG format", - "pattern": "*.spectra-cn.ln.png" - } - }, - { - "spectra_cn_st_png": { - "type": "file", - "description": "Stacked copy number spectra line plot in PNG format", - "pattern": "*.spectra-cn.st.png" - } - }, - { - "spectra_asm_fl_png": { - "type": "file", - "description": "Unstacked assembly spectra filled plot in PNG format", - "pattern": "*.spectra-asm.fl.png" - } - }, - { - "spectra_asm_ln_png": { - "type": "file", - "description": "Unstacked assembly spectra line plot in PNG format", - "pattern": "*.spectra-asm.ln.png" - } - }, - { - "spectra_asm_st_png": { - "type": "file", - "description": "Stacked assembly spectra line plot in PNG format", - "pattern": "*.spectra-asm.st.png" - } - }, - { - "spectra_cn_fl_pdf": { - "type": "file", - "description": "Unstacked copy number spectra filled plot in PDF format", - "pattern": "*.spectra-cn.fl.pdf" - } - }, - { - "spectra_cn_ln_pdf": { - "type": "file", - "description": "Unstacked copy number spectra line plot in PDF format", - "pattern": "*.spectra-cn.ln.pdf" - } - }, - { - "spectra_cn_st_pdf": { - "type": "file", - "description": "Stacked copy number spectra line plot in PDF format", - "pattern": "*.spectra-cn.st.pdf" - } - }, - { - "spectra_asm_fl_pdf": { - "type": "file", - "description": "Unstacked assembly spectra filled plot in PDF format", - "pattern": "*.spectra-asm.fl.pdf" - } - }, - { - "spectra_asm_ln_pdf": { - "type": "file", - "description": "Unstacked assembly spectra line plot in PDF format", - "pattern": "*.spectra-asm.ln.pdf" - } - }, - { - "spectra_asm_st_pdf": { - "type": "file", - "description": "Stacked assembly spectra line plot in PDF format", - "pattern": "*.spectra-asm.st.pdf" - } - }, - { - "assembly_qv": { - "type": "file", - "description": "error and qv table for each scaffold of the assembly", - "pattern": "*.qv" - } - }, - { - "qv": { - "type": "file", - "description": "error and qv of each assembly as a whole", - "pattern": "*.qv" - } - } - ], - "authors": ["@mahesh-panchal"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "merquryfk_ploidyplot", - "path": "modules/nf-core/merquryfk/ploidyplot/meta.yml", - "type": "module", - "meta": { - "name": "merquryfk_ploidyplot", - "description": "An improved version of Smudgeplot using FastK", - "keywords": ["kmer", "smudgeplot", "ploidy"], - "tools": [ - { - "merquryfk": { - "description": "FastK based version of Merqury", - "homepage": "https://github.com/thegenemyers/MERQURY.FK", - "tool_dev_url": "https://github.com/thegenemyers/MERQURY.FK", - "licence": "https://github.com/thegenemyers/MERQURY.FK/blob/main/LICENSE" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastk_hist": { - "type": "file", - "description": "A histogram files from the program FastK", - "pattern": "*.hist" - } - }, - { - "fastk_ktab": { - "type": "file", - "description": "ktab files from the program FastK", - "pattern": "*.ktab*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "filled_ploidy_plot_png": { - "type": "file", - "description": "A filled ploidy plot in PNG format", - "pattern": "*.fi.png" - } - }, - { - "filled_ploidy_plot_pdf": { - "type": "file", - "description": "A filled ploidy plot in PDF format", - "pattern": "*.fi.pdf" - } - }, - { - "line_ploidy_plot_png": { - "type": "file", - "description": "A line ploidy plot in PNG format", - "pattern": "*.ln.png" - } - }, - { - "line_ploidy_plot_pdf": { - "type": "file", - "description": "A lin4 ploidy plot in PDF format", - "pattern": "*.ln.pdf" - } - }, - { - "stacked_ploidy_plot_png": { - "type": "file", - "description": "A stacked ploidy plot in PNG format", - "pattern": "*.st.png" - } - }, - { - "stacked_ploidy_plot_pdf": { - "type": "file", - "description": "A stacked ploidy plot in PDF format", - "pattern": "*.st.pdf" - } - } - ], - "authors": ["@mahesh-panchal"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "meryl_count", - "path": "modules/nf-core/meryl/count/meta.yml", - "type": "module", - "meta": { - "name": "meryl_count", - "description": "A genomic k-mer counter (and sequence utility) with nice features.", - "keywords": ["k-mer", "count"], - "tools": [ - { - "meryl": { - "description": "A genomic k-mer counter (and sequence utility) with nice features. ", - "homepage": "https://github.com/marbl/meryl", - "documentation": "https://meryl.readthedocs.io/en/latest/quick-start.html", - "tool_dev_url": "https://github.com/marbl/meryl", - "licence": "['GPL']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "meryl_db": { - "type": "directory", - "description": "A Meryl k-mer database", - "pattern": "*.meryldb" - } - } - ], - "authors": ["@mahesh-panchal"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "meryl_histogram", - "path": "modules/nf-core/meryl/histogram/meta.yml", - "type": "module", - "meta": { - "name": "meryl_histogram", - "description": "A genomic k-mer counter (and sequence utility) with nice features.", - "keywords": ["k-mer", "histogram"], - "tools": [ - { - "meryl": { - "description": "A genomic k-mer counter (and sequence utility) with nice features. ", - "homepage": "https://github.com/marbl/meryl", - "documentation": "https://meryl.readthedocs.io/en/latest/quick-start.html", - "tool_dev_url": "https://github.com/marbl/meryl", - "licence": "['GPL']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "meryl_dbs": { - "type": "directory", - "description": "Meryl k-mer database" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "hist": { - "type": "file", - "description": "Histogram of k-mers", - "pattern": "*.hist" - } - } - ], - "authors": ["@mahesh-panchal"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "meryl_unionsum", - "path": "modules/nf-core/meryl/unionsum/meta.yml", - "type": "module", - "meta": { - "name": "meryl_unionsum", - "description": "A genomic k-mer counter (and sequence utility) with nice features.", - "keywords": ["k-mer", "unionsum"], - "tools": [ - { - "meryl": { - "description": "A genomic k-mer counter (and sequence utility) with nice features. ", - "homepage": "https://github.com/marbl/meryl", - "documentation": "https://meryl.readthedocs.io/en/latest/quick-start.html", - "tool_dev_url": "https://github.com/marbl/meryl", - "licence": "['GPL']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "meryl_dbs": { - "type": "directory", - "description": "Meryl k-mer databases" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "meryl_db": { - "type": "directory", - "description": "A Meryl k-mer database that is the union sum of the input databases", - "pattern": "*.unionsum.meryldb" - } - } - ], - "authors": ["@mahesh-panchal"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - } - ] - }, - { - "name": "metabat2_jgisummarizebamcontigdepths", - "path": "modules/nf-core/metabat2/jgisummarizebamcontigdepths/meta.yml", - "type": "module", - "meta": { - "name": "metabat2_jgisummarizebamcontigdepths", - "description": "Depth computation per contig step of metabat2", - "keywords": ["sort", "binning", "depth", "bam", "coverage", "de novo assembly"], - "tools": [ - { - "metabat2": { - "description": "Metagenome binning", - "homepage": "https://bitbucket.org/berkeleylab/metabat/src/master/", - "documentation": "https://bitbucket.org/berkeleylab/metabat/src/master/", - "tool_dev_url": "https://bitbucket.org/berkeleylab/metabat/src/master/", - "doi": "10.7717/peerj.7359", - "licence": ["BSD-3-clause-LBNL"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM file of reads aligned on the assembled contigs", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file", - "pattern": "*.bam.bai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "depth": { - "type": "file", - "description": "Text file listing the coverage per contig", - "pattern": ".txt.gz" - } - } - ], - "authors": ["@maxibor"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "metabat2_metabat2", - "path": "modules/nf-core/metabat2/metabat2/meta.yml", - "type": "module", - "meta": { - "name": "metabat2_metabat2", - "description": "Metagenome binning of contigs", - "keywords": ["sort", "binning", "depth", "bam", "coverage", "de novo assembly"], - "tools": [ - { - "metabat2": { - "description": "Metagenome binning", - "homepage": "https://bitbucket.org/berkeleylab/metabat/src/master/", - "documentation": "https://bitbucket.org/berkeleylab/metabat/src/master/", - "tool_dev_url": "https://bitbucket.org/berkeleylab/metabat/src/master/", - "doi": "10.7717/peerj.7359", - "licence": ["BSD-3-clause-LBNL"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Fasta file of the assembled contigs", - "pattern": "*.{fa,fas,fasta,fna,fa.gz,fas.gz,fasta.gz,fna.gz}" - } - }, - { - "depth": { - "type": "file", - "description": "Optional text file listing the coverage per contig pre-generated\nby metabat2_jgisummarizebamcontigdepths\n", - "pattern": "*.txt" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fasta": { - "type": "file", - "description": "Bins created from assembled contigs in fasta file", - "pattern": "*.fa.gz" - } - }, - { - "tooshort": { - "type": "file", - "description": "Contigs that did not pass length filtering", - "pattern": "*.tooShort.fa.gz" - } - }, - { - "lowdepth": { - "type": "file", - "description": "Contigs that did not have sufficient depth for binning", - "pattern": "*.lowDepth.fa.gz" - } - }, - { - "unbinned": { - "type": "file", - "description": "Contigs that pass length and depth filtering but could not be binned", - "pattern": "*.unbinned.fa.gz" - } - }, - { - "membership": { - "type": "file", - "description": "cluster memberships as a matrix format.", - "pattern": "*.tsv.gz" - } - } - ], - "authors": ["@maxibor", "@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "metaeuk_easypredict", - "path": "modules/nf-core/metaeuk/easypredict/meta.yml", - "type": "module", - "meta": { - "name": "metaeuk_easypredict", - "description": "Annotation of eukaryotic metagenomes using MetaEuk", - "keywords": ["genomics", "annotation", "fasta"], - "tools": [ - { - "metaeuk": { - "description": "MetaEuk - sensitive, high-throughput gene discovery and annotation for large-scale eukaryotic metagenomics", - "homepage": "https://github.com/soedinglab/metaeuk", - "documentation": "https://github.com/soedinglab/metaeuk", - "tool_dev_url": "https://github.com/soedinglab/metaeuk", - "doi": "10.1186/s40168-020-00808-x", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Nucleotide FASTA file for annotation", - "pattern": "*.{fasta,fa,fasta.gz,fa.gz}" - } - }, - { - "database": { - "type": "file", - "description": "Either a fasta file containing protein sequences, or a directory containing an mmseqs2-formatted protein database" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "faa": { - "type": "file", - "description": "Protein FASTA file containing the exons from the input FASTA file", - "pattern": "*.{fas}" - } - }, - { - "codon": { - "type": "file", - "description": "Nucleotide FASTA file of protein-coding sequences", - "pattern": "*.{codon.fas}" - } - }, - { - "tsv": { - "type": "file", - "description": "TSV file containing locations of each protein coding sequence in the input fasta", - "pattern": "*.headersMap.{tsv}" - } - }, - { - "gff": { - "type": "file", - "description": "Annotation file in GFF format", - "pattern": "*.{gff}" - } - } - ], - "authors": ["@prototaxites"] - } - }, - { - "name": "metaphlan3_mergemetaphlantables", - "path": "modules/nf-core/metaphlan3/mergemetaphlantables/meta.yml", - "type": "module", - "meta": { - "name": "metaphlan3_mergemetaphlantables", - "description": "Merges output abundance tables from MetaPhlAn3", - "keywords": ["metagenomics", "classification", "merge", "table", "profiles"], - "tools": [ - { - "metaphlan3": { - "description": "Identify clades (phyla to species) present in the metagenome obtained from a microbiome sample and their relative abundance", - "homepage": "https://huttenhower.sph.harvard.edu/metaphlan/", - "documentation": "https://github.com/biobakery/MetaPhlAn", - "doi": "10.7554/eLife.65088", - "licence": ["MIT License"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "profiles": { - "type": "file", - "description": "List of per-sample MetaPhlAn3 taxonomic abundance tables", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "txt", - "description": "Combined MetaPhlAn3 table", - "pattern": "*.txt" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "metaphlan3_metaphlan3", - "path": "modules/nf-core/metaphlan3/metaphlan3/meta.yml", - "type": "module", - "meta": { - "name": "metaphlan3_metaphlan3", - "description": "MetaPhlAn is a tool for profiling the composition of microbial communities from metagenomic shotgun sequencing data.", - "keywords": ["metagenomics", "classification", "fastq", "bam", "fasta"], - "tools": [ - { - "metaphlan3": { - "description": "Identify clades (phyla to species) present in the metagenome obtained from a microbiome sample and their relative abundance", - "homepage": "https://huttenhower.sph.harvard.edu/metaphlan/", - "documentation": "https://github.com/biobakery/MetaPhlAn", - "doi": "10.7554/eLife.65088", - "licence": ["MIT License"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "Metaphlan 3.0 can classify the metagenome from a variety of input data types, including FASTQ files (single-end and paired-end), FASTA, bowtie2-produced SAM files (produced from alignments to the MetaPHlAn marker database) and intermediate bowtie2 alignment files (bowtie2out)", - "pattern": "*.{fastq.gz, fasta, fasta.gz, sam, bowtie2out.txt}" - } - }, - { - "metaphlan_db": { - "type": "file", - "description": "Directory containing pre-downloaded and uncompressed MetaPhlAn3 database downloaded from: http://cmprod1.cibio.unitn.it/biobakery3/metaphlan_databases/.\nNote that you will also need to specify `--index` and the database version name (e.g. 'mpa_v31_CHOCOPhlAn_201901') in your module.conf ext.args for METAPHLAN3_METAPHLAN3!\n", - "pattern": "*/" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "profile": { - "type": "file", - "description": "Tab-separated output file of the predicted taxon relative abundances", - "pattern": "*.{txt}" - } - }, - { - "biom": { - "type": "file", - "description": "General-use format for representing biological sample by observation contingency tables", - "pattern": "*.{biom}" - } - }, - { - "bowtie2out": { - "type": "file", - "description": "Intermediate Bowtie2 output produced from mapping the metagenome against the MetaPHlAn marker database ( not compatible with `bowtie2out` files generated with MetaPhlAn versions below 3 )", - "pattern": "*.{bowtie2out.txt}" - } - } - ], - "authors": ["@MGordon09"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "metaphlan_makedb", - "path": "modules/nf-core/metaphlan/makedb/meta.yml", - "type": "module", - "meta": { - "name": "metaphlan_makedb", - "description": "Build MetaPhlAn database for taxonomic profiling.", - "keywords": ["metaphlan", "index", "database", "metagenomics"], - "tools": [ - { - "metaphlan": { - "description": "Identify clades (phyla to species) present in the metagenome obtained from a microbiome sample and their relative abundance", - "homepage": "https://huttenhower.sph.harvard.edu/metaphlan/", - "documentation": "https://github.com/biobakery/MetaPhlAn", - "doi": "10.7554/eLife.65088", - "licence": ["MIT License"] - } - } - ], - "output": [ - { - "db": { - "type": "directory", - "description": "Output directory containing the indexed METAPHLAN database", - "pattern": "*/" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@LilyAnderssonLee"] - } - }, - { - "name": "metaphlan_mergemetaphlantables", - "path": "modules/nf-core/metaphlan/mergemetaphlantables/meta.yml", - "type": "module", - "meta": { - "name": "metaphlan_mergemetaphlantables", - "description": "Merges output abundance tables from MetaPhlAn4", - "keywords": ["metagenomics", "classification", "merge", "table", "profiles"], - "tools": [ - { - "metaphlan4": { - "description": "Identify clades (phyla to species) present in the metagenome obtained from a microbiome sample and their relative abundance", - "homepage": "https://huttenhower.sph.harvard.edu/metaphlan/", - "documentation": "https://github.com/biobakery/MetaPhlAn", - "doi": "10.1038/s41587-023-01688-w", - "licence": ["MIT License"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "profiles": { - "type": "file", - "description": "List of per-sample MetaPhlAn4 taxonomic abundance tables", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "Combined MetaPhlAn4 table", - "pattern": "*.txt" - } - } - ], - "authors": ["@jfy133", "@LilyAnderssonLee"] - } - }, - { - "name": "metaphlan_metaphlan", - "path": "modules/nf-core/metaphlan/metaphlan/meta.yml", - "type": "module", - "meta": { - "name": "metaphlan_metaphlan", - "description": "MetaPhlAn is a tool for profiling the composition of microbial communities from metagenomic shotgun sequencing data.", - "keywords": ["metagenomics", "classification", "fastq", "fasta", "sam"], - "tools": [ - { - "metaphlan": { - "description": "Identify clades (phyla to species) present in the metagenome obtained from a microbiome sample and their relative abundance", - "homepage": "https://huttenhower.sph.harvard.edu/metaphlan/", - "documentation": "https://github.com/biobakery/MetaPhlAn", - "doi": "10.1038/s41587-023-01688-w", - "licence": ["MIT License"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "Metaphlan can classify the metagenome from a variety of input data types, including FASTQ files (single-end and paired-end), FASTA, bowtie2-produced SAM files (produced from alignments to the MetaPHlAn marker database) and intermediate bowtie2 alignment files (bowtie2out)", - "pattern": "*.{fastq.gz, fasta, fasta.gz, sam, bowtie2out.txt}" - } - }, - { - "metaphlan_db": { - "type": "file", - "description": "Directory containing pre-downloaded and uncompressed MetaPhlAn database downloaded from: http://cmprod1.cibio.unitn.it/biobakery4/metaphlan_databases/.\nNote that you will also need to specify `--index` and the database version name (e.g. 'mpa_vJan21_TOY_CHOCOPhlAnSGB_202103') in your module.conf ext.args for METAPHLAN_METAPHLAN!\n", - "pattern": "*/" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "profile": { - "type": "file", - "description": "Tab-separated output file of the predicted taxon relative abundances", - "pattern": "*.{txt}" - } - }, - { - "biom": { - "type": "file", - "description": "General-use format for representing biological sample by observation contingency tables", - "pattern": "*.{biom}" - } - }, - { - "bowtie2out": { - "type": "file", - "description": "Intermediate Bowtie2 output produced from mapping the metagenome against the MetaPHlAn marker database ( not compatible with `bowtie2out` files generated with MetaPhlAn versions below 3 )", - "pattern": "*.{bowtie2out.txt}" - } - } - ], - "authors": ["@MGordon09", "@LilyAnderssonLee"] - } - }, - { - "name": "methyldackel_extract", - "path": "modules/nf-core/methyldackel/extract/meta.yml", - "type": "module", - "meta": { - "name": "methyldackel_extract", - "description": "Extracts per-base methylation metrics from alignments", - "keywords": [ - "methylation", - "5mC", - "methylseq", - "bisulphite", - "bisulfite", - "consensus", - "bedGraph", - "bam", - "cram" - ], - "tools": [ - { - "methyldackel": { - "description": "Methylation caller from MethylDackel, a (mostly) universal methylation extractor\nfor methyl-seq experiments.\n", - "homepage": "https://github.com/dpryan79/MethylDackel", - "documentation": "https://github.com/dpryan79/MethylDackel/blob/master/README.md", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input genome fasta file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fai": { - "type": "file", - "description": "FASTA index file", - "pattern": "*.fai" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM/CRAM index file", - "pattern": "*.{bai,crai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bedgraph": { - "type": "file", - "description": "bedGraph file, containing per-base methylation metrics", - "pattern": "*.bedGraph" - } - }, - { - "methylkit": { - "type": "file", - "description": "methylKit file, containing per-base methylation metrics", - "pattern": "*.methylKit" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@phue"] - }, - "pipelines": [ - { - "name": "methylseq", - "version": "2.4.0" - } - ] - }, - { - "name": "methyldackel_mbias", - "path": "modules/nf-core/methyldackel/mbias/meta.yml", - "type": "module", - "meta": { - "name": "methyldackel_mbias", - "description": "Generates methylation bias plots from alignments", - "keywords": [ - "methylation", - "5mC", - "methylseq", - "bisulphite", - "bisulfite", - "methylation bias", - "mbias", - "qc", - "bam", - "cram" - ], - "tools": [ - { - "methyldackel": { - "description": "Read position methylation bias tools from MethylDackel, a (mostly) universal extractor\nfor methyl-seq experiments.\n", - "homepage": "https://github.com/dpryan79/MethylDackel", - "documentation": "https://github.com/dpryan79/MethylDackel/blob/master/README.md", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input genome fasta file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fai": { - "type": "file", - "description": "FASTA index file", - "pattern": "*.{fai}" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM/CRAM index file", - "pattern": "*.{bai,crai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "txt": { - "type": "file", - "description": "Text file containing methylation bias", - "pattern": "*.{txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@phue"] - }, - "pipelines": [ - { - "name": "methylseq", - "version": "2.4.0" - } - ] - }, - { - "name": "midas_run", - "path": "modules/nf-core/midas/run/meta.yml", - "type": "module", - "meta": { - "name": "midas_run", - "description": "A tool to estimate bacterial species abundance", - "keywords": ["bacteria", "metagenomic", "abundance"], - "tools": [ - { - "midas": { - "description": "An integrated pipeline for estimating strain-level genomic variation from metagenomic data", - "homepage": "https://github.com/snayfach/MIDAS", - "documentation": "https://github.com/snayfach/MIDAS", - "tool_dev_url": "https://github.com/snayfach/MIDAS", - "doi": "10.1101/gr.201863.115", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Reads in FASTQ format", - "pattern": "*.{fastq.gz}" - } - }, - { - "db": { - "type": "file", - "description": "A database formatted for MIDAS", - "pattern": "*.{db}" - } - }, - { - "mode": { - "type": "string", - "description": "The mode to run MIDAS is", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "results": { - "type": "file", - "description": "A directory of results from MIDAS run", - "pattern": "*" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "mindagap_mindagap", - "path": "modules/nf-core/mindagap/mindagap/meta.yml", - "type": "module", - "meta": { - "name": "mindagap_mindagap", - "description": "Takes a single panorama image and fills the empty grid lines with neighbour-weighted values.", - "keywords": ["imaging", "resolve_bioscience", "spatial_transcriptomics"], - "tools": [ - { - "mindagap": { - "description": "Mindagap is a collection of tools to process multiplexed FISH data, such as produced by Resolve Biosciences Molecular Cartography.", - "homepage": "https://github.com/ViriatoII/MindaGap", - "documentation": "https://github.com/ViriatoII/MindaGap/blob/main/README.md", - "tool_dev_url": "https://github.com/ViriatoII/MindaGap", - "licence": "BSD-3-Clause license" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tiff": { - "type": "file", - "description": "A tiff file containing gridlines as produced by Molecular Cartography imaging.", - "pattern": "*.{tiff}" - } - }, - { - "boxsize": { - "type": "integer", - "description": "A larger number allows to overcome large gaps, but makes looses fine details in new filled grid." - } - }, - { - "loopnum": { - "type": "integer", - "description": "The number of times gaussian blur is run consecutively on the gridlines. A smaller number is faster, but the result is less good." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tiff": { - "type": "file", - "description": "A tiff file with gridlines filled based on consecutive gaussian blurring.", - "pattern": "*.{tiff}" - } - } - ], - "authors": ["@ViriatoII", "@flowuenne"] - } - }, - { - "name": "minia", - "path": "modules/nf-core/minia/meta.yml", - "type": "module", - "meta": { - "name": "minia", - "description": "Minia is a short-read assembler based on a de Bruijn graph", - "keywords": ["assembly"], - "tools": [ - { - "minia": { - "description": "Minia is a short-read assembler based on a de Bruijn graph, capable of assembling\na human genome on a desktop computer in a day. The output of Minia is a set of contigs.\n", - "homepage": "https://github.com/GATB/minia", - "documentation": "https://github.com/GATB/minia", - "licence": ["AGPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Input reads in FastQ format", - "pattern": "*.{fastq.gz, fastq}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "contigs": { - "type": "file", - "description": "The assembled contigs", - "pattern": "*.contigs.fa" - } - }, - { - "unitigs": { - "type": "file", - "description": "The assembled unitigs", - "pattern": "*.unitigs.fa" - } - }, - { - "h5": { - "type": "file", - "description": "Minia output h5 file", - "pattern": "*{.h5}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "miniasm", - "path": "modules/nf-core/miniasm/meta.yml", - "type": "module", - "meta": { - "name": "miniasm", - "description": "A very fast OLC-based de novo assembler for noisy long reads", - "keywords": ["assembly", "pacbio", "nanopore"], - "tools": [ - { - "miniasm": { - "description": "Ultrafast de novo assembly for long noisy reads (though having no consensus step)", - "homepage": "https://github.com/lh3/miniasm", - "documentation": "https://github.com/lh3/miniasm", - "tool_dev_url": "https://github.com/lh3/miniasm", - "doi": "10.1093/bioinformatics/btw152", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input PacBio/ONT FastQ files.", - "pattern": "*.{fastq,fastq.gz,fq,fq.gz}" - } - }, - { - "paf": { - "type": "file", - "description": "Alignment in PAF format", - "pattern": "*{.paf,.paf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "gfa": { - "type": "file", - "description": "Assembly graph", - "pattern": "*.gfa.gz" - } - }, - { - "assembly": { - "type": "file", - "description": "Genome assembly", - "pattern": "*.fasta.gz" - } - } - ], - "authors": ["@avantonder"] - } - }, - { - "name": "minimap2_align", - "path": "modules/nf-core/minimap2/align/meta.yml", - "type": "module", - "meta": { - "name": "minimap2_align", - "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences", - "keywords": ["align", "fasta", "fastq", "genome", "paf", "reference"], - "tools": [ - { - "minimap2": { - "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences.\n", - "homepage": "https://github.com/lh3/minimap2", - "documentation": "https://github.com/lh3/minimap2#uguide", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FASTA or FASTQ files of size 1 and 2 for single-end\nand paired-end data, respectively.\n" - } - }, - { - "reference": { - "type": "file", - "description": "Reference database in FASTA format.\n" - } - }, - { - "bam_format": { - "type": "boolean", - "description": "Specify that output should be in BAM format" - } - }, - { - "cigar_paf_format": { - "type": "boolean", - "description": "Specify that output CIGAR should be in PAF format" - } - }, - { - "cigar_bam": { - "type": "boolean", - "description": "Write CIGAR with >65535 ops at the CG tag. This is recommended when\ndoing XYZ (https://github.com/lh3/minimap2#working-with-65535-cigar-operations)\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "paf": { - "type": "file", - "description": "Alignment in PAF format", - "pattern": "*.paf" - } - }, - { - "bam": { - "type": "file", - "description": "Alignment in BAM format", - "pattern": "*.bam" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@heuermh", "@sofstam", "@sateeshperi", "@jfy133"] - }, - "pipelines": [ - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "crisprseq", - "version": "2.0.0" - }, - { - "name": "isoseq", - "version": "1.1.4" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "minimap2_index", - "path": "modules/nf-core/minimap2/index/meta.yml", - "type": "module", - "meta": { - "name": "minimap2_index", - "description": "Provides fasta index required by minimap2 alignment.", - "keywords": ["index", "fasta", "reference"], - "tools": [ - { - "minimap2": { - "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences.\n", - "homepage": "https://github.com/lh3/minimap2", - "documentation": "https://github.com/lh3/minimap2#uguide", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference database in FASTA format.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "file", - "description": "Minimap2 fasta index.", - "pattern": "*.mmi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@yuukiiwa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "crisprseq", - "version": "2.0.0" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "miniprot_align", - "path": "modules/nf-core/miniprot/align/meta.yml", - "type": "module", - "meta": { - "name": "miniprot_align", - "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences", - "keywords": ["align", "fasta", "protein", "genome", "paf", "gff"], - "tools": [ - { - "miniprot": { - "description": "A versatile pairwise aligner for genomic and protein sequences.\n", - "homepage": "https://github.com/lh3/miniprot", - "documentation": "https://github.com/lh3/miniprot", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "pep": { - "type": "file", - "description": "a fasta file contains one or multiple protein sequences" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\n" - } - }, - { - "ref": { - "type": "file", - "description": "Reference database in FASTA format or miniprot index format." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "paf": { - "type": "file", - "description": "Alignment in PAF format", - "pattern": "*.paf" - } - }, - { - "gff": { - "type": "file", - "description": "Alignment in gff format", - "pattern": "*.gff" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@yumisims", "@muffato"] - } - }, - { - "name": "miniprot_index", - "path": "modules/nf-core/miniprot/index/meta.yml", - "type": "module", - "meta": { - "name": "miniprot_index", - "description": "Provides fasta index required by miniprot alignment.", - "keywords": ["index", "fasta", "genome", "reference"], - "tools": [ - { - "miniprot": { - "description": "A versatile pairwise aligner for genomic and protein sequences.\n", - "homepage": "https://github.com/lh3/miniprot", - "documentation": "https://github.com/lh3/miniprot", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference database in FASTA format.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "file", - "description": "miniprot fasta index.", - "pattern": "*.mpi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@yumisims", "@muffato"] - } - }, - { - "name": "miranda", - "path": "modules/nf-core/miranda/meta.yml", - "type": "module", - "meta": { - "name": "miranda", - "description": "miRanda is an algorithm for finding genomic targets for microRNAs", - "keywords": ["microrna", "mirna", "target prediction"], - "tools": [ - { - "miranda": { - "description": "An algorithm for finding genomic targets for microRNAs", - "homepage": "https://cbio.mskcc.org/miRNA2003/miranda.html", - "documentation": "https://cbio.mskcc.org/miRNA2003/miranda.html", - "doi": "10.1186/gb-2003-5-1-r1", - "licence": "GNU Public License" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "query": { - "type": "file", - "description": "FASTA file containing the microRNA query sequences", - "pattern": "*.{fa,fasta}" - } - }, - { - "mirbase": { - "type": "file", - "description": "FASTA file containing the sequence(s) to be scanned", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "txt": { - "type": "file", - "description": "Reformatted TXT file containing microRNA targets", - "pattern": "*.{txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@BarryDigby"] - }, - "pipelines": [ - { - "name": "circrna", - "version": "dev" - } - ] - }, - { - "name": "mitohifi_findmitoreference", - "path": "modules/nf-core/mitohifi/findmitoreference/meta.yml", - "type": "module", - "meta": { - "name": "mitohifi_findmitoreference", - "description": "Download a mitochondrial genome to be used as reference for MitoHiFi", - "keywords": ["mitochondrial genome", "reference genome", "NCBI"], - "tools": [ - { - "findMitoReference.py": { - "description": "Fetch mitochondrial genome in Fasta and Genbank format from NCBI", - "homepage": "https://github.com/marcelauliano/MitoHiFi", - "documentation": "https://github.com/marcelauliano/MitoHiFi", - "tool_dev_url": "https://github.com/marcelauliano/MitoHiFi", - "doi": "10.1101/2022.12.23.521667", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "species": { - "type": "string", - "description": "Latin name of the species for which a mitochondrial genome should be fetched", - "pattern": "[A-Z]?[a-z]* [a-z]*" - } - }, - { - "email": { - "type": "string", - "description": "Email address for NCBI query" - } - }, - { - "min_length": { - "type": "integer", - "description": "Minimum length of the mitochondrial genome", - "pattern": "[0-9]*" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fasta": { - "type": "file", - "description": "Downloaded mitochondrial genome in Fasta format", - "pattern": "*.{fasta,fa}" - } - }, - { - "gb": { - "type": "file", - "description": "Downloaded mitochondrial genome in Genbank format", - "pattern": "*.gb" - } - } - ], - "authors": ["@verku"] - } - }, - { - "name": "mlst", - "path": "modules/nf-core/mlst/meta.yml", - "type": "module", - "meta": { - "name": "mlst", - "description": "Run Torsten Seemann's classic MLST on a genome assembly", - "keywords": ["mlst"], - "tools": [ - { - "mlst": { - "description": "Scan contig files against PubMLST typing schemes", - "homepage": "https://github.com/tseemann/mlst", - "licence": ["GPL v2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Assembly fasta file", - "pattern": "*.{fasta,fa,fna}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "MLST calls in tsv format", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@lskatz", "@tseemann"] - } - }, - { - "name": "mmseqs_cluster", - "path": "modules/nf-core/mmseqs/cluster/meta.yml", - "type": "module", - "meta": { - "name": "mmseqs_cluster", - "description": "Cluster sequences using MMSeqs2 cluster.", - "keywords": ["protein sequence", "databases", "clustering", "searching", "indexing", "mmseqs2"], - "tools": [ - { - "mmseqs": { - "description": "MMseqs2: ultra fast and sensitive sequence search and clustering suite", - "homepage": "https://github.com/soedinglab/MMseqs2", - "documentation": "https://mmseqs.com/latest/userguide.pdf", - "tool_dev_url": "https://github.com/soedinglab/MMseqs2", - "doi": "10.1093/bioinformatics/btw006", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "input_db": { - "type": "directory", - "description": "a MMseqs2 database used for clustering" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "cluster": { - "type": "file", - "description": "a clustered MMseqs2 database used for clustering" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "mmseqs_createdb", - "path": "modules/nf-core/mmseqs/createdb/meta.yml", - "type": "module", - "meta": { - "name": "mmseqs_createdb", - "description": "Create a MMseqs database from an existing FASTA/Q file", - "keywords": ["protein sequence", "databases", "clustering", "searching", "indexing", "mmseqs2"], - "tools": [ - { - "mmseqs": { - "description": "MMseqs2: ultra fast and sensitive sequence search and clustering suite", - "homepage": "https://github.com/soedinglab/MMseqs2", - "documentation": "https://mmseqs.com/latest/userguide.pdf", - "tool_dev_url": "https://github.com/soedinglab/MMseqs2", - "doi": "10.1093/bioinformatics/btw006", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "sequence": { - "type": "file", - "description": "Input sequences in FASTA/Q format to be indexed", - "pattern": "*.{fasta,fa,fna,fastq,fq}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "bam": { - "type": "directory", - "description": "The created MMseqs2 database" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "mmseqs_createindex", - "path": "modules/nf-core/mmseqs/createindex/meta.yml", - "type": "module", - "meta": { - "name": "mmseqs_createindex", - "description": "Creates sequence index for mmseqs database", - "keywords": ["protein sequence", "databases", "clustering", "searching", "indexing"], - "tools": [ - { - "mmseqs": { - "description": "MMseqs2: ultra fast and sensitive sequence search and clustering suite", - "homepage": "https://github.com/soedinglab/MMseqs2", - "documentation": "https://mmseqs.com/latest/userguide.pdf", - "tool_dev_url": "https://github.com/soedinglab/MMseqs2", - "doi": "10.1093/bioinformatics/btw006", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "db": { - "type": "directory", - "description": "Directory containing the DB to be indexed\n", - "pattern": "*" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions\n", - "pattern": "versions.yml" - } - }, - { - "db_indexed": { - "type": "directory", - "description": "Directory containing the DB and the generated indexes\n", - "pattern": "*" - } - } - ], - "authors": ["@JoseEspinosa"] - }, - "pipelines": [ - { - "name": "proteinfold", - "version": "1.0.0" - } - ] - }, - { - "name": "mmseqs_createtsv", - "path": "modules/nf-core/mmseqs/createtsv/meta.yml", - "type": "module", - "meta": { - "name": "mmseqs_createtsv", - "description": "Create a tsv file from a query and a target database as well as the result database", - "keywords": ["protein sequence", "databases", "clustering", "searching", "indexing", "mmseqs2", "tsv"], - "tools": [ - { - "mmseqs": { - "description": "MMseqs2: ultra fast and sensitive sequence search and clustering suite", - "homepage": "https://github.com/soedinglab/MMseqs2", - "documentation": "https://mmseqs.com/latest/userguide.pdf", - "tool_dev_url": "https://github.com/soedinglab/MMseqs2", - "doi": "10.1093/bioinformatics/btw006", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "db_result": { - "type": "directory", - "description": "an MMseqs2 database with result data" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "db_query": { - "type": "directory", - "description": "an MMseqs2 database with query data" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "db_target": { - "type": "directory", - "description": "an MMseqs2 database with target data" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "tsv": { - "type": "file", - "description": "The resulting tsv file created using the query, target and result MMseqs databases", - "pattern": "*.{tsv}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "mmseqs_databases", - "path": "modules/nf-core/mmseqs/databases/meta.yml", - "type": "module", - "meta": { - "name": "mmseqs_databases", - "description": "Download an mmseqs-formatted database", - "keywords": ["database", "indexing", "clustering", "searching"], - "tools": [ - { - "mmseqs": { - "description": "MMseqs2: ultra fast and sensitive sequence search and clustering suite", - "homepage": "https://github.com/soedinglab/MMseqs2", - "documentation": "https://mmseqs.com/latest/userguide.pdf", - "tool_dev_url": "https://github.com/soedinglab/MMseqs2", - "doi": "10.1093/bioinformatics/btw006", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "database": { - "type": "string", - "description": "Database available through the mmseqs2 databases interface - see https://github.com/soedinglab/MMseqs2/wiki#downloading-databases for details" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "database": { - "type": "directory", - "description": "Directory containing processed mmseqs database" - } - } - ], - "authors": ["@prototaxites"] - } - }, - { - "name": "mmseqs_search", - "path": "modules/nf-core/mmseqs/search/meta.yml", - "type": "module", - "meta": { - "name": "mmseqs_search", - "description": "Search and calculate a score for similar sequences in a query and a target database.", - "keywords": ["protein sequence", "databases", "clustering", "searching", "indexing", "mmseqs2"], - "tools": [ - { - "mmseqs": { - "description": "MMseqs2: ultra fast and sensitive sequence search and clustering suite", - "homepage": "https://github.com/soedinglab/MMseqs2", - "documentation": "https://mmseqs.com/latest/userguide.pdf", - "tool_dev_url": "https://github.com/soedinglab/MMseqs2", - "doi": "10.1093/bioinformatics/btw006", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "query_db": { - "type": "directory", - "description": "an MMseqs2 database with query data" - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "target_db": { - "type": "directory", - "description": "an MMseqs2 database with target data, e.g. uniref90" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "search_db": { - "type": "directory", - "description": "an MMseqs2 database with search results" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "mmseqs_tsv2exprofiledb", - "path": "modules/nf-core/mmseqs/tsv2exprofiledb/meta.yml", - "type": "module", - "meta": { - "name": "mmseqs_tsv2exprofiledb", - "description": "Conversion of expandable profile to databases to the MMseqs2 databases format", - "keywords": ["protein sequence", "databases", "clustering", "searching", "indexing"], - "tools": [ - { - "mmseqs": { - "description": "MMseqs2: ultra fast and sensitive sequence search and clustering suite", - "homepage": "https://github.com/soedinglab/MMseqs2", - "documentation": "https://mmseqs.com/latest/userguide.pdf", - "tool_dev_url": "https://github.com/soedinglab/MMseqs2", - "doi": "10.1093/bioinformatics/btw006", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "db": { - "type": "directory", - "description": "Directory containing the DB to be indexed\n", - "pattern": "*" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions\n", - "pattern": "versions.yml" - } - }, - { - "db_indexed": { - "type": "directory", - "description": "Directory containing the DB and the generated indexes\n", - "pattern": "*" - } - } - ], - "authors": ["@JoseEspinosa"] - }, - "pipelines": [ - { - "name": "proteinfold", - "version": "1.0.0" - } - ] - }, - { - "name": "mobsuite_recon", - "path": "modules/nf-core/mobsuite/recon/meta.yml", - "type": "module", - "meta": { - "name": "mobsuite_recon", - "description": "A tool to reconstruct plasmids in bacterial assemblies", - "keywords": ["bacteria", "plasmid"], - "tools": [ - { - "mobsuite": { - "description": "Software tools for clustering, reconstruction and typing of plasmids from draft assemblies.", - "homepage": "https://github.com/phac-nml/mob-suite", - "documentation": "https://github.com/phac-nml/mob-suite", - "tool_dev_url": "https://github.com/phac-nml/mob-suite", - "doi": "10.1099/mgen.0.000435", - "licence": ["Apache License, Version 2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "A bacterial genome assembly in FASTA format", - "pattern": "*.{fasta,fa,fna}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "chromosome": { - "type": "file", - "description": "FASTA file of all contigs found to belong to the chromosome", - "pattern": "chromosome.fasta" - } - }, - { - "contig_report": { - "type": "file", - "description": "Assignment of the contig to chromosome or a particular plasmid grouping", - "pattern": "contig_report.txt" - } - }, - { - "plasmids": { - "type": "file", - "description": "Each plasmid group is written to an individual FASTA", - "pattern": "plasmid_*.fasta" - } - }, - { - "mobtyper_results": { - "type": "file", - "description": "Aggregate MOB-typer report files for all identified plasmid", - "pattern": "mobtyper_results.txt" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "mosdepth", - "path": "modules/nf-core/mosdepth/meta.yml", - "type": "module", - "meta": { - "name": "mosdepth", - "description": "Calculates genome-wide sequencing coverage.", - "keywords": ["mosdepth", "bam", "cram", "coverage"], - "tools": [ - { - "mosdepth": { - "description": "Fast BAM/CRAM depth calculation for WGS, exome, or targeted sequencing.\n", - "documentation": "https://github.com/brentp/mosdepth", - "doi": "10.1093/bioinformatics/btx699", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Input BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "bai": { - "type": "file", - "description": "Index for BAM/CRAM file", - "pattern": "*.{bai,crai}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing bed information\ne.g. [ id:'test' ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "BED file with intersected intervals", - "pattern": "*.{bed}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome FASTA file", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "global_txt": { - "type": "file", - "description": "Text file with global cumulative coverage distribution", - "pattern": "*.{global.dist.txt}" - } - }, - { - "regions_txt": { - "type": "file", - "description": "Text file with region cumulative coverage distribution", - "pattern": "*.{region.dist.txt}" - } - }, - { - "summary_txt": { - "type": "file", - "description": "Text file with summary mean depths per chromosome and regions", - "pattern": "*.{summary.txt}" - } - }, - { - "per_base_bed": { - "type": "file", - "description": "BED file with per-base coverage", - "pattern": "*.{per-base.bed.gz}" - } - }, - { - "per_base_csi": { - "type": "file", - "description": "Index file for BED file with per-base coverage", - "pattern": "*.{per-base.bed.gz.csi}" - } - }, - { - "per_base_d4": { - "type": "file", - "description": "D4 file with per-base coverage", - "pattern": "*.{per-base.d4}" - } - }, - { - "regions_bed": { - "type": "file", - "description": "BED file with per-region coverage", - "pattern": "*.{regions.bed.gz}" - } - }, - { - "regions_csi": { - "type": "file", - "description": "Index file for BED file with per-region coverage", - "pattern": "*.{regions.bed.gz.csi}" - } - }, - { - "quantized_bed": { - "type": "file", - "description": "BED file with binned coverage", - "pattern": "*.{quantized.bed.gz}" - } - }, - { - "quantized_csi": { - "type": "file", - "description": "Index file for BED file with binned coverage", - "pattern": "*.{quantized.bed.gz.csi}" - } - }, - { - "thresholds_bed": { - "type": "file", - "description": "BED file with the number of bases in each region that are covered at or above each threshold", - "pattern": "*.{thresholds.bed.gz}" - } - }, - { - "thresholds_csi": { - "type": "file", - "description": "Index file for BED file with threshold coverage", - "pattern": "*.{thresholds.bed.gz.csi}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh", "@ramprasadn", "@matthdsm"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "variantcatalogue", - "version": "dev" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "motus_downloaddb", - "path": "modules/nf-core/motus/downloaddb/meta.yml", - "type": "module", - "meta": { - "name": "motus_downloaddb", - "description": "Download the mOTUs database", - "keywords": ["classify", "metagenomics", "fastq", "taxonomic profiling", "database", "download"], - "tools": [ - { - "motus": { - "description": "The mOTU profiler is a computational tool that estimates relative taxonomic abundance of known and currently unknown microbial community members using metagenomic shotgun sequencing data.", - "documentation": "https://github.com/motu-tool/mOTUs/wiki", - "tool_dev_url": "https://github.com/motu-tool/mOTUs", - "doi": "10.1186/s40168-022-01410-z", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "motus_downloaddb": { - "type": "directory", - "description": "The mOTUs downloadDB script source file.\nIt is the source file installed or\nremote source in github such as https://raw.githubusercontent.com/motu-tool/mOTUs/master/motus/downloadDB.py\n", - "pattern": "downloadDB.py" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "db": { - "type": "directory", - "description": "The mOTUs database directory", - "pattern": "db_mOTU" - } - } - ], - "authors": ["@jianhong"] - } - }, - { - "name": "motus_merge", - "path": "modules/nf-core/motus/merge/meta.yml", - "type": "module", - "meta": { - "name": "motus_merge", - "description": "Taxonomic meta-omics profiling using universal marker genes", - "keywords": [ - "classify", - "metagenomics", - "fastq", - "taxonomic profiling", - "merging", - "merge", - "otu table" - ], - "tools": [ - { - "motus": { - "description": "Marker gene-based OTU (mOTU) profiling", - "homepage": "https://motu-tool.org/", - "documentation": "https://github.com/motu-tool/mOTUs/wiki", - "tool_dev_url": "https://github.com/motu-tool/mOTUs", - "doi": "10.1186/s40168-022-01410-z", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "input": { - "type": "file", - "description": "List of output files (more than one) from motus profile,\nor a single directory containing motus output files.\n" - } - }, - { - "db": { - "type": "directory", - "description": "mOTUs database downloaded by `motus downloadDB`\npattern: \"db_mOTU/\"\n" - } - }, - { - "profile_version_yml": { - "type": "file", - "description": "A single versions.yml file output from motus/profile. motus/merge cannot reconstruct\nthis itself without having the motus database present and configured with the tool\nso here we take it from what is already reported by the upstream module.\n", - "pattern": "versions.yml" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "OTU table in txt format, if BIOM format not requested", - "pattern": "*.txt" - } - }, - { - "biom": { - "type": "file", - "description": "OTU table in biom format, if BIOM format requested", - "pattern": "*.biom" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "motus_profile", - "path": "modules/nf-core/motus/profile/meta.yml", - "type": "module", - "meta": { - "name": "motus_profile", - "description": "Taxonomic meta-omics profiling using universal marker genes", - "keywords": ["classify", "metagenomics", "fastq", "taxonomic profiling"], - "tools": [ - { - "motus": { - "description": "Marker gene-based OTU (mOTU) profiling", - "homepage": "https://motu-tool.org/", - "documentation": "https://github.com/motu-tool/mOTUs/wiki", - "tool_dev_url": "https://github.com/motu-tool/mOTUs", - "doi": "10.1186/s40168-022-01410-z", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input fastq/fasta files of size 1 and 2 for single-end and paired-end data,\nrespectively.\nOr the intermediate bam file mapped by bwa to the mOTUs database or\nthe output bam file from motus profile.\nOr the intermediate mgc read counts table.\n", - "pattern": "*.{fastq,fq,fasta,fa,fastq.gz,fq.gz,fasta.gz,fa.gz,.bam,.mgc}" - } - }, - { - "db": { - "type": "directory", - "description": "mOTUs database downloaded by `motus downloadDB`\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "out": { - "type": "file", - "description": "Results with taxonomic classification of each read", - "pattern": "*.out" - } - }, - { - "bam": { - "type": "file", - "description": "Optional intermediate sorted BAM file from BWA", - "pattern": "*.{bam}" - } - }, - { - "mgc": { - "type": "file", - "description": "Optional intermediate mgc read count table file saved with `-M`.", - "pattern": "*.{mgc}" - } - }, - { - "log": { - "type": "file", - "description": "Standard error logging file containing summary statistics", - "pattern": "*.log" - } - } - ], - "authors": ["@jianhong"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "msisensor2_msi", - "path": "modules/nf-core/msisensor2/msi/meta.yml", - "type": "module", - "meta": { - "name": "msisensor2_msi", - "description": "msisensor2 detection of MSI regions.", - "keywords": ["msi"], - "tools": [ - { - "msisensor2": { - "description": "MSIsensor2 is a novel algorithm based machine learning, featuring a large upgrade in the microsatellite instability (MSI) detection for tumor only sequencing data, including Cell-Free DNA (cfDNA), Formalin-Fixed Paraffin-Embedded(FFPE) and other sample types. The original MSIsensor is specially designed for tumor/normal paired sequencing data.", - "homepage": "https://github.com/niu-lab/msisensor2", - "documentation": "https://github.com/niu-lab/msisensor2/blob/master/README.md", - "tool_dev_url": "https://github.com/niu-lab/msisensor2", - "licence": "GPL-3.0" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tumor_bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "normal_bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "intervals": { - "type": "file", - "description": "BED", - "pattern": "*.bed" - } - }, - { - "models": { - "type": "file", - "description": "Folder of MSISensor2 models (available from Github or as a product of msisensor2/scan)", - "pattern": "*/*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "msi": { - "type": "file", - "description": "MSI classifications as a text file" - } - }, - { - "distribution": { - "type": "file", - "description": "Read count distributions of MSI regions" - } - }, - { - "somatic": { - "type": "file", - "description": "Somatic MSI regions detected." - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@adamrtalbot"] - } - }, - { - "name": "msisensor2_scan", - "path": "modules/nf-core/msisensor2/scan/meta.yml", - "type": "module", - "meta": { - "name": "msisensor2_scan", - "description": "msisensor2 detection of MSI regions.", - "keywords": ["msi"], - "tools": [ - { - "msisensor2": { - "description": "MSIsensor2 is a novel algorithm based machine learning, featuring a large upgrade in the microsatellite instability (MSI) detection for tumor only sequencing data, including Cell-Free DNA (cfDNA), Formalin-Fixed Paraffin-Embedded(FFPE) and other sample types. The original MSIsensor is specially designed for tumor/normal paired sequencing data.", - "homepage": "https://github.com/niu-lab/msisensor2", - "documentation": "https://github.com/niu-lab/msisensor2/blob/master/README.md", - "tool_dev_url": "https://github.com/niu-lab/msisensor2", - "licence": "GPL-3.0" - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Path to reference genome.", - "pattern": "*.fasta" - } - }, - { - "output": { - "type": "val", - "description": "Name of output MSI scan to write." - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "file", - "description": "Output scan of MSI regions in FASTA file.", - "pattern": "*" - } - } - ], - "authors": ["@adamrtalbot"] - } - }, - { - "name": "msisensor_msi", - "path": "modules/nf-core/msisensor/msi/meta.yml", - "type": "module", - "meta": { - "name": "msisensor_msi", - "description": "Evaluate microsattelite instability (MSI) using paired tumor-normal sequencing data", - "keywords": ["homoploymer,microsatellite"], - "tools": [ - { - "msisensor": { - "description": "MSIsensor is a C++ program to detect replication slippage variants at microsatellite regions, and differentiate them as somatic or germline.", - "homepage": "https://github.com/ding-lab/msisensor", - "doi": "10.1093/bioinformatics/btt755", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "normal_bam": { - "type": "file", - "description": "Coordinate sorted BAM/CRAM/SAM file from normal tissue", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "normal_bai": { - "type": "file", - "description": "Index for coordinate sorted BAM/CRAM/SAM file from normal tissue", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "tumor_bam": { - "type": "file", - "description": "Coordinate sorted BAM/CRAM/SAM file from tumor tissue", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "tumor_bai": { - "type": "file", - "description": "Index for coordinate sorted BAM/CRAM/SAM file from tumor tissue", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "homopolymers": { - "type": "file", - "description": "Output file from MSIsensor scan module", - "pattern": "*.msisensor_scan.tab" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "MSIsensor MSI final report file", - "pattern": "*.output" - } - }, - { - "txt": { - "type": "file", - "description": "MSIsensor MSI DIS report file", - "pattern": "*.output_dis" - } - }, - { - "txt": { - "type": "file", - "description": "MSIsensor MSI germline report file", - "pattern": "*.output_germline" - } - }, - { - "txt": { - "type": "file", - "description": "MSIsensor MSI somatic report file", - "pattern": "*.output_somatic" - } - } - ], - "authors": ["@kevbrick"] - } - }, - { - "name": "msisensor_scan", - "path": "modules/nf-core/msisensor/scan/meta.yml", - "type": "module", - "meta": { - "name": "msisensor_scan", - "description": "Scan a reference genome to get microsatellite & homopolymer information", - "keywords": ["homoploymer,microsatellite"], - "tools": [ - { - "msisensor": { - "description": "MSIsensor is a C++ program to detect replication slippage variants at microsatellite regions, and differentiate them as somatic or germline.", - "homepage": "https://github.com/ding-lab/msisensor", - "doi": "10.1093/bioinformatics/btt755", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "MSIsensor scan output file of homopolymers & minisatellites", - "pattern": "*.msisensor_scan.txt" - } - } - ], - "authors": ["@kevbrick"] - } - }, - { - "name": "msisensorpro_msisomatic", - "path": "modules/nf-core/msisensorpro/msisomatic/meta.yml", - "type": "module", - "meta": { - "name": "msisensorpro_msisomatic", - "description": "MSIsensor-pro evaluates Microsatellite Instability (MSI) for cancer patients with next generation sequencing data. It accepts the whole genome sequencing, whole exome sequencing and target region (panel) sequencing data as input", - "keywords": ["micro-satellite-scan", "msisensor-pro", "msi", "somatic"], - "tools": [ - { - "msisensorpro": { - "description": "Microsatellite Instability (MSI) detection using high-throughput sequencing data.", - "homepage": "https://github.com/xjtu-omics/msisensor-pro", - "documentation": "https://github.com/xjtu-omics/msisensor-pro/wiki", - "tool_dev_url": "https://github.com/xjtu-omics/msisensor-pro", - "doi": "10.1016/j.gpb.2020.02.001", - "licence": ["Custom Licence"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "normal": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "normal_index": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "tumor": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "tumor_index": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "intervals": { - "type": "file", - "description": "bed file containing interval information, optional", - "pattern": "*.{bed}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome", - "pattern": "*.{fasta}" - } - }, - { - "msisensor_scan": { - "type": "file", - "description": "Output from msisensor-pro/scan, conaining list of msi regions", - "pattern": "*.list" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "output_report": { - "type": "file", - "description": "File containing final report with all detected microsatellites, unstable somatic microsatellites, msi score" - } - }, - { - "output_dis": { - "type": "file", - "description": "File containing distribution results" - } - }, - { - "output_germline": { - "type": "file", - "description": "File containing germline results" - } - }, - { - "output_somatic": { - "type": "file", - "description": "File containing somatic results" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "list": { - "type": "file", - "description": "File containing microsatellite list", - "pattern": "*.{list}" - } - } - ], - "authors": ["@FriederikeHanssen"] - } - }, - { - "name": "msisensorpro_scan", - "path": "modules/nf-core/msisensorpro/scan/meta.yml", - "type": "module", - "meta": { - "name": "msisensorpro_scan", - "description": "MSIsensor-pro evaluates Microsatellite Instability (MSI) for cancer patients with next generation sequencing data. It accepts the whole genome sequencing, whole exome sequencing and target region (panel) sequencing data as input", - "keywords": ["micro-satellite-scan", "msisensor-pro", "scan"], - "tools": [ - { - "msisensorpro": { - "description": "Microsatellite Instability (MSI) detection using high-throughput sequencing data.", - "homepage": "https://github.com/xjtu-omics/msisensor-pro", - "documentation": "https://github.com/xjtu-omics/msisensor-pro/wiki", - "tool_dev_url": "https://github.com/xjtu-omics/msisensor-pro", - "doi": "10.1016/j.gpb.2020.02.001", - "licence": ["Custom Licence"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome", - "pattern": "*.{fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "list": { - "type": "file", - "description": "File containing microsatellite list", - "pattern": "*.{list}" - } - } - ], - "authors": ["@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "mtnucratio", - "path": "modules/nf-core/mtnucratio/meta.yml", - "type": "module", - "meta": { - "name": "mtnucratio", - "description": "A small Java tool to calculate ratios between MT and nuclear sequencing reads in a given BAM file.", - "keywords": [ - "mtnucratio", - "ratio", - "reads", - "bam", - "mitochondrial to nuclear ratio", - "mitochondria", - "statistics" - ], - "tools": [ - { - "mtnucratio": { - "description": "A small tool to determine MT to Nuclear ratios for NGS data.", - "homepage": "https://github.com/apeltzer/MTNucRatioCalculator", - "documentation": "https://github.com/apeltzer/MTNucRatioCalculator", - "tool_dev_url": "https://github.com/apeltzer/MTNucRatioCalculator", - "doi": "10.1186/s13059-016-0918-z", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "(coordinate) sorted BAM/SAM file", - "pattern": "*.{bam,sam}" - } - }, - { - "mt_id": { - "type": "string", - "description": "Identifier of the contig/chromosome of interest (e.g. chromosome, contig) as in the aligned against reference FASTA file, e.g. mt or chrMT for mitochondria" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "mtnucratio": { - "type": "file", - "description": "Text file containing metrics (mtreads, mt_cov_avg, nucreads, nuc_cov_avg, mt_nuc_ratio)", - "pattern": "*.mtnucratio" - } - }, - { - "json": { - "type": "file", - "description": "JSON file, containing metadata map with sample name, tool name and version, and metrics as in txt file", - "pattern": "*.json" - } - } - ], - "authors": ["@louperelo"] - } - }, - { - "name": "multiqc", - "path": "modules/nf-core/multiqc/meta.yml", - "type": "module", - "meta": { - "name": "MultiQC", - "description": "Aggregate results from bioinformatics analyses across many samples into a single report", - "keywords": ["QC", "bioinformatics tools", "Beautiful stand-alone HTML report"], - "tools": [ - { - "multiqc": { - "description": "MultiQC searches a given directory for analysis logs and compiles a HTML report.\nIt's a general use tool, perfect for summarising the output from numerous bioinformatics tools.\n", - "homepage": "https://multiqc.info/", - "documentation": "https://multiqc.info/docs/", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "multiqc_files": { - "type": "file", - "description": "List of reports / files recognised by MultiQC, for example the html and zip output of FastQC\n" - } - }, - { - "multiqc_config": { - "type": "file", - "description": "Optional config yml for MultiQC", - "pattern": "*.{yml,yaml}" - } - }, - { - "extra_multiqc_config": { - "type": "file", - "description": "Second optional config yml for MultiQC. Will override common sections in multiqc_config.", - "pattern": "*.{yml,yaml}" - } - }, - { - "multiqc_logo": { - "type": "file", - "description": "Optional logo file for MultiQC", - "pattern": "*.{png}" - } - } - ], - "output": [ - { - "report": { - "type": "file", - "description": "MultiQC report file", - "pattern": "multiqc_report.html" - } - }, - { - "data": { - "type": "directory", - "description": "MultiQC data dir", - "pattern": "multiqc_data" - } - }, - { - "plots": { - "type": "file", - "description": "Plots created by MultiQC", - "pattern": "*_data" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@abhi18av", "@bunop", "@drpatelh", "@jfy133"] - }, - "pipelines": [ - { - "name": "airrflow", - "version": "3.1.0" - }, - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "bacass", - "version": "2.0.0" - }, - { - "name": "bamtofastq", - "version": "2.0.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "createpanelrefs", - "version": "dev" - }, - { - "name": "crisprseq", - "version": "2.0.0" - }, - { - "name": "demultiplex", - "version": "1.3.2" - }, - { - "name": "epitopeprediction", - "version": "2.2.1" - }, - { - "name": "fastquorum", - "version": "dev" - }, - { - "name": "funcscan", - "version": "1.1.2" - }, - { - "name": "genomeannotator", - "version": "dev" - }, - { - "name": "genomeassembler", - "version": "dev" - }, - { - "name": "genomeskim", - "version": "dev" - }, - { - "name": "gwas", - "version": "dev" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "hlatyping", - "version": "2.0.0" - }, - { - "name": "isoseq", - "version": "1.1.4" - }, - { - "name": "liverctanalysis", - "version": "dev" - }, - { - "name": "mag", - "version": "2.3.2" - }, - { - "name": "marsseq", - "version": "1.0.3" - }, - { - "name": "mcmicro", - "version": "dev" - }, - { - "name": "metapep", - "version": "dev" - }, - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "methylseq", - "version": "2.4.0" - }, - { - "name": "mhcquant", - "version": "2.4.1" - }, - { - "name": "molkart", - "version": "dev" - }, - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "nanostring", - "version": "1.1.1" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "pangenome", - "version": "dev" - }, - { - "name": "phageannotator", - "version": "dev" - }, - { - "name": "phyloplace", - "version": "1.0.0" - }, - { - "name": "proteinfold", - "version": "1.0.0" - }, - { - "name": "quantms", - "version": "1.1.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "scrnaseq", - "version": "2.3.2" - }, - { - "name": "smrnaseq", - "version": "2.2.1" - }, - { - "name": "spatialtranscriptomics", - "version": "dev" - }, - { - "name": "spinningjenny", - "version": "dev" - }, - { - "name": "ssds", - "version": "dev" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - }, - { - "name": "variantcatalogue", - "version": "dev" - }, - { - "name": "viralintegration", - "version": "0.1.0" - } - ] - }, - { - "name": "multivcfanalyzer", - "path": "modules/nf-core/multivcfanalyzer/meta.yml", - "type": "module", - "meta": { - "name": "multivcfanalyzer", - "description": "SNP table generator from GATK UnifiedGenotyper with functionality geared for aDNA", - "keywords": ["vcf", "ancient DNA", "aDNA", "SNP", "GATK UnifiedGenotyper", "SNP table"], - "tools": [ - { - "multivcfanalyzer": { - "description": "MultiVCFAnalyzer is a VCF file post-processing tool tailored for aDNA. License on Github repository.", - "homepage": "https://github.com/alexherbig/MultiVCFAnalyzer", - "documentation": "https://github.com/alexherbig/MultiVCFAnalyzer", - "tool_dev_url": "https://github.com/alexherbig/MultiVCFAnalyzer", - "doi": "10.1038/nature13591", - "licence": "['GPL >=3']" - } - } - ], - "input": [ - { - "vcfs": { - "type": "file", - "description": "One or a list of uncompressed VCF file", - "pattern": "*.vcf" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome VCF was generated against", - "pattern": "*.{fasta,fna,fa}" - } - }, - { - "snpeff_results": { - "type": "file", - "description": "Results from snpEff in txt format (Optional)", - "pattern": "*.txt" - } - }, - { - "gff": { - "type": "file", - "description": "GFF file corresponding to reference genome fasta (Optional)", - "pattern": "*.gff" - } - }, - { - "allele_freqs": { - "type": "boolean", - "description": "Whether to include the percentage of reads a given allele is\npresent in in the SNP table.\n" - } - }, - { - "genotype_quality": { - "type": "integer", - "description": "Minimum GATK genotyping threshold threshold of which a SNP call\nfalling under is 'discarded'\n" - } - }, - { - "coverage": { - "type": "integer", - "description": "Minimum number of a reads that a position must be covered by to be\nreported\n" - } - }, - { - "homozygous_freq": { - "type": "number", - "description": "Fraction of reads a base must have to be called 'homozygous'" - } - }, - { - "heterozygous_freq": { - "type": "mumber", - "description": "Fraction of which whereby if a call falls above this value, and lower\nthan the homozygous threshold, a base will be called 'heterozygous'.\n" - } - }, - { - "gff_exclude": { - "type": "file", - "description": "file listing positions that will be 'filtered' (i.e. ignored)\n(Optional)\n", - "pattern": "*.vcf" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "full_alignment": { - "type": "file", - "description": "Fasta a fasta file of all positions contained in the VCF files i.e. including ref calls", - "pattern": ".fasta.gz" - } - }, - { - "info_txt": { - "type": "file", - "description": "Information about the run", - "pattern": ".txt" - } - }, - { - "snp_alignment": { - "type": "file", - "description": "A fasta file of just SNP positions with samples only", - "pattern": ".fasta.gz" - } - }, - { - "snp_genome_alignment": { - "type": "file", - "description": "A fasta file of just SNP positions with reference genome", - "pattern": ".fasta.gz" - } - }, - { - "snpstatistics": { - "type": "file", - "description": "Some basic statistics about the SNP calls of each sample", - "pattern": ".tsv" - } - }, - { - "snptable": { - "type": "file", - "description": "Basic SNP table of combined positions taken from each VCF file", - "pattern": ".tsv" - } - }, - { - "snptable_snpeff": { - "type": "file", - "description": "Input file for SnpEff", - "pattern": ".tsv" - } - }, - { - "snptable_uncertainty": { - "type": "file", - "description": "Same as above, but with lower case characters indicating uncertain calls", - "pattern": ".tsv" - } - }, - { - "structure_genotypes": { - "type": "file", - "description": "Input file for STRUCTURE", - "pattern": ".tsv" - } - }, - { - "structure_genotypes_nomissing": { - "type": "file", - "description": "Alternate input file for STRUCTURE", - "pattern": ".tsv" - } - }, - { - "json": { - "type": "file", - "description": "Summary statistics in MultiQC JSON format", - "pattern": ".json" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "mummer", - "path": "modules/nf-core/mummer/meta.yml", - "type": "module", - "meta": { - "name": "mummer", - "description": "MUMmer is a system for rapidly aligning entire genomes", - "keywords": ["align", "genome", "fasta"], - "tools": [ - { - "mummer": { - "description": "MUMmer is a system for rapidly aligning entire genomes", - "homepage": "http://mummer.sourceforge.net/", - "documentation": "http://mummer.sourceforge.net/", - "tool_dev_url": "http://mummer.sourceforge.net/", - "doi": "10.1186/gb-2004-5-2-r12", - "licence": ["The Artistic License"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ref": { - "type": "file", - "description": "FASTA file of the reference sequence", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" - } - }, - { - "query": { - "type": "file", - "description": "FASTA file of the query sequence", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "coords": { - "type": "file", - "description": "File containing coordinates of matches between reference and query sequence", - "pattern": "*.coords" - } - } - ], - "authors": ["@mjcipriano", "@sateeshperi"] - } - }, - { - "name": "muscle", - "path": "modules/nf-core/muscle/meta.yml", - "type": "module", - "meta": { - "name": "muscle", - "description": "MUSCLE is a program for creating multiple alignments of amino acid or nucleotide sequences. A range of options are provided that give you the choice of optimizing accuracy, speed, or some compromise between the two", - "keywords": ["msa", "multiple sequence alignment"], - "tools": [ - { - "muscle": { - "description": "MUSCLE is a multiple sequence alignment tool with high accuracy and throughput", - "homepage": "https://www.drive5.com/muscle", - "documentation": "http://www.drive5.com/muscle/muscle.html#_Toc81224840", - "doi": "10.1093/nar/gkh340", - "licence": ["http://www.drive5.com/muscle/manual/license.html"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Input sequences for alignment must be in FASTA format", - "pattern": "*.{fasta,fa,fna}" - } - } - ], - "output": [ - { - "aligned_fasta": { - "type": "file", - "description": "Multiple sequence alignment produced in FASTA format", - "pattern": "*.{afa}" - } - }, - { - "msf": { - "type": "file", - "description": "GCG Multiple Sequence File (MSF) alignment format (similar to CLUSTALW)", - "pattern": "*.{msf}" - } - }, - { - "clustalw": { - "type": "file", - "description": "Multiple sequence alignment produced in ClustalW format without base/residue numbering", - "pattern": "*.{clw}" - } - }, - { - "phyi": { - "type": "file", - "description": "Multiple sequence alignment produced in PHYLIP interleaved format", - "pattern": "*.{phyi}" - } - }, - { - "phys": { - "type": "file", - "description": "Multiple sequence alignment produced in PHYLIP sequential format", - "pattern": "*.{phys}" - } - }, - { - "html": { - "type": "file", - "description": "Multiple sequence alignment produced in HTML format", - "pattern": "*.{html}" - } - }, - { - "tree": { - "type": "file", - "description": "NJ or UPGMA tree in Newick format produced from a multiple sequence alignment", - "pattern": "*.{tree}" - } - }, - { - "log": { - "type": "file", - "description": "Log file of MUSCLE run", - "pattern": "*{.log}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@MGordon"] - } - }, - { - "name": "mykrobe_predict", - "path": "modules/nf-core/mykrobe/predict/meta.yml", - "type": "module", - "meta": { - "name": "mykrobe_predict", - "description": "AMR predictions for supported species", - "keywords": ["fastq", "bam", "antimicrobial resistance"], - "tools": [ - { - "mykrobe": { - "description": "Antibiotic resistance prediction in minutes", - "homepage": "http://www.mykrobe.com/", - "documentation": "https://github.com/Mykrobe-tools/mykrobe/wiki", - "tool_dev_url": "https://github.com/Mykrobe-tools/mykrobe", - "doi": "10.1038/ncomms10063", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "seqs": { - "type": "file", - "description": "BAM or FASTQ file", - "pattern": "*.{bam,fastq.gz,fq.gz}" - } - }, - { - "species": { - "type": "string", - "description": "Species to make AMR prediction against", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "csv": { - "type": "file", - "description": "AMR predictions in CSV format", - "pattern": "*.csv" - } - }, - { - "json": { - "type": "file", - "description": "AMR predictions in JSON format", - "pattern": "*.json" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "nanocomp", - "path": "modules/nf-core/nanocomp/meta.yml", - "type": "module", - "meta": { - "name": "nanocomp", - "description": "Compare multiple runs of long read sequencing data and alignments", - "keywords": ["bam", "fasta", "fastq", "qc", "nanopore"], - "tools": [ - { - "nanocomp": { - "description": "Compare multiple runs of long read sequencing data and alignments", - "homepage": "https://github.com/wdecoster/nanocomp", - "documentation": "https://github.com/wdecoster/nanocomp", - "licence": "MIT License" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" - } - }, - { - "filelist": { - "type": "file", - "description": "List of all the files you want to compare, they have to be all the same filetype (either fastq, fasta, bam or Nanopore sequencing summary)", - "pattern": "*.{fastq,fq,fna,ffn,faa,frn,fa,fasta,txt,bam}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" - } - }, - { - "report_html": { - "type": "file", - "description": "Summary of all collected statistics", - "pattern": "*NanoComp-report.html" - } - }, - { - "lengths_violin_html": { - "type": "file", - "description": "Violin plot of the sequence lengths", - "pattern": "*NanoComp_lengths_violin.html" - } - }, - { - "log_length_violin_html": { - "type": "file", - "description": "Violin plot of the sequence lengths, log function applied", - "pattern": "*NanoComp_log_length_violin.html" - } - }, - { - "n50_html": { - "type": "file", - "description": "Bar plot of N50 sequence length per sample", - "pattern": "*NanoComp_N50.html" - } - }, - { - "number_of_reads_html": { - "type": "file", - "description": "Bar plot of number of reads per sample", - "pattern": "*NanoComp_number_of_reads.html" - } - }, - { - "overlay_histogram_html": { - "type": "file", - "description": "Histogram of all read lengths per sample", - "pattern": "*NanoComp_OverlayHistogram.html" - } - }, - { - "overlay_histogram_normalized_html": { - "type": "file", - "description": "Normalized histogram of all read lengths per sample", - "pattern": "*NanoComp_OverlayHistogram_Normalized.html" - } - }, - { - "overlay_log_histogram_html": { - "type": "file", - "description": "Histogram of all read lengths per sample, log function applied", - "pattern": "*NanoComp_OverlayLogHistogram.html" - } - }, - { - "overlay_log_histogram_normalized_html": { - "type": "file", - "description": "Normalized histogram of all read lengths per sample, log function applied", - "pattern": "*NanoComp_OverlayLogHistogram_Normalized.html" - } - }, - { - "total_throughput_html": { - "type": "file", - "description": "Barplot comparing throughput in bases", - "pattern": "*NanoComp_total_throughput.html" - } - }, - { - "quals_violin_html": { - "type": "file", - "description": "Violin plot of base qualities, only for bam, fastq and sequencing summary input", - "pattern": "*NanoComp_quals_violin.html" - } - }, - { - "overlay_histogram_identity_html": { - "type": "file", - "description": "Histogram of perfect reference identity, only for bam input", - "pattern": "*NanoComp_OverlayHistogram_Identity.html" - } - }, - { - "overlay_histogram_phredscore_html": { - "type": "file", - "description": "Histogram of phred scores, only for bam input", - "pattern": "*NanoComp_OverlayHistogram_PhredScore.html" - } - }, - { - "percent_identity_violin_html": { - "type": "file", - "description": "Violin plot comparing perfect reference identity, only for bam input", - "pattern": "*NanoComp_percentIdentity_violin.html" - } - }, - { - "active_pores_over_time_html": { - "type": "file", - "description": "Scatter plot of active pores over time, only for sequencing summary input", - "pattern": "*NanoComp_ActivePoresOverTime.html" - } - }, - { - "cumulative_yield_plot_gigabases_html": { - "type": "file", - "description": "Scatter plot of cumulative yield, only for sequencing summary input", - "pattern": "*NanoComp_CumulativeYieldPlot_Gigabases.html" - } - }, - { - "sequencing_speed_over_time_html": { - "type": "file", - "description": "Scatter plot of sequencing speed over time, only for sequencing summary input", - "pattern": "*NanoComp_sequencing_speed_over_time.html" - } - }, - { - "stats_txt": { - "type": "file", - "description": "txt file with basic statistics", - "pattern": "*NanoStats.txt" - } - } - ], - "authors": ["@paulwolk"] - } - }, - { - "name": "nanolyse", - "path": "modules/nf-core/nanolyse/meta.yml", - "type": "module", - "meta": { - "name": "nanolyse", - "description": "DNA contaminant removal using NanoLyse", - "keywords": ["contaminant_removal"], - "tools": [ - { - "nanolyse": { - "description": "DNA contaminant removal using NanoLyse\n", - "homepage": "https://github.com/wdecoster/nanolyse", - "documentation": "https://github.com/wdecoster/nanolyse#nanolyse", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "Basecalled reads in FASTQ.GZ format\n", - "pattern": "*.fastq.gz" - } - }, - { - "fasta": { - "type": "file", - "description": "A reference fasta file against which to filter.\n", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "Reads with contaminants removed in FASTQ format", - "pattern": "*.fastq.gz" - } - }, - { - "log": { - "type": "file", - "description": "Log of the Nanolyse run.", - "pattern": "*.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@yuukiiwa"] - }, - "pipelines": [ - { - "name": "nanoseq", - "version": "3.1.0" - } - ] - }, - { - "name": "nanomonsv_parse", - "path": "modules/nf-core/nanomonsv/parse/meta.yml", - "type": "module", - "meta": { - "name": "nanomonsv_parse", - "description": "Parse all the supporting reads of putative somatic SVs using nanomonsv.\nAfter successful completion, you will find supporting reads stratified by\ndeletions, insertions, and rearrangements.\nA precursor to \"nanomonsv get\"\n", - "keywords": [ - "structural variants", - "nanopore", - "cancer genome", - "somatic structural variations", - "mobile element insertions", - "long reads" - ], - "tools": [ - { - "nanomonsv": { - "description": "nanomonsv is a software for detecting somatic structural variations\nfrom paired (tumor and matched control) cancer genome sequence data.\n", - "homepage": "https://github.com/friend1ws/nanomonsv", - "documentation": "https://github.com/friend1ws/nanomonsv#commands", - "tool_dev_url": "https://github.com/friend1ws/nanomonsv", - "doi": "10.1101/2020.07.22.214262 ", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Aligned BAM file", - "pattern": "*.{bam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file", - "pattern": "*.{bai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "insertions": { - "type": "file", - "description": "Gzipped BED file containing reads supporting insertions", - "pattern": "*.{bed.gz}" - } - }, - { - "insertions_index": { - "type": "file", - "description": "Index for gzipped BED file containing reads supporting insertions", - "pattern": "*.{bed.gz.tbi}" - } - }, - { - "deletions": { - "type": "file", - "description": "Gzipped BED file containing reads supporting deletions", - "pattern": "*.{bed.gz}" - } - }, - { - "deletions_index": { - "type": "file", - "description": "Index for gzipped BED file containing reads supporting deletions", - "pattern": "*.{bed.gz.tbi}" - } - }, - { - "rearrangements": { - "type": "file", - "description": "Gzipped BED file containing reads supporting rearrangements", - "pattern": "*.{bed.gz}" - } - }, - { - "rearrangements_index": { - "type": "file", - "description": "Index for gzipped BED file containing reads supporting rearrangements", - "pattern": "*.{bed.gz.tbi}" - } - }, - { - "bp_info": { - "type": "file", - "description": "Gzipped BED file containing breakpoint info", - "pattern": "*.{bed.gz}" - } - }, - { - "bp_info_index": { - "type": "file", - "description": "Index for gzipped BED file containing breakpoint info", - "pattern": "*.{bed.gz.tbi}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@awgymer"] - } - }, - { - "name": "nanoplot", - "path": "modules/nf-core/nanoplot/meta.yml", - "type": "module", - "meta": { - "name": "nanoplot", - "description": "Run NanoPlot on nanopore-sequenced reads", - "keywords": ["quality control", "qc", "fastq", "sequencing summary", "nanopore"], - "tools": [ - { - "nanoplot": { - "description": "NanoPlot is a tool for ploting long-read sequencing data and\nalignment.\n", - "homepage": "http://nanoplot.bioinf.be", - "documentation": "https://github.com/wdecoster/NanoPlot", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "List of input basecalled-FastQ files.\n" - } - }, - { - "summary_txt": { - "type": "file", - "description": "List of sequencing_summary.txt files from running basecalling.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "html": { - "type": "file", - "description": "NanoPlot report", - "pattern": "*{.html}" - } - }, - { - "png": { - "type": "file", - "description": "Plots generated by NanoPlot", - "pattern": "*{.png}" - } - }, - { - "txt": { - "type": "file", - "description": "Stats from NanoPlot", - "pattern": "*{.txt}" - } - }, - { - "log": { - "type": "file", - "description": "log file of NanoPlot run", - "pattern": "*{.log}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@yuukiiwa"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - }, - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "ncbigenomedownload", - "path": "modules/nf-core/ncbigenomedownload/meta.yml", - "type": "module", - "meta": { - "name": "ncbigenomedownload", - "description": "A tool to quickly download assemblies from NCBI's Assembly database", - "keywords": ["fasta", "download", "assembly"], - "tools": [ - { - "ncbigenomedownload": { - "description": "Download genome files from the NCBI FTP server.", - "homepage": "https://github.com/kblin/ncbi-genome-download", - "documentation": "https://github.com/kblin/ncbi-genome-download", - "tool_dev_url": "https://github.com/kblin/ncbi-genome-download", - "licence": ["Apache Software License"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "accessions": { - "type": "file", - "description": "List of accessions (one per line) to download", - "pattern": "*.txt" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "gbk": { - "type": "file", - "description": "GenBank format of the genomic sequence(s) in the assembly", - "pattern": "*_genomic.gbff.gz" - } - }, - { - "fna": { - "type": "file", - "description": "FASTA format of the genomic sequence(s) in the assembly.", - "pattern": "*_genomic.fna.gz" - } - }, - { - "rm": { - "type": "file", - "description": "RepeatMasker output for eukaryotes.", - "pattern": "*_rm.out.gz" - } - }, - { - "features": { - "type": "file", - "description": "Tab-delimited text file reporting locations and attributes for a subset of annotated features", - "pattern": "*_feature_table.txt.gz" - } - }, - { - "gff": { - "type": "file", - "description": "Annotation of the genomic sequence(s) in GFF3 format", - "pattern": "*_genomic.gff.gz" - } - }, - { - "faa": { - "type": "file", - "description": "FASTA format of the accessioned protein products annotated on the genome assembly.", - "pattern": "*_protein.faa.gz" - } - }, - { - "gpff": { - "type": "file", - "description": "GenPept format of the accessioned protein products annotated on the genome assembly.", - "pattern": "*_protein.gpff.gz" - } - }, - { - "wgs_gbk": { - "type": "file", - "description": "GenBank flat file format of the WGS master for the assembly", - "pattern": "*_wgsmaster.gbff.gz" - } - }, - { - "cds": { - "type": "file", - "description": "FASTA format of the nucleotide sequences corresponding to all CDS features annotated on the assembly", - "pattern": "*_cds_from_genomic.fna.gz" - } - }, - { - "rna": { - "type": "file", - "description": "FASTA format of accessioned RNA products annotated on the genome assembly", - "pattern": "*_rna.fna.gz" - } - }, - { - "rna_fna": { - "type": "file", - "description": "FASTA format of the nucleotide sequences corresponding to all RNA features annotated on the assembly", - "pattern": "*_rna_from_genomic.fna.gz" - } - }, - { - "report": { - "type": "file", - "description": "Tab-delimited text file reporting the name, role and sequence accession.version for objects in the assembly", - "pattern": "*_assembly_report.txt" - } - }, - { - "stats": { - "type": "file", - "description": "Tab-delimited text file reporting statistics for the assembly", - "pattern": "*_assembly_stats.txt" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "nextclade_datasetget", - "path": "modules/nf-core/nextclade/datasetget/meta.yml", - "type": "module", - "meta": { - "name": "nextclade_datasetget", - "description": "Get dataset for SARS-CoV-2 genome clade assignment, mutation calling, and sequence quality checks (C++ implementation)", - "keywords": ["nextclade", "variant", "consensus"], - "tools": [ - { - "nextclade": { - "description": "SARS-CoV-2 genome clade assignment, mutation calling, and sequence quality checks", - "homepage": "https://github.com/nextstrain/nextclade", - "documentation": "https://github.com/nextstrain/nextclade", - "tool_dev_url": "https://github.com/nextstrain/nextclade", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "dataset": { - "type": "string", - "description": "Name of dataset to retrieve. A list of available datasets can be obtained using the nextclade dataset list command.", - "pattern": ".+" - } - }, - { - "reference": { - "type": "string", - "description": "Accession id to download dataset based on a particular reference sequence. A list of available datasets can be obtained using the nextclade dataset list command.", - "pattern": ".+" - } - }, - { - "tag": { - "type": "string", - "description": "Version tag of the dataset to download. A list of available datasets can be obtained using the nextclade dataset list command.", - "pattern": ".+" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "prefix": { - "type": "path", - "description": "A directory containing the dataset files needed for nextclade run", - "pattern": "prefix" - } - } - ], - "authors": ["@antunderwood", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "nextclade_run", - "path": "modules/nf-core/nextclade/run/meta.yml", - "type": "module", - "meta": { - "name": "nextclade_run", - "description": "SARS-CoV-2 genome clade assignment, mutation calling, and sequence quality checks (C++ implementation)", - "keywords": ["nextclade", "variant", "consensus"], - "tools": [ - { - "nextclade": { - "description": "SARS-CoV-2 genome clade assignment, mutation calling, and sequence quality checks", - "homepage": "https://github.com/nextstrain/nextclade", - "documentation": "https://github.com/nextstrain/nextclade", - "tool_dev_url": "https://github.com/nextstrain/nextclade", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "dataset": { - "type": "path", - "description": "Path containing the dataset files obtained by running nextclade dataset get", - "pattern": "*" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file containing one or more consensus sequences", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "csv": { - "type": "file", - "description": "CSV file containing nextclade results", - "pattern": "*.{csv}" - } - }, - { - "json": { - "type": "file", - "description": "JSON file containing nextclade results", - "pattern": "*.{json}" - } - }, - { - "json_tree": { - "type": "file", - "description": "Auspice JSON V2 containing nextclade results", - "pattern": "*.{tree.json}" - } - }, - { - "tsv": { - "type": "file", - "description": "TSV file containing nextclade results", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@antunderwood", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "nextgenmap", - "path": "modules/nf-core/nextgenmap/meta.yml", - "type": "module", - "meta": { - "name": "nextgenmap", - "description": "Performs fastq alignment to a fasta reference using NextGenMap", - "keywords": ["NextGenMap", "ngm", "alignment", "map", "fastq", "bam", "sam"], - "tools": [ - { - "bwa": { - "description": "NextGenMap is a flexible highly sensitive short read mapping tool that\nhandles much higher mismatch rates than comparable algorithms while\nstill outperforming them in terms of runtime\n", - "homepage": "https://github.com/Cibiv/NextGenMap", - "documentation": "https://github.com/Cibiv/NextGenMap/wiki", - "doi": "10.1093/bioinformatics/btt468", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1, if meta.single_end is true, and 2\nif meta.single_end is false.\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Genomic reference fasta file\n", - "pattern": "*.{fa,fa.gz,fas,fas.gz,fna,fna.gz,fasta,fasta.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information. First item of tuple with\nbam, below.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Output BAM file containing read alignments. Second item of tuple with\nmeta, above\n", - "pattern": "*.{bam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@cmatkhan"] - } - }, - { - "name": "ngmaster", - "path": "modules/nf-core/ngmaster/meta.yml", - "type": "module", - "meta": { - "name": "ngmaster", - "description": "Serotyping Neisseria gonorrhoeae assemblies", - "keywords": ["fasta", "Neisseria gonorrhoeae", "serotype"], - "tools": [ - { - "ngmaster": { - "description": "In silico multi-antigen sequence typing for Neisseria gonorrhoeae (NG-MAST)", - "homepage": "https://github.com/MDU-PHL/ngmaster/blob/master/README.md", - "documentation": "https://github.com/MDU-PHL/ngmaster/blob/master/README.md", - "tool_dev_url": "https://github.com/MDU-PHL/ngmaster", - "doi": "10.1099/mgen.0.000076", - "licence": ["GPL v3 only"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA assembly file", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "Tab-delimited result file", - "pattern": "*.tsv" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "ngmerge", - "path": "modules/nf-core/ngmerge/meta.yml", - "type": "module", - "meta": { - "name": "ngmerge", - "description": "Merging paired-end reads and removing sequencing adapters.", - "keywords": ["sort", "reads merging", "merge mate pairs"], - "tools": [ - { - "ngmerge": { - "description": "Merging paired-end reads and removing sequencing adapters.", - "homepage": "https://github.com/jsh58/NGmerge", - "documentation": "https://github.com/jsh58/NGmerge", - "tool_dev_url": "https://github.com/jsh58/NGmerge", - "doi": "10.1186/s12859-018-2579-2", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 2; i.e., paired-end data.\n", - "pattern": "*.{fa,fasta,fastq,fq,fa.gz,fasta.gz,fastq.gz,fq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "merged_reads": { - "type": "file", - "description": "fastq file merged reads", - "pattern": "*.{fa,fasta,fastq,fq,fa.gz,fasta.gz,fastq.gz,fq.gz}" - } - }, - { - "unstitched_read1": { - "type": "file", - "description": "fastq file unstitched read 1", - "pattern": "*.{fa,fasta,fastq,fq,fa.gz,fasta.gz,fastq.gz,fq.gz}" - } - }, - { - "unstitched_read2": { - "type": "file", - "description": "fastq file unstitched read 2", - "pattern": "*.{fa,fasta,fastq,fq,fa.gz,fasta.gz,fastq.gz,fq.gz}" - } - } - ], - "authors": ["@charlotteanne", "@jsh58"] - } - }, - { - "name": "ngsbits_samplegender", - "path": "modules/nf-core/ngsbits/samplegender/meta.yml", - "type": "module", - "meta": { - "name": "ngsbits_samplegender", - "description": "Determines the gender of a sample from the BAM/CRAM file.", - "keywords": ["gender", "cram", "bam", "short reads"], - "tools": [ - { - "ngsbits": { - "description": "Short-read sequencing tools", - "homepage": "https://github.com/imgag/ngs-bits", - "documentation": "https://github.com/imgag/ngs-bits", - "tool_dev_url": "https://github.com/imgag/ngs-bits", - "licence": "['MIT license']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "One or more BAM/CRAM files to determine the gender of", - "pattern": "*.{bam,cram}" - } - }, - { - "bai": { - "type": "file", - "description": "The index file(s) from the input BAM/CRAM file(s)", - "pattern": "*.{bai,crai}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference fasta information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference FASTA to use (mandatory when CRAM files are used)", - "pattern": "*.{fasta,fa,fna}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference fasta index information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The index of the reference FASTA to use (mandatory when CRAM files are used)", - "pattern": "*.fai" - } - }, - { - "method": { - "type": "string", - "description": "The method to use to define the gender (posibilities are 'xy', 'hetx' and 'sry')", - "pattern": "(xy|hetx|sry)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "An output TSV file containing the results of the gender prediction", - "pattern": "*.tsv" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "ngscheckmate_ncm", - "path": "modules/nf-core/ngscheckmate/ncm/meta.yml", - "type": "module", - "meta": { - "name": "ngscheckmate_ncm", - "description": "Determining whether sequencing data comes from the same individual by using SNP matching. Designed for humans on vcf or bam files.", - "keywords": ["ngscheckmate", "matching", "snp"], - "tools": [ - { - "ngscheckmate": { - "description": "NGSCheckMate is a software package for identifying next generation sequencing (NGS) data files from the same individual, including matching between DNA and RNA.", - "homepage": "https://github.com/parklab/NGSCheckMate", - "documentation": "https://github.com/parklab/NGSCheckMate", - "tool_dev_url": "https://github.com/parklab/NGSCheckMate", - "doi": "10.1093/nar/gkx193", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "files": { - "type": "file", - "description": "VCF or BAM files for each sample, in a merged channel (possibly gzipped). BAM files require an index too.", - "pattern": "*.{vcf,vcf.gz,bam,bai}" - } - }, - { - "snp_bed": { - "type": "file", - "description": "BED file containing the SNPs to analyse", - "pattern": "*.{bed}" - } - }, - { - "fasta": { - "type": "file", - "description": "fasta file for the genome, only used in the bam mode", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "pdf": { - "type": "file", - "description": "A pdf containing a dendrogram showing how the samples match up", - "pattern": "*.{pdf}" - } - }, - { - "corr_matrix": { - "type": "file", - "description": "A text file containing the correlation matrix between each sample", - "pattern": "*corr_matrix.txt" - } - }, - { - "matched": { - "type": "file", - "description": "A txt file containing only the samples that match with each other", - "pattern": "*matched.txt" - } - }, - { - "all": { - "type": "file", - "description": "A txt file containing all the sample comparisons, whether they match or not", - "pattern": "*all.txt" - } - }, - { - "vcf": { - "type": "file", - "description": "If ran in bam mode, vcf files for each sample giving the SNP calls used", - "pattern": "*.vcf" - } - } - ], - "authors": ["@sppearce"] - } - }, - { - "name": "nucmer", - "path": "modules/nf-core/nucmer/meta.yml", - "type": "module", - "meta": { - "name": "nucmer", - "description": "NUCmer is a pipeline for the alignment of multiple closely related nucleotide sequences.", - "keywords": ["align", "nucleotide"], - "tools": [ - { - "nucmer": { - "description": "NUCmer is a pipeline for the alignment of multiple closely related nucleotide sequences.", - "homepage": "http://mummer.sourceforge.net/", - "documentation": "http://mummer.sourceforge.net/", - "tool_dev_url": "http://mummer.sourceforge.net/", - "doi": "10.1186/gb-2004-5-2-r12", - "licence": ["The Artistic License"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ref": { - "type": "file", - "description": "FASTA file of the reference sequence", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" - } - }, - { - "query": { - "type": "file", - "description": "FASTA file of the query sequence", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "delta": { - "type": "file", - "description": "File containing coordinates of matches between reference and query" - } - }, - { - "coords": { - "type": "file", - "description": "NUCmer1.1 coords output file", - "pattern": "*.{coords}" - } - } - ], - "authors": ["@sateeshperi", "@mjcipriano"] - } - }, - { - "name": "odgi_build", - "path": "modules/nf-core/odgi/build/meta.yml", - "type": "module", - "meta": { - "name": "odgi_build", - "description": "Construct a dynamic succinct variation graph in ODGI format from a GFAv1.", - "keywords": ["variation graph", "pangenome graph", "gfa", "graph construction"], - "tools": [ - { - "odgi": { - "description": "An optimized dynamic genome/graph implementation", - "homepage": "https://github.com/pangenome/odgi", - "documentation": "https://odgi.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/pangenome/odgi", - "doi": "10.1093/bioinformatics/btac308", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "graph": { - "type": "file", - "description": "Pangenome graph in GFA v1.0 format", - "pattern": "*.{gfa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "og": { - "type": "file", - "description": "File containing a pangenome graph in ODGI binary format. Usually ends with '.og'", - "pattern": "*.{og}" - } - } - ], - "authors": ["@subwaystation"] - }, - "pipelines": [ - { - "name": "pangenome", - "version": "dev" - } - ] - }, - { - "name": "odgi_draw", - "path": "modules/nf-core/odgi/draw/meta.yml", - "type": "module", - "meta": { - "name": "odgi_draw", - "description": "Draw previously-determined 2D layouts of the graph with diverse annotations.", - "keywords": ["variation graph", "pangenome graph", "gfa", "graph drawing"], - "tools": [ - { - "odgi": { - "description": "An optimized dynamic genome/graph implementation", - "homepage": "https://github.com/pangenome/odgi", - "documentation": "https://odgi.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/pangenome/odgi", - "doi": "10.1093/bioinformatics/btac308", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "graph": { - "type": "file", - "description": "Pangenome graph in GFA v1.0 format or ODGI binary format", - "pattern": "*.{gfa,og}" - } - }, - { - "lay": { - "type": "file", - "description": "2D layout from 'odgi layout' in LAY binary format", - "pattern": "*.{lay}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "png": { - "type": "file", - "description": "File in PNG format containing a 2D drawing of a pangenome graph", - "pattern": "*.{png}" - } - } - ], - "authors": ["@subwaystation"] - }, - "pipelines": [ - { - "name": "pangenome", - "version": "dev" - } - ] - }, - { - "name": "odgi_layout", - "path": "modules/nf-core/odgi/layout/meta.yml", - "type": "module", - "meta": { - "name": "odgi_layout", - "description": "Establish 2D layouts of the graph using path-guided stochastic gradient descent. The graph must be sorted and id-compacted.", - "keywords": ["variation graph", "pangenome graph", "gfa", "graph layout"], - "tools": [ - { - "odgi": { - "description": "An optimized dynamic genome/graph implementation", - "homepage": "https://github.com/pangenome/odgi", - "documentation": "https://odgi.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/pangenome/odgi", - "doi": "10.1093/bioinformatics/btac308", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "graph": { - "type": "file", - "description": "Pangenome graph in GFA v1.0 format or in ODGI binary format", - "pattern": "*.{gfa,og}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "lay": { - "type": "file", - "description": "File containing a 2D layout of a pangenome graph in a binary format. Usually ends with '.lay'. Optional output specified by the `--out FILE` argument. Either this or the TSV layout output must be specified.", - "pattern": "*.{lay}" - } - }, - { - "tsv": { - "type": "file", - "description": "File containing a 2D layout of a pangenome graph in TSV format. Optional output specified by the `--tsv FILE` argument. Either this or the binary layout output must be specified.", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@subwaystation"] - }, - "pipelines": [ - { - "name": "pangenome", - "version": "dev" - } - ] - }, - { - "name": "odgi_sort", - "path": "modules/nf-core/odgi/sort/meta.yml", - "type": "module", - "meta": { - "name": "odgi_sort", - "description": "Apply different kind of sorting algorithms to a graph. The most prominent one is the PG-SGD sorting algorithm.", - "keywords": ["variation graph", "pangenome graph", "gfa", "graph layout"], - "tools": [ - { - "odgi": { - "description": "An optimized dynamic genome/graph implementation", - "homepage": "https://github.com/pangenome/odgi", - "documentation": "https://odgi.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/pangenome/odgi", - "doi": "10.1093/bioinformatics/btac308", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "graph": { - "type": "file", - "description": "Pangenome graph in GFA v1.0 format or in ODGI binary format", - "pattern": "*.{gfa,og}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sorted_graph": { - "type": "file", - "description": "1D sorted pangenome graph in ODGI binary format", - "pattern": "*.{og}" - } - } - ], - "authors": ["@subwaystation"] - }, - "pipelines": [ - { - "name": "pangenome", - "version": "dev" - } - ] - }, - { - "name": "odgi_squeeze", - "path": "modules/nf-core/odgi/squeeze/meta.yml", - "type": "module", - "meta": { - "name": "odgi_squeeze", - "description": "Squeezes multiple graphs in ODGI format into the same file in ODGI format.", - "keywords": ["squeeze", "odgi", "gfa", "combine graphs"], - "tools": [ - { - "odgi": { - "description": "An optimized dynamic genome/graph implementation", - "homepage": "https://github.com/pangenome/odgi", - "documentation": "https://odgi.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/pangenome/odgi", - "doi": "10.1093/bioinformatics/btac308", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "graphs": { - "type": "files", - "description": "Pangenome graph files in ODGI format.", - "pattern": "*.{og}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "graph": { - "type": "file", - "description": "Squeezed pangenome graph in ODGI format.", - "pattern": "*.{og}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@subwaystation"] - }, - "pipelines": [ - { - "name": "pangenome", - "version": "dev" - } - ] - }, - { - "name": "odgi_stats", - "path": "modules/nf-core/odgi/stats/meta.yml", - "type": "module", - "meta": { - "name": "odgi_stats", - "description": "Metrics describing a variation graph and its path relationship.", - "keywords": ["variation graph", "pangenome graph", "gfa", "graph stats"], - "tools": [ - { - "odgi": { - "description": "An optimized dynamic genome/graph implementation", - "homepage": "https://github.com/pangenome/odgi", - "documentation": "https://odgi.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/pangenome/odgi", - "doi": "10.1093/bioinformatics/btac308", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "graph": { - "type": "file", - "description": "Pangenome graph in binary ODGI or in GFA v1.0 format", - "pattern": "*.{og,gfa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "Optional output file that contains graph statistics in TSV format.", - "pattern": "*.{tsv}" - } - }, - { - "yaml": { - "type": "file", - "description": "Optional output file that contains graph statistics in YAML format.", - "pattern": "*.{yaml}" - } - } - ], - "authors": ["@subwaystation"] - }, - "pipelines": [ - { - "name": "pangenome", - "version": "dev" - } - ] - }, - { - "name": "odgi_unchop", - "path": "modules/nf-core/odgi/unchop/meta.yml", - "type": "module", - "meta": { - "name": "odgi_unchop", - "description": "Merge unitigs into a single node preserving the node order.", - "keywords": ["variation graph", "pangenome graph", "gfa", "graph unchopping"], - "tools": [ - { - "odgi": { - "description": "An optimized dynamic genome/graph implementation", - "homepage": "https://github.com/pangenome/odgi", - "documentation": "https://odgi.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/pangenome/odgi", - "doi": "10.1093/bioinformatics/btac308", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "graph": { - "type": "file", - "description": "Pangenome graph in GFA v1.0 format or in ODGI binary format", - "pattern": "*.{gfa,og}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "unchopped_graph": { - "type": "file", - "description": "Unchopped pangenome graph in ODGI binary format", - "pattern": "*.{og}" - } - } - ], - "authors": ["@subwaystation"] - }, - "pipelines": [ - { - "name": "pangenome", - "version": "dev" - } - ] - }, - { - "name": "odgi_view", - "path": "modules/nf-core/odgi/view/meta.yml", - "type": "module", - "meta": { - "name": "odgi_view", - "description": "Project a graph into other formats.", - "keywords": ["variation graph", "pangenome graph", "gfa", "graph formats"], - "tools": [ - { - "odgi": { - "description": "An optimized dynamic genome/graph implementation", - "homepage": "https://github.com/pangenome/odgi", - "documentation": "https://odgi.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/pangenome/odgi", - "doi": "10.1093/bioinformatics/btac308", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "graph": { - "type": "file", - "description": "Pangenome graph in GFA v1.0 format or in ODGI binary format", - "pattern": "*.{gfa,og}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "gfa": { - "type": "file", - "description": "File containing a pangenome graph in GFA v1.0 format.", - "pattern": "*.{gfa}" - } - } - ], - "authors": ["@subwaystation"] - }, - "pipelines": [ - { - "name": "pangenome", - "version": "dev" - } - ] - }, - { - "name": "odgi_viz", - "path": "modules/nf-core/odgi/viz/meta.yml", - "type": "module", - "meta": { - "name": "odgi_viz", - "description": "Visualize a variation graph in 1D.", - "keywords": ["variation graph", "pangenome graph", "gfa", "graph viz"], - "tools": [ - { - "odgi": { - "description": "An optimized dynamic genome/graph implementation", - "homepage": "https://github.com/pangenome/odgi", - "documentation": "https://odgi.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/pangenome/odgi", - "doi": "10.1093/bioinformatics/btac308", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "graph": { - "type": "file", - "description": "Pangenome graph in binary ODGI or in GFA v1.0 format", - "pattern": "*.{og,gfa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "png": { - "type": "file", - "description": "A 1D visualization of a pangenome graph.", - "pattern": "*.{png}" - } - } - ], - "authors": ["@subwaystation"] - }, - "pipelines": [ - { - "name": "pangenome", - "version": "dev" - } - ] - }, - { - "name": "oncocnv", - "path": "modules/nf-core/oncocnv/meta.yml", - "type": "module", - "meta": { - "name": "oncocnv", - "description": "Calls CNVs in bam files from tumor patients", - "keywords": ["cnv", "bam", "tumor/normal"], - "tools": [ - { - "oncocnv": { - "description": "a package to detect copy number changes in Deep Sequencing data", - "homepage": "https://github.com/BoevaLab/ONCOCNV/", - "documentation": "https://github.com/BoevaLab/ONCOCNV/blob/master/README.md", - "tool_dev_url": "https://github.com/BoevaLab/ONCOCNV/", - "doi": "10.1093/bioinformatics/btu436", - "licence": "GPL-3.0-or-later" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "normal": { - "type": "file", - "description": "BAM files", - "pattern": "*.bam" - } - }, - { - "normal_index": { - "type": "file", - "description": "BAM file indices", - "pattern": "*.bam.bai" - } - }, - { - "tumor": { - "type": "file", - "description": "BAM files", - "pattern": "*.bam" - } - }, - { - "tumor_index": { - "type": "file", - "description": "BAM file indices", - "pattern": "*.bam.bai" - } - }, - { - "bed": { - "type": "file", - "description": "annotated BED file containing target regions", - "pattern": "*.bed" - } - }, - { - "fasta": { - "type": "file", - "description": "genome FASTA file", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "png": { - "type": "file", - "description": "PNG file containing profile plot", - "pattern": "*.profile.png" - } - }, - { - "profile": { - "type": "file", - "description": "TXT file containing profile data", - "pattern": "*.profile.txt" - } - }, - { - "summary": { - "type": "file", - "description": "TXT file containing summarized data", - "pattern": "*.summary.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@marrip"] - } - }, - { - "name": "optitype", - "path": "modules/nf-core/optitype/meta.yml", - "type": "module", - "meta": { - "name": "optitype", - "description": "Perform HLA-I typing of sequencing data", - "keywords": ["hla-typing", "ILP", "HLA-I"], - "tools": [ - { - "optitype": { - "description": "Precision HLA typing from next-generation sequencing data", - "homepage": "https://github.com/FRED-2/OptiType", - "documentation": "https://github.com/FRED-2/OptiType", - "doi": "10.1093/bioinformatics/btu548", - "licence": ["BSD-3-Clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.{bam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file", - "pattern": "*.{bai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', seq_type:'DNA' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "file", - "description": "OptiType Results Folder", - "pattern": "${prefix}" - } - }, - { - "pdf": { - "type": "file", - "description": "OptiType PDF Plots", - "pattern": "*.pdf" - } - } - ], - "authors": ["@apeltzer"] - }, - "pipelines": [ - { - "name": "hlatyping", - "version": "2.0.0" - } - ] - }, - { - "name": "paftools_sam2paf", - "path": "modules/nf-core/paftools/sam2paf/meta.yml", - "type": "module", - "meta": { - "name": "paftools_sam2paf", - "description": "A program to convert bam into paf.", - "keywords": ["paf", "bam", "conversion"], - "tools": [ - { - "paftools": { - "description": "A program to manipulate paf files / convert to and from paf.\n", - "homepage": "https://github.com/lh3/minimap2", - "documentation": "https://github.com/lh3/minimap2/blob/master/README.md", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "An input bam file to be converted into paf." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "paf": { - "type": "file", - "description": "An output paf containing detailed data about the sample\n", - "pattern": "${prefix}.paf" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@DLBPointon"] - } - }, - { - "name": "pairix", - "path": "modules/nf-core/pairix/meta.yml", - "type": "module", - "meta": { - "name": "pairix", - "description": "a tool for indexing and querying on a block-compressed text file\ncontaining pairs of genomic coordinates\n", - "keywords": ["index"], - "tools": [ - { - "pairix": { - "description": "2D indexing on bgzipped text files of paired genomic coordinates", - "homepage": "https://github.com/4dn-dcic/pairix", - "documentation": "https://github.com/4dn-dcic/pairix", - "tool_dev_url": "https://github.com/4dn-dcic/pairix", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "pair": { - "type": "file", - "description": "pair file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "index": { - "type": "file", - "description": "pair index file", - "pattern": "*.px2" - } - } - ], - "authors": ["@jianhong"] - }, - "pipelines": [ - { - "name": "hicar", - "version": "1.0.0" - } - ] - }, - { - "name": "pairtools_dedup", - "path": "modules/nf-core/pairtools/dedup/meta.yml", - "type": "module", - "meta": { - "name": "pairtools_dedup", - "description": "Find and remove PCR/optical duplicates", - "keywords": ["dedup"], - "tools": [ - { - "pairtools": { - "description": "CLI tools to process mapped Hi-C data", - "homepage": "http://pairtools.readthedocs.io/", - "documentation": "http://pairtools.readthedocs.io/", - "tool_dev_url": "https://github.com/mirnylab/pairtools", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "pair file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "pairs": { - "type": "file", - "description": "Duplicates removed pairs", - "pattern": "*.{pairs.gz}" - } - }, - { - "stat": { - "type": "file", - "description": "stats of the pairs", - "pattern": "*.{pairs.stat}" - } - } - ], - "authors": ["@jianhong"] - }, - "pipelines": [ - { - "name": "hicar", - "version": "1.0.0" - } - ] - }, - { - "name": "pairtools_flip", - "path": "modules/nf-core/pairtools/flip/meta.yml", - "type": "module", - "meta": { - "name": "pairtools_flip", - "description": "Flip pairs to get an upper-triangular matrix", - "keywords": ["flip"], - "tools": [ - { - "pairtools": { - "description": "CLI tools to process mapped Hi-C data", - "homepage": "http://pairtools.readthedocs.io/", - "documentation": "http://pairtools.readthedocs.io/", - "tool_dev_url": "https://github.com/mirnylab/pairtools", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sam": { - "type": "file", - "description": "pair file" - } - }, - { - "chromsizes": { - "type": "file", - "description": "chromosome size file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "flip": { - "type": "file", - "description": "output file of flip", - "pattern": "*.{flip.gz}" - } - } - ], - "authors": ["@jianhong"] - }, - "pipelines": [ - { - "name": "hicar", - "version": "1.0.0" - } - ] - }, - { - "name": "pairtools_parse", - "path": "modules/nf-core/pairtools/parse/meta.yml", - "type": "module", - "meta": { - "name": "pairtools_parse", - "description": "Find ligation junctions in .sam, make .pairs", - "keywords": ["parse"], - "tools": [ - { - "pairtools": { - "description": "CLI tools to process mapped Hi-C data", - "homepage": "http://pairtools.readthedocs.io/", - "documentation": "http://pairtools.readthedocs.io/", - "tool_dev_url": "https://github.com/mirnylab/pairtools", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "chromsizes": { - "type": "file", - "description": "chromosome size file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "pairsam": { - "type": "file", - "description": "parsed pair file", - "pattern": "*.{pairsam.gz}" - } - }, - { - "stat": { - "type": "file", - "description": "stats of the pairs", - "pattern": "*.{pairsam.stat}" - } - } - ], - "authors": ["@jianhong"] - }, - "pipelines": [ - { - "name": "hicar", - "version": "1.0.0" - } - ] - }, - { - "name": "pairtools_restrict", - "path": "modules/nf-core/pairtools/restrict/meta.yml", - "type": "module", - "meta": { - "name": "pairtools_restrict", - "description": "Assign restriction fragments to pairs", - "keywords": ["sort"], - "tools": [ - { - "pairtools": { - "description": "CLI tools to process mapped Hi-C data", - "homepage": "http://pairtools.readthedocs.io/", - "documentation": "http://pairtools.readthedocs.io/", - "tool_dev_url": "https://github.com/mirnylab/pairtools", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "pairs": { - "type": "file", - "description": "pairs file" - } - }, - { - "frag": { - "type": "file", - "description": "a tab-separated BED file with the positions of restriction fragments\n(chrom, start, end).\nCan be generated using cooler digest.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "restrict": { - "type": "file", - "description": "Filtered pairs file", - "pattern": "*.{pairs.gz}" - } - } - ], - "authors": ["@jianhong"] - }, - "pipelines": [ - { - "name": "hicar", - "version": "1.0.0" - } - ] - }, - { - "name": "pairtools_select", - "path": "modules/nf-core/pairtools/select/meta.yml", - "type": "module", - "meta": { - "name": "pairtools_select", - "description": "Select pairs according to given condition by options.args", - "keywords": ["select"], - "tools": [ - { - "pairtools": { - "description": "CLI tools to process mapped Hi-C data", - "homepage": "http://pairtools.readthedocs.io/", - "documentation": "http://pairtools.readthedocs.io/", - "tool_dev_url": "https://github.com/mirnylab/pairtools", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "pairs file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "selected": { - "type": "file", - "description": "Selected pairs file", - "pattern": "*.{selected.pairs.gz}" - } - }, - { - "unselected": { - "type": "file", - "description": "Rest pairs file.", - "pattern": "*.{unselected.pairs.gz}" - } - } - ], - "authors": ["@jianhong"] - }, - "pipelines": [ - { - "name": "hicar", - "version": "1.0.0" - } - ] - }, - { - "name": "pairtools_sort", - "path": "modules/nf-core/pairtools/sort/meta.yml", - "type": "module", - "meta": { - "name": "pairtools_sort", - "description": "Sort a .pairs/.pairsam file", - "keywords": ["sort"], - "tools": [ - { - "pairtools": { - "description": "CLI tools to process mapped Hi-C data", - "homepage": "http://pairtools.readthedocs.io/", - "documentation": "http://pairtools.readthedocs.io/", - "tool_dev_url": "https://github.com/mirnylab/pairtools", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "A pairs file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sorted": { - "type": "file", - "description": "Sorted pairs file", - "pattern": "*.{pairs.gz}" - } - } - ], - "authors": ["@jianhong"] - }, - "pipelines": [ - { - "name": "hicar", - "version": "1.0.0" - } - ] - }, - { - "name": "panaroo_run", - "path": "modules/nf-core/panaroo/run/meta.yml", - "type": "module", - "meta": { - "name": "panaroo_run", - "description": "A fast and scalable tool for bacterial pangenome analysis", - "keywords": ["gff", "pan-genome", "alignment"], - "tools": [ - { - "panaroo": { - "description": "panaroo - an updated pipeline for pangenome investigation", - "homepage": "https://gtonkinhill.github.io/panaroo/#/", - "documentation": "https://gtonkinhill.github.io/panaroo/#/gettingstarted/quickstart", - "tool_dev_url": "https://github.com/gtonkinhill/panaroo", - "doi": "10.1186/s13059-020-02090-4", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gff": { - "type": "file", - "description": "A set of GFF3 formatted files", - "pattern": "*.{gff}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "results": { - "type": "directory", - "description": "Directory containing Panaroo result files", - "pattern": "*/*" - } - }, - { - "aln": { - "type": "file", - "description": "Core-genome alignment produced by Panaroo (Optional)", - "pattern": "*.{fasta}" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "pangolin", - "path": "modules/nf-core/pangolin/meta.yml", - "type": "module", - "meta": { - "name": "pangolin", - "description": "Phylogenetic Assignment of Named Global Outbreak LINeages", - "keywords": ["covid", "pangolin", "lineage"], - "tools": [ - { - "star": { - "description": "Phylogenetic Assignment of Named Global Outbreak LINeages\n", - "homepage": "https://github.com/cov-lineages/pangolin#pangolearn-description", - "manual": "https://github.com/cov-lineages/pangolin#pangolearn-description", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The genome assembly to be evaluated\n" - } - } - ], - "output": [ - { - "report": { - "type": "file", - "description": "Pangolin lineage report", - "pattern": "*.{csv}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kevinmenden", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "parabricks_applybqsr", - "path": "modules/nf-core/parabricks/applybqsr/meta.yml", - "type": "module", - "meta": { - "name": "parabricks_applybqsr", - "description": "NVIDIA Clara Parabricks GPU-accelerated apply Base Quality Score Recalibration (BQSR).", - "keywords": ["bqsr", "bam", "GPU-accelerated", "base quality score recalibration"], - "tools": [ - { - "parabricks": { - "description": "NVIDIA Clara Parabricks GPU-accelerated genomics tools", - "homepage": "https://www.nvidia.com/en-us/clara/genomics/", - "documentation": "https://docs.nvidia.com/clara/parabricks/", - "licence": "custom" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information.\ne.g. [ id:'test' ]\n" - } - }, - { - "input": { - "type": "file", - "description": "bam file for sample to be variant called.", - "pattern": "*.bam" - } - }, - { - "input_index": { - "type": "file", - "description": "bai index corresponding to input bam file. Only necessary if intervals are provided.", - "pattern": "*.bai" - } - }, - { - "bqsr_table": { - "type": "file", - "description": "Table from calculating BQSR. Output from parabricks/fq2bam or gatk4/baserecalibrator.", - "pattern": "*.table" - } - }, - { - "interval_file": { - "type": "file", - "description": "File or files containing genomic intervals for use in base quality score recalibration.", - "pattern": "*.{bed,interval_list,picard,list,intervals}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference fasta - must be unzipped.", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information.\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions.", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file after applying BQSR.", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "bai index corresponding to output bam file.", - "pattern": "*.bai" - } - } - ], - "authors": ["@bsiranosian"] - } - }, - { - "name": "parabricks_fq2bam", - "path": "modules/nf-core/parabricks/fq2bam/meta.yml", - "type": "module", - "meta": { - "name": "parabricks_fq2bam", - "description": "NVIDIA Clara Parabricks GPU-accelerated alignment, sorting, BQSR calculation, and duplicate marking.", - "keywords": ["align", "sort", "bqsr", "duplicates"], - "tools": [ - { - "parabricks": { - "description": "NVIDIA Clara Parabricks GPU-accelerated genomics tools", - "homepage": "https://www.nvidia.com/en-us/clara/genomics/", - "documentation": "https://docs.nvidia.com/clara/parabricks/4.0.1/Documentation/", - "licence": "custom" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "fastq.gz files", - "pattern": "*.fastq.gz" - } - }, - { - "interval_file": { - "type": "file", - "description": "(optional) file(s) containing genomic intervals for use in base quality score recalibration (BQSR)", - "pattern": "*.{bed,interval_list,picard,list,intervals}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing fasta information\n" - } - }, - { - "fasta": { - "type": "file", - "description": "reference fasta file - must be unzipped", - "pattern": "*.fasta" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing index information\n" - } - }, - { - "index": { - "type": "file", - "description": "reference BWA index", - "pattern": "*.{amb,ann,bwt,pac,sa}" - } - }, - { - "known_sites": { - "type": "file", - "description": "(optional) known sites file(s) for calculating BQSR. markdups must be true to perform BQSR.", - "pattern": "*.vcf.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM file", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "index corresponding to sorted BAM file", - "pattern": "*.bai" - } - }, - { - "qc_metrics": { - "type": "directory", - "description": "(optional) optional directory of qc metrics", - "pattern": "qc_metrics" - } - }, - { - "bqsr_table": { - "type": "file", - "description": "(optional) table from base quality score recalibration calculation, to be used with parabricks/applybqsr", - "pattern": "*.table" - } - }, - { - "duplicate_metrics": { - "type": "file", - "description": "(optional) metrics calculated from marking duplcates in the bam file", - "pattern": "*-duplicate-metrics.txt" - } - } - ], - "authors": ["@bsiranosian"] - } - }, - { - "name": "paraclu", - "path": "modules/nf-core/paraclu/meta.yml", - "type": "module", - "meta": { - "name": "paraclu", - "description": "Paraclu finds clusters in data attached to sequences.", - "keywords": ["sort"], - "tools": [ - { - "paraclu": { - "description": "Paraclu finds clusters in data attached to sequences.", - "homepage": "https://gitlab.com/mcfrith/paraclu", - "documentation": "https://gitlab.com/mcfrith/paraclu", - "tool_dev_url": "https://gitlab.com/mcfrith/paraclu", - "licence": ["GPL v3-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "BED file", - "pattern": "*.bed" - } - }, - { - "min_cluster": { - "type": "integer", - "description": "Minimum size of cluster", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "clustered BED file", - "pattern": "*.bed" - } - } - ], - "authors": ["@mashehu"] - } - }, - { - "name": "paragraph_idxdepth", - "path": "modules/nf-core/paragraph/idxdepth/meta.yml", - "type": "module", - "meta": { - "name": "paragraph_idxdepth", - "description": "Determines the depth in a BAM/CRAM file", - "keywords": ["bam", "cram", "depth", "paragraph"], - "tools": [ - { - "paragraph": { - "description": "Graph realignment tools for structural variants", - "homepage": "https://github.com/Illumina/paragraph", - "documentation": "https://github.com/Illumina/paragraph", - "tool_dev_url": "https://github.com/Illumina/paragraph", - "doi": "10.1101/635011", - "licence": "['Apache License 2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing information for the fasta\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing information for the fasta_fai\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "input_index": { - "type": "file", - "description": "Index of the BAM/CRAM file", - "pattern": "*.{bai,crai}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome FASTA", - "pattern": "*.{fasta,fna,fa}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "Index of the reference genome FASTA", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "depth": { - "type": "file", - "description": "A JSON file containing depth, depth variance, read length and other parameters", - "pattern": "*.json" - } - }, - { - "binned_depth": { - "type": "file", - "description": "A TSV file containing the binned normalized depth. Can only be calculated for CRAM files", - "pattern": "*.tsv" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "paragraph_multigrmpy", - "path": "modules/nf-core/paragraph/multigrmpy/meta.yml", - "type": "module", - "meta": { - "name": "paragraph_multigrmpy", - "description": "Genotype structural variants using paragraph and grmpy", - "keywords": ["vcf", "json", "structural variants", "graphs", "genotyping"], - "tools": [ - { - "paragraph": { - "description": "Graph realignment tools for structural variants", - "homepage": "https://github.com/Illumina/paragraph", - "documentation": "https://github.com/Illumina/paragraph", - "tool_dev_url": "https://github.com/Illumina/paragraph", - "doi": "10.1101/635011", - "licence": "['Apache License 2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "variants": { - "type": "file", - "description": "A VCF or JSON file containing called structural variants", - "pattern": "*.{vcf,json}" - } - }, - { - "variants_index": { - "type": "file", - "description": "The index for the VCF file", - "pattern": "*.tbi" - } - }, - { - "reads": { - "type": "file", - "description": "BAM or CRAM file(s) to genotype against. These should be specified inside the `manifest`", - "pattern": "*.{bam,cram}" - } - }, - { - "reads_index": { - "type": "file", - "description": "The index/indices for the BAM/CRAM file(s)", - "pattern": "*.{bai,crai}" - } - }, - { - "manifest": { - "type": "file", - "description": "A tab separated file containing information on the BAM/CRAM files.\nThis information can be generated using paragraph/idxdepth.\nMore information can be found here: https://github.com/Illumina/paragraph#sample-manifest\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information for the FASTA file\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference FASTA file used to generate the VCF and BAM/CRAM files", - "pattern": "*.{fa,fasta,fna}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing sample information for the FASTA index file\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the reference FASTA file", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "The genotyped VCF file in BGZIP format", - "pattern": "*.vcf.gz" - } - }, - { - "json": { - "type": "file", - "description": "The genotyped JSON file in GZIP format", - "pattern": "*.json.gz" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "paragraph_vcf2paragraph", - "path": "modules/nf-core/paragraph/vcf2paragraph/meta.yml", - "type": "module", - "meta": { - "name": "paragraph_vcf2paragraph", - "description": "Convert a VCF file to a JSON graph", - "keywords": ["vcf", "json", "structural_variants"], - "tools": [ - { - "paragraph": { - "description": "Graph realignment tools for structural variants", - "homepage": "https://github.com/Illumina/paragraph", - "documentation": "https://github.com/Illumina/paragraph", - "tool_dev_url": "https://github.com/Illumina/paragraph", - "doi": "10.1101/635011", - "licence": "['Apache License 2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "The VCF/BCF file", - "pattern": "*.{vcf,bcf}(.gz)?" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "graph": { - "type": "file", - "description": "The created graph in BGZIP format", - "pattern": "*.json.gz" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "pasty", - "path": "modules/nf-core/pasty/meta.yml", - "type": "module", - "meta": { - "name": "pasty", - "description": "Serogroup Pseudomonas aeruginosa assemblies", - "keywords": ["bacteria", "serogroup", "fasta", "assembly"], - "tools": [ - { - "pasty": { - "description": "A tool for in silico serogrouping of Pseudomonas aeruginosa isolates", - "homepage": "https://github.com/rpetit3/pasty", - "documentation": "https://github.com/rpetit3/pasty", - "tool_dev_url": "https://github.com/rpetit3/pasty", - "licence": "['Apache-2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "An assembly in FASTA format", - "pattern": "*.{fasta,fasta.gz,fna,fna.gz,fa,fa.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "A tab-delimited file with the predicted serogroup", - "pattern": "*.tsv" - } - }, - { - "blast": { - "type": "file", - "description": "A tab-delimited file of all blast hits", - "pattern": "*.blastn.tsv" - } - }, - { - "details": { - "type": "file", - "description": "A tab-delimited file with details for each serogroup", - "pattern": "*.details.tsv" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "pbbam_pbmerge", - "path": "modules/nf-core/pbbam/pbmerge/meta.yml", - "type": "module", - "meta": { - "name": "pbbam_pbmerge", - "description": "The pbbam software package provides components to create, query, & edit PacBio BAM files and associated indices. These components include a core C++ library, bindings for additional languages, and command-line utilities.", - "keywords": ["pbbam", "pbbam/pbmerge"], - "tools": [ - { - "pbbam": { - "description": "PacBio BAM C++ library", - "homepage": "https://github.com/PacificBiosciences/pbbioconda", - "documentation": "https://pbbam.readthedocs.io/en/latest/tools/pbmerge.html", - "tool_dev_url": "https://github.com/pacificbiosciences/pbbam/", - "licence": ["BSD-3-Clause-Clear"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM files to merge", - "pattern": "*.bam" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "The merged bam file", - "pattern": "*.bam" - } - }, - { - "pbi": { - "type": "file", - "description": "BAM Pacbio index file", - "pattern": "*.bam.pbi" - } - } - ], - "authors": ["@sguizard"] - } - }, - { - "name": "pbccs", - "path": "modules/nf-core/pbccs/meta.yml", - "type": "module", - "meta": { - "name": "pbccs", - "description": "Pacbio ccs - Generate Higly Accurate Single-Molecule Consensus Reads", - "keywords": ["ccs", "pacbio", "isoseq", "subreads"], - "tools": [ - { - "pbccs": { - "description": "pbccs - Generate Highly Accurate Single-Molecule Consensus Reads (HiFi Reads)", - "homepage": "https://github.com/PacificBiosciences/pbbioconda", - "documentation": "https://ccs.how/", - "tool_dev_url": "https://github.com/PacificBiosciences/ccs", - "licence": ["BSD-3-Clause-Clear"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\nid: id of the split file\n" - } - }, - { - "bam": { - "type": "file", - "description": "Raw subreads bam", - "pattern": "*.subreads.bam" - } - }, - { - "pbi": { - "type": "file", - "description": "Pacbio BAM Index", - "pattern": "*.pbi" - } - }, - { - "chunk_num": { - "type": "integer", - "description": "BAM part to process" - } - }, - { - "chunk_on": { - "type": "integer", - "description": "Total number of bam parts to process" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "CCS sequences in bam format", - "pattern": "*.bam" - } - }, - { - "pbi": { - "type": "file", - "description": "PacBio Index of CCS sequences", - "pattern": "*.pbi" - } - }, - { - "report_txt": { - "type": "file", - "description": "Summary of CCS in txt format", - "pattern": ".txt" - } - }, - { - "report_json": { - "type": "file", - "description": "Summary of CCS in txt json", - "pattern": ".json" - } - }, - { - "metrics": { - "type": "file", - "description": "Metrics about zmws", - "pattern": "*.json.gz" - } - } - ], - "authors": ["@sguizard"] - }, - "pipelines": [ - { - "name": "isoseq", - "version": "1.1.4" - } - ] - }, - { - "name": "pbptyper", - "path": "modules/nf-core/pbptyper/meta.yml", - "type": "module", - "meta": { - "name": "pbptyper", - "description": "Assign PBP type of Streptococcus pneumoniae assemblies", - "keywords": ["bacteria", "pbp", "fasta", "assembly"], - "tools": [ - { - "pbptyper": { - "description": "In silico Penicillin Binding Protein (PBP) typer for Streptococcus pneumoniae assemblies", - "homepage": "https://github.com/rpetit3/pbptyper", - "documentation": "https://github.com/rpetit3/pbptyper", - "tool_dev_url": "https://github.com/rpetit3/pbptyper", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "An assembly in FASTA format", - "pattern": "*.{fasta,fasta.gz,fna,fna.gz,fa,fa.gz}" - } - }, - { - "db": { - "type": "file", - "description": "A reference PBP database (optional)", - "pattern": "*.{fasta,fna,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "A tab-delimited file with the predicted PBP type", - "pattern": "*.tsv" - } - }, - { - "blast": { - "type": "file", - "description": "A tab-delimited file of all blast hits", - "pattern": "*.tblastn.tsv" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "pear", - "path": "modules/nf-core/pear/meta.yml", - "type": "module", - "meta": { - "name": "pear", - "description": "PEAR is an ultrafast, memory-efficient and highly accurate pair-end read merger.", - "keywords": ["pair-end", "read", "merge"], - "tools": [ - { - "pear": { - "description": "paired-end read merger", - "homepage": "https://cme.h-its.org/exelixis/web/software/pear/", - "documentation": "https://cme.h-its.org/exelixis/web/software/pear/doc.html", - "licence": "['Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files with paired-end reads forward and reverse.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "assembled": { - "type": "file", - "description": "FastQ file containing Assembled reads.", - "pattern": "*.{fastq.gz}" - } - }, - { - "unassembled": { - "type": "file", - "description": "FastQ files containing Unassembled forward and reverse reads.", - "pattern": "*.{fastq.gz}" - } - }, - { - "discarded": { - "type": "file", - "description": "FastQ file containing discarded reads.", - "pattern": "*.{fastq.gz}" - } - } - ], - "authors": ["@mirpedrol"] - }, - "pipelines": [ - { - "name": "crisprseq", - "version": "2.0.0" - } - ] - }, - { - "name": "peddy", - "path": "modules/nf-core/peddy/meta.yml", - "type": "module", - "meta": { - "name": "peddy", - "description": "Manipulation, validation and exploration of pedigrees", - "keywords": ["pedigrees", "ped", "family"], - "tools": [ - { - "peddy": { - "description": "genotype, ped correspondence check, ancestry check, sex check. directly, quickly on VCF", - "homepage": "https://github.com/brentp/peddy", - "documentation": "https://peddy.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/brentp/peddy", - "doi": "10.1016/j.ajhg.2017.01.017", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf.gz}" - } - }, - { - "ped": { - "type": "file", - "description": "PED/FAM file", - "pattern": "*.{ped,fam}" - } - }, - { - "vcf_tbi": { - "type": "file", - "description": "TBI file", - "pattern": "*.{vcf.gz.tbi}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ped": { - "type": "file", - "description": "PED/FAM file", - "pattern": "*.peddy.{ped}" - } - }, - { - "html": { - "type": "file", - "description": "HTML file", - "pattern": "*.{html}" - } - }, - { - "csv": { - "type": "file", - "description": "CSV file", - "pattern": "*.{csv}" - } - }, - { - "png": { - "type": "file", - "description": "PNG file", - "pattern": "*.{png}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@rannick"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "peka", - "path": "modules/nf-core/peka/meta.yml", - "type": "module", - "meta": { - "name": "peka", - "description": "Runs PEKA CLIP peak k-mer analysis", - "keywords": ["motif", "CLIP", "iCLIP", "genomics", "k-mer"], - "tools": [ - { - "peka": { - "description": "Positionally-enriched k-mer analysis (PEKA) is a software package for identifying enriched protein-RNA binding motifs from CLIP datasets", - "homepage": "https://github.com/ulelab/peka", - "documentation": "https://github.com/ulelab/peka", - "tool_dev_url": "https://github.com/ulelab/peka", - "doi": "10.1186/s13059-022-02755-2", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "peaks": { - "type": "file", - "description": "BED file of peak regions", - "pattern": "*.{bed,bed.gz}" - } - }, - { - "crosslinks": { - "type": "file", - "description": "BED file of crosslinks", - "pattern": "*.{bed,bed.gz}" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome reference sequence used", - "pattern": "*.{fa,fasta}" - } - }, - { - "fai": { - "type": "file", - "description": "FAI file corresponding to the reference sequence", - "pattern": "*.{fai}" - } - }, - { - "gtf": { - "type": "file", - "description": "A segmented GTF used to annotate peaks", - "pattern": "*.{gtf}" - } - } - ], - "output": [ - { - "cluster": { - "type": "file", - "description": "TSV file of summed occurrence distributions of k-mers within defined clusters", - "pattern": "*.tsv" - } - }, - { - "distribution": { - "type": "file", - "description": "TSV file with calculated PEKA score and occurrence distribution for all possible k-mers", - "pattern": "*.tsv" - } - }, - { - "pdf": { - "type": "file", - "description": "PDF file with graphs showing k-mer occurrence distributions around thresholded crosslink sites", - "pattern": "*.pdf" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kkuret", "@codeprimate123", "@chris-cheshire", "@charlotteanne"] - } - }, - { - "name": "phantompeakqualtools", - "path": "modules/nf-core/phantompeakqualtools/meta.yml", - "type": "module", - "meta": { - "name": "phantompeakqualtools", - "description": "\"This package computes informative enrichment and quality measures\nfor ChIP-seq/DNase-seq/FAIRE-seq/MNase-seq data. It can also be used\nto obtain robust estimates of the predominant fragment length or\ncharacteristic tag shift values in these assays.\"\n", - "keywords": ["ChIP-Seq", "QC", "phantom peaks"], - "tools": [ - { - "phantompeakqualtools": { - "description": "\"This package computes informative enrichment and quality measures\nfor ChIP-seq/DNase-seq/FAIRE-seq/MNase-seq data. It can also be used\nto obtain robust estimates of the predominant fragment length or\ncharacteristic tag shift values in these assays.\"\n", - "documentation": "https://github.com/kundajelab/phantompeakqualtools", - "tool_dev_url": "https://github.com/kundajelab/phantompeakqualtools", - "doi": "10.1101/gr.136184.111", - "licence": "['BSD-3-clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "spp": { - "type": "file", - "description": "A ChIP-Seq Processing Pipeline file containing\npeakshift/phantomPeak results\n", - "pattern": "*.{out}" - } - }, - { - "pdf": { - "type": "file", - "description": "A pdf containing save cross-correlation plots", - "pattern": "*.{pdf}" - } - }, - { - "rdata": { - "type": "file", - "description": "Rdata file containing the R session", - "pattern": "*.{Rdata}" - } - } - ], - "authors": ["@drpatelh", "@Emiller88", "@JoseEspinosa"] - }, - "pipelines": [ - { - "name": "chipseq", - "version": "2.0.0" - } - ] - }, - { - "name": "phispy", - "path": "modules/nf-core/phispy/meta.yml", - "type": "module", - "meta": { - "name": "PhiSpy", - "description": "Predict prophages in bacterial genomes", - "keywords": ["genomics", "virus", "phage", "prophage", "annotation", "identification"], - "tools": [ - { - "phispy": { - "description": "Prophage finder using multiple metrics", - "homepage": "https://github.com/linsalrob/PhiSpy/blob/master/README.md", - "documentation": "https://github.com/linsalrob/PhiSpy/blob/master/README.md", - "tool_dev_url": "https://github.com/linsalrob/PhiSpy/", - "doi": "10.1093/nar/gks406", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gbk": { - "type": "file", - "description": "Genome file in .gbk or .gbff format.", - "pattern": "*.{gbk,gbff}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "coordinates": { - "type": "file", - "description": "Coordinates of each prophage identified in the genome,\nand their att sites (if found).\n", - "pattern": "*.{tsv}" - } - }, - { - "gbk": { - "type": "file", - "description": "A duplicate GenBank record that is the same as the input record,\nbut we have inserted the prophage information, including att\nsites into the record.\n", - "pattern": "*.{gbk,gbff}" - } - }, - { - "log": { - "type": "file", - "description": "File containing the PhiSpy execution log", - "pattern": "*.{log}" - } - }, - { - "information": { - "type": "file", - "description": "File containing all the genes of the genome, one per line.\nThe tenth column describes how likely the gene is a phage gene.\n", - "pattern": "*.{tsv}" - } - }, - { - "bacteria_fasta": { - "type": "file", - "description": "Genome with prophage regions masked with N.", - "pattern": "*.{fasta}" - } - }, - { - "bacteria_gbk": { - "type": "file", - "description": "Genome sequences identified as bacterial.", - "pattern": "*.{gbk}" - } - }, - { - "phage_fasta": { - "type": "file", - "description": "Phage sequences extracted from the genome.", - "pattern": "*.{fasta}" - } - }, - { - "phage_gbk": { - "type": "file", - "description": "Phage sequences extracted from the genome.", - "pattern": "*.{gbk}" - } - }, - { - "prophage_gff": { - "type": "file", - "description": "Prophage information in GFF3 format.", - "pattern": "*.{gff3}" - } - }, - { - "prophage_tbl": { - "type": "file", - "description": "File containing prophage number and its location in the genome.\n", - "pattern": "*.{tbl}" - } - }, - { - "prophage_tsv": { - "type": "file", - "description": "A file containing simpler version of the coordinates file,\nwith only prophage number, contig, start and stop.\n", - "pattern": "*.{tsv}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@jvfe"] - } - }, - { - "name": "phyloflash", - "path": "modules/nf-core/phyloflash/meta.yml", - "type": "module", - "meta": { - "name": "phyloflash", - "description": "phyloFlash is a pipeline to rapidly reconstruct the SSU rRNAs and explore phylogenetic composition of an illumina (meta)genomic dataset.", - "keywords": ["metagenomics", "illumina datasets", "phylogenetic composition"], - "tools": [ - { - "phyloflash": { - "description": "phyloFlash is a pipeline to rapidly reconstruct the SSU rRNAs and explore phylogenetic composition of an illumina (meta)genomic dataset.", - "homepage": "https://hrgv.github.io/phyloFlash/", - "documentation": "https://hrgv.github.io/phyloFlash/usage.html", - "tool_dev_url": "https://github.com/HRGV/phyloFlash", - "doi": "10.1128/mSystems.00920-20", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Channel containing single or paired-end reads", - "pattern": "*.{fastq.gz,fq.gz}" - } - }, - { - "sliva_db": { - "type": "directory", - "description": "Folder containing the SILVA database", - "pattern": "ref" - } - }, - { - "univec_db": { - "type": "directory", - "description": "Folder containing UniVec database", - "pattern": "UniVec" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "results": { - "type": "directory", - "description": "Folder containing the results of phyloFlash analysis", - "pattern": "${prefix}*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@abhi18av"] - } - }, - { - "name": "picard_addorreplacereadgroups", - "path": "modules/nf-core/picard/addorreplacereadgroups/meta.yml", - "type": "module", - "meta": { - "name": "picard_addorreplacereadgroups", - "description": "Assigns all the reads in a file to a single new read-group", - "keywords": ["add", "replace", "read-group"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360037226472-AddOrReplaceReadGroups-Picard-", - "tool_dev_url": "https://github.com/broadinstitute/picard", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Input BAM file", - "pattern": "*.{bam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Output BAM file", - "pattern": "*.{bam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file", - "pattern": "*.{bai}" - } - } - ], - "authors": ["@sateeshperi", "@mjcipriano", "@hseabolt", "@cmatKhan", "@muffato"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "picard_bedtointervallist", - "path": "modules/nf-core/picard/bedtointervallist/meta.yml", - "type": "module", - "meta": { - "name": "picard_bedtointervallist", - "description": "Creates an interval list from a bed file and a reference dict", - "keywords": ["bed", "interval list", "picard", "convert"], - "tools": [ - { - "gatk4": { - "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", - "homepage": "https://gatk.broadinstitute.org/hc/en-us", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", - "doi": "10.1158/1538-7445.AM2017-3590", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "bed": { - "type": "file", - "description": "Input bed file", - "pattern": "*.bed" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome']\n" - } - }, - { - "dict": { - "type": "file", - "description": "Sequence dictionary", - "pattern": "*.dict" - } - }, - { - "arguments_file": { - "type": "file", - "description": "File containing command line arguments (optional)", - "pattern": "*" - } - } - ], - "output": [ - { - "interval_list": { - "type": "file", - "description": "gatk interval list file", - "pattern": "*.interval_list" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kevinmenden", "@matthdsm"] - } - }, - { - "name": "picard_cleansam", - "path": "modules/nf-core/picard/cleansam/meta.yml", - "type": "module", - "meta": { - "name": "picard_cleansam", - "description": "Cleans the provided BAM, soft-clipping beyond-end-of-reference alignments and setting MAPQ to 0 for unmapped reads", - "keywords": ["clean", "bam"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360036491452-CleanSam-Picard-", - "tool_dev_url": "https://github.com/broadinstitute/picard", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sam": { - "type": "file", - "description": "BAM file", - "pattern": "*.{bam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sam": { - "type": "file", - "description": "Cleaned BAM file", - "pattern": "*.{bam}" - } - } - ], - "authors": ["@sateeshperi", "@mjcipriano", "@hseabolt"] - } - }, - { - "name": "picard_collecthsmetrics", - "path": "modules/nf-core/picard/collecthsmetrics/meta.yml", - "type": "module", - "meta": { - "name": "picard_collecthsmetrics", - "description": "Collects hybrid-selection (HS) metrics for a SAM or BAM file.", - "keywords": ["alignment", "metrics", "statistics", "insert", "hybrid-selection", "quality", "bam"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://broadinstitute.github.io/picard/", - "tool_dev_url": "https://github.com/broadinstitute/picard/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "An aligned BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "bai": { - "type": "file", - "description": "Optional aligned BAM/CRAM/SAM file index", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "bait_intervals": { - "type": "file", - "description": "An interval file that contains the locations of the baits used.", - "pattern": "*.{interval_list,bed,bed.gz}" - } - }, - { - "target_intervals": { - "type": "file", - "description": "An interval file that contains the locations of the targets.", - "pattern": "*.{interval_list,bed,bed.gz}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "A reference file to calculate dropout metrics measuring reduced representation of reads.\nOptional input.\n", - "pattern": "*.{fa,fasta,fna}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Index of FASTA file. Only needed when fasta is supplied.", - "pattern": "*.fai" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Sequence dictionary of FASTA file. Only needed when bed interval lists are supplied.", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "metrics": { - "type": "file", - "description": "Alignment metrics files generated by picard", - "pattern": "*_{metrics}" - } - } - ], - "authors": ["@projectoriented", "@matthdsm"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "picard_collectinsertsizemetrics", - "path": "modules/nf-core/picard/collectinsertsizemetrics/meta.yml", - "type": "module", - "meta": { - "name": "picard_collectinsertsizemetrics", - "description": "Collect metrics about the insert size distribution of a paired-end library.", - "keywords": ["metrics", "alignment", "insert", "statistics", "bam"], - "tools": [ - { - "picard": { - "description": "Java tools for working with NGS data in the BAM format", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://broadinstitute.github.io/picard/", - "tool_dev_url": "https://github.com/broadinstitute/picard", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "pdf": { - "type": "file", - "description": "Histogram plots of the insert size metrics computed by Picard", - "pattern": "*.pdf" - } - }, - { - "metrics": { - "type": "file", - "description": "Values used by Picard to generate the insert size histograms", - "pattern": "*.txt" - } - } - ], - "authors": ["@FerriolCalvet"] - } - }, - { - "name": "picard_collectmultiplemetrics", - "path": "modules/nf-core/picard/collectmultiplemetrics/meta.yml", - "type": "module", - "meta": { - "name": "picard_collectmultiplemetrics", - "description": "Collect multiple metrics from a BAM file", - "keywords": ["alignment", "metrics", "statistics", "insert", "quality", "bam"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://broadinstitute.github.io/picard/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "SAM/BAM/CRAM file", - "pattern": "*.{sam,bam,cram}" - } - }, - { - "bai": { - "type": "file", - "description": "Optional SAM/BAM/CRAM file index", - "pattern": "*.{sai,bai,crai}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome']\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome fasta file" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome']\n" - } - }, - { - "fai": { - "type": "file", - "description": "Index of FASTA file. Only needed when fasta is supplied.", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "metrics": { - "type": "file", - "description": "Alignment metrics files generated by picard", - "pattern": "*_{metrics}" - } - }, - { - "pdf": { - "type": "file", - "description": "PDF plots of metrics", - "pattern": "*.{pdf}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "ssds", - "version": "dev" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "picard_collectrnaseqmetrics", - "path": "modules/nf-core/picard/collectrnaseqmetrics/meta.yml", - "type": "module", - "meta": { - "name": "picard_collectrnaseqmetrics", - "description": "Collect metrics from a RNAseq BAM file", - "keywords": ["rna", "bam", "metrics", "alignment", "statistics", "quality"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://broadinstitute.github.io/picard/", - "tool_dev_url": "https://github.com/broadinstitute/picard", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false, strandedness:true ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/SAM file", - "pattern": "*.{bam,sam}" - } - }, - { - "ref_flat": { - "type": "file", - "description": "Genome ref_flat file" - } - }, - { - "gene_pred": { - "type": "file", - "description": "genome gene_pred file as an alternative to the ref_flat file" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome fasta file" - } - }, - { - "rrna_intervals": { - "type": "file", - "description": "Interval file of ribosomal RNA regions" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "metrics": { - "type": "file", - "description": "RNA alignment metrics files generated by picard", - "pattern": "*.rna_metrics" - } - }, - { - "pdf": { - "type": "file", - "description": "Plot normalized position vs. coverage in a pdf file generated by picard" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@anoronh4"] - } - }, - { - "name": "picard_collectwgsmetrics", - "path": "modules/nf-core/picard/collectwgsmetrics/meta.yml", - "type": "module", - "meta": { - "name": "picard_collectwgsmetrics", - "description": "Collect metrics about coverage and performance of whole genome sequencing (WGS) experiments.", - "keywords": ["alignment", "metrics", "statistics", "quality", "bam"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://broadinstitute.github.io/picard/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Aligned reads file", - "pattern": "*.{bam, cram}" - } - }, - { - "bai": { - "type": "file", - "description": "(Optional) Aligned reads file index", - "pattern": "*.{bai,crai}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome fasta file", - "pattern": "*.{fa,fasta,fna}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Genome fasta file index", - "pattern": "*.{fai}" - } - }, - { - "intervallist": { - "type": "file", - "description": "Picard Interval List. Defines which contigs to include. Can be generated from a BED file with GATK BedToIntervalList." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "metrics": { - "type": "file", - "description": "Alignment metrics files generated by picard", - "pattern": "*_{metrics}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@flowuenne", "@lassefolkersen", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "variantcatalogue", - "version": "dev" - } - ] - }, - { - "name": "picard_createsequencedictionary", - "path": "modules/nf-core/picard/createsequencedictionary/meta.yml", - "type": "module", - "meta": { - "name": "picard_createsequencedictionary", - "description": "Creates a sequence dictionary for a reference sequence.", - "keywords": ["sequence", "dictionary", "picard"], - "tools": [ - { - "picard": { - "description": "Creates a sequence dictionary file (with \".dict\" extension) from a reference sequence provided in FASTA format, which is required by many processing and analysis tools. The output file contains a header but no SAMRecords, and the header contains only sequence records.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360036712531-CreateSequenceDictionary-Picard-", - "tool_dev_url": "https://github.com/broadinstitute/picard", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "dict": { - "type": "file", - "description": "picard dictionary file", - "pattern": "*.{dict}" - } - } - ], - "authors": ["@sateeshperi", "@mjcipriano", "@hseabolt"] - } - }, - { - "name": "picard_crosscheckfingerprints", - "path": "modules/nf-core/picard/crosscheckfingerprints/meta.yml", - "type": "module", - "meta": { - "name": "picard_crosscheckfingerprints", - "description": "Checks that all data in the set of input files appear to come from the same individual", - "keywords": ["alignment", "metrics", "statistics", "fingerprint", "bam"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://broadinstitute.github.io/picard/", - "tool_dev_url": "https://github.com/broadinstitute/picard/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input1": { - "type": "file", - "description": "List containing 1 or more bam/vcf files or a file containing filepaths", - "pattern": "*.{bam,vcf,vcf.gz,txt,fofn}" - } - }, - { - "input2": { - "type": "file", - "description": "Optional list containing 1 or more bam/vcf files or a file containing filepaths", - "pattern": "*.{bam,vcf,vcf.gz,txt,fofn}" - } - }, - { - "haplotype_map": { - "type": "file", - "description": "Haplotype map file", - "pattern": "*.{txt,vcf,vcf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "crosscheck_metrics": { - "type": "file", - "description": "Metrics created by crosscheckfingerprints", - "pattern": "*.{crosscheck_metrics.txt}" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "picard_fastqtosam", - "path": "modules/nf-core/picard/fastqtosam/meta.yml", - "type": "module", - "meta": { - "name": "picard_fastqtosam", - "description": "Converts a FASTQ file to an unaligned BAM or SAM file.", - "keywords": ["fastq", "unaligned", "bam"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360036510672-FastqToSam-Picard-", - "tool_dev_url": "https://github.com/broadinstitute/picard", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Unaligned bam file", - "pattern": "*.{bam}" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "picard_filtersamreads", - "path": "modules/nf-core/picard/filtersamreads/meta.yml", - "type": "module", - "meta": { - "name": "picard_filtersamreads", - "description": "Filters SAM/BAM files to include/exclude either aligned/unaligned reads or based on a read list", - "keywords": ["bam", "filter"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://broadinstitute.github.io/picard/", - "tool_dev_url": "https://github.com/broadinstitute/picard", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "List of BAM files. If filtering without read list must be sorted by queryname with picard sortsam", - "pattern": "*.{bam}" - } - }, - { - "filter": { - "type": "value", - "description": "Picard filter type", - "pattern": "includeAligned|excludeAligned|includeReadList|excludeReadList" - } - }, - { - "readlist": { - "type": "file", - "description": "Optional text file containing reads IDs to include or exclude" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Filtered BAM file", - "pattern": "*.{bam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "picard_fixmateinformation", - "path": "modules/nf-core/picard/fixmateinformation/meta.yml", - "type": "module", - "meta": { - "name": "picard_fixmateinformation", - "description": "Verify mate-pair information between mates and fix if needed", - "keywords": ["mate-pair"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360036713471-FixMateInformation-Picard-", - "tool_dev_url": "https://github.com/broadinstitute/picard", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.{bam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "mate-pair verified BAM file", - "pattern": "*.{bam}" - } - } - ], - "authors": ["@sateeshperi", "@mjcipriano", "@hseabolt"] - } - }, - { - "name": "picard_liftovervcf", - "path": "modules/nf-core/picard/liftovervcf/meta.yml", - "type": "module", - "meta": { - "name": "picard_liftovervcf", - "description": "Lifts over a VCF file from one reference build to another.", - "keywords": ["vcf", "picard", "liftovervcf"], - "tools": [ - { - "picard": { - "description": "Move annotations from one assembly to another", - "homepage": "https://gatk.broadinstitute.org/hc/en-us/articles/360037060932-LiftoverVcf-Picard", - "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360037060932-LiftoverVcf-Picard", - "tool_dev_url": "https://github.com/broadinstitute/picard", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" - } - }, - { - "input_vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "fasta file", - "pattern": "*.fasta" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "dict": { - "type": "file", - "description": "dictionary for fasta file", - "pattern": "*.{dict}" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "chain": { - "type": "file", - "description": "The liftover chain file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf_lifted": { - "type": "file", - "description": "VCF file containing successfully lifted variants", - "pattern": "*.{lifted.vcf.gz}" - } - }, - { - "vcf_unlifted": { - "type": "file", - "description": "VCF file containing unsuccessfully lifted variants", - "pattern": "*.{unlifted.vcf.gz}" - } - } - ], - "authors": ["@lucpen", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "picard_markduplicates", - "path": "modules/nf-core/picard/markduplicates/meta.yml", - "type": "module", - "meta": { - "name": "picard_markduplicates", - "description": "Locate and tag duplicate reads in a BAM file", - "keywords": ["markduplicates", "pcr", "duplicates", "bam", "sam", "cram"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://broadinstitute.github.io/picard/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome fasta file", - "pattern": "*.{fasta,fa}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Reference genome fasta index", - "pattern": "*.{fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file with duplicate reads marked/removed", - "pattern": "*.{bam}" - } - }, - { - "bai": { - "type": "file", - "description": "An optional BAM index file. If desired, --CREATE_INDEX must be passed as a flag", - "pattern": "*.{bai}" - } - }, - { - "metrics": { - "type": "file", - "description": "Duplicate metrics file generated by picard", - "pattern": "*.{metrics.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@projectoriented", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "methylseq", - "version": "2.4.0" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "ssds", - "version": "dev" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "picard_mergesamfiles", - "path": "modules/nf-core/picard/mergesamfiles/meta.yml", - "type": "module", - "meta": { - "name": "picard_mergesamfiles", - "description": "Merges multiple BAM files into a single file", - "keywords": ["merge", "alignment", "bam", "sam"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://broadinstitute.github.io/picard/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "List of BAM files", - "pattern": "*.{bam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Merged BAM file", - "pattern": "*.{bam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - } - ] - }, - { - "name": "picard_renamesampleinvcf", - "path": "modules/nf-core/picard/renamesampleinvcf/meta.yml", - "type": "module", - "meta": { - "name": "picard_renamesampleinvcf", - "description": "changes name of sample in the vcf file", - "keywords": ["picard", "picard/renamesampleinvcf"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://broadinstitute.github.io/picard/", - "tool_dev_url": "https://github.com/broadinstitute/picard", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf,vcf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf,vcf.gz}" - } - } - ], - "authors": ["@Lucpen"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "picard_scatterintervalsbyns", - "path": "modules/nf-core/picard/scatterintervalsbyns/meta.yml", - "type": "module", - "meta": { - "name": "picard_scatterintervalsbyns", - "description": "Writes an interval list created by splitting a reference at Ns.A Program for breaking up a reference into intervals of alternating regions of N and ACGT bases", - "keywords": ["interval_list", "scatter", "regions"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://broadinstitute.github.io/picard/", - "tool_dev_url": "https://github.com/broadinstitute/picard", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing fasta information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Fasta file to derive the intervals from", - "pattern": "*.{fasta,fa,fna}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing fai information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Index of the fasta file", - "pattern": "*.fai" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing dictionary information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "dict": { - "type": "file", - "description": "Sequence dictionary of the fasta file", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "intervals": { - "type": "file", - "description": "The scattered intervals", - "pattern": "*.interval_list" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "picard_sortsam", - "path": "modules/nf-core/picard/sortsam/meta.yml", - "type": "module", - "meta": { - "name": "picard_sortsam", - "description": "Sorts BAM/SAM files based on a variety of picard specific criteria", - "keywords": ["sort", "bam", "sam"], - "tools": [ - { - "picard": { - "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://broadinstitute.github.io/picard/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,sam}" - } - }, - { - "sort_order": { - "type": "value", - "description": "Picard sort order type", - "pattern": "unsorted|queryname|coordinate|duplicate|unknown" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM/CRAM/SAM file", - "pattern": "*.{bam}" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "ssds", - "version": "dev" - } - ] - }, - { - "name": "picard_sortvcf", - "path": "modules/nf-core/picard/sortvcf/meta.yml", - "type": "module", - "meta": { - "name": "picard_sortvcf", - "description": "Sorts vcf files", - "keywords": ["sort", "vcf", "sortvcf"], - "tools": [ - { - "picard": { - "description": "Java tools for working with NGS data in the BAM/CRAM/SAM and VCF format", - "homepage": "https://broadinstitute.github.io/picard/", - "documentation": "https://broadinstitute.github.io/picard/command-line-overview.html#SortVcf", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome fasta file", - "pattern": "*.{fasta,fa}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "dict": { - "type": "file", - "description": "Reference genome dictionary file", - "pattern": "*.{dict}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Sorted VCF file", - "pattern": "*.{vcf}" - } - } - ], - "authors": ["@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "pilon", - "path": "modules/nf-core/pilon/meta.yml", - "type": "module", - "meta": { - "name": "pilon", - "description": "Automatically improve draft assemblies and find variation among strains, including large event detection", - "keywords": ["polishing", "assembly", "variant calling"], - "tools": [ - { - "pilon": { - "description": "Pilon is an automated genome assembly improvement and variant detection tool.", - "homepage": "https://github.com/broadinstitute/pilon/wiki", - "documentation": "https://github.com/broadinstitute/pilon/wiki/Requirements-&-Usage", - "tool_dev_url": "https://github.com/broadinstitute/pilon", - "doi": "10.1371/journal.pone.0112963", - "licence": "['GPL v2']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA of the input genome", - "pattern": "*.{fasta}" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file of reads aligned to the input genome", - "pattern": "*.{bam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAI file (BAM index) of BAM reads aligned to the input genome", - "pattern": "*.{bai}" - } - }, - { - "pilon_mode": { - "type": "string", - "description": "Indicates the type of bam file used (frags for paired-end sequencing of DNA fragments, such as Illumina paired-end reads of fragment size <1000bp, jumps for paired sequencing data of larger insert size, such as Illumina mate pair libraries, typically of insert size >1000bp, unpaired for unpaired sequencing reads, bam will automatically classify the BAM as one of the three types above (version 1.17 and higher).", - "enum": ["frags", "jumps", "unpaired", "bam"] - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "improved_assembly": { - "type": "file", - "description": "fasta file, improved assembly", - "pattern": "*.{fasta}" - } - }, - { - "change_record": { - "type": "file", - "description": "file containing a space-delimited record of every change made in the assembly as instructed by the --fix option", - "pattern": "*.{change}" - } - }, - { - "vcf": { - "type": "file", - "description": "Pilon variant output", - "pattern": "*.{vcf}" - } - }, - { - "tracks_bed": { - "type": "file", - "description": "files that may be viewed in genome browsers such as IGV, GenomeView, and other applications that support these formats", - "pattern": "*.{bed}" - } - }, - { - "tracks_wig": { - "type": "file", - "description": "files that may be viewed in genome browsers such as IGV, GenomeView, and other applications that support these formats", - "pattern": "*.{wig}" - } - } - ], - "authors": ["@scorreard"] - } - }, - { - "name": "pindel_pindel", - "path": "modules/nf-core/pindel/pindel/meta.yml", - "type": "module", - "meta": { - "name": "pindel_pindel", - "description": "Pindel can detect breakpoints of large deletions, medium sized insertions, inversions, tandem duplications and other structural variants at single-based resolution from next-gen sequence data", - "keywords": ["deletions", "insertions", "tandem duplications"], - "tools": [ - { - "pindel": { - "description": "Pindel can detect breakpoints of large deletions, medium sized insertions, inversions, tandem duplications and other structural variants at single-based resolution from next-gen sequence data", - "homepage": "https://gmt.genome.wustl.edu/packages/pindel/", - "documentation": "https://gmt.genome.wustl.edu/packages/pindel/user-manual.html", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information, insert_size is either determined using Picard/CollectInsertSizeMetrics\nor a sensible default - setting ext.args2 to either in modules.conf\ne.g. [ id:'test', single_end:false, insert_size:500 ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file", - "pattern": "*.bai" - } - }, - { - "bed": { - "type": "file", - "description": "BED file containing regions of interest" - } - }, - { - "fasta": { - "type": "file", - "description": "Input reference genome fasta file" - } - }, - { - "fai": { - "type": "file", - "description": "Input reference genome fasta index file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bp": { - "type": "file", - "description": "File containing breakpoints", - "pattern": "*_{BP}" - } - }, - { - "cem": { - "type": "file", - "description": "File containing close end reads", - "pattern": "*_{CloseEndMapped}" - } - }, - { - "del": { - "type": "file", - "description": "File containing deletions", - "pattern": "*_{D}" - } - }, - { - "dd": { - "type": "file", - "description": "File containing dispersed duplications", - "pattern": "*_{DD}" - } - }, - { - "int_{final": { - "type": "file", - "description": "File containing interchromosomal events", - "pattern": "*_{INT_final}" - } - }, - { - "inv": { - "type": "file", - "description": "File containing inversions", - "pattern": "*_{INV}" - } - }, - { - "li": { - "type": "file", - "description": "File containing long insertions", - "pattern": "*_{LI}" - } - }, - { - "rp": { - "type": "file", - "description": "File containing read-pair evidence", - "pattern": "*_{RP}" - } - }, - { - "si": { - "type": "file", - "description": "File containing short insertions", - "pattern": "*_{SI}" - } - }, - { - "td": { - "type": "file", - "description": "File containing tandem duplications", - "pattern": "*_{TD}" - } - } - ], - "authors": ["@marrip"] - } - }, - { - "name": "pints_caller", - "path": "modules/nf-core/pints/caller/meta.yml", - "type": "module", - "meta": { - "name": "pints_caller", - "description": "Main caller script for peak calling", - "keywords": [ - "peak-calling", - "CoPRO", - "GRO-cap", - "PRO-cap", - "CAGE", - "NETCAGE", - "RAMPAGE", - "csRNA-seq", - "STRIPE-seq", - "PRO-seq", - "GRO-seq" - ], - "tools": [ - { - "pints": { - "description": "Peak Identifier for Nascent Transcripts Starts (PINTS)", - "homepage": "https://pints.yulab.org/", - "documentation": "https://github.com/hyulab/PINTS/blob/main/README.md", - "tool_dev_url": "https://github.com/hyulab/PINTS", - "doi": "10.1038/s41587-022-01211-7", - "licence": "['GPL']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bams": { - "type": "file", - "description": "BAM/ file", - "pattern": "*.{bam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "divergent_TREs": { - "type": "file", - "description": "Divergent TREs", - "pattern": "*_divergent_peaks.bed", - "optional": true - } - }, - { - "bidirectional_TREs": { - "type": "file", - "description": "Divergent TREs and convergent TREs", - "pattern": "*_bidirectional_peaks.bed", - "optional": true - } - }, - { - "unidirectional_TREs": { - "type": "file", - "description": "Unidirectional TREs, maybe lncRNAs transcribed from enhancers (e-lncRNAs)", - "pattern": "*_unidirectional_peaks.bed", - "optional": true - } - }, - { - "peakcalling_log": { - "type": "file", - "description": "Peakcalling log for debugging purposes", - "pattern": "peakcalling_*.log" - } - } - ], - "authors": ["@Emiller88"] - }, - "pipelines": [ - { - "name": "nascent", - "version": "2.1.1" - } - ] - }, - { - "name": "pirate", - "path": "modules/nf-core/pirate/meta.yml", - "type": "module", - "meta": { - "name": "pirate", - "description": "Pangenome toolbox for bacterial genomes", - "keywords": ["gff", "pan-genome", "alignment"], - "tools": [ - { - "pirate": { - "description": "Pangenome analysis and threshold evaluation toolbox", - "homepage": "https://github.com/SionBayliss/PIRATE", - "documentation": "https://github.com/SionBayliss/PIRATE/wiki", - "tool_dev_url": "https://github.com/SionBayliss/PIRATE", - "doi": "10.1093/gigascience/giz119", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gff": { - "type": "file", - "description": "A set of GFF3 formatted files", - "pattern": "*.{gff}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "results": { - "type": "directory", - "description": "Directory containing PIRATE result files", - "pattern": "*/*" - } - }, - { - "aln": { - "type": "file", - "description": "Core-genome alignment produced by PIRATE (Optional)", - "pattern": "*.{fasta}" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "plasmidfinder", - "path": "modules/nf-core/plasmidfinder/meta.yml", - "type": "module", - "meta": { - "name": "plasmidfinder", - "description": "Identify plasmids in bacterial sequences and assemblies", - "keywords": ["fasta", "fastq", "plasmid"], - "tools": [ - { - "plasmidfinder": { - "description": "PlasmidFinder allows identification of plasmids in total or partial sequenced isolates of bacteria.", - "homepage": "https://cge.cbs.dtu.dk/services/PlasmidFinder/", - "documentation": "https://bitbucket.org/genomicepidemiology/plasmidfinder", - "tool_dev_url": "https://bitbucket.org/genomicepidemiology/plasmidfinder", - "doi": "10.1128/AAC.02412-14", - "licence": "['Apache-2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "seqs": { - "type": "file", - "description": "Input FASTA or FASTQ formatted genome sequences", - "pattern": "*.{fastq.gz,fq.gz,fastq.gz,fna.gz,fa.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "The results from analysis in JSON format", - "pattern": "*.json" - } - }, - { - "txt": { - "type": "file", - "description": "The summary of results from analysis", - "pattern": "*.txt" - } - }, - { - "tsv": { - "type": "file", - "description": "The results from analysis in TSV format", - "pattern": "*.tsv" - } - }, - { - "genome_seq": { - "type": "file", - "description": "FASTA of sequences in the input with a hit", - "pattern": "*-hit_in_genome_seq.fsa" - } - }, - { - "plasmid_seq": { - "type": "file", - "description": "FASTA of plasmid sequences with a hit against the input", - "pattern": "*-plasmid_seqs.fsa" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "plasmidid", - "path": "modules/nf-core/plasmidid/meta.yml", - "type": "module", - "meta": { - "name": "plasmidid", - "description": "assembles bacterial plasmids", - "keywords": ["assembly", "plasmid", "bacterial"], - "tools": [ - { - "plasmidid": { - "description": "Pipeline for plasmid identification and reconstruction", - "homepage": "https://github.com/BU-ISCIII/plasmidID/wiki", - "documentation": "https://github.com/BU-ISCIII/plasmidID#readme", - "tool_dev_url": "https://github.com/BU-ISCIII/plasmidID", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "scaffold": { - "type": "file", - "description": "Fasta file containing scaffold\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA reference file", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "html": { - "type": "file", - "description": "html file with results rendered", - "pattern": "*.{html}" - } - }, - { - "tab": { - "type": "file", - "description": "Results in a tabular file", - "pattern": "*.{tab}" - } - }, - { - "images": { - "type": "directory", - "description": "Directory containing the images produced by plasmidid", - "pattern": "images" - } - }, - { - "logs": { - "type": "directory", - "description": "Directory containing the logs produced by plasmidid", - "pattern": "logs" - } - }, - { - "data": { - "type": "directory", - "description": "Directory containing the data produced by plasmidid", - "pattern": "data" - } - }, - { - "database": { - "type": "directory", - "description": "Directory containing the database produced by plasmidid", - "pattern": "database" - } - }, - { - "fasta_files": { - "type": "directory", - "description": "Directory containing the fasta files produced by plasmidid", - "pattern": "fasta_files" - } - }, - { - "kmer": { - "type": "directory", - "description": "Directory containing the kmer files produced by plasmidid", - "pattern": "database" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "platypus", - "path": "modules/nf-core/platypus/meta.yml", - "type": "module", - "meta": { - "name": "platypus", - "description": "Platypus is a tool that efficiently and accurately calling genetic variants from next-generation DNA sequencing data", - "keywords": ["variant calling", "dna sequencing"], - "tools": [ - { - "platypus": { - "description": "Platypus is a tool designed for efficient and accurate variant-detection in high-throughput sequencing data.", - "homepage": "https://www.well.ox.ac.uk/research/research-groups/lunter-group/lunter-group/platypus-a-haplotype-based-variant-caller-for-next-generation-sequence-data", - "documentation": "https://www.well.ox.ac.uk/research/research-groups/lunter-group/lunter-group/platypus-documentation", - "tool_dev_url": "https://github.com/andyrimmer/Platypus", - "doi": "10.1038/ng.3036", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "tumor_file": { - "type": "file", - "description": "Tumor or metastatic sample, BAM or CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "tummor_file_bai": { - "type": "file", - "description": "Index of BAMfile", - "pattern": "*.{bai,crai}" - } - }, - { - "control_file": { - "type": "file", - "description": "Control (or blood) of matching tumor/metastatic sample, BAM or CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "control_file_bai": { - "type": "file", - "description": "Index of BAMfile", - "pattern": "*.{bai,crai}" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fa" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fai" - } - }, - { - "skipregions_file": { - "type": "file", - "description": "File with regions to skip, region as comma-separated list of chr:start-end, or just list of chr, or nothing", - "pattern": "*.bed|*.txt|*.tab" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Output VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Index of VCF file", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "log": { - "type": "file", - "description": "Log file", - "pattern": "*.log" - } - }, - { - "version": { - "type": "file", - "description": "File containing software version", - "pattern": "*.{version.txt}" - } - } - ], - "authors": ["@kubranarci"] - } - }, - { - "name": "plink2_extract", - "path": "modules/nf-core/plink2/extract/meta.yml", - "type": "module", - "meta": { - "name": "plink2_extract", - "description": "Subset plink pfiles with a text file of variant identifiers", - "keywords": ["plink2", "extract"], - "tools": [ - { - "plink2": { - "description": "Whole genome association analysis toolset, designed to perform a range\nof basic, large-scale analyses in a computationally efficient manner\n", - "homepage": "http://www.cog-genomics.org/plink/2.0/", - "documentation": "http://www.cog-genomics.org/plink/2.0/general_usage", - "doi": "10.1186/s13742-015-0047-8", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "pgen": { - "type": "file", - "description": "PLINK 2 binary genotype table", - "pattern": "*.{pgen}" - } - }, - { - "psam": { - "type": "file", - "description": "PLINK 2 sample information file", - "pattern": "*.{psam}" - } - }, - { - "pvar": { - "type": "file", - "description": "PLINK 2 variant information file", - "pattern": "*.{pvar}" - } - }, - { - "variants": { - "type": "file", - "description": "A text file containing variant identifiers to keep (one per line)", - "pattern": "*.{keep}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "extract_pgen": { - "type": "file", - "description": "PLINK 2 binary genotype table, containing extracted variants", - "pattern": "*.{pgen}" - } - }, - { - "extract_psam": { - "type": "file", - "description": "PLINK 2 sample information file associated with the extracted data", - "pattern": "*.{psam}" - } - }, - { - "extract_pvar": { - "type": "file", - "description": "PLINK 2 variant information file, containing extracted variants", - "pattern": "*.{pvar.zst}" - } - } - ], - "authors": ["@nebfield"] - } - }, - { - "name": "plink2_score", - "path": "modules/nf-core/plink2/score/meta.yml", - "type": "module", - "meta": { - "name": "plink2_score", - "description": "Apply a scoring system to each sample in a plink 2 fileset", - "keywords": ["plink2", "score"], - "tools": [ - { - "plink2": { - "description": "Whole genome association analysis toolset, designed to perform a range\nof basic, large-scale analyses in a computationally efficient manner\n", - "homepage": "http://www.cog-genomics.org/plink/2.0/", - "documentation": "http://www.cog-genomics.org/plink/2.0/general_usage", - "doi": "10.1186/s13742-015-0047-8", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "pgen": { - "type": "file", - "description": "PLINK 2 binary genotype table", - "pattern": "*.{pgen}" - } - }, - { - "psam": { - "type": "file", - "description": "PLINK 2 sample information file", - "pattern": "*.{psam}" - } - }, - { - "pvar": { - "type": "file", - "description": "PLINK 2 variant information file", - "pattern": "*.{pvar}" - } - }, - { - "scorefile": { - "type": "file", - "description": "A text file containing variant identifiers and weights", - "pattern": "*.{scores,txt,scorefile}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "score": { - "type": "file", - "description": "A text file containing sample scores, in plink 2 .sscore format", - "pattern": "*.{sscore}" - } - } - ], - "authors": ["@nebfield"] - } - }, - { - "name": "plink2_vcf", - "path": "modules/nf-core/plink2/vcf/meta.yml", - "type": "module", - "meta": { - "name": "plink2_vcf", - "description": "Import variant genetic data using plink2", - "keywords": ["plink2", "import"], - "tools": [ - { - "plink2": { - "description": "Whole genome association analysis toolset, designed to perform a range\nof basic, large-scale analyses in a computationally efficient manner\n", - "homepage": "http://www.cog-genomics.org/plink/2.0/", - "documentation": "http://www.cog-genomics.org/plink/2.0/general_usage", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Variant calling file (vcf)", - "pattern": "*.{vcf}, *.{vcf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "pgen": { - "type": "file", - "description": "PLINK 2 binary genotype table", - "pattern": "*.{pgen}" - } - }, - { - "psam": { - "type": "file", - "description": "PLINK 2 sample information file", - "pattern": "*.{psam}" - } - }, - { - "pvar": { - "type": "file", - "description": "PLINK 2 variant information file", - "pattern": "*.{pvar.zst}" - } - } - ], - "authors": ["@nebfield"] - } - }, - { - "name": "plink_bcf", - "path": "modules/nf-core/plink/bcf/meta.yml", - "type": "module", - "meta": { - "name": "plink_bcf", - "description": "Analyses binary variant call format (BCF) files using plink", - "keywords": ["plink", "bcf", "bed", "bim", "fam"], - "tools": [ - { - "plink": { - "description": "Whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner.", - "homepage": "https://www.cog-genomics.org/plink", - "documentation": "https://www.cog-genomics.org/plink/1.9/data#", - "tool_dev_url": "https://www.cog-genomics.org/plink/1.9/dev", - "licence": ["GPL"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bcf": { - "type": "file", - "description": "Binary variant call format file (bcf)", - "pattern": "*.{bcf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "PLINK binary biallelic genotype table", - "pattern": "*.{bed}" - } - }, - { - "bim": { - "type": "file", - "description": "PLINK extended MAP file", - "pattern": "*.{bim}" - } - }, - { - "fam": { - "type": "file", - "description": "PLINK sample information file", - "pattern": "*.{fam}" - } - } - ], - "authors": ["@atrigila"] - } - }, - { - "name": "plink_exclude", - "path": "modules/nf-core/plink/exclude/meta.yml", - "type": "module", - "meta": { - "name": "plink_exclude", - "description": "Exclude variant identifiers from plink bfiles", - "keywords": ["exclude", "plink"], - "tools": [ - { - "plink": { - "description": "Whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner.", - "homepage": "https://www.cog-genomics.org/plink", - "licence": ["GPL"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "PLINK binary biallelic genotype table", - "pattern": "*.{bed}" - } - }, - { - "bim": { - "type": "file", - "description": "PLINK extended MAP file", - "pattern": "*.{bim}" - } - }, - { - "fam": { - "type": "file", - "description": "PLINK sample information file", - "pattern": "*.{fam}" - } - }, - { - "variants": { - "type": "file", - "description": "A text file containing variant identifiers to remove (one per line)", - "pattern": "*.{txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "PLINK binary biallelic genotype table file", - "pattern": "*.{bed}" - } - }, - { - "bim": { - "type": "file", - "description": "PLINK extended MAP file", - "pattern": "*.{bim}" - } - }, - { - "fam": { - "type": "file", - "description": "PLINK sample information file", - "pattern": "*.{fam}" - } - } - ], - "authors": ["@atrigila"] - } - }, - { - "name": "plink_extract", - "path": "modules/nf-core/plink/extract/meta.yml", - "type": "module", - "meta": { - "name": "plink_extract", - "description": "Subset plink bfiles with a text file of variant identifiers", - "keywords": ["extract", "plink"], - "tools": [ - { - "plink": { - "description": "Whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner.", - "homepage": "https://www.cog-genomics.org/plink", - "licence": ["GPL"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "PLINK binary biallelic genotype table", - "pattern": "*.{bed}" - } - }, - { - "bim": { - "type": "file", - "description": "PLINK extended MAP file", - "pattern": "*.{bim}" - } - }, - { - "fam": { - "type": "file", - "description": "PLINK sample information file", - "pattern": "*.{fam}" - } - }, - { - "variants": { - "type": "file", - "description": "A text file containing variant identifiers to keep (one per line)", - "pattern": "*.{keep}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "PLINK binary biallelic genotype table", - "pattern": "*.{bed}" - } - }, - { - "bim": { - "type": "file", - "description": "PLINK extended MAP file", - "pattern": "*.{bim}" - } - }, - { - "fam": { - "type": "file", - "description": "PLINK sample information file", - "pattern": "*.{fam}" - } - } - ], - "authors": ["@nebfield"] - } - }, - { - "name": "plink_indep", - "path": "modules/nf-core/plink/indep/meta.yml", - "type": "module", - "meta": { - "name": "plink_indep", - "description": "Produce a pruned subset of markers that are in approximate linkage equilibrium with each other.", - "keywords": ["plink", "indep", "variant pruning", "bim", "fam"], - "tools": [ - { - "plink": { - "description": "Whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner.", - "homepage": "https://www.cog-genomics.org/plink", - "documentation": "https://www.cog-genomics.org/plink/1.9/data#", - "tool_dev_url": "https://www.cog-genomics.org/plink/1.9/dev", - "licence": ["GPL"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "PLINK binary biallelic genotype table file", - "pattern": "*.{bed}" - } - }, - { - "bim": { - "type": "file", - "description": "PLINK extended MAP file", - "pattern": "*.{bim}" - } - }, - { - "fam": { - "type": "file", - "description": "PLINK sample information file", - "pattern": "*.{fam}" - } - }, - { - "window_size": { - "type": "value", - "description": "Window size in variant count or kilobase (if the 'kb' modifier is present) units, a variant count to shift the window at the end of each step, and a variance inflation factor (VIF) threshold.", - "pattern": "*.{}" - } - }, - { - "variant_count": { - "type": "value", - "description": "Variant count to shift the window at the end of each step.", - "pattern": "*.{}" - } - }, - { - "variance_inflation_factor": { - "type": "value", - "description": "Variance inflation factor (VIF) threshold. At each step, all variants in the current window with VIF exceeding the threshold are removed.", - "pattern": "*.{}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "prunein": { - "type": "file", - "description": "File with IDs of pruned subset of markers that are in approximate linkage equilibrium with each other", - "pattern": "*.{prune.in}" - } - }, - { - "pruneout": { - "type": "file", - "description": "File with IDs of excluded variants", - "pattern": "*.{prune.out}" - } - } - ], - "authors": ["@atrigila"] - } - }, - { - "name": "plink_indeppairwise", - "path": "modules/nf-core/plink/indeppairwise/meta.yml", - "type": "module", - "meta": { - "name": "plink_indeppairwise", - "description": "Produce a pruned subset of markers that are in approximate linkage equilibrium with each other. Pairs of variants in the current window with squared correlation greater than the threshold are noted and variants are greedily pruned from the window until no such pairs remain.", - "keywords": ["plink", "indep pairwise", "variant pruning", "bim", "fam"], - "tools": [ - { - "plink": { - "description": "Whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner.", - "homepage": "https://www.cog-genomics.org/plink", - "documentation": "https://www.cog-genomics.org/plink/1.9/data", - "tool_dev_url": "https://www.cog-genomics.org/plink/1.9/dev", - "licence": ["GPL"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "PLINK binary biallelic genotype table file", - "pattern": "*.{bed}" - } - }, - { - "bim": { - "type": "file", - "description": "PLINK extended MAP file", - "pattern": "*.{bim}" - } - }, - { - "fam": { - "type": "file", - "description": "PLINK sample information file", - "pattern": "*.{fam}" - } - }, - { - "window_size": { - "type": "number", - "description": "Window size in variant count or kilobase (if the 'kb' modifier is present) units, a variant count to shift the window at the end of each step, and a variance inflation factor (VIF) threshold.", - "pattern": "*.{}" - } - }, - { - "variant_count": { - "type": "number", - "description": "Variant count to shift the window at the end of each step.", - "pattern": "*.{}" - } - }, - { - "r2_threshold": { - "type": "number", - "description": "Pairwise r2 threshold. At each step, pairs of variants in the current window with squared correlation greater than the threshold are noted, and variants are greedily pruned from the window until no such pairs remain", - "pattern": "*.{}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "prunein": { - "type": "file", - "description": "File with IDs of pruned subset of markers that are in approximate linkage equilibrium with each other", - "pattern": "*.{prune.in}" - } - }, - { - "pruneout": { - "type": "file", - "description": "File with IDs of excluded variants", - "pattern": "*.{prune.out}" - } - } - ], - "authors": ["@atrigila"] - } - }, - { - "name": "plink_recode", - "path": "modules/nf-core/plink/recode/meta.yml", - "type": "module", - "meta": { - "name": "plink_recode", - "description": "Recodes plink bfiles into a new text fileset applying different modifiers", - "keywords": ["recode"], - "tools": [ - { - "plink": { - "description": "Whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner.", - "homepage": "https://www.cog-genomics.org/plink", - "documentation": "https://www.cog-genomics.org/plink/1.9/data#recode", - "tool_dev_url": "https://www.cog-genomics.org/plink/1.9/dev", - "licence": "['GPL']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "PLINK binary biallelic genotype table file", - "pattern": "*.{bed}" - } - }, - { - "bim": { - "type": "file", - "description": "PLINK extended MAP file", - "pattern": "*.{bim}" - } - }, - { - "fam": { - "type": "file", - "description": "PLINK sample information file", - "pattern": "*.{fam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "ped": { - "type": "file", - "description": "PLINK/MERLIN/Haploview text pedigree + genotype table file. Produced by the default \"--recode\" or by \"--recode 12\".", - "pattern": "*.{ped}" - } - }, - { - "map": { - "type": "file", - "description": "PLINK text fileset variant information file. Produced by the default \"--recode\" or by \"--recode 12\".", - "pattern": "*.{map}" - } - }, - { - "txt": { - "type": "file", - "description": "Text file. Produced by \"--recode 23\". Can only be used in a file with only one sample.", - "pattern": "*.{txt}" - } - }, - { - "raw": { - "type": "file", - "description": "Additive + dominant component file. Produced by \"--recode AD\" or \"--recode A\".", - "pattern": "*.{raw}" - } - }, - { - "traw": { - "type": "file", - "description": "Variant-major additive component file. Produced by \"--recode A-transpose\".", - "pattern": "*.{traw}" - } - }, - { - "beagle-dat": { - "type": "file", - "description": "Single BEAGLE unphased genotype file. Produced by \"--recode beagle\" in 'beagle-nomap' mode.", - "pattern": "*.{beagle.dat}" - } - }, - { - "chr-dat": { - "type": "file", - "description": "BEAGLE unphased genotype and variant information files. Produced by \"--recode beagle\".", - "pattern": "*.{*.chr-*.dat}" - } - }, - { - "chr-map": { - "type": "file", - "description": "BEAGLE variant information files. Produced by \"--recode beagle\".", - "pattern": "*.{*chr-*.map}" - } - }, - { - "geno": { - "type": "file", - "description": "BIMBAM genotype file. Produced by \"--recode bimbam\".", - "pattern": "*.{recode.geno.txt}" - } - }, - { - "pheno": { - "type": "file", - "description": "BIMBAM phenotype file. Produced by \"--recode bimbam\".", - "pattern": "*.{recode.pheno.txt}" - } - }, - { - "pos": { - "type": "file", - "description": "BIMBAM variant position file. Produced by \"--recode bimbam\".", - "pattern": "*.{recode.pos.txt}" - } - }, - { - "phase": { - "type": "file", - "description": "fastPHASE format. Produced by \"--recode fastphase\".", - "pattern": "*.{recode.phase.inp}" - } - }, - { - "info": { - "type": "file", - "description": "Haploview map file. Produced by \"--recode HV\".", - "pattern": "*.{info}" - } - }, - { - "lgen": { - "type": "file", - "description": "PLINK long-format genotype file. Produced by \"--recode lgen\".", - "pattern": "*.{lgen}" - } - }, - { - "list": { - "type": "file", - "description": "Genotype list file. Produced by \"--recode list\".", - "pattern": "*.{list}" - } - }, - { - "gen": { - "type": "file", - "description": "Oxford genotype file format. Produced by \"--recode oxford\".", - "pattern": "*.{gen}" - } - }, - { - "genz": { - "type": "file", - "description": "Compressed Oxford genotype file format. Produced by \"--recode oxford gen-gz\".", - "pattern": "*.{genz}" - } - }, - { - "sample": { - "type": "file", - "description": "Oxford sample information file. Produced by \"--recode oxford\".", - "pattern": "*.{sample}" - } - }, - { - "rlist": { - "type": "file", - "description": "Rare genotype list file. Produced by \"--recode rlist\".", - "pattern": "*.{rlist}" - } - }, - { - "strctin": { - "type": "file", - "description": "Structure-format file. Produced by \"--recode structure\".", - "pattern": "*.{strct_in}" - } - }, - { - "tped": { - "type": "file", - "description": "Transposed text PED file. Produced by \"--recode transpose\".", - "pattern": "*.{tped}" - } - }, - { - "tfam": { - "type": "file", - "description": "Transposed text FAM file. Produced by \"--recode transpose\".", - "pattern": "*.{tfam}" - } - }, - { - "vcf": { - "type": "file", - "description": "Variant calling file (VCF). Produced by \"--recode vcf\".", - "pattern": "*.{vcf}" - } - }, - { - "vcfgz": { - "type": "file", - "description": "Compressed variant calling file (VCF). Produced by \"--recode vcf bgz\".", - "pattern": "*.{vcf.gz}" - } - } - ], - "authors": ["@atrigila"] - } - }, - { - "name": "plink_vcf", - "path": "modules/nf-core/plink/vcf/meta.yml", - "type": "module", - "meta": { - "name": "plink_vcf", - "description": "Analyses variant calling files using plink", - "keywords": ["plink", "vcf"], - "tools": [ - { - "plink": { - "description": "Whole genome association analysis toolset, designed to perform a range\nof basic, large-scale analyses in a computationally efficient manner\n", - "homepage": "https://www.cog-genomics.org/plink", - "tool_dev_url": "https://www.cog-genomics.org/plink/1.9/dev", - "licence": ["GPL"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Variant calling file (vcf)", - "pattern": "*.{vcf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "PLINK binary biallelic genotype table", - "pattern": "*.{bed}" - } - }, - { - "bim": { - "type": "file", - "description": "PLINK extended MAP file", - "pattern": "*.{bim}" - } - }, - { - "fam": { - "type": "file", - "description": "PLINK sample information file", - "pattern": "*.{fam}" - } - } - ], - "authors": ["@Mxrcon", "@abhi18av"] - } - }, - { - "name": "pmdtools_filter", - "path": "modules/nf-core/pmdtools/filter/meta.yml", - "type": "module", - "meta": { - "name": "pmdtools_filter", - "description": "pmdtools command to filter ancient DNA molecules from others", - "keywords": ["pmdtools", "aDNA", "filter", "damage"], - "tools": [ - { - "pmdtools": { - "description": "Compute postmortem damage patterns and decontaminate ancient genomes", - "homepage": "https://github.com/pontussk/PMDtools", - "documentation": "https://github.com/pontussk/PMDtools", - "tool_dev_url": "https://github.com/pontussk/PMDtools", - "doi": "10.1073/pnas.1318934111", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file", - "pattern": "*.bai" - } - }, - { - "threshold": { - "type": "value", - "description": "Post-mortem damage score threshold" - } - }, - { - "reference": { - "type": "file", - "description": "FASTA file", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Filtered BAM file", - "pattern": "*.bam" - } - } - ], - "authors": ["@alexandregilardet"] - } - }, - { - "name": "porechop_abi", - "path": "modules/nf-core/porechop/abi/meta.yml", - "type": "module", - "meta": { - "name": "porechop_abi", - "description": "Extension of Porechop whose purpose is to process adapter sequences in ONT reads.", - "keywords": ["porechop_abi", "adapter", "nanopore"], - "tools": [ - { - "porechop_abi": { - "description": "Extension of Porechop whose purpose is to process adapter sequences in ONT reads.", - "homepage": "https://github.com/bonsai-team/Porechop_ABI", - "documentation": "https://github.com/bonsai-team/Porechop_ABI", - "tool_dev_url": "https://github.com/bonsai-team/Porechop_ABI", - "doi": "10.1101/2022.07.07.499093", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "fastq/fastq.gz file", - "pattern": "*.{fastq,fastq.gz,fq,fq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "reads": { - "type": "file", - "description": "Adapter-trimmed fastq.gz file", - "pattern": "*fastq.gz" - } - }, - { - "log": { - "type": "file", - "description": "Log file containing stdout information", - "pattern": "*.log" - } - } - ], - "authors": ["@sofstam"] - } - }, - { - "name": "porechop_porechop", - "path": "modules/nf-core/porechop/porechop/meta.yml", - "type": "module", - "meta": { - "name": "porechop_porechop", - "description": "Adapter removal and demultiplexing of Oxford Nanopore reads", - "keywords": ["adapter", "nanopore", "demultiplexing"], - "tools": [ - { - "porechop": { - "description": "Adapter removal and demultiplexing of Oxford Nanopore reads", - "homepage": "https://github.com/rrwick/Porechop", - "documentation": "https://github.com/rrwick/Porechop", - "tool_dev_url": "https://github.com/rrwick/Porechop", - "doi": "10.1099/mgen.0.000132", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "fastq/fastq.gz file", - "pattern": "*.{fastq,fastq.gz,fq,fq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "reads": { - "type": "file", - "description": "Demultiplexed and/or adapter-trimmed fastq.gz file", - "pattern": "*.{fastq.gz}" - } - }, - { - "log": { - "type": "file", - "description": "Log file containing stdout information", - "pattern": "*.log" - } - } - ], - "authors": [ - "@ggabernet", - "@jasmezz", - "@d4straub", - "@LaurenceKuhl", - "@SusiJo", - "@jonasscheid", - "@jonoave", - "@GokceOGUZ", - "@jfy133" - ] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "preseq_ccurve", - "path": "modules/nf-core/preseq/ccurve/meta.yml", - "type": "module", - "meta": { - "name": "preseq_ccurve", - "description": "Software for predicting library complexity and genome coverage in high-throughput sequencing", - "keywords": ["preseq", "library", "complexity"], - "tools": [ - { - "preseq": { - "description": "Software for predicting library complexity and genome coverage in high-throughput sequencing", - "homepage": "http://smithlabresearch.org/software/preseq/", - "documentation": "http://smithlabresearch.org/wp-content/uploads/manual.pdf", - "tool_dev_url": "https://github.com/smithlabcode/preseq", - "licence": ["GPL"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "ccurve": { - "type": "file", - "description": "File containing output of Preseq c curve", - "pattern": "*.{c_curve.txt}" - } - }, - { - "log": { - "type": "file", - "description": "Log file containing stderr produced by Preseq", - "pattern": "*.{log}" - } - } - ], - "authors": ["@drpatelh", "@Emiller88"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "nascent", - "version": "2.1.1" - } - ] - }, - { - "name": "preseq_lcextrap", - "path": "modules/nf-core/preseq/lcextrap/meta.yml", - "type": "module", - "meta": { - "name": "preseq_lcextrap", - "description": "Software for predicting library complexity and genome coverage in high-throughput sequencing", - "keywords": ["preseq", "library", "complexity"], - "tools": [ - { - "preseq": { - "description": "Software for predicting library complexity and genome coverage in high-throughput sequencing", - "homepage": "http://smithlabresearch.org/software/preseq/", - "documentation": "http://smithlabresearch.org/wp-content/uploads/manual.pdf", - "tool_dev_url": "https://github.com/smithlabcode/preseq", - "licence": ["GPL"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "lc_extrap": { - "type": "file", - "description": "File containing output of Preseq lcextrap", - "pattern": "*.{lc_extrap.txt}" - } - }, - { - "log": { - "type": "file", - "description": "Log file containing stderr produced by Preseq", - "pattern": "*.{log}" - } - } - ], - "authors": ["@drpatelh", "@Emiller88"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "methylseq", - "version": "2.4.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "pretextmap", - "path": "modules/nf-core/pretextmap/meta.yml", - "type": "module", - "meta": { - "name": "pretextmap", - "description": "converts sam/bam/cram/pairs into genome contact map", - "keywords": ["contact", "bam", "map"], - "tools": [ - { - "pretextmap": { - "description": "Paired REad TEXTure Mapper. Converts SAM formatted read pairs into genome contact maps.", - "homepage": "https://github.com/wtsi-hpag/PretextMap", - "documentation": "https://github.com/wtsi-hpag/PretextMap/blob/master/README.md", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file or pairs formatted reads file", - "pattern": "*.{bam,cram,sam,pairs.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "pretext": { - "type": "file", - "description": "pretext map", - "pattern": "*.pretext" - } - } - ], - "authors": ["@marrip", "@getrudeln"] - } - }, - { - "name": "pretextsnapshot", - "path": "modules/nf-core/pretextsnapshot/meta.yml", - "type": "module", - "meta": { - "name": "pretextsnapshot", - "description": "a module to generate images from Pretext contact maps.", - "keywords": ["pretext", "image", "hic", "png", "jpg", "bmp", "contact maps"], - "tools": [ - { - "pretextsnapshot": { - "description": "Commandline image generator for Pretext Hi-C genome contact maps.", - "homepage": "https://github.com/wtsi-hpag/PretextSnapshot", - "tool_dev_url": "https://github.com/wtsi-hpag/PretextSnapshot", - "licence": "['https://github.com/wtsi-hpag/PretextSnapshot/blob/master/LICENSE']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "pretext_map": { - "type": "file", - "description": "pretext hic map", - "pattern": "*.pretext" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "image": { - "type": "file", - "description": "image of a hic contact map", - "pattern": "*.{png,jpg,bmp}" - } - } - ], - "authors": ["@epaule"] - } - }, - { - "name": "prinseqplusplus", - "path": "modules/nf-core/prinseqplusplus/meta.yml", - "type": "module", - "meta": { - "name": "prinseqplusplus", - "description": "PRINSEQ++ is a C++ implementation of the prinseq-lite.pl program. It can be used to filter, reformat or trim genomic and metagenomic sequence data", - "keywords": ["fastq", "fasta", "filter", "trim"], - "tools": [ - { - "prinseqplusplus": { - "description": "PRINSEQ++ - Multi-threaded C++ sequence cleaning", - "homepage": "https://github.com/Adrian-Cantu/PRINSEQ-plus-plus", - "documentation": "https://github.com/Adrian-Cantu/PRINSEQ-plus-plus", - "tool_dev_url": "https://github.com/Adrian-Cantu/PRINSEQ-plus-plus", - "doi": "10.7287/peerj.preprints.27553v1", - "licence": "['GPL v2']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end\ndata, respectively.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "good_reads": { - "type": "file", - "description": "Reads passing filter(s) in gzipped FASTQ format", - "pattern": "*_good_out_{R1,R2}.fastq.gz" - } - }, - { - "single_reads": { - "type": "file", - "description": "Single reads without the pair passing filter(s) in gzipped FASTQ format\n", - "pattern": "*_single_out_{R1,R2}.fastq.gz" - } - }, - { - "bad_reads": { - "type": "file", - "description": "Reads without not passing filter(s) in gzipped FASTQ format\n", - "pattern": "*_bad_out_{R1,R2}.fastq.gz" - } - }, - { - "log": { - "type": "file", - "description": "Verbose level 2 STDOUT information in a log file\n", - "pattern": "*.log" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "prodigal", - "path": "modules/nf-core/prodigal/meta.yml", - "type": "module", - "meta": { - "name": "prodigal", - "description": "Prodigal (Prokaryotic Dynamic Programming Genefinding Algorithm) is a microbial (bacterial and archaeal) gene finding program", - "keywords": ["prokaryotes", "gene finding", "microbial"], - "tools": [ - { - "prodigal": { - "description": "Prodigal (Prokaryotic Dynamic Programming Genefinding Algorithm) is a microbial (bacterial and archaeal) gene finding program", - "homepage": "https://github.com/hyattpd/Prodigal", - "documentation": "https://github.com/hyattpd/prodigal/wiki", - "tool_dev_url": "https://github.com/hyattpd/Prodigal", - "doi": "10.1186/1471-2105-11-119", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "genome": { - "type": "file", - "description": "fasta/fasta.gz file" - } - }, - { - "output_format": { - "type": "string", - "description": "Output format (\"gbk\"/\"gff\"/\"sqn\"/\"sco\")" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "nucleotide_fasta": { - "type": "file", - "description": "nucleotide sequences file", - "pattern": "*.{fna}" - } - }, - { - "amino_acid_fasta": { - "type": "file", - "description": "protein translations file", - "pattern": "*.{faa}" - } - }, - { - "all_gene_annotations": { - "type": "file", - "description": "complete starts file", - "pattern": "*.{_all.txt}" - } - }, - { - "gene_annotations": { - "type": "file", - "description": "gene annotations in output_format given as input", - "pattern": "*.{output_format}" - } - } - ], - "authors": ["@grst"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - }, - { - "name": "mag", - "version": "2.3.2" - }, - { - "name": "metapep", - "version": "dev" - }, - { - "name": "metatdenovo", - "version": "dev" - } - ] - }, - { - "name": "prokka", - "path": "modules/nf-core/prokka/meta.yml", - "type": "module", - "meta": { - "name": "prokka", - "description": "Whole genome annotation of small genomes (bacterial, archeal, viral)", - "keywords": ["annotation", "fasta", "prokka"], - "tools": [ - { - "prokka": { - "description": "Rapid annotation of prokaryotic genomes", - "homepage": "https://github.com/tseemann/prokka", - "doi": "10.1093/bioinformatics/btu153", - "licence": ["GPL v2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file to be annotated. Has to contain at least a non-empty string dummy value.\n" - } - }, - { - "proteins": { - "type": "file", - "description": "FASTA file of trusted proteins to first annotate from (optional)" - } - }, - { - "prodigal_tf": { - "type": "file", - "description": "Training file to use for Prodigal (optional)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "gff": { - "type": "file", - "description": "annotation in GFF3 format, containing both sequences and annotations", - "pattern": "*.{gff}" - } - }, - { - "gbk": { - "type": "file", - "description": "annotation in GenBank format, containing both sequences and annotations", - "pattern": "*.{gbk}" - } - }, - { - "fna": { - "type": "file", - "description": "nucleotide FASTA file of the input contig sequences", - "pattern": "*.{fna}" - } - }, - { - "faa": { - "type": "file", - "description": "protein FASTA file of the translated CDS sequences", - "pattern": "*.{faa}" - } - }, - { - "ffn": { - "type": "file", - "description": "nucleotide FASTA file of all the prediction transcripts (CDS, rRNA, tRNA, tmRNA, misc_RNA)", - "pattern": "*.{ffn}" - } - }, - { - "sqn": { - "type": "file", - "description": "an ASN1 format \"Sequin\" file for submission to Genbank", - "pattern": "*.{sqn}" - } - }, - { - "fsa": { - "type": "file", - "description": "nucleotide FASTA file of the input contig sequences, used by \"tbl2asn\" to create the .sqn file", - "pattern": "*.{fsa}" - } - }, - { - "tbl": { - "type": "file", - "description": "feature Table file, used by \"tbl2asn\" to create the .sqn file", - "pattern": "*.{tbl}" - } - }, - { - "err": { - "type": "file", - "description": "unacceptable annotations - the NCBI discrepancy report.", - "pattern": "*.{err}" - } - }, - { - "log": { - "type": "file", - "description": "contains all the output that Prokka produced during its run", - "pattern": "*.{log}" - } - }, - { - "txt": { - "type": "file", - "description": "statistics relating to the annotated features found", - "pattern": "*.{txt}" - } - }, - { - "tsv": { - "type": "file", - "description": "tab-separated file of all features (locus_tag,ftype,len_bp,gene,EC_number,COG,product)", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@rpetit3"] - }, - "pipelines": [ - { - "name": "bacass", - "version": "2.0.0" - }, - { - "name": "funcscan", - "version": "1.1.2" - }, - { - "name": "mag", - "version": "2.3.2" - }, - { - "name": "metatdenovo", - "version": "dev" - } - ] - }, - { - "name": "proteus_readproteingroups", - "path": "modules/nf-core/proteus/readproteingroups/meta.yml", - "type": "module", - "meta": { - "name": "proteus_readproteingroups", - "description": "reads a maxQuant proteinGroups file with Proteus", - "keywords": ["proteomics", "proteus", "readproteingroups"], - "tools": [ - { - "proteus": { - "description": "R package for analysing proteomics data", - "homepage": "https://github.com/bartongroup/Proteus", - "documentation": "https://rdrr.io/github/bartongroup/Proteus/", - "tool_dev_url": "https://github.com/bartongroup/Proteus", - "doi": "10.1101/416511", - "licence": "['GPL v2']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing contrast information, e.g. [ variable:'treatment', reference:'treated', control:'saline', blocking:'' ]\n" - } - }, - { - "samplesheet": { - "type": "file", - "description": "CSV or TSV format sample sheet with sample metadata; check here for specifications: https://rdrr.io/github/bartongroup/Proteus/man/readProteinGroups.html\n" - } - }, - { - "intensities": { - "type": "file", - "description": "proteinGroups TXT file with protein intensities information from maxQuant; check here for specifications: https://rdrr.io/github/bartongroup/Proteus/man/readProteinGroups.html\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing contrast information, e.g. [ variable:'treatment', reference:'treated', control:'saline', blocking:'' ]\n" - } - }, - { - "contrast_variable": { - "type": "string", - "description": "The column in the sample sheet that should be used to define groups for\ncomparison\n" - } - } - ], - "output": [ - { - "dendro_plot": { - "type": "file", - "description": "PNG file; dendrogram of the normalized samples hierarchically clustered by their intensities\n" - } - }, - { - "mean_var_plot": { - "type": "file", - "description": "PNG file; plot of the log-intensity variance vs log-intensity mean of each condition in the normalized samples\n" - } - }, - { - "raw_dist_plot": { - "type": "file", - "description": "PNG file; plot of the intensity/ratio distributions of the raw samples\n" - } - }, - { - "norm_dist_plot": { - "type": "file", - "description": "PNG file; plot of the intensity/ratio distributions of the normalized samples\n" - } - }, - { - "raw_rdata": { - "type": "file", - "description": "RDS file of a proteinGroups object from Proteus, contains raw protein intensities and additional info\n" - } - }, - { - "norm_rdata": { - "type": "file", - "description": "RDS file of a proteinGroups object from Proteus, contains normalized protein intensities and additional info\n" - } - }, - { - "raw_tab": { - "type": "file", - "description": "TSV-format intensities table from Proteus, contains raw protein intensities\n" - } - }, - { - "norm_tab": { - "type": "file", - "description": "TSV-format intensities table from Proteus, contains normalized protein intensities\n" - } - }, - { - "session_info": { - "type": "file", - "description": "LOG file of the R sessionInfo from the module run\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@WackerO"] - } - }, - { - "name": "pureclip", - "path": "modules/nf-core/pureclip/meta.yml", - "type": "module", - "meta": { - "name": "pureclip", - "description": "PureCLIP is a tool to detect protein-RNA interaction footprints from single-nucleotide CLIP-seq data, such as iCLIP and eCLIP.", - "keywords": ["iCLIP", "eCLIP", "CLIP"], - "tools": [ - { - "pureclip": { - "description": "PureCLIP is a tool to detect protein-RNA interaction footprints from single-nucleotide CLIP-seq data, such as iCLIP and eCLIP.", - "homepage": "https://github.com/skrakau/PureCLIP", - "documentation": "https://pureclip.readthedocs.io/en/latest/GettingStarted/index.html", - "tool_dev_url": "https://github.com/skrakau/PureCLIP", - "doi": "10.1186/s13059-017-1364-2", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ipbam": { - "type": "file", - "description": "Sorted BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "controlbam": { - "type": "file", - "description": "Sorted BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "ipbai": { - "type": "file", - "description": "BAM index", - "pattern": "*.{bai}" - } - }, - { - "controlbai": { - "type": "file", - "description": "BAM index", - "pattern": "*.{bai}" - } - }, - { - "input_control": { - "type": "boolean", - "description": "Whether to run PureCLIP with an input control" - } - }, - { - "genome_fasta": { - "type": "file", - "description": "FASTA file of reference genome", - "pattern": "*.{fa,fasta,fa.gz,fasta.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "crosslinks": { - "type": "file", - "description": "Bed file of crosslinks", - "pattern": "*.{bed}" - } - }, - { - "peaks": { - "type": "file", - "description": "Bed file of peaks", - "pattern": "*.{bed}" - } - } - ], - "authors": ["@charlotteanne", "@marcjones"] - } - }, - { - "name": "purecn_coverage", - "path": "modules/nf-core/purecn/coverage/meta.yml", - "type": "module", - "meta": { - "name": "purecn_coverage", - "description": "Calculate intervals coverage for each sample. N.B. the tool can not handle staging files with symlinks, stageInMode should be set to 'link'.", - "keywords": [ - "copy number alteration calling", - "intervals coverage", - "hybrid capture sequencing", - "targeted sequencing", - "DNA sequencing" - ], - "tools": [ - { - "purecn": { - "description": "Copy number calling and SNV classification using targeted short read sequencing", - "homepage": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", - "documentation": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", - "tool_dev_url": "https://github.com/lima1/PureCN", - "doi": "10.1186/s13029-016-0060-z", - "licence": "Artistic-2.0", - "args_id": "$args" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file", - "pattern": "*.{bai}" - } - }, - { - "intervals": { - "type": "file", - "description": "Annotated targets optimized for copy number calling", - "pattern": "*.txt" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "txt": { - "type": "file", - "description": "Intervals coverage file", - "pattern": "*.txt.gz" - } - }, - { - "png": { - "type": "file", - "description": "GC-normalized intervals coverage plot.\nGenerated only when GC-normalization is enabled.\n", - "pattern": "*.png" - } - }, - { - "loess_qc_txt": { - "type": "file", - "description": "GC-normalized intervals coverage metrics.\nGenerated only when GC-normalization is enabled.\n", - "pattern": "*_loess_qc.txt" - } - }, - { - "loess_txt": { - "type": "file", - "description": "GC-normalized intervals coverage file.\nGenerated only when GC-normalization is enabled.\n", - "pattern": "*_loess.txt.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@aldosr", "@lbeltrame"] - } - }, - { - "name": "purecn_intervalfile", - "path": "modules/nf-core/purecn/intervalfile/meta.yml", - "type": "module", - "meta": { - "name": "purecn_intervalfile", - "description": "Generate on and off-target intervals for PureCN from a list of targets", - "keywords": [ - "copy number alteration calling", - "genomic intervals", - "hybrid capture sequencing", - "targeted sequencing", - "DNA sequencing" - ], - "tools": [ - { - "purecn": { - "description": "Copy number calling and SNV classification using targeted short read sequencing", - "homepage": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", - "documentation": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", - "tool_dev_url": "https://github.com/lima1/PureCN", - "doi": "10.1186/s13029-016-0060-z.", - "licence": "Artistic-2.0", - "args_id": "$args" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "target_bed": { - "type": "file", - "description": "BED file of target intervals", - "pattern": "*.bed" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'fasta' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA reference sequence of the genome being used", - "pattern": "*.fasta" - } - }, - { - "genome": { - "type": "string", - "description": "Genome used for the BED file (e.g., \"hg38\", \"mm10\"...)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "txt": { - "type": "file", - "pattern": "*.txt", - "description": "Annotated targets optimized for copy number calling\n" - } - }, - { - "bed": { - "type": "file", - "pattern": "*.bed", - "description": "Modified and optimized targets exported as a BED file.\nGenerate the file using the --export command-line switch\nIntervalFile.R.\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@aldosr", "@lbeltrame"] - } - }, - { - "name": "purecn_normaldb", - "path": "modules/nf-core/purecn/normaldb/meta.yml", - "type": "module", - "meta": { - "name": "purecn_normaldb", - "description": "Build a normal database for coverage normalization from all the (GC-normalized) normal coverage files. N.B. as reported in https://www.bioconductor.org/packages/devel/bioc/vignettes/PureCN/inst/doc/Quick.html, it is advised to provide a normal panel (VCF format) to precompute mapping bias for faster runtimes.", - "keywords": [ - "copy number alteration calling", - "normal database", - "panel of normals", - "hybrid capture sequencing", - "targeted sequencing", - "DNA sequencing" - ], - "tools": [ - { - "purecn": { - "description": "Copy number calling and SNV classification using targeted short read sequencing", - "homepage": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", - "documentation": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", - "tool_dev_url": "https://github.com/lima1/PureCN", - "doi": "10.1186/s13029-016-0060-z", - "licence": "Artistic-2.0", - "args_id": "$args" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "coverage_files": { - "type": "file", - "description": "Coverage files from normal samples", - "pattern": "*.txt.gz" - } - }, - { - "normal_vcf": { - "type": "file", - "description": "Normal panel in VCF format, used to precompute mapping bias\nfor faster runtimes. Optional.\n", - "pattern": "*.vcf.gz" - } - }, - { - "genome": { - "type": "string", - "description": "Genome build" - } - }, - { - "assay": { - "type": "string", - "description": "Assay name" - } - } - ], - "output": [ - { - "rds": { - "type": "file", - "description": "File containing the generated panel of normals", - "pattern": "normalDB*.rds" - } - }, - { - "png": { - "type": "file", - "description": "Plot of interval weights calculated from the panel of normals", - "pattern": "interval_weights*.png" - } - }, - { - "bias_rds": { - "type": "file", - "description": "Calculated mapping bias from the normal files", - "pattern": "mapping_bias*.rds" - } - }, - { - "bias_bed": { - "type": "file", - "description": "Calculated mapping bias sites from the normal files", - "pattern": "mapping_bias_hq_sites*.bed" - } - }, - { - "low_cov_bed": { - "type": "file", - "description": "BED with possibly low coverage targets identified, only\ngenerated if there are low coverage targets\n", - "pattern": "low_coverage_targets*.bed" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@aldosr", "@lbeltrame"] - } - }, - { - "name": "purecn_run", - "path": "modules/nf-core/purecn/run/meta.yml", - "type": "module", - "meta": { - "name": "purecn_run", - "description": "Run PureCN workflow to normalize, segment and determine purity and ploidy", - "keywords": [ - "copy number alteration calling", - "hybrid capture sequencing", - "targeted sequencing", - "DNA sequencing" - ], - "tools": [ - { - "purecn": { - "description": "Copy number calling and SNV classification using targeted short read sequencing", - "homepage": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", - "documentation": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", - "tool_dev_url": "https://github.com/lima1/PureCN", - "doi": "10.1186/s13029-016-0060-z", - "licence": "Artistic-2.0", - "args_id": "$args" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "intervals": { - "type": "file", - "description": "BED file of target intervals, generated from IntervalFile.R\n", - "pattern": "{*.bed,*.txt}" - } - }, - { - "coverage": { - "type": "file", - "description": "Coverage file generated from Coverage.R", - "pattern": "*.txt" - } - }, - { - "normaldb": { - "type": "file", - "description": "Normal panel in RDS format, generated from NormalDB.R\n", - "pattern": "*.rds" - } - }, - { - "genome": { - "type": "string", - "description": "Genome build" - } - } - ], - "output": [ - { - "pdf": { - "type": "file", - "description": "PDF file containing copy number plots\n", - "pattern": "*.pdf" - } - }, - { - "local_optima_pdf": { - "type": "file", - "description": "PDF file containing local optima plots\n", - "pattern": "*_local_optima.pdf" - } - }, - { - "seg": { - "type": "file", - "description": "Tab-delimited file containing segmentation results\n", - "pattern": "*_dnacopy.seg" - } - }, - { - "genes_csv": { - "type": "file", - "description": "CSV file containing gene copy number calls. Optional\n", - "pattern": "*_genes.csv" - } - }, - { - "amplification_pvalues_csv": { - "type": "file", - "description": "CSV file containing amplification p-values. Optional\n", - "pattern": "*_amplification_pvalues.csv" - } - }, - { - "vcf_gz": { - "type": "file", - "description": "GZipped VCF file containing SNV calls. Optional\n", - "pattern": "*.vcf.gz" - } - }, - { - "variants_csv": { - "type": "file", - "description": "CSV file containing SNV calls. Optional\n", - "pattern": "*_variants.csv" - } - }, - { - "loh_csv": { - "type": "file", - "description": "CSV file containing LOH calls. Optional\n", - "pattern": "*_loh.csv" - } - }, - { - "chr_pdf": { - "type": "file", - "description": "PDF file containing chromosome plots. Optional\n", - "pattern": "*_chromosomes.pdf" - } - }, - { - "segmentation_pdf": { - "type": "file", - "description": "PDF file containing segmentation plots. Optional\n", - "pattern": "*_segmentation.pdf" - } - }, - { - "multisample.seg": { - "type": "file", - "description": "Tab-delimited file containing segmentation data from multiple samples. Optional\n", - "pattern": "*_multisample.seg" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@aldosr", "@lbeltrame"] - } - }, - { - "name": "purgedups_calcuts", - "path": "modules/nf-core/purgedups/calcuts/meta.yml", - "type": "module", - "meta": { - "name": "purgedups_calcuts", - "description": "Calculate coverage cutoffs to determine when to purge duplicated sequence.", - "keywords": ["coverage", "cutoff", "purge duplications"], - "tools": [ - { - "purgedups": { - "description": "Purge_dups is a package used to purge haplotigs and overlaps in an assembly based on read depth", - "homepage": "https://github.com/dfguan/purge_dups", - "documentation": "https://github.com/dfguan/purge_dups", - "tool_dev_url": "https://github.com/dfguan/purge_dups", - "doi": "10.1093/bioinformatics/btaa025", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "stat": { - "type": "file", - "description": "Histogram of coverage", - "pattern": "*.stat" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "cutoff": { - "type": "file", - "description": "Cutoff file", - "pattern": "*.cutoffs" - } - }, - { - "log": { - "type": "file", - "description": "Log file", - "pattern": ".calcuts.log" - } - } - ], - "authors": ["@mahesh-panchal"] - } - }, - { - "name": "purgedups_getseqs", - "path": "modules/nf-core/purgedups/getseqs/meta.yml", - "type": "module", - "meta": { - "name": "purgedups_getseqs", - "description": "Separates out sequences purged of falsely duplicated sequences.", - "keywords": ["haplotype purging", "duplicate purging", "false duplications", "assembly curation"], - "tools": [ - { - "purgedups": { - "description": "Purge_dups is a package used to purge haplotigs and overlaps in an assembly based on read depth", - "homepage": "https://github.com/dfguan/purge_dups", - "documentation": "https://github.com/dfguan/purge_dups", - "tool_dev_url": "https://github.com/dfguan/purge_dups", - "doi": "10.1093/bioinformatics/btaa025", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "assembly": { - "type": "file", - "description": "Draft assembly in fasta format", - "pattern": "*.fasta" - } - }, - { - "bed": { - "type": "file", - "description": "Bed file listing duplicated sequences, produced by PURGEDUPS_PURGEDUPS", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "haplotigs": { - "type": "file", - "description": "Fasta file containing purged haplotigs", - "pattern": "*.hap.fa" - } - }, - { - "purged": { - "type": "file", - "description": "Fasta file purged of duplicated haplotigs", - "pattern": "*.purged.fa" - } - } - ], - "authors": ["@mahesh-panchal"] - } - }, - { - "name": "purgedups_pbcstat", - "path": "modules/nf-core/purgedups/pbcstat/meta.yml", - "type": "module", - "meta": { - "name": "purgedups_pbcstat", - "description": "Create read depth histogram and base-level read depth for an assembly based on pacbio data", - "keywords": ["sort", "genome assembly", "purge duplications", "read depth"], - "tools": [ - { - "purgedups": { - "description": "Purge_dups is a package used to purge haplotigs and overlaps in an assembly based on read depth", - "homepage": "https://github.com/dfguan/purge_dups", - "documentation": "https://github.com/dfguan/purge_dups", - "tool_dev_url": "https://github.com/dfguan/purge_dups", - "doi": "10.1093/bioinformatics/btaa025", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "paf_alignment": { - "type": "file", - "description": "PAF alignment file", - "pattern": "*.paf" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "stat": { - "type": "file", - "description": "PacBio Statistic file", - "pattern": "*.PB.stat" - } - }, - { - "basecov": { - "type": "file", - "description": "PacBio Base coverage file", - "pattern": "*.PB.base.cov" - } - } - ], - "authors": ["@mahesh-panchal"] - } - }, - { - "name": "purgedups_purgedups", - "path": "modules/nf-core/purgedups/purgedups/meta.yml", - "type": "module", - "meta": { - "name": "purgedups_purgedups", - "description": "Purge haplotigs and overlaps for an assembly", - "keywords": [ - "Haplotype purging", - "Duplication purging", - "False duplications", - "Assembly curation", - "Read depth" - ], - "tools": [ - { - "purgedups": { - "description": "Purge_dups is a package used to purge haplotigs and overlaps in an assembly based on read depth", - "homepage": "https://github.com/dfguan/purge_dups", - "documentation": "https://github.com/dfguan/purge_dups", - "tool_dev_url": "https://github.com/dfguan/purge_dups", - "doi": "10.1093/bioinformatics/btaa025", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "basecov": { - "type": "file", - "description": "A file containing a histogram of base coverage. Obtained from PURGEDUPS_PBCSTAT", - "pattern": "*.PB.base.cov" - } - }, - { - "cutoff": { - "type": "file", - "description": "A file containing duplication cutoff points. Obtained from PURGEDUPS_CALCUTS", - "pattern": "*.cutoffs" - } - }, - { - "paf": { - "type": "file", - "description": "A file of assembly alignments to itself", - "pattern": "*.paf(.gz)?" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "A bed file of sequences purged of false duplications", - "pattern": "*.bed" - } - }, - { - "log": { - "type": "file", - "description": "A log of the tool output", - "pattern": "*.log" - } - } - ], - "authors": ["@mahesh-panchal"] - } - }, - { - "name": "purgedups_splitfa", - "path": "modules/nf-core/purgedups/splitfa/meta.yml", - "type": "module", - "meta": { - "name": "purgedups_splitfa", - "description": "Split fasta file by 'N's to aid in self alignment for duplicate purging", - "keywords": ["split assembly", "duplicate purging"], - "tools": [ - { - "purgedups": { - "description": "Purge_dups is a package used to purge haplotigs and overlaps in an assembly based on read depth", - "homepage": "https://github.com/dfguan/purge_dups", - "documentation": "https://github.com/dfguan/purge_dups", - "tool_dev_url": "https://github.com/dfguan/purge_dups", - "doi": "10.1093/bioinformatics/btaa025", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "assembly": { - "type": "file", - "description": "Draft assembly file", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "split_fasta": { - "type": "file", - "description": "Fasta split by N's", - "pattern": "*.fasta.gz" - } - } - ], - "authors": ["@mahesh-panchal"] - } - }, - { - "name": "pycoqc", - "path": "modules/nf-core/pycoqc/meta.yml", - "type": "module", - "meta": { - "name": "pycoqc", - "description": "write your description here", - "keywords": ["qc", "quality control", "sequencing", "nanopore"], - "tools": [ - { - "pycoqc": { - "description": "PycoQC computes metrics and generates interactive QC plots for Oxford Nanopore technologies sequencing data", - "homepage": "https://github.com/tleonardi/pycoQC", - "documentation": "https://tleonardi.github.io/pycoQC/", - "tool_dev_url": "https://github.com/tleonardi/pycoQC", - "doi": "10.21105/joss.01236", - "licence": ["GNU General Public v3 (GPL v3)"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "summary": { - "type": "file", - "description": "sequencing summary file", - "pattern": "*.{txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "html": { - "type": "file", - "description": "Results in HTML format" - } - }, - { - "json": { - "type": "file", - "description": "Results in JSON format", - "pattern": "*.{json}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "pydamage_analyze", - "path": "modules/nf-core/pydamage/analyze/meta.yml", - "type": "module", - "meta": { - "name": "pydamage_analyze", - "description": "Damage parameter estimation for ancient DNA", - "keywords": [ - "ancient DNA", - "aDNA", - "de novo assembly", - "filtering", - "damage", - "deamination", - "miscoding lesions", - "C to T", - "palaeogenomics", - "archaeogenomics", - "palaeogenetics", - "archaeogenetics" - ], - "tools": [ - { - "pydamage": { - "description": "Damage parameter estimation for ancient DNA", - "homepage": "https://github.com/maxibor/pydamage", - "documentation": "https://pydamage.readthedocs.io/", - "tool_dev_url": "https://github.com/maxibor/pydamage", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "csv": { - "type": "file", - "description": "PyDamage results as csv files", - "pattern": "*.csv" - } - } - ], - "authors": ["@maxibor"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "pydamage_filter", - "path": "modules/nf-core/pydamage/filter/meta.yml", - "type": "module", - "meta": { - "name": "pydamage_filter", - "description": "Damage parameter estimation for ancient DNA", - "keywords": [ - "ancient DNA", - "aDNA", - "de novo assembly", - "filtering", - "damage", - "deamination", - "miscoding lesions", - "C to T", - "palaeogenomics", - "archaeogenomics", - "palaeogenetics", - "archaeogenetics" - ], - "tools": [ - { - "pydamage": { - "description": "Damage parameter estimation for ancient DNA", - "homepage": "https://github.com/maxibor/pydamage", - "documentation": "https://pydamage.readthedocs.io/", - "tool_dev_url": "https://github.com/maxibor/pydamage", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "csv": { - "type": "file", - "description": "csv file from pydamage analyze", - "pattern": "*.csv" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "csv": { - "type": "file", - "description": "PyDamage filtered results as csv file", - "pattern": "*.csv" - } - } - ], - "authors": ["@maxibor"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "pyrodigal", - "path": "modules/nf-core/pyrodigal/meta.yml", - "type": "module", - "meta": { - "name": "pyrodigal", - "description": "Pyrodigal is a Python module that provides bindings to Prodigal, a fast, reliable protein-coding gene prediction for prokaryotic genomes.", - "keywords": ["sort", "annotation", "prediction", "prokaryote"], - "tools": [ - { - "pyrodigal": { - "description": "Pyrodigal is a Python module that provides bindings to Prodigal (ORF finder for microbial sequences) using Cython.", - "homepage": "https://pyrodigal.readthedocs.org/", - "documentation": "https://pyrodigal.readthedocs.org/", - "tool_dev_url": "https://github.com/althonos/pyrodigal/", - "doi": "10.21105/joss.04296", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file", - "pattern": "*.{fasta.gz,fa.gz,fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "gff": { - "type": "file", - "description": "gene annotations in gff format", - "pattern": "*.{gff.gz}" - } - }, - { - "faa": { - "type": "file", - "description": "protein translations file", - "pattern": "*.{faa.gz}" - } - }, - { - "fna": { - "type": "file", - "description": "nucleotide sequences file", - "pattern": "*.{fna.gz}" - } - }, - { - "score": { - "type": "file", - "description": "all potential genes (with scores)", - "pattern": "*.{score.gz}" - } - } - ], - "authors": ["@louperelo"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "qcat", - "path": "modules/nf-core/qcat/meta.yml", - "type": "module", - "meta": { - "name": "qcat", - "description": "Demultiplexer for Nanopore samples", - "keywords": ["demultiplex"], - "tools": [ - { - "qcat": { - "description": "A demultiplexer for Nanopore samples\n", - "homepage": "https://github.com/nanoporetech/qcat", - "documentation": "https://github.com/nanoporetech/qcat#qcat", - "licence": ["MPL-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Non-demultiplexed fastq files\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Demultiplexed fastq samples", - "pattern": "*.fastq.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@yuukiiwa", "@drpatelh"] - } - }, - { - "name": "qualimap_bamqc", - "path": "modules/nf-core/qualimap/bamqc/meta.yml", - "type": "module", - "meta": { - "name": "qualimap_bamqc", - "description": "Evaluate alignment data", - "keywords": ["quality control", "qc", "bam"], - "tools": [ - { - "qualimap": { - "description": "Qualimap 2 is a platform-independent application written in\nJava and R that provides both a Graphical User Interface and\na command-line interface to facilitate the quality control of\nalignment sequencing data and its derivatives like feature counts.\n", - "homepage": "http://qualimap.bioinfo.cipf.es/", - "documentation": "http://qualimap.conesalab.org/doc_html/index.html", - "doi": "10.1093/bioinformatics/bts503", - "licence": ["GPL-2.0-only"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.{bam}" - } - }, - { - "gff": { - "type": "file", - "description": "Feature file with regions of interest", - "pattern": "*.{gff,gtf,bed}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "results": { - "type": "dir", - "description": "Qualimap results dir", - "pattern": "*/*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@phue"] - }, - "pipelines": [ - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "methylseq", - "version": "2.4.0" - }, - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "qualimap_bamqccram", - "path": "modules/nf-core/qualimap/bamqccram/meta.yml", - "type": "module", - "meta": { - "name": "qualimap_bamqccram", - "description": "Evaluate alignment data", - "keywords": ["quality control", "qc", "bam"], - "tools": [ - { - "qualimap": { - "description": "Qualimap 2 is a platform-independent application written in\nJava and R that provides both a Graphical User Interface and\na command-line interface to facilitate the quality control of\nalignment sequencing data and its derivatives like feature counts.\n", - "homepage": "http://qualimap.bioinfo.cipf.es/", - "documentation": "http://qualimap.conesalab.org/doc_html/index.html", - "doi": "10.1093/bioinformatics/bts503", - "licence": ["GPL-2.0-only"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bacramm": { - "type": "file", - "description": "BAM file", - "pattern": "*.{bam}" - } - }, - { - "gff": { - "type": "file", - "description": "Feature file with regions of interest", - "pattern": "*.{gff,gtf,bed}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference file of cram file", - "pattern": "*.{fasta,fa,fna}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "results": { - "type": "directory", - "description": "Qualimap results dir", - "pattern": "*/*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@FriederikeHanssen"] - }, - "pipelines": [ - { - "name": "methylseq", - "version": "2.4.0" - } - ] - }, - { - "name": "quast", - "path": "modules/nf-core/quast/meta.yml", - "type": "module", - "meta": { - "name": "quast", - "description": "Quality Assessment Tool for Genome Assemblies", - "keywords": ["quast", "assembly", "quality"], - "tools": [ - { - "quast": { - "description": "QUAST calculates quality metrics for genome assemblies\n", - "homepage": "http://bioinf.spbau.ru/quast", - "doi": "10.1093/bioinformatics/btt086", - "licence": ["GPL-2.0-only"] - } - } - ], - "input": [ - { - "consensus": { - "type": "file", - "description": "Fasta file containing the assembly of interest\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The genome assembly to be evaluated. Has to contain at least a non-empty string dummy value.\n" - } - }, - { - "use_fasta": { - "type": "boolean", - "description": "Whether to use the provided fasta reference genome file" - } - }, - { - "gff": { - "type": "file", - "description": "The genome GFF file. Has to contain at least a non-empty string dummy value." - } - }, - { - "use_gff": { - "type": "boolean", - "description": "Whether to use the provided gff reference annotation file" - } - } - ], - "output": [ - { - "quast": { - "type": "directory", - "description": "Directory containing complete quast report", - "pattern": "{prefix}/" - } - }, - { - "report": { - "type": "file", - "description": "tab-separated version of the summary, suitable for spreadsheets and mqc", - "pattern": "report.tsv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "pipelines": [ - { - "name": "bacass", - "version": "2.0.0" - }, - { - "name": "genomeassembler", - "version": "dev" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "racon", - "path": "modules/nf-core/racon/meta.yml", - "type": "module", - "meta": { - "name": "racon", - "description": "Consensus module for raw de novo DNA assembly of long uncorrected reads", - "keywords": ["assembly", "pacbio", "nanopore", "polish"], - "tools": [ - { - "racon": { - "description": "Ultrafast consensus module for raw de novo genome assembly of long uncorrected reads.", - "homepage": "https://github.com/lbcb-sci/racon", - "documentation": "https://github.com/lbcb-sci/racon", - "tool_dev_url": "https://github.com/lbcb-sci/racon", - "doi": "10.1101/gr.214270.116", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files. Racon expects single end reads", - "pattern": "*.{fastq,fastq.gz,fq,fq.gz}" - } - }, - { - "assembly": { - "type": "file", - "description": "Genome assembly to be improved", - "pattern": "*.{fasta,fa}" - } - }, - { - "paf": { - "type": "file", - "description": "Alignment in PAF format", - "pattern": "*.paf" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "improved_assembly": { - "type": "file", - "description": "Improved genome assembly", - "pattern": "*_assembly_consensus.fasta.gz" - } - } - ], - "authors": ["@avantonder"] - }, - "pipelines": [ - { - "name": "crisprseq", - "version": "2.0.0" - } - ] - }, - { - "name": "rapidnj", - "path": "modules/nf-core/rapidnj/meta.yml", - "type": "module", - "meta": { - "name": "rapidnj", - "description": "Produces a Newick format phylogeny from a multiple sequence alignment using a Neighbour-Joining algorithm. Capable of bacterial genome size alignments.", - "keywords": ["phylogeny", "newick", "neighbour-joining"], - "tools": [ - { - "rapidnj": { - "description": "RapidNJ is an algorithmic engineered implementation of canonical neighbour-joining. It uses an efficient search heuristic to speed-up the core computations of the neighbour-joining method that enables RapidNJ to outperform other state-of-the-art neighbour-joining implementations.", - "homepage": "https://birc.au.dk/software/rapidnj", - "documentation": "https://birc.au.dk/software/rapidnj", - "tool_dev_url": "https://github.com/somme89/rapidNJ", - "doi": "10.1007/978-3-540-87361-7_10", - "licence": ["GPL v2"] - } - } - ], - "input": [ - { - "alignment": { - "type": "file", - "description": "A FASTA format multiple sequence alignment file", - "pattern": "*.{fasta,fas,fa,mfa}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "phylogeny": { - "type": "file", - "description": "A phylogeny in Newick format", - "pattern": "*.{tre}" - } - }, - { - "stockholm_alignment": { - "type": "file", - "description": "An alignment in Stockholm format", - "pattern": "*.{sth}" - } - } - ], - "authors": ["@aunderwo", "@avantonder"] - } - }, - { - "name": "rasusa", - "path": "modules/nf-core/rasusa/meta.yml", - "type": "module", - "meta": { - "name": "rasusa", - "description": "Randomly subsample sequencing reads to a specified coverage", - "keywords": ["coverage", "depth", "subsampling"], - "tools": [ - { - "rasusa": { - "description": "Randomly subsample sequencing reads to a specified coverage", - "homepage": "https://github.com/mbhall88/rasusa", - "documentation": "https://github.com/mbhall88/rasusa/blob/master/README.md", - "tool_dev_url": "https://github.com/mbhall88/rasusa", - "doi": "10.5281/zenodo.3731394", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input paired-end FastQ files" - } - }, - { - "genome_size": { - "type": "string", - "description": "Genome size of the species" - } - }, - { - "depth_cutoff": { - "type": "integer", - "description": "Depth of coverage cutoff" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "reads": { - "type": "file", - "description": "Reads with subsampled coverage", - "pattern": "*.fastq.gz" - } - } - ], - "authors": ["@thanhleviet"] - } - }, - { - "name": "raven", - "path": "modules/nf-core/raven/meta.yml", - "type": "module", - "meta": { - "name": "raven", - "description": "De novo genome assembler for long uncorrected reads.", - "keywords": ["de novo", "assembly", "genome", "genome assembler", "long uncorrected reads"], - "tools": [ - { - "raven": { - "description": "Raven is a de novo genome assembler for long uncorrected reads.", - "homepage": "https://github.com/lbcb-sci/raven", - "documentation": "https://github.com/lbcb-sci/raven#usage", - "tool_dev_url": "https://github.com/lbcb-sci/raven", - "doi": "10.1038/s43588-021-00073-4", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', suffix:'bacteria' ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Input file in FASTA/FASTQ format.", - "pattern": "*.{fasta,fastq,fasta.gz,fastq.gz,fa,fq,fa.gz,fq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', suffix:'bacteria' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fasta": { - "type": "file", - "description": "Assembled FASTA file", - "pattern": "*.fasta.gz" - } - }, - { - "gfa": { - "type": "file", - "description": "Repeat graph", - "pattern": "*.gfa.gz" - } - } - ], - "authors": ["@fmalmeida"] - } - }, - { - "name": "raxmlng", - "path": "modules/nf-core/raxmlng/meta.yml", - "type": "module", - "meta": { - "name": "raxmlng", - "description": "RAxML-NG is a phylogenetic tree inference tool which uses maximum-likelihood (ML) optimality criterion.", - "keywords": ["phylogeny", "newick", "maximum likelihood"], - "tools": [ - { - "raxmlng": { - "description": "RAxML-NG is a phylogenetic tree inference tool which uses maximum-likelihood (ML) optimality criterion.", - "homepage": "https://github.com/amkozlov/raxml-ng", - "documentation": "https://github.com/amkozlov/raxml-ng/wiki", - "tool_dev_url": "https://github.com/amkozlov/raxml-ng", - "doi": "10.1093/bioinformatics/btz305", - "licence": ["GPL v2-or-later"] - } - } - ], - "input": [ - { - "alignment": { - "type": "file", - "description": "A FASTA format multiple sequence alignment file", - "pattern": "*.{fasta,fas,fa,mfa}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "phylogeny": { - "type": "file", - "description": "A phylogeny in Newick format", - "pattern": "*.{raxml.bestTree}" - } - }, - { - "phylogeny_bootstrapped": { - "type": "file", - "description": "A phylogeny in Newick format with bootstrap values", - "pattern": "*.{raxml.support}" - } - } - ], - "authors": ["@avantonder", "@aunderwo"] - } - }, - { - "name": "rgi_main", - "path": "modules/nf-core/rgi/main/meta.yml", - "type": "module", - "meta": { - "name": "rgi_main", - "description": "Predict antibiotic resistance from protein or nucleotide data", - "keywords": ["bacteria", "fasta", "antibiotic resistance"], - "tools": [ - { - "rgi": { - "description": "This tool provides a preliminary annotation of your DNA sequence(s) based upon the data available in The Comprehensive Antibiotic Resistance Database (CARD). Hits to genes tagged with Antibiotic Resistance ontology terms will be highlighted. As CARD expands to include more pathogens, genomes, plasmids, and ontology terms this tool will grow increasingly powerful in providing first-pass detection of antibiotic resistance associated genes. See license at CARD website", - "homepage": "https://card.mcmaster.ca", - "documentation": "https://github.com/arpcard/rgi", - "tool_dev_url": "https://github.com/arpcard/rgi", - "doi": "10.1093/nar/gkz935", - "licence": ["https://card.mcmaster.ca/about"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Nucleotide or protein sequences in FASTA format", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz,faa,faa.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "JSON formatted file with RGI results", - "pattern": "*.{json}" - } - }, - { - "tsv": { - "type": "file", - "description": "Tab-delimited file with RGI results", - "pattern": "*.{txt}" - } - }, - { - "temp": { - "type": "directory", - "description": "Directory containing various intermediate files", - "pattern": "temp/" - } - }, - { - "tool_version": { - "type": "string", - "description": "The version of the tool in string format (useful for downstream tools such as hAMRronization)" - } - }, - { - "db_version": { - "type": "string", - "description": "The version of the used database in string format (useful for downstream tools such as hAMRronization)" - } - } - ], - "authors": ["@rpetit3", "@jfy133"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - } - ] - }, - { - "name": "rhocall_annotate", - "path": "modules/nf-core/rhocall/annotate/meta.yml", - "type": "module", - "meta": { - "name": "rhocall_annotate", - "description": "Markup VCF file using rho-calls.", - "keywords": ["roh", "rhocall", "runs_of_homozygosity"], - "tools": [ - { - "rhocall": { - "description": "Call regions of homozygosity and make tentative UPD calls.", - "homepage": "https://github.com/dnil/rhocall", - "documentation": "https://github.com/dnil/rhocall", - "tool_dev_url": "https://github.com/dnil", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "vcf file", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "tbi": { - "type": "file", - "description": "vcf index file", - "pattern": "*.{tbi}" - } - }, - { - "roh": { - "type": "file", - "description": "Bcftools roh style TSV file with CHR,POS,AZ,QUAL", - "pattern": "*.{roh}" - } - }, - { - "bed": { - "type": "file", - "description": "BED file with AZ windows.", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "vcf file", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "rmarkdownnotebook", - "path": "modules/nf-core/rmarkdownnotebook/meta.yml", - "type": "module", - "meta": { - "name": "rmarkdownnotebook", - "description": "Render an rmarkdown notebook. Supports parametrization.", - "keywords": ["R", "notebook", "reports"], - "tools": [ - { - "rmarkdown": { - "description": "Dynamic Documents for R", - "homepage": "https://rmarkdown.rstudio.com/", - "documentation": "https://rmarkdown.rstudio.com/lesson-1.html", - "tool_dev_url": "https://github.com/rstudio/rmarkdown", - "licence": "GPL-3" - } - } - ], - "params": [ - { - "parametrize": { - "type": "boolean", - "description": "If true, parametrize the notebook" - } - }, - { - "implicit_params": { - "type": "boolean", - "description": "If true (default), include the implicit params\n * `input_dir`, which points to the directory containing the files added via `input_files`,\n * `artifact_dir`, which points to the directory where the notebook should place output files, and\n * `cpus`, which contains the value of ${task.cpus}\n" - } - }, - { - "meta_params": { - "type": "boolean", - "description": "If true, include a parameter `meta` which contains the information specified\nvia the `meta` input channel.\n" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "notebook": { - "type": "file", - "description": "Rmarkdown file", - "pattern": "*.{Rmd}" - } - }, - { - "parameters": { - "type": "map", - "description": "Groovy map with notebook parameters which will be passed to\nrmarkdown to generate parametrized reports.\n" - } - }, - { - "input_files": { - "type": "file", - "description": "One or multiple files serving as input data for the notebook.", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "report": { - "type": "file", - "description": "HTML report generated from Rmarkdown", - "pattern": "*.html" - } - }, - { - "session_info": { - "type": "file", - "description": "dump of R SessionInfo", - "pattern": "*.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@grst"] - }, - "pipelines": [ - { - "name": "differentialabundance", - "version": "1.2.0" - } - ] - }, - { - "name": "roary", - "path": "modules/nf-core/roary/meta.yml", - "type": "module", - "meta": { - "name": "roary", - "description": "Calculate pan-genome from annotated bacterial assemblies in GFF3 format", - "keywords": ["gff", "pan-genome", "alignment"], - "tools": [ - { - "roary": { - "description": "Rapid large-scale prokaryote pan genome analysis", - "homepage": "http://sanger-pathogens.github.io/Roary/", - "documentation": "http://sanger-pathogens.github.io/Roary/", - "tool_dev_url": "https://github.com/sanger-pathogens/Roary/", - "doi": "10.1093/bioinformatics/btv421", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gff": { - "type": "file", - "description": "A set of GFF3 formatted files", - "pattern": "*.{gff}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "results": { - "type": "directory", - "description": "Directory containing Roary result files", - "pattern": "*/*" - } - }, - { - "aln": { - "type": "file", - "description": "Core-genome alignment produced by Roary (Optional)", - "pattern": "*.{aln}" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "rsem_calculateexpression", - "path": "modules/nf-core/rsem/calculateexpression/meta.yml", - "type": "module", - "meta": { - "name": "rsem_calculateexpression", - "description": "Calculate expression with RSEM", - "keywords": ["rsem", "expression", "quantification"], - "tools": [ - { - "rseqc": { - "description": "RSEM: accurate transcript quantification from RNA-Seq data with or without a reference genome\n", - "homepage": "https://github.com/deweylab/RSEM", - "documentation": "https://github.com/deweylab/RSEM", - "doi": "10.1186/1471-2105-12-323", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Input reads for quantification", - "pattern": "*.fastq.gz" - } - }, - { - "index": { - "type": "file", - "description": "RSEM index", - "pattern": "rsem/*" - } - } - ], - "output": [ - { - "counts_gene": { - "type": "file", - "description": "Expression counts on gene level", - "pattern": "*.genes.results" - } - }, - { - "counts_transctips": { - "type": "file", - "description": "Expression counts on transcript level", - "pattern": "*.isoforms.results" - } - }, - { - "stat": { - "type": "file", - "description": "RSEM statistics", - "pattern": "*.stat" - } - }, - { - "logs": { - "type": "file", - "description": "RSEM logs", - "pattern": "*.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam_star": { - "type": "file", - "description": "BAM file generated by STAR (optional)", - "pattern": "*.STAR.genome.bam" - } - }, - { - "bam_genome": { - "type": "file", - "description": "Genome BAM file (optional)", - "pattern": "*.genome.bam" - } - }, - { - "bam_transcript": { - "type": "file", - "description": "Transcript BAM file (optional)", - "pattern": "*.transcript.bam" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "pipelines": [ - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "rsem_preparereference", - "path": "modules/nf-core/rsem/preparereference/meta.yml", - "type": "module", - "meta": { - "name": "rsem_preparereference", - "description": "Prepare a reference genome for RSEM", - "keywords": ["rsem", "genome", "index"], - "tools": [ - { - "rseqc": { - "description": "RSEM: accurate transcript quantification from RNA-Seq data with or without a reference genome\n", - "homepage": "https://github.com/deweylab/RSEM", - "documentation": "https://github.com/deweylab/RSEM", - "doi": "10.1186/1471-2105-12-323", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "The Fasta file of the reference genome", - "pattern": "*.{fasta,fa}" - } - }, - { - "gtf": { - "type": "file", - "description": "The GTF file of the reference genome", - "pattern": "*.gtf" - } - } - ], - "output": [ - { - "rsem": { - "type": "directory", - "description": "RSEM index directory", - "pattern": "rsem" - } - }, - { - "transcript_fasta": { - "type": "file", - "description": "Fasta file of transcripts", - "pattern": "rsem/*transcripts.fa" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "pipelines": [ - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - } - ] - }, - { - "name": "rseqc_bamstat", - "path": "modules/nf-core/rseqc/bamstat/meta.yml", - "type": "module", - "meta": { - "name": "rseqc_bamstat", - "description": "Generate statistics from a bam file", - "keywords": ["bam", "qc", "bamstat"], - "tools": [ - { - "rseqc": { - "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", - "homepage": "http://rseqc.sourceforge.net/", - "documentation": "http://rseqc.sourceforge.net/", - "doi": "10.1093/bioinformatics/bts356", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "the bam file to calculate statistics of", - "pattern": "*.{bam}" - } - } - ], - "output": [ - { - "txt": { - "type": "file", - "description": "bam statistics report", - "pattern": "*.bam_stat.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "rseqc_inferexperiment", - "path": "modules/nf-core/rseqc/inferexperiment/meta.yml", - "type": "module", - "meta": { - "name": "rseqc_inferexperiment", - "description": "Infer strandedness from sequencing reads", - "keywords": ["rnaseq", "experiment"], - "tools": [ - { - "rseqc": { - "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", - "homepage": "http://rseqc.sourceforge.net/", - "documentation": "http://rseqc.sourceforge.net/", - "doi": "10.1093/bioinformatics/bts356", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "the bam file to calculate statistics of", - "pattern": "*.{bam}" - } - }, - { - "bed": { - "type": "file", - "description": "a bed file for the reference gene model", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "txt": { - "type": "file", - "description": "infer_experiment results report", - "pattern": "*.infer_experiment.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "rseqc_innerdistance", - "path": "modules/nf-core/rseqc/innerdistance/meta.yml", - "type": "module", - "meta": { - "name": "rseqc_innerdistance", - "description": "Calculate inner distance between read pairs.", - "keywords": ["fragment_size", "inner_distance"], - "tools": [ - { - "rseqc": { - "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", - "homepage": "http://rseqc.sourceforge.net/", - "documentation": "http://rseqc.sourceforge.net/", - "doi": "10.1093/bioinformatics/bts356", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "the alignment in bam format", - "pattern": "*.{bam}" - } - }, - { - "bed": { - "type": "file", - "description": "a bed file for the reference gene model", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "distance": { - "type": "file", - "description": "the inner distances", - "pattern": "*.inner_distance.txt" - } - }, - { - "freq": { - "type": "file", - "description": "frequencies of different insert sizes", - "pattern": "*.inner_distance_freq.txt" - } - }, - { - "mean": { - "type": "file", - "description": "mean/median values of inner distances", - "pattern": "*.inner_distance_mean.txt" - } - }, - { - "pdf": { - "type": "file", - "description": "distribution plot of inner distances", - "pattern": "*.inner_distance_plot.pdf" - } - }, - { - "rscript": { - "type": "file", - "description": "script to reproduce the plot", - "pattern": "*.inner_distance_plot.R" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "rseqc_junctionannotation", - "path": "modules/nf-core/rseqc/junctionannotation/meta.yml", - "type": "module", - "meta": { - "name": "rseqc_junctionannotation", - "description": "compare detected splice junctions to reference gene model", - "keywords": ["junctions", "splicing", "rnaseq"], - "tools": [ - { - "rseqc": { - "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", - "homepage": "http://rseqc.sourceforge.net/", - "documentation": "http://rseqc.sourceforge.net/", - "doi": "10.1093/bioinformatics/bts356", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "the alignment in bam format", - "pattern": "*.{bam}" - } - }, - { - "bed": { - "type": "file", - "description": "a bed file for the reference gene model", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "bed": { - "type": "file", - "description": "bed file of annotated junctions", - "pattern": "*.junction.bed" - } - }, - { - "interact_bed": { - "type": "file", - "description": "Interact bed file", - "pattern": "*.Interact.bed" - } - }, - { - "xls": { - "type": "file", - "description": "xls file with junction information", - "pattern": "*.xls" - } - }, - { - "pdf": { - "type": "file", - "description": "junction plot", - "pattern": "*.junction.pdf" - } - }, - { - "events_pdf": { - "type": "file", - "description": "events plot", - "pattern": "*.events.pdf" - } - }, - { - "rscript": { - "type": "file", - "description": "Rscript to reproduce the plots", - "pattern": "*.r" - } - }, - { - "log": { - "type": "file", - "description": "Log file of execution", - "pattern": "*.junction_annotation.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "rseqc_junctionsaturation", - "path": "modules/nf-core/rseqc/junctionsaturation/meta.yml", - "type": "module", - "meta": { - "name": "rseqc_junctionsaturation", - "description": "compare detected splice junctions to reference gene model", - "keywords": ["junctions", "splicing", "rnaseq"], - "tools": [ - { - "rseqc": { - "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", - "homepage": "http://rseqc.sourceforge.net/", - "documentation": "http://rseqc.sourceforge.net/", - "doi": "10.1093/bioinformatics/bts356", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "the alignment in bam format", - "pattern": "*.{bam}" - } - }, - { - "bed": { - "type": "file", - "description": "a bed file for the reference gene model", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "pdf": { - "type": "file", - "description": "Junction saturation report", - "pattern": "*.pdf" - } - }, - { - "rscript": { - "type": "file", - "description": "Junction saturation R-script", - "pattern": "*.r" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "rseqc_readdistribution", - "path": "modules/nf-core/rseqc/readdistribution/meta.yml", - "type": "module", - "meta": { - "name": "rseqc_readdistribution", - "description": "Calculate how mapped reads are distributed over genomic features", - "keywords": ["read distribution", "genomics", "rnaseq"], - "tools": [ - { - "rseqc": { - "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", - "homepage": "http://rseqc.sourceforge.net/", - "documentation": "http://rseqc.sourceforge.net/", - "doi": "10.1093/bioinformatics/bts356", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "the alignment in bam format", - "pattern": "*.{bam}" - } - }, - { - "bed": { - "type": "file", - "description": "a bed file for the reference gene model", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "txt": { - "type": "file", - "description": "the read distribution report", - "pattern": "*.read_distribution.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "rseqc_readduplication", - "path": "modules/nf-core/rseqc/readduplication/meta.yml", - "type": "module", - "meta": { - "name": "rseqc_readduplication", - "description": "Calculate read duplication rate", - "keywords": ["rnaseq", "duplication"], - "tools": [ - { - "rseqc": { - "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", - "homepage": "http://rseqc.sourceforge.net/", - "documentation": "http://rseqc.sourceforge.net/", - "doi": "10.1093/bioinformatics/bts356", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "the alignment in bam format", - "pattern": "*.{bam}" - } - }, - { - "bed": { - "type": "file", - "description": "a bed file for the reference gene model", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "seq_xls": { - "type": "file", - "description": "Read duplication rate determined from mapping position of read", - "pattern": "*seq.DupRate.xls" - } - }, - { - "pos_xls": { - "type": "file", - "description": "Read duplication rate determined from sequence of read", - "pattern": "*pos.DupRate.xls" - } - }, - { - "pdf": { - "type": "file", - "description": "plot of duplication rate", - "pattern": "*.pdf" - } - }, - { - "rscript": { - "type": "file", - "description": "script to reproduce the plot", - "pattern": "*.R" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "rseqc_tin", - "path": "modules/nf-core/rseqc/tin/meta.yml", - "type": "module", - "meta": { - "name": "rseqc_tin", - "description": "Calculte TIN (transcript integrity number) from RNA-seq reads", - "keywords": ["rnaseq", "transcript", "integrity"], - "tools": [ - { - "rseqc": { - "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", - "homepage": "http://rseqc.sourceforge.net/", - "documentation": "http://rseqc.sourceforge.net/", - "doi": "10.1093/bioinformatics/bts356", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Input BAM file", - "pattern": "*.{bam}" - } - }, - { - "bai": { - "type": "file", - "description": "Index for input BAM file", - "pattern": "*.{bai}" - } - }, - { - "bed": { - "type": "file", - "description": "BED file containing the reference gene model", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "txt": { - "type": "file", - "description": "TXT file containing tin.py results summary", - "pattern": "*.txt" - } - }, - { - "xls": { - "type": "file", - "description": "XLS file containing tin.py results", - "pattern": "*.xls" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "rtgtools_format", - "path": "modules/nf-core/rtgtools/format/meta.yml", - "type": "module", - "meta": { - "name": "rtgtools_format", - "description": "Converts the contents of sequence data files (FASTA/FASTQ/SAM/BAM) into the RTG Sequence Data File (SDF) format.", - "keywords": ["rtg", "fasta", "fastq", "bam", "sam"], - "tools": [ - { - "rtgtools": { - "description": "RealTimeGenomics Tools -- Utilities for accurate VCF comparison and manipulation", - "homepage": "https://www.realtimegenomics.com/products/rtg-tools", - "documentation": "https://github.com/RealTimeGenomics/rtg-tools", - "tool_dev_url": "https://github.com/RealTimeGenomics/rtg-tools", - "licence": "['BSD']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input1": { - "type": "file", - "description": "FASTA, FASTQ, BAM or SAM file. This should be the left input file when using paired end FASTQ/FASTA data", - "pattern": "*.{fasta,fa,fna,fastq,fastq.gz,fq,fq.gz,bam,sam}" - } - }, - { - "input2": { - "type": "file", - "description": "The right input file when using paired end FASTQ/FASTA data", - "pattern": "*.{fasta,fa,fna,fastq,fastq.gz,fq,fq.gz}" - } - }, - { - "sam_rg": { - "type": "file", - "description": "A file containing a single readgroup header as a SAM header. This can also be supplied as a string in `task.ext.args` as `--sam-rg `.", - "pattern": "*.{txt,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sdf": { - "type": "directory", - "description": "The sequence dictionary format folder created from the input file(s)", - "pattern": "*.sdf" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "rtgtools_pedfilter", - "path": "modules/nf-core/rtgtools/pedfilter/meta.yml", - "type": "module", - "meta": { - "name": "rtgtools_pedfilter", - "description": "Converts a PED file to VCF headers", - "keywords": ["rtgtools", "pedfilter", "vcf", "ped"], - "tools": [ - { - "rtgtools": { - "description": "RealTimeGenomics Tools -- Utilities for accurate VCF comparison and manipulation", - "homepage": "https://www.realtimegenomics.com/products/rtg-tools", - "documentation": "https://github.com/RealTimeGenomics/rtg-tools", - "tool_dev_url": "https://github.com/RealTimeGenomics/rtg-tools", - "licence": "['BSD']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "The input file, can be either a PED or a VCF file", - "pattern": "*.{vcf,vcf.gz,ped}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "file", - "description": "The output file, can be either a filtered PED file\nor a VCF file containing the PED headers (needs --vcf as argument)\n", - "pattern": "*.{vcf.gz,ped}" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "rtgtools_rocplot", - "path": "modules/nf-core/rtgtools/rocplot/meta.yml", - "type": "module", - "meta": { - "name": "rtgtools_rocplot", - "description": "Plot ROC curves from vcfeval ROC data files, either to an image, or an interactive GUI. The interactive GUI isn't possible for nextflow.", - "keywords": ["rtgtools", "rocplot", "validation", "vcf"], - "tools": [ - { - "rtgtools": { - "description": "RealTimeGenomics Tools -- Utilities for accurate VCF comparison and manipulation", - "homepage": "https://www.realtimegenomics.com/products/rtg-tools", - "documentation": "https://github.com/RealTimeGenomics/rtg-tools", - "tool_dev_url": "https://github.com/RealTimeGenomics/rtg-tools", - "licence": "['BSD']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "Input TSV ROC files created with RTGTOOLS_VCFEVAL", - "pattern": "*.tsv.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "png": { - "type": "file", - "description": "The resulting rocplot in PNG format", - "pattern": "*.png" - } - }, - { - "svg": { - "type": "file", - "description": "The resulting rocplot in SVG format", - "pattern": "*.svg" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "rtgtools_vcfeval", - "path": "modules/nf-core/rtgtools/vcfeval/meta.yml", - "type": "module", - "meta": { - "name": "rtgtools_vcfeval", - "description": "The VCFeval tool of RTG tools. It is used to evaluate called variants for agreement with a baseline variant set", - "keywords": ["benchmarking", "vcf", "rtg-tools"], - "tools": [ - { - "rtgtools": { - "description": "RealTimeGenomics Tools -- Utilities for accurate VCF comparison and manipulation", - "homepage": "https://www.realtimegenomics.com/products/rtg-tools", - "documentation": "https://github.com/RealTimeGenomics/rtg-tools", - "tool_dev_url": "https://github.com/RealTimeGenomics/rtg-tools", - "licence": "['BSD']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "query_vcf": { - "type": "file", - "description": "A VCF with called variants to benchmark against the standard", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "query_vcf_index": { - "type": "file", - "description": "The index of the called VCF (optional)", - "pattern": "*.tbi" - } - }, - { - "truth_vcf": { - "type": "file", - "description": "A standard VCF to compare against", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "truth_vcf_index": { - "type": "file", - "description": "The index of the standard VCF (optional)", - "pattern": "*.tbi" - } - }, - { - "truth_bed": { - "type": "file", - "description": "A BED file containining the strict regions where VCFeval should only evaluate the fully overlapping variants (optional)", - "pattern": "*.bed" - } - }, - { - "evaluation_bed": { - "type": "file", - "description": "A BED file containing the regions where VCFeval will evaluate every fully and partially overlapping variant (optional)", - "pattern": "*.bed" - } - }, - { - "sdf": { - "type": "file", - "description": "The SDF (RTG Sequence Data File) folder of the reference genome" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tp_vcf": { - "type": "file", - "description": "A VCF file for the true positive variants", - "pattern": "*.tp.vcf.gz" - } - }, - { - "tp_tbi": { - "type": "file", - "description": "The index of the VCF file for the true positive variants", - "pattern": "*.tp.vcf.gz.tbi" - } - }, - { - "fn_vcf": { - "type": "file", - "description": "A VCF file for the false negative variants", - "pattern": "*.fn.vcf.gz" - } - }, - { - "fn_tbi": { - "type": "file", - "description": "The index of the VCF file for the false negative variants", - "pattern": "*.fn.vcf.gz.tbi" - } - }, - { - "fp_vcf": { - "type": "file", - "description": "A VCF file for the false positive variants", - "pattern": "*.fp.vcf.gz" - } - }, - { - "fp_tbi": { - "type": "file", - "description": "The index of the VCF file for the false positive variants", - "pattern": "*.fp.vcf.gz.tbi" - } - }, - { - "baseline_vcf": { - "type": "file", - "description": "A VCF file for the true positive variants from the baseline", - "pattern": "*.tp-baseline.vcf.gz" - } - }, - { - "baseline_tbi": { - "type": "file", - "description": "The index of the VCF file for the true positive variants from the baseline", - "pattern": "*.tp-baseline.vcf.gz.tbi" - } - }, - { - "snp_roc": { - "type": "file", - "description": "TSV files containing ROC data for the SNPs", - "pattern": "*.snp_roc.tsv.gz" - } - }, - { - "non_snp_roc": { - "type": "file", - "description": "TSV files containing ROC data for all variants except SNPs", - "pattern": "*.non_snp_roc.tsv.gz" - } - }, - { - "weighted_roc": { - "type": "file", - "description": "TSV files containing weighted ROC data for all variants", - "pattern": "*.weighted_snp_roc.tsv.gz" - } - }, - { - "summary": { - "type": "file", - "description": "A TXT file containing the summary of the evaluation", - "pattern": "*.summary.txt" - } - }, - { - "phasing": { - "type": "file", - "description": "A TXT file containing the data on the phasing", - "pattern": "*.phasing.txt" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "salmon_index", - "path": "modules/nf-core/salmon/index/meta.yml", - "type": "module", - "meta": { - "name": "salmon_index", - "description": "Create index for salmon", - "keywords": ["index", "fasta", "genome", "reference"], - "tools": [ - { - "salmon": { - "description": "Salmon is a tool for wicked-fast transcript quantification from RNA-seq data\n", - "homepage": "https://salmon.readthedocs.io/en/latest/salmon.html", - "manual": "https://salmon.readthedocs.io/en/latest/salmon.html", - "doi": "10.1038/nmeth.4197", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "genome_fasta": { - "type": "file", - "description": "Fasta file of the reference genome" - } - }, - { - "transcriptome_fasta": { - "type": "file", - "description": "Fasta file of the reference transcriptome" - } - } - ], - "output": [ - { - "index": { - "type": "directory", - "description": "Folder containing the star index files", - "pattern": "salmon" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kevinmenden", "@drpatelh"] - }, - "pipelines": [ - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - } - ] - }, - { - "name": "salmon_quant", - "path": "modules/nf-core/salmon/quant/meta.yml", - "type": "module", - "meta": { - "name": "salmon_quant", - "description": "gene/transcript quantification with Salmon", - "keywords": ["index", "fasta", "genome", "reference"], - "tools": [ - { - "salmon": { - "description": "Salmon is a tool for wicked-fast transcript quantification from RNA-seq data\n", - "homepage": "https://salmon.readthedocs.io/en/latest/salmon.html", - "manual": "https://salmon.readthedocs.io/en/latest/salmon.html", - "doi": "10.1038/nmeth.4197", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files for single-end or paired-end data.\nMultiple single-end fastqs or pairs of paired-end fastqs are\nhandled.\n" - } - }, - { - "index": { - "type": "directory", - "description": "Folder containing the star index files" - } - }, - { - "gtf": { - "type": "file", - "description": "GTF of the reference transcriptome" - } - }, - { - "transcriptome_fasta": { - "type": "file", - "description": "Fasta file of the reference transcriptome" - } - }, - { - "alignment_mode": { - "type": "boolean", - "description": "whether to run salmon in alignment mode" - } - }, - { - "lib_type": { - "type": "string", - "description": "Override library type inferred based on strandedness defined in meta object\n" - } - } - ], - "output": [ - { - "results": { - "type": "directory", - "description": "Folder containing the quantification results for a specific sample", - "pattern": "${prefix}" - } - }, - { - "json_info": { - "type": "file", - "description": "File containing meta information from Salmon quant", - "pattern": "*info.json" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kevinmenden", "@drpatelh"] - }, - "pipelines": [ - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - } - ] - }, - { - "name": "salsa2", - "path": "modules/nf-core/salsa2/meta.yml", - "type": "module", - "meta": { - "name": "salsa2", - "description": "SALSA, A tool to scaffold long read assemblies with HiC", - "keywords": ["assembly", "hi-c", "scaffolding", "long reads", "salsa", "salsa2"], - "tools": [ - { - "salsa2": { - "description": "Salsa is a tool to scaffold long read assemblies with Hi-C.", - "homepage": "https://github.com/marbl/SALSA", - "documentation": "https://github.com/marbl/SALSA", - "tool_dev_url": "https://github.com/marbl/SALSA", - "doi": "10.1186/s12864-017-3879-z", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Fasta file of assembly. Headers must not contain ':'", - "pattern": "*.{fa, fasta}" - } - }, - { - "index": { - "type": "file", - "description": "Fasta index file of assembly containing the length of contigs.", - "pattern": "*.{fa.fai, fasta.fai}" - } - }, - { - "bed": { - "type": "file", - "description": "BED file of alignments sorted by read names, e.g., from HiC-Pro", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Sequences for the scaffolds generated by the algorithm", - "pattern": "*_scaffolds_FINAL.fasta" - } - }, - { - "agp": { - "type": "file", - "description": "AGP style output for the scaffolds describing the assignment, orientation and ordering of contigs along the scaffolds", - "pattern": "*_scaffolds_FINAL.agp" - } - }, - { - "agp_original_coordinates": { - "type": "file", - "description": "Secondary output AGP file with names and coordinates matching the original input assembly (optional)", - "pattern": "*scaffolds_FINAL.original-coordinates.agp" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@scorreard"] - } - }, - { - "name": "sam2lca_analyze", - "path": "modules/nf-core/sam2lca/analyze/meta.yml", - "type": "module", - "meta": { - "name": "sam2lca_analyze", - "description": "Calling lowest common ancestors from multi-mapped reads in SAM/BAM/CRAM files", - "keywords": ["LCA", "alignment", "bam", "metagenomics", "Ancestor", "multimapper"], - "tools": [ - { - "sam2lca": { - "description": "Lowest Common Ancestor on SAM/BAM/CRAM alignment files", - "homepage": "https://github.com/maxibor/sam2lca", - "documentation": "https://sam2lca.readthedocs.io", - "doi": "10.21105/joss.04360", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM/CRAM/SAM index", - "pattern": "*.{bai,.crai}" - } - }, - { - "database": { - "type": "file", - "description": "Directory containing the sam2lca database", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "csv": { - "type": "file", - "description": "CSV file containing the sam2lca results", - "pattern": "*.csv" - } - }, - { - "json": { - "type": "file", - "description": "JSON file containing the sam2lca results", - "pattern": "*.json" - } - }, - { - "bam": { - "type": "file", - "description": "Optional sorted BAM/CRAM/SAM file annotated with LCA taxonomic informations", - "pattern": "*.bam" - } - } - ], - "authors": ["@maxibor"] - } - }, - { - "name": "sambamba_flagstat", - "path": "modules/nf-core/sambamba/flagstat/meta.yml", - "type": "module", - "meta": { - "name": "sambamba_flagstat", - "description": "Outputs some statistics drawn from read flags.", - "keywords": ["stats", "flagstat", "sambamba"], - "tools": [ - { - "sambamba": { - "description": "Tools for working with SAM/BAM data", - "homepage": "https://lomereiter.github.io/sambamba/docs/sambamba-view.html", - "documentation": "https://lomereiter.github.io/sambamba/docs/sambamba-view.html", - "tool_dev_url": "https://github.com/biod/sambamba", - "licence": "['GPL v2']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.{bam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "stats": { - "type": "file", - "description": "Stats file", - "pattern": "*.{stats}" - } - } - ], - "authors": ["@kubranarci"] - } - }, - { - "name": "sambamba_markdup", - "path": "modules/nf-core/sambamba/markdup/meta.yml", - "type": "module", - "meta": { - "name": "sambamba_markdup", - "description": "find and mark duplicate reads in BAM file", - "keywords": ["markduplicates", "duplicates", "bam"], - "tools": [ - { - "sambamba": { - "description": "process your BAM data faster!", - "homepage": "https://lomereiter.github.io/sambamba/docs/sambamba-view.html", - "documentation": "https://lomereiter.github.io/sambamba/docs/sambamba-view.html", - "tool_dev_url": "https://github.com/biod/sambamba", - "licence": "['GPL v2']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "authors": ["@BioInf2305"] - } - }, - { - "name": "samblaster", - "path": "modules/nf-core/samblaster/meta.yml", - "type": "module", - "meta": { - "name": "samblaster", - "description": "This module combines samtools and samblaster in order to use\nsamblaster capability to filter or tag SAM files, with the advantage\nof maintaining both input and output in BAM format.\nSamblaster input must contain a sequence header: for this reason it has been piped\nwith the \"samtools view -h\" command.\nAdditional desired arguments for samtools can be passed using:\noptions.args2 for the input bam file\noptions.args3 for the output bam file\n", - "keywords": ["sort", "duplicate marking", "bam"], - "tools": [ - { - "samblaster": { - "description": "samblaster is a fast and flexible program for marking duplicates in read-id grouped paired-end SAM files.\nIt can also optionally output discordant read pairs and/or split read mappings to separate SAM files,\nand/or unmapped/clipped reads to a separate FASTQ file.\nBy default, samblaster reads SAM input from stdin and writes SAM to stdout.\n", - "documentation": "https://github.com/GregoryFaust/samblaster", - "tool_dev_url": "https://github.com/GregoryFaust/samblaster", - "doi": "10.1093/bioinformatics/btu314", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Tagged or filtered BAM file", - "pattern": "*.bam" - } - } - ], - "authors": ["@lescai"] - }, - "subworkflows": ["fastq_create_umi_consensus_fgbio"], - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "samtools_ampliconclip", - "path": "modules/nf-core/samtools/ampliconclip/meta.yml", - "type": "module", - "meta": { - "name": "samtools_ampliconclip", - "description": "Clips read alignments where they match BED file defined regions", - "keywords": ["amplicon", "clipping", "ampliconclip", "samtools"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "bed": { - "type": "file", - "description": "BED file of regions to be removed (e.g. amplicon primers)", - "pattern": "*.{bed}" - } - }, - { - "save_cliprejects": { - "type": "value", - "description": "Save filtered reads to a file" - } - }, - { - "save_clipstats": { - "type": "value", - "description": "Save clipping stats to a file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Clipped reads BAM file", - "pattern": "*.{bam}" - } - }, - { - "stats": { - "type": "file", - "description": "Clipping statistics text file", - "pattern": "*.{clipstats.txt}" - } - }, - { - "rejects_bam": { - "type": "file", - "description": "Filtered reads BAM file", - "pattern": "*.{cliprejects.bam}" - } - } - ], - "authors": ["@bjohnnyd"] - } - }, - { - "name": "samtools_bam2fq", - "path": "modules/nf-core/samtools/bam2fq/meta.yml", - "type": "module", - "meta": { - "name": "samtools_bam2fq", - "description": "The module uses bam2fq method from samtools to\nconvert a SAM, BAM or CRAM file to FASTQ format\n", - "keywords": ["bam2fq", "samtools", "fastq"], - "tools": [ - { - "samtools": { - "description": "Tools for dealing with SAM, BAM and CRAM files", - "documentation": "http://www.htslib.org/doc/1.1/samtools.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "inputbam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "split": { - "type": "boolean", - "description": "TRUE/FALSE value to indicate if reads should be separated into\n/1, /2 and if present other, or singleton.\nNote: choosing TRUE will generate 4 different files.\nChoosing FALSE will produce a single file, which will be interleaved in case\nthe input contains paired reads.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "reads": { - "type": "file", - "description": "FASTQ files, which will be either a group of 4 files (read_1, read_2, other and singleton)\nor a single interleaved .fq.gz file if the user chooses not to split the reads.\n", - "pattern": "*.fq.gz" - } - } - ], - "authors": ["@lescai"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "samtools_calmd", - "path": "modules/nf-core/samtools/calmd/meta.yml", - "type": "module", - "meta": { - "name": "samtools_calmd", - "description": "calculates MD and NM tags", - "keywords": ["calmd", "bam", "cram"], - "tools": [ - { - "samtoolscalmd": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "tool_dev_url": "https://github.com/samtools/samtools", - "doi": "10.1093/bioinformatics/btp352", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA ref file", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "authors": ["@JackCurragh"] - } - }, - { - "name": "samtools_cat", - "path": "modules/nf-core/samtools/cat/meta.yml", - "type": "module", - "meta": { - "name": "samtools_cat", - "description": "Concatenate BAM or CRAM file", - "keywords": ["merge", "bam", "sam", "cram"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_files": { - "type": "file", - "description": "BAM/CRAM files", - "pattern": "*.{bam,cram}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Concatenated BAM file", - "pattern": "*.{bam}" - } - }, - { - "cram": { - "type": "file", - "description": "Concatenated CRAM file", - "pattern": "*.{cram}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "samtools_collate", - "path": "modules/nf-core/samtools/collate/meta.yml", - "type": "module", - "meta": { - "name": "samtools_collate", - "description": "shuffles and groups reads together by their names", - "keywords": ["collate", "bam"], - "tools": [ - { - "samtools": { - "description": "Tools for dealing with SAM, BAM and CRAM files", - "homepage": "http://www.htslib.org", - "documentation": "https://www.htslib.org/doc/samtools-collate.html", - "tool_dev_url": "https://github.com/samtools/samtools", - "doi": "10.1093/bioinformatics/btp352", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "file", - "description": "Collated BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "authors": ["@priyanka-surana"] - } - }, - { - "name": "samtools_collatefastq", - "path": "modules/nf-core/samtools/collatefastq/meta.yml", - "type": "module", - "meta": { - "name": "samtools_collatefastq", - "description": "The module uses collate and then fastq methods from samtools to\nconvert a SAM, BAM or CRAM file to FASTQ format\n", - "keywords": ["bam2fq", "samtools", "fastq"], - "tools": [ - { - "samtools": { - "description": "Tools for dealing with SAM, BAM and CRAM files", - "documentation": "http://www.htslib.org/doc/1.1/samtools.html", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome fasta file", - "pattern": "*.{fasta,fa}" - } - }, - { - "interleave": { - "type": "boolean", - "description": "If true, the output is a single interleaved paired-end FASTQ\nIf false, the output split paired-end FASTQ\n", - "default": false - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "R1 and R2 FASTQ files\n", - "pattern": "*_{1,2}.fq.gz" - } - }, - { - "fastq_interleaved": { - "type": "file", - "description": "Interleaved paired end FASTQ files\n", - "pattern": "*_interleaved.fq.gz" - } - }, - { - "fastq_other": { - "type": "file", - "description": "FASTQ files with reads where the READ1 and READ2 FLAG bits set are either both set or both unset.\n", - "pattern": "*_other.fq.gz" - } - }, - { - "fastq_singleton": { - "type": "file", - "description": "FASTQ files with singleton reads.\n", - "pattern": "*_singleton.fq.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@lescai", "@maxulysse", "@matthdsm"] - }, - "pipelines": [ - { - "name": "bamtofastq", - "version": "2.0.0" - }, - { - "name": "hlatyping", - "version": "2.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "samtools_convert", - "path": "modules/nf-core/samtools/convert/meta.yml", - "type": "module", - "meta": { - "name": "samtools_convert", - "description": "convert and then index CRAM -> BAM or BAM -> CRAM file", - "keywords": ["view", "index", "bam", "cram"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "index": { - "type": "file", - "description": "BAM/CRAM index file", - "pattern": "*.{bai,crai}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference file to create the CRAM file", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "alignment_index": { - "type": "file", - "description": "filtered/converted BAM/CRAM file + index", - "pattern": "*{.bam/cram,.bai/crai}" - } - }, - { - "version": { - "type": "file", - "description": "File containing software version", - "pattern": "*.{version.txt}" - } - } - ], - "authors": ["@FriederikeHanssen", "@maxulysse"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "samtools_coverage", - "path": "modules/nf-core/samtools/coverage/meta.yml", - "type": "module", - "meta": { - "name": "samtools_coverage", - "description": "produces a histogram or table of coverage per chromosome", - "keywords": ["depth", "samtools", "bam"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAM/CRAM index file", - "pattern": "*.{bai,crai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "coverage": { - "type": "file", - "description": "Tabulated text containing the coverage at each position or region or an ASCII-art histogram (with --histogram).", - "pattern": "*.txt" - } - } - ], - "authors": ["@LouisLeNezet"] - } - }, - { - "name": "samtools_depth", - "path": "modules/nf-core/samtools/depth/meta.yml", - "type": "module", - "meta": { - "name": "samtools_depth", - "description": "Computes the depth at each position or region.", - "keywords": ["depth", "samtools", "statistics", "coverage"], - "tools": [ - { - "samtools": { - "description": "Tools for dealing with SAM, BAM and CRAM files; samtools depth – computes the read depth at each position or region", - "homepage": "http://www.htslib.org", - "documentation": "http://www.htslib.org/doc/samtools-depth.html", - "tool_dev_url": "https://github.com/samtools/samtools", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "sorted BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "The output of samtools depth has three columns - the name of the contig or chromosome, the position and the number of reads aligned at that position", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@louperelo"] - } - }, - { - "name": "samtools_dict", - "path": "modules/nf-core/samtools/dict/meta.yml", - "type": "module", - "meta": { - "name": "samtools_dict", - "description": "Create a sequence dictionary file from a FASTA file", - "keywords": ["dict", "fasta"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "dict": { - "type": "file", - "description": "FASTA dictionary file", - "pattern": "*.{dict}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@muffato"] - } - }, - { - "name": "samtools_faidx", - "path": "modules/nf-core/samtools/faidx/meta.yml", - "type": "module", - "meta": { - "name": "samtools_faidx", - "description": "Index FASTA file", - "keywords": ["index", "fasta", "faidx"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file", - "pattern": "*.{fa,fasta}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "FASTA index file", - "pattern": "*.{fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "FASTA index file", - "pattern": "*.{fai}" - } - }, - { - "gzi": { - "type": "file", - "description": "Optional gzip index file for compressed inputs", - "pattern": "*.gzi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@ewels", "@phue"] - }, - "pipelines": [ - { - "name": "bamtofastq", - "version": "2.0.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "crisprseq", - "version": "2.0.0" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "mag", - "version": "2.3.2" - }, - { - "name": "methylseq", - "version": "2.4.0" - }, - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "pangenome", - "version": "dev" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "samtools_fasta", - "path": "modules/nf-core/samtools/fasta/meta.yml", - "type": "module", - "meta": { - "name": "samtools_fasta", - "description": "Converts a SAM/BAM/CRAM file to FASTA", - "keywords": ["bam", "sam", "cram", "fasta"], - "tools": [ - { - "samtools": { - "description": "Tools for dealing with SAM, BAM and CRAM files", - "homepage": "http://www.htslib.org", - "documentation": "https://www.htslib.org/doc/samtools-fasta.html", - "tool_dev_url": "https://github.com/samtools/samtools", - "doi": "10.1093/bioinformatics/btp352", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "interleave": { - "type": "boolean", - "description": "Set true for interleaved fasta files" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fasta": { - "type": "file", - "description": "Compressed FASTA file(s) with reads with either the READ1 or READ2 flag set in separate files.", - "pattern": "*_{1,2}.fasta.gz" - } - }, - { - "interleaved": { - "type": "file", - "description": "Compressed FASTA file with reads with either the READ1 or READ2 flag set in a combined file. Needs collated input file.", - "pattern": "*_interleaved.fasta.gz" - } - }, - { - "singleton": { - "type": "file", - "description": "Compressed FASTA file with singleton reads", - "pattern": "*_singleton.fasta.gz" - } - }, - { - "other": { - "type": "file", - "description": "Compressed FASTA file with reads with either both READ1 and READ2 flags set or unset", - "pattern": "*_other.fasta.gz" - } - } - ], - "authors": ["@priyanka-surana"] - } - }, - { - "name": "samtools_fastq", - "path": "modules/nf-core/samtools/fastq/meta.yml", - "type": "module", - "meta": { - "name": "samtools_fastq", - "description": "Converts a SAM/BAM/CRAM file to FASTQ", - "keywords": ["bam", "sam", "cram", "fastq"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "interleave": { - "type": "boolean", - "description": "Set true for interleaved fastq file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fastq": { - "type": "file", - "description": "Compressed FASTQ file(s) with reads with either the READ1 or READ2 flag set in separate files.", - "pattern": "*_{1,2}.fastq.gz" - } - }, - { - "interleaved": { - "type": "file", - "description": "Compressed FASTQ file with reads with either the READ1 or READ2 flag set in a combined file. Needs collated input file.", - "pattern": "*_interleaved.fastq.gz" - } - }, - { - "singleton": { - "type": "file", - "description": "Compressed FASTQ file with singleton reads", - "pattern": "*_singleton.fastq.gz" - } - }, - { - "other": { - "type": "file", - "description": "Compressed FASTQ file with reads with either both READ1 and READ2 flags set or unset", - "pattern": "*_other.fastq.gz" - } - } - ], - "authors": ["@priyanka-surana", "@suzannejin"] - }, - "pipelines": [ - { - "name": "genomeassembler", - "version": "dev" - }, - { - "name": "hgtseq", - "version": "1.1.0" - } - ] - }, - { - "name": "samtools_fixmate", - "path": "modules/nf-core/samtools/fixmate/meta.yml", - "type": "module", - "meta": { - "name": "samtools_fixmate", - "description": "Samtools fixmate is a tool that can fill in information (insert size, cigar, mapq) about paired end reads onto the corresponding other read. Also has options to remove secondary/unmapped alignments and recalculate whether reads are proper pairs.", - "keywords": ["fixmate", "samtools", "insert size", "repair", "bam", "paired", "read pairs"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "tool_dev_url": "https://github.com/samtools/samtools", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file, must be sorted by name, not coordinate", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "A BAM/CRAM/SAM file with mate information added and/or proper pairs recalled", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "authors": ["@sppearce"] - } - }, - { - "name": "samtools_flagstat", - "path": "modules/nf-core/samtools/flagstat/meta.yml", - "type": "module", - "meta": { - "name": "samtools_flagstat", - "description": "Counts the number of alignments in a BAM/CRAM/SAM file for each FLAG type", - "keywords": ["stats", "mapping", "counts", "bam", "sam", "cram"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "bai": { - "type": "file", - "description": "Index for BAM/CRAM/SAM file", - "pattern": "*.{bai,crai,sai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "flagstat": { - "type": "file", - "description": "File containing samtools flagstat output", - "pattern": "*.{flagstat}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "bamtofastq", - "version": "2.0.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "methylseq", - "version": "2.4.0" - }, - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "smrnaseq", - "version": "2.2.1" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "samtools_getrg", - "path": "modules/nf-core/samtools/getrg/meta.yml", - "type": "module", - "meta": { - "name": "samtools_getrg", - "description": "filter/convert SAM/BAM/CRAM file", - "keywords": ["view", "bam", "sam", "cram", "readgroup"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "readgroup": { - "type": "stdout", - "description": "File containing readgroup string(s)" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "samtools_idxstats", - "path": "modules/nf-core/samtools/idxstats/meta.yml", - "type": "module", - "meta": { - "name": "samtools_idxstats", - "description": "Reports alignment summary statistics for a BAM/CRAM/SAM file", - "keywords": ["stats", "mapping", "counts", "chromosome", "bam", "sam", "cram"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "bai": { - "type": "file", - "description": "Index for BAM/CRAM/SAM file", - "pattern": "*.{bai,crai,sai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "idxstats": { - "type": "file", - "description": "File containing samtools idxstats output", - "pattern": "*.{idxstats}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "bamtofastq", - "version": "2.0.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "smrnaseq", - "version": "2.2.1" - }, - { - "name": "ssds", - "version": "dev" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "samtools_import", - "path": "modules/nf-core/samtools/import/meta.yml", - "type": "module", - "meta": { - "name": "samtools_import", - "description": "converts FASTQ files to unmapped SAM/BAM/CRAM", - "keywords": ["import", "fastq", "bam", "sam", "cram"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "reads": { - "type": "file", - "description": "fastq data to be converted to SAM/BAM/CRAM", - "pattern": "*.{fastq,fq,fastq.gz,fq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sam": { - "type": "file", - "description": "SAM file", - "pattern": "*.sam" - } - }, - { - "bam": { - "type": "file", - "description": "Unaligned BAM file", - "pattern": "*.bam" - } - }, - { - "cram": { - "type": "file", - "description": "Unaligned CRAM file", - "pattern": "*.cram" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "samtools_index", - "path": "modules/nf-core/samtools/index/meta.yml", - "type": "module", - "meta": { - "name": "samtools_index", - "description": "Index SAM/BAM/CRAM file", - "keywords": ["index", "bam", "sam", "cram"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bai": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "crai": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "csi": { - "type": "file", - "description": "CSI index file", - "pattern": "*.{csi}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@ewels", "@maxulysse"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "bacass", - "version": "2.0.0" - }, - { - "name": "bamtofastq", - "version": "2.0.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "crisprseq", - "version": "2.0.0" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "methylseq", - "version": "2.4.0" - }, - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "smrnaseq", - "version": "2.2.1" - }, - { - "name": "ssds", - "version": "dev" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - }, - { - "name": "variantcatalogue", - "version": "dev" - }, - { - "name": "viralintegration", - "version": "0.1.0" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "samtools_markdup", - "path": "modules/nf-core/samtools/markdup/meta.yml", - "type": "module", - "meta": { - "name": "samtools_markdup", - "description": "mark duplicate alignments in a coordinate sorted file", - "keywords": ["bam", "duplicates", "markduplicates", "samtools"], - "tools": [ - { - "samtools": { - "description": "Tools for dealing with SAM, BAM and CRAM files", - "homepage": "http://www.htslib.org", - "documentation": "https://www.htslib.org/doc/samtools-markdup.html", - "tool_dev_url": "https://github.com/samtools/samtools", - "doi": "10.1093/bioinformatics/btp352", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "output": { - "type": "file", - "description": "Sorted BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "authors": ["@priyanka-surana"] - } - }, - { - "name": "samtools_merge", - "path": "modules/nf-core/samtools/merge/meta.yml", - "type": "module", - "meta": { - "name": "samtools_merge", - "description": "Merge BAM or CRAM file", - "keywords": ["merge", "bam", "sam", "cram"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_files": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference file the CRAM was created with (optional)", - "pattern": "*.{fasta,fa}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Index of the reference file the CRAM was created with (optional)", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.{bam}" - } - }, - { - "cram": { - "type": "file", - "description": "CRAM file", - "pattern": "*.{cram}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "csi": { - "type": "file", - "description": "BAM index file (optional)", - "pattern": "*.csi" - } - } - ], - "authors": ["@drpatelh", "@yuukiiwa ", "@maxulysse", "@FriederikeHanssen", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "bamtofastq", - "version": "2.0.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "samtools_mpileup", - "path": "modules/nf-core/samtools/mpileup/meta.yml", - "type": "module", - "meta": { - "name": "samtools_mpileup", - "description": "BAM", - "keywords": ["mpileup", "bam", "sam", "cram"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA reference file", - "pattern": "*.{fasta,fa}" - } - }, - { - "intervals": { - "type": "file", - "description": "Interval FILE", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "mpileup": { - "type": "file", - "description": "mpileup file", - "pattern": "*.{mpileup}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@joseespinosa"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "samtools_sort", - "path": "modules/nf-core/samtools/sort/meta.yml", - "type": "module", - "meta": { - "name": "samtools_sort", - "description": "Sort SAM/BAM/CRAM file", - "keywords": ["sort", "bam", "sam", "cram"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "csi": { - "type": "file", - "description": "BAM index file (optional)", - "pattern": "*.csi" - } - } - ], - "authors": ["@drpatelh", "@ewels"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "bacass", - "version": "2.0.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "methylseq", - "version": "2.4.0" - }, - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "smrnaseq", - "version": "2.2.1" - }, - { - "name": "viralintegration", - "version": "0.1.0" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "samtools_stats", - "path": "modules/nf-core/samtools/stats/meta.yml", - "type": "module", - "meta": { - "name": "samtools_stats", - "description": "Produces comprehensive statistics from SAM/BAM/CRAM file", - "keywords": ["statistics", "counts", "bam", "sam", "cram"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file from alignment", - "pattern": "*.{bam,cram}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAI/CRAI file from alignment", - "pattern": "*.{bai,crai}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference file the CRAM was created with (optional)", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "stats": { - "type": "file", - "description": "File containing samtools stats output", - "pattern": "*.{stats}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@FriederikeHanssen", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "bamtofastq", - "version": "2.0.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "methylseq", - "version": "2.4.0" - }, - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "smrnaseq", - "version": "2.2.1" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "samtools_view", - "path": "modules/nf-core/samtools/view/meta.yml", - "type": "module", - "meta": { - "name": "samtools_view", - "description": "filter/convert SAM/BAM/CRAM file", - "keywords": ["view", "bam", "sam", "cram"], - "tools": [ - { - "samtools": { - "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", - "homepage": "http://www.htslib.org/", - "documentation": "http://www.htslib.org/doc/samtools.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "index": { - "type": "file", - "description": "BAM.BAI/BAM.CSI/CRAM.CRAI file (optional)", - "pattern": "*.{.bai,.csi,.crai}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference file the CRAM was created with (optional)", - "pattern": "*.{fasta,fa}" - } - }, - { - "qname": { - "type": "file", - "description": "Optional file with read names to output only select alignments", - "pattern": "*.{txt,list}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "optional filtered/converted BAM file", - "pattern": "*.{bam}" - } - }, - { - "cram": { - "type": "file", - "description": "optional filtered/converted CRAM file", - "pattern": "*.{cram}" - } - }, - { - "sam": { - "type": "file", - "description": "optional filtered/converted SAM file", - "pattern": "*.{sam}" - } - }, - { - "bai": { - "type": "file", - "description": "optional BAM file index", - "pattern": "*.{bai}" - } - }, - { - "csi": { - "type": "file", - "description": "optional tabix BAM file index", - "pattern": "*.{csi}" - } - }, - { - "crai": { - "type": "file", - "description": "optional CRAM file index", - "pattern": "*.{crai}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@joseespinosa", "@FriederikeHanssen", "@priyanka-surana"] - }, - "pipelines": [ - { - "name": "bamtofastq", - "version": "2.0.0" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "hlatyping", - "version": "2.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "ssds", - "version": "dev" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "scimap_mcmicro", - "path": "modules/nf-core/scimap/mcmicro/meta.yml", - "type": "module", - "meta": { - "name": "scimap_mcmicro", - "description": "SCIMAP is a suite of tools that enables spatial single-cell analyses", - "keywords": ["sort", "spatial", "single cell"], - "tools": [ - { - "scimap": { - "description": "Scimap is a scalable toolkit for analyzing spatial molecular data.", - "homepage": "https://scimap.xyz/", - "documentation": "https://scimap.xyz/All%20Functions/A.%20Pre%20Processing/sm.pp.mcmicro_to_scimap/", - "tool_dev_url": "https://github.com/labsyspharm/scimap", - "licence": "MIT License" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "cellByFeature": { - "type": "file", - "description": "CSV file with cell by feature table", - "pattern": "*.{csv}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "annotedDataCsv": { - "type": "file", - "description": "Sorted CSV file", - "pattern": "*.{csv}" - } - }, - { - "annotedDataH5ad": { - "type": "file", - "description": "Sorted H5AD file", - "pattern": "*.{h5ad}" - } - } - ], - "authors": ["@luiskuhn"] - } - }, - { - "name": "scoary", - "path": "modules/nf-core/scoary/meta.yml", - "type": "module", - "meta": { - "name": "scoary", - "description": "Use pangenome outputs for GWAS", - "keywords": ["gwas", "pangenome", "prokaryote"], - "tools": [ - { - "scoary": { - "description": "Microbial pan-GWAS using the output from Roary", - "homepage": "https://github.com/AdmiralenOla/Scoary", - "documentation": "https://github.com/AdmiralenOla/Scoary", - "tool_dev_url": "https://github.com/AdmiralenOla/Scoary", - "doi": "10.1186/s13059-016-1108-8", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "genes": { - "type": "file", - "description": "A presence/absence matrix of genes in the pan-genome", - "pattern": "*.csv" - } - }, - { - "traits": { - "type": "file", - "description": "A CSV file containing trait information per-sample", - "pattern": "*.csv" - } - }, - { - "tree": { - "type": "file", - "description": "A Newick formtted tree for phylogenetic analyses", - "pattern": "*.{dnd,nwk,treefile}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "csv": { - "type": "file", - "description": "Gene associations in a CSV file per trait", - "pattern": "*.csv" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "scramble_clusteranalysis", - "path": "modules/nf-core/scramble/clusteranalysis/meta.yml", - "type": "module", - "meta": { - "name": "scramble_clusteranalysis", - "description": "The Cluster Analysis tool of Scramble analyses and interprets the soft-clipped clusters found by `cluster_identifier`", - "keywords": ["soft-clipped clusters", "scramble"], - "tools": [ - { - "scramble": { - "description": "Soft Clipped Read Alignment Mapper", - "homepage": "https://github.com/GeneDx/scramble", - "documentation": "https://github.com/GeneDx/scramble", - "tool_dev_url": "https://github.com/GeneDx/scramble", - "licence": "['CC']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "clusters": { - "type": "file", - "description": "Tab-delimited text file containing soft-clipped clusters. Has to be generated using scramble/clusteridentifier", - "pattern": "*clusters.txt" - } - }, - { - "fasta": { - "type": "file", - "description": "Optional fasta reference file. This file is needed to create a VCF file and to evaluate predicted deletions.", - "pattern": "*.{fasta,fa}" - } - }, - { - "mei_ref": { - "type": "file", - "description": "Optional fasta file containing the MEI reference. This file should only be supplied in special occasions where the default isn't correct", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "meis_tab": { - "type": "file", - "description": "Tab-delimited text file containing MEI calls", - "pattern": "*_MEIs.txt" - } - }, - { - "dels_tab": { - "type": "file", - "description": "Tab-delimited text file containing predicted deletions", - "pattern": "*_PredictedDeletions.txt" - } - }, - { - "vcf": { - "type": "file", - "description": "A VCF file containing the MEI calls and/or the predicted deletions (depending on the given arguments)", - "pattern": "*.vcf" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "scramble_clusteridentifier", - "path": "modules/nf-core/scramble/clusteridentifier/meta.yml", - "type": "module", - "meta": { - "name": "scramble_clusteridentifier", - "description": "The cluster_identifier tool of Scramble identifies soft clipped clusters", - "keywords": ["bam", "cram", "soft-clipped clusters"], - "tools": [ - { - "scramble": { - "description": "Soft Clipped Read Alignment Mapper", - "homepage": "https://github.com/GeneDx/scramble", - "documentation": "https://github.com/GeneDx/scramble", - "tool_dev_url": "https://github.com/GeneDx/scramble", - "licence": "['CC']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "input_index": { - "type": "file", - "description": "Index of the BAM/CRAM file", - "pattern": "*.{bai,crai}" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference FASTA file (mandatory when using CRAM files)", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "clusters": { - "type": "file", - "description": "Tab-delimited file containing the soft-clipped clusters", - "pattern": "*.clusters.txt" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "seacr_callpeak", - "path": "modules/nf-core/seacr/callpeak/meta.yml", - "type": "module", - "meta": { - "name": "seacr_callpeak", - "description": "Call peaks using SEACR on sequenced reads in bedgraph format", - "keywords": ["peak-caller", "peaks", "bedgraph", "cut&tag", "cut&run", "chromatin", "seacr"], - "tools": [ - { - "seacr": { - "description": "SEACR is intended to call peaks and enriched regions from sparse CUT&RUN\nor chromatin profiling data in which background is dominated by \"zeroes\"\n(i.e. regions with no read coverage).\n", - "homepage": "https://github.com/FredHutch/SEACR", - "documentation": "https://github.com/FredHutch/SEACR", - "licence": ["GPL-2.0-only"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bedgraph": { - "type": "file", - "description": "The target bedgraph file from which the peaks will be calculated.\n" - } - }, - { - "ctrlbedgraph": { - "type": "file", - "description": "Control (IgG) data bedgraph file to generate an empirical threshold for peak calling.\n" - } - }, - { - "threshold": { - "type": "integer", - "description": "Threshold value used to call peaks if the ctrlbedgraph input is set to []. Set to 1 if using a control bedgraph\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Bed file containing the calculated peaks.", - "pattern": "*.bed" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@chris-cheshire"] - }, - "pipelines": [ - { - "name": "cutandrun", - "version": "3.1" - } - ] - }, - { - "name": "segemehl_align", - "path": "modules/nf-core/segemehl/align/meta.yml", - "type": "module", - "meta": { - "name": "segemehl_align", - "description": "A multi-split mapping algorithm for circular RNA, splicing, trans-splicing and fusion detection", - "keywords": ["alignment", "circrna", "splicing", "fusions"], - "tools": [ - { - "segemehl": { - "description": "A multi-split mapping algorithm for circular RNA, splicing, trans-splicing and fusion detection", - "homepage": "https://www.bioinf.uni-leipzig.de/Software/segemehl/", - "documentation": "https://www.bioinf.uni-leipzig.de/Software/segemehl/", - "doi": "10.1186/gb-2014-15-2-r34", - "licence": "GPL v3" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "FASTA or FASTQ files", - "pattern": "*.{fa,fasta,fq,fastq,fq.gz,fastq.gz}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome FASTA file used to construct Segemehl", - "pattern": "*.{fa,fasta}" - } - }, - { - "index": { - "type": "file", - "description": "Segemehl Index file from SEGEMEHL_INDEX", - "pattern": "*.idx" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "results": { - "type": "directory", - "description": "Directory containing genomic alignments in SAM format\n (please add \"-b\" flag to task.ext.args for BAM)\nIn addition to split-read alignments files when -S parameter used.\n [ *.{sam,bam}, *.trns.txt, *.mult.bed, *.sngl.bed ]\n", - "pattern": "${meta.id}*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@BarryDigby"] - }, - "pipelines": [ - { - "name": "circrna", - "version": "dev" - } - ] - }, - { - "name": "segemehl_index", - "path": "modules/nf-core/segemehl/index/meta.yml", - "type": "module", - "meta": { - "name": "segemehl_index", - "description": "Generate genome indices for segemehl align", - "keywords": ["index", "circrna", "splicing", "fusions"], - "tools": [ - { - "segemehl": { - "description": "A multi-split mapping algorithm for circular RNA, splicing, trans-splicing and fusion detection", - "homepage": "https://www.bioinf.uni-leipzig.de/Software/segemehl/", - "documentation": "https://www.bioinf.uni-leipzig.de/Software/segemehl/", - "doi": "10.1186/gb-2014-15-2-r34", - "licence": "GPL v3" - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Reference genome FASTA file", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "index": { - "type": "file", - "description": "Segemehl index file", - "pattern": "*.{idx}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@BarryDigby"] - }, - "pipelines": [ - { - "name": "circrna", - "version": "dev" - } - ] - }, - { - "name": "semibin_singleeasybin", - "path": "modules/nf-core/semibin/singleeasybin/meta.yml", - "type": "module", - "meta": { - "name": "semibin_singleeasybin", - "description": "metagenomic binning with self-supervised learning", - "keywords": ["binning", "assembly-binning", "metagenomics"], - "tools": [ - { - "semibin": { - "description": "Metagenomic binning with semi-supervised siamese neural network", - "homepage": "https://github.com/BigDataBiology/SemiBin", - "documentation": "https://semibin.readthedocs.io/en/latest/", - "tool_dev_url": "https://github.com/BigDataBiology/SemiBin", - "doi": "10.1038/s41467-022-29843-y", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "fasta": { - "type": "file", - "description": "Fasta file of the assembled contigs", - "pattern": "*.{fa,fasta,fna,fa.gz,fasta.gz,fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "csv": { - "type": "file", - "description": "generated files", - "pattern": "*.csv" - } - }, - { - "h5": { - "type": "file", - "description": "trained model", - "pattern": "*.h5" - } - }, - { - "output_prerecluster_bins": { - "type": "file", - "description": "output_prerecluster_bins", - "pattern": "output_prerecluster_bins/*.fa" - } - }, - { - "output_recluster_bins": { - "type": "file", - "description": "output_recluster_bins", - "pattern": "output_recluster_bins/*.fa" - } - }, - { - "tsv": { - "type": "file", - "description": "information of bins", - "pattern": "*.tsv" - } - } - ], - "authors": ["@BigDataBiology"] - } - }, - { - "name": "sentieon_applyvarcal", - "path": "modules/nf-core/sentieon/applyvarcal/meta.yml", - "type": "module", - "meta": { - "name": "sentieon_applyvarcal", - "description": "Apply a score cutoff to filter variants based on a recalibration table.\nSentieon's Aplyvarcal performs the second pass in a two-stage process called Variant Quality Score Recalibration (VQSR).\nSpecifically, it applies filtering to the input variants based on the recalibration table produced\nin the previous step VarCal and a target sensitivity value.\nhttps://support.sentieon.com/manual/usages/general/#applyvarcal-algorithm\n", - "keywords": ["sentieon", "applyvarcal", "varcal", "VQSR"], - "tools": [ - { - "sentieon": { - "description": "Sentieon® provides complete solutions for secondary DNA/RNA analysis for a variety of sequencing platforms, including short and long reads.\nOur software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system.\n", - "homepage": "https://www.sentieon.com/", - "documentation": "https://www.sentieon.com/" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file to be recalibrated, this should be the same file as used for the first stage VariantRecalibrator.", - "pattern": "*.vcf" - } - }, - { - "vcf_tbi": { - "type": "file", - "description": "tabix index for the input vcf file.", - "pattern": "*.vcf.tbi" - } - }, - { - "recal": { - "type": "file", - "description": "Recalibration file produced when the input vcf was run through VariantRecalibrator in stage 1.", - "pattern": "*.recal" - } - }, - { - "recal_index": { - "type": "file", - "description": "Index file for the recalibration file.", - "pattern": ".recal.idx" - } - }, - { - "tranches": { - "type": "file", - "description": "Tranches file produced when the input vcf was run through VariantRecalibrator in stage 1.", - "pattern": ".tranches" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "vcf": { - "type": "file", - "description": "compressed vcf file containing the recalibrated variants.", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Index of recalibrated vcf file.", - "pattern": "*vcf.gz.tbi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions.", - "pattern": "versions.yml" - } - } - ], - "authors": ["@assp8200"] - } - }, - { - "name": "sentieon_bwaindex", - "path": "modules/nf-core/sentieon/bwaindex/meta.yml", - "type": "module", - "meta": { - "name": "sentieon_bwaindex", - "description": "Create BWA index for reference genome", - "keywords": ["index", "fasta", "genome", "reference", "sentieon"], - "tools": [ - { - "sentieon": { - "description": "Sentieon® provides complete solutions for secondary DNA/RNA analysis for a variety of sequencing platforms, including short and long reads.\nOur software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system.\n", - "homepage": "https://www.sentieon.com/", - "documentation": "https://www.sentieon.com/" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input genome fasta file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "file", - "description": "BWA genome index files", - "pattern": "*.{amb,ann,bwt,pac,sa}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@maxulysse"] - } - }, - { - "name": "sentieon_bwamem", - "path": "modules/nf-core/sentieon/bwamem/meta.yml", - "type": "module", - "meta": { - "name": "sentieon_bwamem", - "description": "Performs fastq alignment to a fasta reference using Sentieon's BWA MEM", - "keywords": ["mem", "bwa", "alignment", "map", "fastq", "bam", "sentieon"], - "tools": [ - { - "sentieon": { - "description": "Sentieon® provides complete solutions for secondary DNA/RNA analysis for a variety of sequencing platforms, including short and long reads.\nOur software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system.\n", - "homepage": "https://www.sentieon.com/", - "documentation": "https://www.sentieon.com/" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Genome fastq files (single-end or paired-end)" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "file", - "description": "BWA genome index files", - "pattern": "*.{amb,ann,bwt,pac,sa}" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome fasta file", - "pattern": "*.{fa,fasta}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the FASTA reference.", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file.", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "BAI file", - "pattern": "*.bai" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@asp8200"] - } - }, - { - "name": "sentieon_dedup", - "path": "modules/nf-core/sentieon/dedup/meta.yml", - "type": "module", - "meta": { - "name": "sentieon_dedup", - "description": "Runs the sentieon tool LocusCollector followed by Dedup. LocusCollector collects read information that is used by Dedup which in turn marks or removes duplicate reads.", - "keywords": ["mem", "dedup", "map", "bam", "cram", "sentieon"], - "tools": [ - { - "sentieon": { - "description": "Sentieon® provides complete solutions for secondary DNA/RNA analysis for a variety of sequencing platforms, including short and long reads.\nOur software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system.\n", - "homepage": "https://www.sentieon.com/", - "documentation": "https://www.sentieon.com/" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file.", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "BAI file", - "pattern": "*.bai" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome fasta file", - "pattern": "*.{fa,fasta}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the FASTA reference.", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "cram": { - "type": "file", - "description": "CRAM file", - "pattern": "*.cram" - } - }, - { - "crai": { - "type": "file", - "description": "CRAM index file", - "pattern": "*.crai" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file.", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "BAI file", - "pattern": "*.bai" - } - }, - { - "score": { - "type": "file", - "description": "The score file indicates which reads LocusCollector finds are likely duplicates.", - "pattern": "*.score" - } - }, - { - "metrics": { - "type": "file", - "description": "Output file containing Dedup metrics incl. histogram data.", - "pattern": "*.metrics" - } - }, - { - "metrics_multiqc_tsv": { - "type": "file", - "description": "Output tsv-file containing Dedup metrics excl. histogram data.", - "pattern": "*.metrics.multiqc.tsv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@asp8200"] - } - }, - { - "name": "sentieon_gvcftyper", - "path": "modules/nf-core/sentieon/gvcftyper/meta.yml", - "type": "module", - "meta": { - "name": "SENTIEON_GVCFTYPER", - "description": "Perform joint genotyping on one or more samples pre-called with Sentieon's Haplotyper.\n", - "keywords": ["joint genotyping", "genotype", "gvcf"], - "tools": [ - { - "sentieon": { - "description": "Sentieon® provides complete solutions for secondary DNA/RNA analysis for a variety of sequencing platforms, including short and long reads.\nOur software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system.\n", - "homepage": "https://www.sentieon.com/", - "documentation": "https://www.sentieon.com/" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gvcfs": { - "type": "file", - "description": "gVCF(.gz) file\n", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "tbis": { - "type": "file", - "description": "index of gvcf file\n", - "pattern": "*.tbi" - } - }, - { - "intervals": { - "type": "file", - "description": "Interval file with the genomic regions included in the library (optional)" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Reference fasta index file", - "pattern": "*.fai" - } - }, - { - "dbsnp": { - "type": "file", - "description": "dbSNP VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "dbsnp_tbi": { - "type": "file", - "description": "dbSNP VCF index file", - "pattern": "*.tbi" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Genotyped VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Tbi index for VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@asp8200"] - } - }, - { - "name": "sentieon_haplotyper", - "path": "modules/nf-core/sentieon/haplotyper/meta.yml", - "type": "module", - "meta": { - "name": "sentieon_haplotyper", - "description": "Runs Sentieon's haplotyper for germline variant calling.", - "keywords": ["sentieon", "haplotypecaller", "haplotype"], - "tools": [ - { - "sentieon": { - "description": "Sentieon® provides complete solutions for secondary DNA/RNA analysis for a variety of sequencing platforms, including short and long reads.\nOur software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system.\n", - "homepage": "https://www.sentieon.com/", - "documentation": "https://www.sentieon.com/" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file from alignment", - "pattern": "*.{bam,cram}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAI/CRAI file from alignment", - "pattern": "*.{bai,crai}" - } - }, - { - "intervals": { - "type": "file", - "description": "Bed file with the genomic regions included in the library (optional)" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome fasta file", - "pattern": "*.{fa,fasta}" - } - }, - { - "fai": { - "type": "file", - "description": "The index of the FASTA reference.", - "pattern": "*.fai" - } - }, - { - "dbsnp": { - "type": "file", - "description": "VCF file containing known sites (optional)" - } - }, - { - "dbsnp_tbi": { - "type": "file", - "description": "VCF index of dbsnp (optional)" - } - }, - { - "emit_vcf": { - "type": "string", - "description": "Controls the vcf output from the haplotyper.\nIf emit_vcf is set to \"all\" then the haplotyper will output a vcf generated by the haplotyper in emit-mode \"all\".\nIf emit_vcf is set to \"confident\" then the haplotyper will output a vcf generated by the haplotyper in emit-mode \"confident\".\nIf emit_vcf is set to \"variant\" then the haplotyper will output a vcf generated by the haplotyper in emit_mode \"confident\".\n" - } - }, - { - "emit_gvcf": { - "type": "boolean", - "description": "If true, the haplotyper will output a gvcf" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed VCF file", - "pattern": "*.unfiltered.vcf.gz" - } - }, - { - "vcf_tbi": { - "type": "file", - "description": "Index of VCF file", - "pattern": "*.unfiltered.vcf.gz.tbi" - } - }, - { - "gvcf": { - "type": "file", - "description": "Compressed GVCF file", - "pattern": "*.g.vcf.gz" - } - }, - { - "gvcf_tbi": { - "type": "file", - "description": "Index of GVCF file", - "pattern": "*.g.vcf.gz.tbi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@asp8200"] - } - }, - { - "name": "sentieon_varcal", - "path": "modules/nf-core/sentieon/varcal/meta.yml", - "type": "module", - "meta": { - "name": "sentieon_varcal", - "description": "Module for Sentieons VarCal. The VarCal algorithm calculates the Variant Quality Score Recalibration (VQSR).\nVarCal builds a recalibration model for scoring variant quality.\nhttps://support.sentieon.com/manual/usages/general/#varcal-algorithm\n", - "keywords": ["sentieon", "varcal", "variant recalibration"], - "tools": [ - { - "sentieon": { - "description": "Sentieon® provides complete solutions for secondary DNA/RNA analysis for a variety of sequencing platforms, including short and long reads.\nOur software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system.\n", - "homepage": "https://www.sentieon.com/", - "documentation": "https://www.sentieon.com/" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "input vcf file containing the variants to be recalibrated", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "tbi file matching with -vcf", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "resource_vcf": { - "type": "file", - "description": "all resource vcf files that are used with the corresponding '--resource' label", - "pattern": "*.vcf.gz" - } - }, - { - "resource_tbi": { - "type": "file", - "description": "all resource tbi files that are used with the corresponding '--resource' label", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "labels": { - "type": "string", - "description": "necessary arguments for Sentieon's VarCal. Specified to directly match the resources provided. More information can be found at https://support.sentieon.com/manual/usages/general/#varcal-algorithm" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "fasta.fai" - } - } - ], - "output": [ - { - "recal": { - "type": "file", - "description": "Output recal file used by ApplyVQSR", - "pattern": "*.recal" - } - }, - { - "idx": { - "type": "file", - "description": "Index file for the recal output file", - "pattern": "*.idx" - } - }, - { - "tranches": { - "type": "file", - "description": "Output tranches file used by ApplyVQSR", - "pattern": "*.tranches" - } - }, - { - "plots": { - "type": "file", - "description": "Optional output rscript file to aid in visualization of the input data and learned model.", - "pattern": "*plots.R" - } - }, - { - "version": { - "type": "file", - "description": "File containing software versions", - "pattern": "*.versions.yml" - } - } - ], - "authors": ["@asp8200"] - } - }, - { - "name": "seqkit_grep", - "path": "modules/nf-core/seqkit/grep/meta.yml", - "type": "module", - "meta": { - "name": "seqkit_grep", - "description": "Select sequences from a large file based on name/ID", - "keywords": ["filter", "seqkit", "subseq", "grep"], - "tools": [ - { - "seqkit": { - "description": "Cross-platform and ultrafast toolkit for FASTA/Q file manipulation, written by Wei Shen.", - "homepage": "https://bioinf.shenwei.me/seqkit/usage/", - "documentation": "https://bioinf.shenwei.me/seqkit/usage/", - "tool_dev_url": "https://github.com/shenwei356/seqkit/", - "doi": "10.1371/journal.pone.0163962", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sequence": { - "type": "file", - "description": "Fasta or fastq file containing sequences to be filtered\n", - "pattern": "*.{fa,fna,faa,fasta,fq,fastq}[.gz]" - } - }, - { - "pattern": { - "type": "file", - "description": "pattern file (one record per line). If no pattern is given, a string can be specificied within the args using '-p pattern_string'\n", - "pattern": "*.{txt,tsv}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "filter": { - "type": "file", - "description": "Fasta or fastq file containing the filtered sequences\n", - "pattern": "*.{fa,fq}[.gz]" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "seqkit_pair", - "path": "modules/nf-core/seqkit/pair/meta.yml", - "type": "module", - "meta": { - "name": "seqkit_pair", - "description": "match up paired-end reads from two fastq files", - "keywords": ["seqkit", "pair"], - "tools": [ - { - "seqkit": { - "description": "Cross-platform and ultrafast toolkit for FASTA/Q file manipulation, written by Wei Shen.", - "homepage": "https://bioinf.shenwei.me/seqkit/usage/", - "documentation": "https://bioinf.shenwei.me/seqkit/usage/", - "tool_dev_url": "https://github.com/shenwei356/seqkit/", - "doi": "10.1371/journal.pone.0163962", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input paired-end FastQ files.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "reads": { - "type": "file", - "description": "Paired fastq reads", - "pattern": "*.paired.fastq.gz" - } - }, - { - "unpaired_reads": { - "type": "file", - "description": "Unpaired reads (optional)", - "pattern": "*.unpaired.fastq.gz" - } - } - ], - "authors": ["@sateeshperi", "@mjcipriano", "@hseabolt"] - } - }, - { - "name": "seqkit_replace", - "path": "modules/nf-core/seqkit/replace/meta.yml", - "type": "module", - "meta": { - "name": "seqkit_replace", - "description": "Use seqkit to find/replace strings within sequences and sequence headers", - "keywords": ["seqkit", "replace"], - "tools": [ - { - "seqkit": { - "description": "Cross-platform and ultrafast toolkit for FASTA/Q file manipulation, written by Wei Shen.", - "homepage": "https://bioinf.shenwei.me/seqkit/usage/", - "documentation": "https://bioinf.shenwei.me/seqkit/usage/", - "tool_dev_url": "https://github.com/shenwei356/seqkit/", - "doi": "10.1371/journal.pone.016396" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastx": { - "type": "file", - "description": "fasta/q file", - "pattern": "*.{fasta,fastq,fa,fq,fas,fna,faa}*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fastx": { - "type": "file", - "description": "fasta/q file with replaced values", - "pattern": "*.{fasta,fastq,fa,fq,fas,fna,faa}*" - } - } - ], - "authors": ["@mjcipriano"] - } - }, - { - "name": "seqkit_sliding", - "path": "modules/nf-core/seqkit/sliding/meta.yml", - "type": "module", - "meta": { - "name": "seqkit_sliding", - "description": "Use seqkit to generate sliding windows of input fasta", - "keywords": ["seqkit", "sliding", "windows"], - "tools": [ - { - "seqkit": { - "description": "Cross-platform and ultrafast toolkit for FASTA/Q file manipulation, written by Wei Shen.", - "homepage": "https://bioinf.shenwei.me/seqkit/usage/", - "documentation": "https://bioinf.shenwei.me/seqkit/usage/", - "tool_dev_url": "https://github.com/shenwei356/seqkit/", - "doi": "10.1371/journal.pone.016396" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastx": { - "type": "file", - "description": "fasta/q file", - "pattern": "*.{fasta,fastq,fa,fq,fas,fna,faa}*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "windows": { - "type": "file", - "description": "fasta/q window file", - "pattern": "*.{fasta,fastq,fa,fq,fas,fna,faa}*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@DLBPointon"] - } - }, - { - "name": "seqkit_split2", - "path": "modules/nf-core/seqkit/split2/meta.yml", - "type": "module", - "meta": { - "name": "seqkit_split2", - "description": "Split single or paired-end fastq.gz files", - "keywords": ["split", "fastq"], - "tools": [ - { - "seqkit": { - "description": "Cross-platform and ultrafast toolkit for FASTA/Q file manipulation, written by Wei Shen.\n", - "homepage": "https://github.com/shenwei356/seqkit", - "documentation": "https://bioinf.shenwei.me/seqkit/", - "doi": "10.1371/journal.pone.0163962", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "FastQ files", - "pattern": "*.{fq.gz/fastq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Split fastq files", - "pattern": "*.{fq.gz/fastq.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@FriederikeHanssen"] - } - }, - { - "name": "seqkit_stats", - "path": "modules/nf-core/seqkit/stats/meta.yml", - "type": "module", - "meta": { - "name": "seqkit_stats", - "description": "simple statistics of FASTA/Q files", - "keywords": ["seqkit", "stats"], - "tools": [ - { - "seqkit": { - "description": "Cross-platform and ultrafast toolkit for FASTA/Q file manipulation, written by Wei Shen.", - "homepage": "https://bioinf.shenwei.me/seqkit/usage/", - "documentation": "https://bioinf.shenwei.me/seqkit/usage/", - "tool_dev_url": "https://github.com/shenwei356/seqkit/", - "doi": "10.1371/journal.pone.0163962", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Either FASTA or FASTQ files.\n", - "pattern": "*.{fa,fna,faa,fasta,fq,fastq}[.gz]" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "stats": { - "type": "file", - "description": "Tab-separated output file with basic sequence statistics.\n", - "pattern": "*.tsv" - } - } - ], - "authors": ["@Midnighter"] - } - }, - { - "name": "seqsero2", - "path": "modules/nf-core/seqsero2/meta.yml", - "type": "module", - "meta": { - "name": "seqsero2", - "description": "Salmonella serotype prediction from reads and assemblies", - "keywords": ["fasta", "fastq", "salmonella", "sertotype"], - "tools": [ - { - "seqsero2": { - "description": "Salmonella serotype prediction from genome sequencing data", - "homepage": "https://github.com/denglab/SeqSero2", - "documentation": "https://github.com/denglab/SeqSero2", - "tool_dev_url": "https://github.com/denglab/SeqSero2", - "doi": "10.1128/AEM.01746-19", - "licence": ["GPL v2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "seqs": { - "type": "file", - "description": "FASTQ or FASTA formated sequences", - "pattern": "*.{fq.gz,fastq.gz,fna.gz,fna,fasta.gz,fasta,fa.gz,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "log": { - "type": "file", - "description": "A log of serotype antigen results", - "pattern": "*_log.txt" - } - }, - { - "tsv": { - "type": "file", - "description": "Tab-delimited summary of the SeqSero2 results", - "pattern": "*_result.tsv" - } - }, - { - "txt": { - "type": "file", - "description": "Detailed summary of the SeqSero2 results", - "pattern": "*_result.txt" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "seqtk_cutn", - "path": "modules/nf-core/seqtk/cutn/meta.yml", - "type": "module", - "meta": { - "name": "seqtk_cutn", - "description": "Generates a BED file containing genomic locations of lengths of N.", - "keywords": ["cut", "fasta", "seqtk"], - "tools": [ - { - "seqtk": { - "description": "Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format. Seqtk mergepe command merges pair-end reads into one interleaved file.", - "homepage": "https://github.com/lh3/seqtk", - "documentation": "https://docs.csc.fi/apps/seqtk/", - "tool_dev_url": "https://github.com/lh3/seqtk", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "A single fasta file to be split.", - "pattern": "*.{fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "The output bed which summarised locations of cuts", - "pattern": "*.{bed}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@DLBPointon"] - } - }, - { - "name": "seqtk_mergepe", - "path": "modules/nf-core/seqtk/mergepe/meta.yml", - "type": "module", - "meta": { - "name": "seqtk_mergepe", - "description": "Interleave pair-end reads from FastQ files", - "keywords": ["interleave"], - "tools": [ - { - "seqtk": { - "description": "Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format. Seqtk mergepe command merges pair-end reads into one interleaved file.", - "homepage": "https://github.com/lh3/seqtk", - "documentation": "https://docs.csc.fi/apps/seqtk/", - "tool_dev_url": "https://github.com/lh3/seqtk", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,respectively.", - "pattern": "*.{fastq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "reads": { - "type": "file", - "description": "If single-end reads, the output is the same as the input, 1 FastQ file for each read. If pair-end reads, the read pairs will be interleaved and output as 1 FastQ file for each read pair.", - "pattern": "*.{fastq.gz}" - } - } - ], - "authors": ["@emnilsson"] - }, - "pipelines": [ - { - "name": "metatdenovo", - "version": "dev" - } - ] - }, - { - "name": "seqtk_rename", - "path": "modules/nf-core/seqtk/rename/meta.yml", - "type": "module", - "meta": { - "name": "seqtk_rename", - "description": "Rename sequence names in FASTQ or FASTA files.", - "keywords": ["rename"], - "tools": [ - { - "seqtk": { - "description": "Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format. The seqtk rename command renames sequence names.", - "homepage": "https://github.com/lh3/seqtk", - "documentation": "https://docs.csc.fi/apps/seqtk/", - "tool_dev_url": "https://github.com/lh3/seqtk", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "sequences": { - "type": "file", - "description": "A FASTQ or FASTA file", - "pattern": "*.{fastq.gz, fastq, fq, fq.gz, fasta, fastq.gz, fa, fa.gz, fas, fas.gz, fna, fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sequences": { - "type": "file", - "description": "FASTQ/FASTA file containing renamed sequences", - "pattern": "*.{fastq.gz, fasta.gz}" - } - } - ], - "authors": ["@hseabolt", "@mjcipriano", "@sateeshperi"] - } - }, - { - "name": "seqtk_sample", - "path": "modules/nf-core/seqtk/sample/meta.yml", - "type": "module", - "meta": { - "name": "seqtk_sample", - "description": "Subsample reads from FASTQ files", - "keywords": ["sample"], - "tools": [ - { - "seqtk": { - "description": "Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format. Seqtk sample command subsamples sequences.", - "homepage": "https://github.com/lh3/seqtk", - "documentation": "https://docs.csc.fi/apps/seqtk/", - "tool_dev_url": "https://github.com/lh3/seqtk", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files", - "pattern": "*.{fastq.gz}" - } - }, - { - "sample_size": { - "type": "value", - "description": "Number of reads to sample." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "reads": { - "type": "file", - "description": "Subsampled FastQ files", - "pattern": "*.{fastq.gz}" - } - } - ], - "authors": ["@kaurravneet4123", "@sidorov-si", "@adamrtalbot"] - } - }, - { - "name": "seqtk_seq", - "path": "modules/nf-core/seqtk/seq/meta.yml", - "type": "module", - "meta": { - "name": "seqtk_seq", - "description": "Common transformation operations on FASTA or FASTQ files.", - "keywords": ["seq"], - "tools": [ - { - "seqtk": { - "description": "Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format. The seqtk seq command enables common transformation operations on FASTA or FASTQ files.", - "homepage": "https://github.com/lh3/seqtk", - "documentation": "https://docs.csc.fi/apps/seqtk/", - "tool_dev_url": "https://github.com/lh3/seqtk", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "sequences": { - "type": "file", - "description": "A FASTQ or FASTA file", - "pattern": "*.{fastq.gz, fastq, fq, fq.gz, fasta, fastq.gz, fa, fa.gz, fas, fas.gz, fna, fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sequences": { - "type": "file", - "description": "FASTQ/FASTA file containing renamed sequences", - "pattern": "*.{fastq.gz, fasta.gz}" - } - } - ], - "authors": ["@hseabolt", "@mjcipriano", "@sateeshperi"] - }, - "pipelines": [ - { - "name": "crisprseq", - "version": "2.0.0" - }, - { - "name": "radseq", - "version": "dev" - } - ] - }, - { - "name": "seqtk_subseq", - "path": "modules/nf-core/seqtk/subseq/meta.yml", - "type": "module", - "meta": { - "name": "seqtk_subseq", - "description": "Select only sequences that match the filtering condition", - "keywords": ["filtering,selection"], - "tools": [ - { - "seqtk": { - "description": "Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format", - "homepage": "https://github.com/lh3/seqtk", - "documentation": "https://docs.csc.fi/apps/seqtk/", - "tool_dev_url": "https://github.com/lh3/seqtk", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "sequences": { - "type": "file", - "description": "FASTQ/FASTA file", - "pattern": "*.{fq,fq.gz,fa,fa.gz}" - } - }, - { - "filter_list": { - "type": "file", - "description": "BED file or a text file with a list of sequence names", - "pattern": "*.{bed,lst}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sequences": { - "type": "file", - "description": "FASTQ/FASTA file", - "pattern": "*.{fq.gz,fa.gz}" - } - } - ], - "authors": ["@sidorov-si"] - } - }, - { - "name": "sequencetools_pileupcaller", - "path": "modules/nf-core/sequencetools/pileupcaller/meta.yml", - "type": "module", - "meta": { - "name": "sequencetools_pileupcaller", - "description": "PileupCaller is a tool to create genotype calls from bam files using read-sampling methods", - "keywords": [ - "genotyping", - "mpileup", - "random draw", - "pseudohaploid", - "pseudodiploid", - "freqsum", - "plink", - "bed", - "eigenstrat" - ], - "tools": [ - { - "sequencetools": { - "description": "Tools for population genetics on sequencing data", - "homepage": "https://github.com/stschiff/sequenceTools", - "documentation": "https://github.com/stschiff/sequenceTools#readme", - "tool_dev_url": "https://github.com/stschiff/sequenceTools", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "mpileup": { - "type": "file", - "description": "samtools mpileup output." - } - }, - { - "snpfile": { - "type": "file", - "description": "Eigenstrat format .snp file of the sites in the mpileup file to call genotypes on.\nOnly alleles matching the Ref and Alt alleles of the provided snp file will be called.\n" - } - }, - { - "calling_method": { - "type": "value", - "description": "The desired calling method for pileupcaller. One of 'randomHaploid', 'randomDiploid', or 'majorityCall'." - } - }, - { - "output_format": { - "type": "value", - "description": "The desired output format. One of 'PLINK', 'EIGENSTRAT', or 'FREQSUM'." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "eigenstrat": { - "type": "file", - "description": "A tuple containing the output Eigenstrat-formatted geno, snp and ind files.", - "pattern": "*.{geno,snp,ind}.txt" - } - }, - { - "plink": { - "type": "file", - "description": "A tuple containing the output Plink-formatted bed, bim and fam files.", - "pattern": "*.{bed,bim,fam}" - } - }, - { - "freqsum": { - "type": "file", - "description": "The output freqsum-formatted file.", - "pattern": "*.freqsum.gz" - } - } - ], - "authors": ["@TCLamnidis"] - } - }, - { - "name": "sequenzautils_bam2seqz", - "path": "modules/nf-core/sequenzautils/bam2seqz/meta.yml", - "type": "module", - "meta": { - "name": "sequenzautils_bam2seqz", - "description": "Sequenza-utils bam2seqz process BAM and Wiggle files to produce a seqz file", - "keywords": ["bam2seqz"], - "tools": [ - { - "sequenzautils": { - "description": "Sequenza-utils provides 3 main command line programs to transform common NGS file format - such as FASTA, BAM - to input files for the Sequenza R package. The program - bam2seqz - process a paired set of BAM/pileup files (tumour and matching normal), and GC-content genome-wide information, to extract the common positions with A and B alleles frequencies.", - "homepage": "https://sequenza-utils.readthedocs.io/en/latest/index.html", - "documentation": "https://sequenza-utils.readthedocs.io/en/latest/index.html", - "doi": "10.1093/annonc/mdu479", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "normalbam": { - "type": "file", - "description": "BAM file from the reference/normal sample", - "pattern": "*.{bam}" - } - }, - { - "tumourbam": { - "type": "file", - "description": "BAM file from the tumour sample", - "pattern": "*.{bam}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference FASTA file", - "pattern": "*.{fasta}" - } - }, - { - "wigfile": { - "type": "file", - "description": "GC content wiggle file", - "pattern": "*.{wig.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "seqz": { - "type": "file", - "description": "Seqz file", - "pattern": "*.{seqz.gz}" - } - } - ], - "authors": ["@kaurravneet4123"] - } - }, - { - "name": "sequenzautils_gcwiggle", - "path": "modules/nf-core/sequenzautils/gcwiggle/meta.yml", - "type": "module", - "meta": { - "name": "sequenzautils_gcwiggle", - "description": "Sequenza-utils gc_wiggle computes the GC percentage across the sequences, and returns a file in the UCSC wiggle format, given a fasta file and a window size.", - "keywords": ["gc_wiggle"], - "tools": [ - { - "sequenzautils": { - "description": "Sequenza-utils provides 3 main command line programs to transform common NGS file format - such as FASTA, BAM - to input files for the Sequenza R package. The program -gc_wiggle- takes fasta file as an input, computes GC percentage across the sequences and returns a file in the UCSC wiggle format.", - "homepage": "https://sequenza-utils.readthedocs.io/en/latest/index.html", - "documentation": "https://sequenza-utils.readthedocs.io/en/latest/index.html", - "doi": "10.1093/annonc/mdu479", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file", - "pattern": "*.{fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "wig": { - "type": "file", - "description": "GC Wiggle track file", - "pattern": "*.{wig.gz}" - } - } - ], - "authors": ["@kaurravneet4123"] - } - }, - { - "name": "seqwish_induce", - "path": "modules/nf-core/seqwish/induce/meta.yml", - "type": "module", - "meta": { - "name": "seqwish_induce", - "description": "Induce a variation graph in GFA format from alignments in PAF format", - "keywords": ["induce", "paf", "gfa", "graph", "variation graph"], - "tools": [ - { - "seqwish": { - "description": "seqwish implements a lossless conversion from pairwise alignments between\nsequences to a variation graph encoding the sequences and their alignments.\n", - "homepage": "https://github.com/ekg/seqwish", - "documentation": "https://github.com/ekg/seqwish", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "paf": { - "type": "list", - "description": "comma-separated PAF file(s) of alignments, single entry allowed", - "pattern": "[*.{paf,paf.gz},*.{paf,paf.gz},...]" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file used to generate alignments", - "pattern": "*.{fa,fa.gz,fasta,fasta.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gfa": { - "type": "file", - "description": "Variation graph in GFA 1.0 format", - "pattern": "*.{gfa}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@heuermh"] - }, - "pipelines": [ - { - "name": "pangenome", - "version": "dev" - } - ] - }, - { - "name": "seroba_run", - "path": "modules/nf-core/seroba/run/meta.yml", - "type": "module", - "meta": { - "name": "seroba_run", - "description": "Determine Streptococcus pneumoniae serotype from Illumina paired-end reads", - "keywords": ["fastq", "serotype", "Streptococcus pneumoniae"], - "tools": [ - { - "seroba": { - "description": "SeroBA is a k-mer based pipeline to identify the Serotype from Illumina NGS reads for given references.", - "homepage": "https://sanger-pathogens.github.io/seroba/", - "documentation": "https://sanger-pathogens.github.io/seroba/", - "tool_dev_url": "https://github.com/sanger-pathogens/seroba", - "doi": "10.1099/mgen.0.000186", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Input Illunina paired-end FASTQ files", - "pattern": "*.{fq.gz,fastq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "The predicted serotype in tab-delimited format", - "pattern": "*.tsv" - } - }, - { - "txt": { - "type": "file", - "description": "A detailed description of the predicted serotype", - "pattern": "*.txt" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "sexdeterrmine", - "path": "modules/nf-core/sexdeterrmine/meta.yml", - "type": "module", - "meta": { - "name": "sexdeterrmine", - "description": "Calculate the relative coverage on the Gonosomes vs Autosomes from the output of samtools depth, with error bars.", - "keywords": ["sex determination", "genetic sex", "relative coverage", "ancient dna"], - "tools": [ - { - "sexdeterrmine": { - "description": "A python script carry out calculate the relative coverage of X and Y chromosomes, and their associated error bars, out of capture data.", - "homepage": "https://github.com/TCLamnidis/Sex.DetERRmine", - "documentation": "https://github.com/TCLamnidis/Sex.DetERRmine/README.md", - "tool_dev_url": "https://github.com/TCLamnidis/Sex.DetERRmine", - "doi": "10.1038/s41467-018-07483-5", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "depth": { - "type": "file", - "description": "Output from samtools depth (with header)", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "JSON formatted table of relative coverages on the X and Y, with associated error bars.", - "pattern": "*.json" - } - }, - { - "tsv": { - "type": "file", - "description": "TSV table of relative coverages on the X and Y, with associated error bars.", - "pattern": "*.tsv" - } - } - ], - "authors": ["@TCLamnidis"] - } - }, - { - "name": "sgdemux", - "path": "modules/nf-core/sgdemux/meta.yml", - "type": "module", - "meta": { - "name": "sgdemux", - "description": "Demultiplex bgzip'd fastq files", - "keywords": ["demultiplex", "fastq", "bgzip"], - "tools": [ - { - "sgdemux": { - "description": "Tool for demultiplexing sequencing data generated on Singular Genomics' sequencing instruments.", - "homepage": "https://github.com/Singular-Genomics/singular-demux", - "documentation": "https://github.com/Singular-Genomics/singular-demux#sgdemux", - "licence": "['For Singular G4™ Sequencing Platform only']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sample_sheet": { - "type": "file", - "description": "sample_sheet file (either a Singular Genomics sample sheet, or a two column csv wih Sample_Barcode and Sample_ID)", - "pattern": "*.{csv}" - } - }, - { - "fastqs_dir": { - "type": "directory", - "description": "Input directory containing bgzipped (not gzip) FASTQ files" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sample_fastq": { - "type": "file", - "description": "Demultiplexed per-sample FASTQ files", - "pattern": "output/*_R*.fastq.gz" - } - }, - { - "metrics": { - "type": "file", - "description": "Demultiplexing summary stats; control_reads_omitted failing_reads_omitted, total_templates\n", - "pattern": "output/metrics.tsv" - } - }, - { - "most_frequent_unmatched": { - "type": "file", - "description": "File containing approx. counts of barcodes that did not match the expected barcodes\n", - "pattern": "output/most_frequence_unmatched.tsv" - } - }, - { - "per_project_metrics": { - "type": "file", - "description": "Summary metrics for samples in the same project", - "pattern": "output/per_project_metrics.tsv" - } - }, - { - "per_sample_metrics": { - "type": "file", - "description": "Summary metrics for each sample", - "pattern": "output/per_sample_metrics.tsv" - } - }, - { - "sample_barcode_hop_metrics": { - "type": "file", - "description": "File output for dual-indexed runs with barcodes which are unexpected combinations of\nexpected barcodes e.g. expected barcodes = AA-TT/GG-CC and observed barcodes = AA-CC/GG-TT\n", - "pattern": "output/sample_barcode_hop_metrics/tsv" - } - } - ], - "authors": ["Samantha White: @samfulcrum"] - }, - "pipelines": [ - { - "name": "demultiplex", - "version": "1.3.2" - } - ] - }, - { - "name": "shapeit5_ligate", - "path": "modules/nf-core/shapeit5/ligate/meta.yml", - "type": "module", - "meta": { - "name": "shapeit5_ligate", - "description": "Ligate multiple phased BCF/VCF files into a single whole chromosome file.\nTypically run to ligate multiple chunks of phased common variants.\n", - "keywords": ["ligate", "haplotype", "shapeit"], - "tools": [ - { - "shapeit5": { - "description": "Fast and accurate method for estimation of haplotypes (phasing)", - "homepage": "https://odelaneau.github.io/shapeit5/", - "documentation": "https://odelaneau.github.io/shapeit5/docs/documentation", - "tool_dev_url": "https://github.com/odelaneau/shapeit5", - "doi": "10.1101/2022.10.19.512867 ", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_list": { - "type": "file", - "description": "VCF/BCF files containing genotype probabilities (GP field).\nThe files should be ordered by genomic position.\n", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "input_list_index": { - "type": "file", - "description": "VCF/BCF files index.", - "pattern": "*.csi" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "merged_variants": { - "type": "file", - "description": "Output VCF/BCF file for the merged regions.\nPhased information (HS field) is updated accordingly for the full region.\n", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - } - ], - "authors": ["@louislenezet"] - } - }, - { - "name": "shapeit5_phasecommon", - "path": "modules/nf-core/shapeit5/phasecommon/meta.yml", - "type": "module", - "meta": { - "name": "shapeit5_phasecommon", - "description": "Tool to phase common sites, typically SNP array data, or the first step of WES/WGS data.", - "keywords": ["phasing", "haplotype", "shapeit"], - "tools": [ - { - "shapeit5": { - "description": "Fast and accurate method for estimation of haplotypes (phasing)", - "homepage": "https://odelaneau.github.io/shapeit5/", - "documentation": "https://odelaneau.github.io/shapeit5/docs/documentation", - "tool_dev_url": "https://github.com/odelaneau/shapeit5", - "doi": "10.1101/2022.10.19.512867 ", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "Target dataset in VCF/BCF format defined at all variable positions.\nThe file could possibly be without GT field (for efficiency reasons a file containing only the positions is recommended).\n", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "input_index": { - "type": "file", - "description": "Index file of the input VCF/BCF file containing genotype likelihoods.", - "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" - } - }, - { - "pedigree": { - "type": "file", - "description": "Pedigree information in the following format: offspring father mother.\n", - "pattern": "*.{txt, tsv}" - } - }, - { - "region": { - "type": "string", - "description": "Target region, usually a full chromosome (e.g. chr20:1000000-2000000 or chr20).\nFor chrX, please treat PAR and non-PAR regions as different choromosome in order to avoid mixing ploidy.\n", - "pattern": "chrXX:leftBufferPosition-rightBufferPosition" - } - }, - { - "reference": { - "type": "file", - "description": "Reference panel of haplotypes in VCF/BCF format.", - "pattern": "*.{vcf.gz,bcf.gz}" - } - }, - { - "reference_index": { - "type": "file", - "description": "Index file of the Reference panel file.", - "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" - } - }, - { - "scaffold": { - "type": "file", - "description": "Scaffold of haplotypes in VCF/BCF format.", - "pattern": "*.{vcf.gz,bcf.gz}" - } - }, - { - "scaffold_index": { - "type": "file", - "description": "Index file of the scaffold file.", - "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" - } - }, - { - "map": { - "type": "file", - "description": "File containing the genetic map.", - "pattern": "*.gmap" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "phased_variants": { - "type": "file", - "description": "Phased haplotypes in VCF/BCF format.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@LouisLeNezet"] - } - }, - { - "name": "shapeit5_phaserare", - "path": "modules/nf-core/shapeit5/phaserare/meta.yml", - "type": "module", - "meta": { - "name": "shapeit5_phaserare", - "description": "Tool to phase rare variants onto a scaffold of common variants (output of phase_common / ligate).\nRequire feature AVX2.\n", - "keywords": ["phasing", "rare variants", "haplotype", "shapeit"], - "tools": [ - { - "shapeit5": { - "description": "Fast and accurate method for estimation of haplotypes (phasing)", - "homepage": "https://odelaneau.github.io/shapeit5/", - "documentation": "https://odelaneau.github.io/shapeit5/docs/documentation", - "tool_dev_url": "https://github.com/odelaneau/shapeit5", - "doi": "10.1101/2022.10.19.512867 ", - "licence": "['MIT']" - } - } - ], - "requirement": "AVX2", - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_plain": { - "type": "file", - "description": "Genotypes to be phased in plain VCF/BCF format.\n", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "input_plain_index": { - "type": "file", - "description": "Index file of the input_plain VCF/BCF file containing genotype likelihoods.", - "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" - } - }, - { - "input_region": { - "type": "string", - "description": "Region to be considered in --input-plain (e.g. chr20:1000000-2000000 or chr20).\nFor chrX, please treat PAR and non-PAR regions as different choromosome in order to avoid mixing ploidy.\n", - "pattern": "chrXX:leftBufferPosition-rightBufferPosition" - } - }, - { - "pedigree": { - "type": "file", - "description": "Pedigree information in the following format: offspring father mother.\n", - "pattern": "*.{txt, tsv}" - } - }, - { - "scaffold": { - "type": "file", - "description": "Scaffold of haplotypes in VCF/BCF format.", - "pattern": "*.{vcf.gz,bcf.gz}" - } - }, - { - "scaffold_index": { - "type": "file", - "description": "Index file of the scaffold file.", - "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" - } - }, - { - "scaffold_region": { - "type": "string", - "description": "Region to be considered in --scaffold (e.g. chr20:1000000-2000000 or chr20).\n", - "pattern": "chrXX:leftBufferPosition-rightBufferPosition" - } - }, - { - "map": { - "type": "file", - "description": "File containing the genetic map.", - "pattern": "*.gmap" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "phased_variants": { - "type": "file", - "description": "Phased haplotypes in VCF/BCF format.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@LouisLeNezet"] - } - }, - { - "name": "shapeit5_switch", - "path": "modules/nf-core/shapeit5/switch/meta.yml", - "type": "module", - "meta": { - "name": "shapeit5_switch", - "description": "Program to compute switch error rate and genotyping error rate given simulated or trio data.", - "keywords": ["error", "phasing"], - "tools": [ - { - "shapeit5": { - "description": "Fast and accurate method for estimation of haplotypes (phasing)", - "homepage": "https://odelaneau.github.io/shapeit5/", - "documentation": "https://odelaneau.github.io/shapeit5/docs/documentation", - "tool_dev_url": "https://github.com/odelaneau/shapeit5", - "doi": "10.1101/2022.10.19.512867 ", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "estimate": { - "type": "file", - "description": "Imputed data.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "estimate_index": { - "type": "file", - "description": "Index file of the freq VCF/BCF file.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "region": { - "type": "string", - "description": "Target region used for imputation, including left and right buffers (e.g. chr20:1000000-2000000).", - "pattern": "chrXX:leftBufferPosition-rightBufferPosition" - } - }, - { - "pedigree": { - "type": "file", - "description": "Pedigree information in the following format: offspring father mother.\n", - "pattern": "*.{txt, tsv}" - } - }, - { - "truth": { - "type": "file", - "description": "Validation dataset called at the same positions as the imputed file.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "truth_index": { - "type": "file", - "description": "Index file of the truth VCF/BCF file.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "freq": { - "type": "file", - "description": "File containing allele frequencies at each site.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "freq_index": { - "type": "file", - "description": "Index file of the freq VCF/BCF file.", - "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "errors": { - "type": "file", - "description": "Estimates errors from the phased file.", - "pattern": "*.txt.gz" - } - } - ], - "authors": ["@LouisLeNezet"] - } - }, - { - "name": "shasta", - "path": "modules/nf-core/shasta/meta.yml", - "type": "module", - "meta": { - "name": "shasta", - "description": "The goal of the Shasta long read assembler is to rapidly produce accurate assembled sequence using DNA reads generated by Oxford Nanopore flow cells as input. Please note Assembler is design to focus on speed, so assembly may be considered somewhat non-deterministic as final assembly may vary across executions. See https://github.com/chanzuckerberg/shasta/issues/296.", - "keywords": ["nanopore", "de-novo", "assembly", "longread"], - "tools": [ - { - "shasta": { - "description": "Rapidly produce accurate assembled sequence using as input DNA reads generated by Oxford Nanopore flow cells.", - "homepage": "https://chanzuckerberg.github.io/shasta/index.html", - "documentation": "https://chanzuckerberg.github.io/shasta/index.html", - "tool_dev_url": "https://github.com/chanzuckerberg/shasta", - "doi": "10.1038/s41587-020-0503-6", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Input file in FASTQ format.", - "pattern": "*.{fastq,fastq.gz,fq,fq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "assembly": { - "type": "file", - "description": "Assembled FASTA file", - "pattern": "${prefix}_Assembly.fasta.gz" - } - }, - { - "gfa": { - "type": "file", - "description": "Repeat graph", - "pattern": "${prefix}_Assembly.gfa.gz" - } - }, - { - "results": { - "type": "dir", - "description": "Resulting assembly directory", - "pattern": "ShastaRun" - } - } - ], - "authors": ["@fmalmeida"] - } - }, - { - "name": "shasum", - "path": "modules/nf-core/shasum/meta.yml", - "type": "module", - "meta": { - "name": "shasum", - "description": "Print SHA256 (256-bit) checksums.", - "keywords": ["checksum", "sha256", "256 bit"], - "tools": [ - { - "md5sum": { - "description": "Create an SHA256 (256-bit) checksum.", - "homepage": "https://www.gnu.org", - "documentation": "https://linux.die.net/man/1/shasum", - "licence": "GPLv3+" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "file": { - "type": "file", - "description": "Any file", - "pattern": "*.*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "checksum": { - "type": "file", - "description": "File containing checksum", - "pattern": "*.sha256" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "shigatyper", - "path": "modules/nf-core/shigatyper/meta.yml", - "type": "module", - "meta": { - "name": "shigatyper", - "description": "Determine Shigella serotype from Illumina or Oxford Nanopore reads", - "keywords": ["fastq", "shigella", "serotype"], - "tools": [ - { - "shigatyper": { - "description": "Typing tool for Shigella spp. from WGS Illumina sequencing", - "homepage": "https://github.com/CFSAN-Biostatistics/shigatyper", - "documentation": "https://github.com/CFSAN-Biostatistics/shigatyper", - "tool_dev_url": "https://github.com/CFSAN-Biostatistics/shigatyper", - "doi": "10.1128/AEM.00165-19", - "licence": "['Public Domain']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false, is_ont:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Illumina or Nanopore FASTQ file", - "pattern": "*.fastq.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "A TSV formatted file with ShigaTyper results", - "pattern": "*.tsv" - } - }, - { - "hits": { - "type": "file", - "description": "A TSV formatted file with individual gene hits", - "pattern": "*-hits.tsv" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "shigeifinder", - "path": "modules/nf-core/shigeifinder/meta.yml", - "type": "module", - "meta": { - "name": "shigeifinder", - "description": "Determine Shigella serotype from assemblies or Illumina paired-end reads", - "keywords": ["fastq", "fasta", "shigella", "serotype"], - "tools": [ - { - "shigeifinder": { - "description": "Cluster informed Shigella and EIEC serotyping tool from Illumina reads and assemblies", - "homepage": "https://mgtdb.unsw.edu.au/ShigEiFinder/", - "documentation": "https://github.com/LanLab/ShigEiFinder", - "tool_dev_url": "https://github.com/LanLab/ShigEiFinder", - "doi": "10.1099/mgen.0.000704", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "seqs": { - "type": "file", - "description": "Assembly or paired-end Illumina reads", - "pattern": "*.{fasta,fasta.gz,fastq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "A TSV formatted file with ShigEiFinder results", - "pattern": "*.tsv" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "shinyngs_app", - "path": "modules/nf-core/shinyngs/app/meta.yml", - "type": "module", - "meta": { - "name": "shinyngs_app", - "description": "build and deploy Shiny apps for interactively mining differential abundance data", - "keywords": ["differential", "expression", "rna-seq", "deseq2"], - "tools": [ - { - "shinyngs": { - "description": "Provides Shiny applications for various array and NGS applications. Currently very RNA-seq centric, with plans for expansion.", - "homepage": "https://github.com/pinin4fjords/shinyngs", - "documentation": "https://rawgit.com/pinin4fjords/shinyngs/master/vignettes/shinyngs.html", - "tool_dev_url": "https://github.com/pinin4fjords/shinyngs", - "licence": "['AGPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing information on experiment, at a minimum an id.\ne.g. [ id:'test' ]\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing information on experiment, at a minimum an id. To match meta.\ne.g. [ id:'test' ]\n" - } - }, - { - "sample": { - "type": "file", - "description": "CSV-format sample sheet with sample metadata\n" - } - }, - { - "feature_meta": { - "type": "file", - "description": "TSV-format feature (e.g. gene) metadata\n" - } - }, - { - "assay_files": { - "type": "file", - "description": "List of TSV-format matrix files representing different measures for the same samples (e.g. raw and normalised).\n" - } - }, - { - "contrasts": { - "type": "file", - "description": "CSV-format file with four columns identifying the sample sheet variable, reference level, treatment level, and optionally a comma-separated list of covariates used as blocking factors.\n" - } - }, - { - "differential_results": { - "type": "file", - "description": "List of TSV-format differential analysis outputs, one per row of the contrasts file\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing information on experiment.\ne.g. [ id:'test' ]\n" - } - }, - { - "data": { - "type": "file", - "description": "A shinyngs ExploratorySummarizedExperiment\nobject serialized with saveRDS().\n", - "pattern": "app/data.rds" - } - }, - { - "app": { - "type": "file", - "description": "The mini R script required build an application from data.rds.\n", - "pattern": "app/app.R" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@pinin4fjords"] - }, - "pipelines": [ - { - "name": "differentialabundance", - "version": "1.2.0" - } - ] - }, - { - "name": "shinyngs_staticdifferential", - "path": "modules/nf-core/shinyngs/staticdifferential/meta.yml", - "type": "module", - "meta": { - "name": "shinyngs_staticdifferential", - "description": "Make plots for interpretation of differential abundance statistics", - "keywords": ["rnaseq", "plot", "differential", "shinyngs"], - "tools": [ - { - "shinyngs": { - "description": "Provides Shiny applications for various array and NGS applications. Currently very RNA-seq centric, with plans for expansion.", - "homepage": "https://github.com/pinin4fjords/shinyngs", - "documentation": "https://rawgit.com/pinin4fjords/shinyngs/master/vignettes/shinyngs.html", - "tool_dev_url": "https://github.com/pinin4fjords/shinyngs", - "licence": "['AGPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing contrast information, to be passed as reference\nand target levels, like '--reference_level $meta.reference\n--treatment_level $meta.target'\ne.g. [ variable:'treatment', reference:'treated', control:'saline', blocking:'' ]\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing information on experiment represented by max,\nfeatures and samples, at a minimum an id.\ne.g. [ id:'test' ]\n" - } - }, - { - "differential_results": { - "type": "file", - "description": "CSV or TSV-format tabular file with differential analysis outputs\n" - } - }, - { - "sample": { - "type": "file", - "description": "CSV or TSV-format sample sheet with sample metadata\n" - } - }, - { - "feature_meta": { - "type": "file", - "description": "CSV or TSV-format feature (e.g. gene) metadata\n" - } - }, - { - "assay_file": { - "type": "file", - "description": "CSV or TSV matrix file to use alongside differential statistics in\ninterpretation. Usually a normalised form.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing contrast information\ne.g. [ variable:'treatment', reference:'treated', control:'saline', blocking:'' ]\n" - } - }, - { - "volcanos_png": { - "type": "file", - "description": "Meta-keyed tuple containing a PNG output for a volcano plot built from\nthe differential result table.\n" - } - }, - { - "volcanos_html": { - "type": "file", - "description": "Meta-keyed tuple containing an HTML output for a volcano plot built\nfrom the differential result table.\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@pinin4fjords"] - }, - "pipelines": [ - { - "name": "differentialabundance", - "version": "1.2.0" - } - ] - }, - { - "name": "shinyngs_staticexploratory", - "path": "modules/nf-core/shinyngs/staticexploratory/meta.yml", - "type": "module", - "meta": { - "name": "shinyngs_staticexploratory", - "description": "Make exploratory plots for analysis of matrix data, including PCA, Boxplots and density plots", - "keywords": ["exploratory", "plot", "boxplot", "density", "PCA"], - "tools": [ - { - "shinyngs": { - "description": "Provides Shiny applications for various array and NGS applications. Currently very RNA-seq centric, with plans for expansion.", - "homepage": "https://github.com/pinin4fjords/shinyngs", - "documentation": "https://rawgit.com/pinin4fjords/shinyngs/master/vignettes/shinyngs.html", - "tool_dev_url": "https://github.com/pinin4fjords/shinyngs", - "licence": "['AGPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing information on variables for use in plots,\nprobably experimental information, but at a minimum an id.\ne.g. [ id:'treatment' ]\n" - } - }, - { - "sample": { - "type": "file", - "description": "CSV-format sample sheet with sample metadata\n" - } - }, - { - "feature_meta": { - "type": "file", - "description": "TSV-format feature (e.g. gene) metadata\n" - } - }, - { - "assay_files": { - "type": "file", - "description": "List of TSV-format matrix files representing different measures for the same samples (e.g. raw and normalised).\n" - } - } - ], - "output": [ - { - "boxplots_png": { - "type": "file", - "description": "Meta-keyed tuple containing PNG output for box plots covering input\nmatrices.\n" - } - }, - { - "boxplots_html": { - "type": "file", - "description": "Meta-keyed tuple containing HTML output for box plots covering input\nmatrices.\n" - } - }, - { - "densities_png": { - "type": "file", - "description": "Meta-keyed tuple containing PNG output for density plots\ncovering input matrices.\n" - } - }, - { - "densities_html": { - "type": "file", - "description": "Meta-keyed tuple containing HTML output for density plots\ncovering input matrices.\n" - } - }, - { - "pca2d_png": { - "type": "file", - "description": "Meta-keyed tuple containing a PNG output for 2D PCA plots covering\nspecified input matrix (by default the last one in the input list.\n" - } - }, - { - "pca2d_html": { - "type": "file", - "description": "Meta-keyed tuple containing an HTML output for 2D PCA plots covering\nspecified input matrix (by default the last one in the input list.\n" - } - }, - { - "pca3d_png": { - "type": "file", - "description": "Meta-keyed tuple containing a PNG output for 3D PCA plots covering\nspecified input matrix (by default the last one in the input list.\n" - } - }, - { - "pca3d_html": { - "type": "file", - "description": "Meta-keyed tuple containing an HTML output for 3D PCA plots covering\nspecified input matrix (by default the last one in the input list.\n" - } - }, - { - "mad_png": { - "type": "file", - "description": "Meta-keyed tuple containing a PNG output for MAD correlation plots\ncovering specified input matrix (by default the last one in the input\nlist.\n" - } - }, - { - "mad_dendro": { - "type": "file", - "description": "Meta-keyed tuple containing an HTML output for MAD correlation plots\ncovering specified input matrix (by default the last one in the input\nlist.\n" - } - }, - { - "dendro": { - "type": "file", - "description": "Meta-keyed tuple containing a PNG, for a sample clustering\ndendrogramcovering specified input matrix (by default the last one in\nthe input list.\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@pinin4fjords"] - }, - "pipelines": [ - { - "name": "differentialabundance", - "version": "1.2.0" - } - ] - }, - { - "name": "shinyngs_validatefomcomponents", - "path": "modules/nf-core/shinyngs/validatefomcomponents/meta.yml", - "type": "module", - "meta": { - "name": "shinyngs_validatefomcomponents", - "description": "validate consistency of feature and sample annotations with matrices and contrasts", - "keywords": ["expression", "features", "observations", "validation"], - "tools": [ - { - "shinyngs": { - "description": "Provides Shiny applications for various array and NGS applications. Currently very RNA-seq centric, with plans for expansion.", - "homepage": "https://github.com/pinin4fjords/shinyngs", - "documentation": "https://rawgit.com/pinin4fjords/shinyngs/master/vignettes/shinyngs.html", - "tool_dev_url": "https://github.com/pinin4fjords/shinyngs", - "licence": "['AGPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing information on experiment, at a minimum an id.\ne.g. [ id:'test' ]\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing information on features.\ne.g. [ id:'test' ]\n" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing information on contrasts.\ne.g. [ id:'test' ]\n" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing information on experiment, at a minimum an id. To match meta.\ne.g. [ id:'test' ]\n" - } - }, - { - "sample": { - "type": "file", - "description": "CSV-format sample sheet with sample metadata\n" - } - }, - { - "feature_meta": { - "type": "file", - "description": "TSV-format feature (e.g. gene) metadata\n" - } - }, - { - "assay_files": { - "type": "file", - "description": "List of TSV-format matrix files representing different measures for the same samples (e.g. raw and normalised).\n" - } - }, - { - "contrasts": { - "type": "file", - "description": "CSV-format file with four columns identifying the sample sheet variable, reference level, treatment level, and optionally a comma-separated list of covariates used as blocking factors.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing information on experiment.\ne.g. [ id:'test' ]\n" - } - }, - { - "sample_meta": { - "type": "file", - "description": "File containing validated sample metadata", - "pattern": "/*.sample_metadata.tsv" - } - }, - { - "feature_meta": { - "type": "file", - "description": "File containing validated feature metadata", - "pattern": "/*.feature_metadata.tsv", - "optional": true - } - }, - { - "assays": { - "type": "file", - "description": "Files containing validated matrices", - "pattern": "/*.assay.tsv" - } - }, - { - "contrasts": { - "type": "file", - "description": "Files containing validated matrices", - "pattern": "/*.contrasts_file.tsv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@pinin4fjords"] - }, - "pipelines": [ - { - "name": "differentialabundance", - "version": "1.2.0" - } - ] - }, - { - "name": "shovill", - "path": "modules/nf-core/shovill/meta.yml", - "type": "module", - "meta": { - "name": "shovill", - "description": "Assemble bacterial isolate genomes from Illumina paired-end reads", - "keywords": ["bacterial", "assembly", "illumina"], - "tools": [ - { - "shovill": { - "description": "Microbial assembly pipeline for Illumina paired-end reads", - "homepage": "https://github.com/tseemann/shovill", - "documentation": "https://github.com/tseemann/shovill/blob/master/README.md", - "licence": ["GPL v2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input paired-end FastQ files" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "contigs": { - "type": "file", - "description": "The final assembly produced by Shovill", - "pattern": "contigs.fa" - } - }, - { - "corrections": { - "type": "file", - "description": "List of post-assembly corrections made by Shovill", - "pattern": "shovill.corrections" - } - }, - { - "log": { - "type": "file", - "description": "Full log file for bug reporting", - "pattern": "shovill.log" - } - }, - { - "raw_contigs": { - "type": "file", - "description": "Raw assembly produced by the assembler (SKESA, SPAdes, MEGAHIT, or Velvet)", - "pattern": "{skesa,spades,megahit,velvet}.fasta" - } - }, - { - "gfa": { - "type": "file", - "description": "Assembly graph produced by MEGAHIT, SPAdes, or Velvet", - "pattern": "contigs.{fastg,gfa,LastGraph}" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "sickle", - "path": "modules/nf-core/sickle/meta.yml", - "type": "module", - "meta": { - "name": "sickle", - "description": "A windowed adaptive trimming tool for FASTQ files using quality", - "keywords": ["fastq", "sliding window", "trimming"], - "tools": [ - { - "sickle": { - "description": "a tool that determines clipping of reads on 3' end and 5'end based on base quality ", - "homepage": "https://github.com/najoshi/sickle", - "tool_dev_url": "https://github.com/najoshi/sickle", - "licence": "['MIT License']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data, respectively. File of forward reads must be supplied first and reverse reads as the second e.g. [\"read.1.fastq.gz\",\"read.2.fastq.gz\"]", - "pattern": "*.{fq,fastq,fq.gz,fastq.gz}" - } - }, - { - "qual_type": { - "type": "string", - "description": "sickle needs a base quality values, which could be either illumina, solexa or sanger", - "pattern": "illumina or solexa or sanger" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false, qual:'Illumina' ]\n" - } - }, - { - "single_trimmed": { - "type": "file", - "description": "5' or 3' trimmed (based on base quality) single-end fastq file", - "pattern": "*.se.trimmed.fastq.gz" - } - }, - { - "paired1_trimmed": { - "type": "file", - "description": "5' or 3' trimmed (based on base quality) R1 fastq file", - "pattern": "*.pe1.trimmed.fastq.gz" - } - }, - { - "paired2_trimmed": { - "type": "file", - "description": "5' or 3' trimmed (based on base quality) R2 fastq file", - "pattern": "*.pe2.trimmed.fastq.gz" - } - }, - { - "log": { - "type": "file", - "description": "log file", - "pattern": "*.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@BioInf2305"] - } - }, - { - "name": "simpleaf_index", - "path": "modules/nf-core/simpleaf/index/meta.yml", - "type": "module", - "meta": { - "name": "simpleaf_index", - "description": "Indexing of transcriptome for gene expression quantification using SimpleAF", - "keywords": ["indexing", "transcriptome", "gene expression", "SimpleAF"], - "tools": [ - { - "simpleaf": { - "description": "SimpleAF is a tool for quantification of gene expression from RNA-seq data\n", - "homepage": "https://github.com/COMBINE-lab/simpleaf", - "licence": ["BSD-3-Clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing information on genome_fasta\n" - } - }, - { - "genome_fasta": { - "type": "file", - "description": "FASTA file containing the genome sequence\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing information on genome_gtf\n" - } - }, - { - "genome_gtf": { - "type": "file", - "description": "GTF file containing transcript annotations. Optional if transcript FASTA file is provided.\n" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing information on transcript_fasta\n" - } - }, - { - "transcript_fasta": { - "type": "file", - "description": "FASTA file containing the transcript sequences. Optional if transcript GTF file is provided.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing information on genome_fasta or transcript_fasta (whichever was used)\n" - } - }, - { - "index": { - "type": "directory", - "description": "Folder containing the Salmon index files\n", - "pattern": "salmon/index" - } - }, - { - "transcript_tsv": { - "type": "file", - "description": "Transcript-to-gene mapping file in 3-column TSV format\n", - "pattern": "salmon/ref/*_t2g_3col.tsv" - } - }, - { - "salmon": { - "type": "directory", - "description": "Folder containing the Salmon files\n", - "pattern": "salmon" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions\n", - "pattern": "versions.yml" - } - } - ], - "authors": ["@fmalmeida", "@maxulysse", "@Khajidu", "@apeltzer", "@pinin4fjords"] - } - }, - { - "name": "simpleaf_quant", - "path": "modules/nf-core/simpleaf/quant/meta.yml", - "type": "module", - "meta": { - "name": "simpleaf_quant", - "description": "simpleaf is a program to simplify and customize the running and configuration of single-cell processing with alevin-fry.", - "keywords": ["quantification", "gene expression", "SimpleAF"], - "tools": [ - { - "simpleaf": { - "description": "SimpleAF is a tool for quantification of gene expression from RNA-seq data\n", - "homepage": "https://github.com/COMBINE-lab/simpleaf", - "licence": ["BSD-3-Clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files for paired-end data.\nReads should be grouped by pairs.\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing index information\n" - } - }, - { - "index": { - "type": "directory", - "description": "Folder containing the index files" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing txp2gene information\n" - } - }, - { - "txp2gene": { - "type": "file", - "description": "File mapping transcripts to genes.\n" - } - }, - { - "chemistry": { - "type": "string", - "description": "Chemistry used for library preparation. It can be a string describing\nthe specific chemistry or the geometry of the barcode, UMI, and\nmappable read. For example, \"10xv2\" and \"10xv3\" will apply the\nappropriate settings for 10x Chromium v2 and v3 protocols,\nrespectively. Alternatively, you can provide a general geometry string\nif your chemistry is not pre-registered. For example, instead of\n\"10xv2\", you could use \"1{b[16]u[10]x:}2{r:}\", or instead of \"10xv3\",\nyou could use \"1{b[16]u[12]x:}2{r:}\".\n" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing whitelist information\n" - } - }, - { - "whitelist": { - "type": "file", - "description": "Whitelist file containing valid cell barcodes. Optional.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "alevin_results": { - "type": "directory", - "description": "Folder containing the Alevin results for a specific sample\n", - "pattern": "*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@fmalmeida", "@maxulysse", "@Khajidu", "@apeltzer", "@pinin4fjords"] - } - }, - { - "name": "sistr", - "path": "modules/nf-core/sistr/meta.yml", - "type": "module", - "meta": { - "name": "sistr", - "description": "Serovar prediction of salmonella assemblies", - "keywords": ["bacteria", "fasta", "salmonella"], - "tools": [ - { - "sistr": { - "description": "Salmonella In Silico Typing Resource (SISTR) commandline tool for serovar prediction", - "homepage": "https://github.com/phac-nml/sistr_cmd", - "documentation": "https://github.com/phac-nml/sistr_cmd", - "tool_dev_url": "https://github.com/phac-nml/sistr_cmd", - "doi": "10.1371/journal.pone.0147101", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Nucleotide or protein sequences in FASTA format", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz,faa,faa.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "SISTR serovar prediction", - "pattern": "*.{tsv}" - } - }, - { - "allele_json": { - "type": "file", - "description": "Allele sequences and info to JSON", - "pattern": "*.{json}" - } - }, - { - "allele_fasta": { - "type": "file", - "description": "FASTA file destination of novel cgMLST alleles", - "pattern": "*.{fasta}" - } - }, - { - "cgmlst_csv": { - "type": "file", - "description": "CSV file destination for cgMLST allelic profiles", - "pattern": "*.{csv}" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "slimfastq", - "path": "modules/nf-core/slimfastq/meta.yml", - "type": "module", - "meta": { - "name": "slimfastq", - "description": "Fast, efficient, lossless compression of FASTQ files.", - "keywords": ["FASTQ", "compression", "lossless"], - "tools": [ - { - "slimfastq": { - "description": "slimfastq efficiently compresses/decompresses FASTQ files", - "homepage": "https://github.com/Infinidat/slimfastq", - "tool_dev_url": "https://github.com/Infinidat/slimfastq", - "licence": "['BSD-3-clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "Either a single-end FASTQ file or paired-end files.", - "pattern": "*.{fq.gz,fastq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sfq": { - "type": "file", - "description": "Either one or two sequence files in slimfastq compressed format.", - "pattern": "*.{sfq}" - } - } - ], - "authors": ["@Midnighter"] - } - }, - { - "name": "smncopynumbercaller", - "path": "modules/nf-core/smncopynumbercaller/meta.yml", - "type": "module", - "meta": { - "name": "smncopynumbercaller", - "description": "tool to call the copy number of full-length SMN1, full-length SMN2, as well as SMN2Δ7–8 (SMN2 with a deletion of Exon7-8) from a whole-genome sequencing (WGS) BAM file.", - "keywords": ["copy number, BAM, CRAM, SMN1, SMN2"], - "tools": [ - { - "smncopynumbercaller": { - "description": "call copy number of SMN1, SMN2, SMN2Δ7–8 from a bam file", - "homepage": "https://github.com/Illumina/SMNCopyNumberCaller", - "documentation": "https://github.com/Illumina/SMNCopyNumberCaller", - "tool_dev_url": "https://github.com/Illumina/SMNCopyNumberCaller", - "doi": "10.1038/s41436-020-0754-0", - "licence": "Apache License Version 2.0" - } - } - ], - "input": [ - { - "bam": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM/CRAM index file", - "pattern": "*.{bai,crai}" - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "run_metrics": { - "type": "file", - "description": "File containing run parameters of SMNCopyNumberCaller", - "pattern": "*.{json}" - } - }, - { - "smncopynumber": { - "type": "file", - "description": "File containing the output of SMNCopyNumberCaller", - "pattern": "*.{tsv}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@peterpru"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "smoothxg", - "path": "modules/nf-core/smoothxg/meta.yml", - "type": "module", - "meta": { - "name": "smoothxg", - "description": "Linearize and simplify variation graph in GFA format using blocked partial order alignment", - "keywords": ["gfa", "graph", "pangenome", "variation graph", "POA"], - "tools": [ - { - "smoothxg": { - "description": "smoothxg linearizes and simplifies variation graphs using blocked partial\norder alignment.\n", - "homepage": "https://github.com/pangenome/smoothxg", - "documentation": "https://github.com/pangenome/smoothxg", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gfa": { - "type": "file", - "description": "Variation graph in GFA 1.0 format", - "pattern": "*.{gfa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gfa": { - "type": "file", - "description": "Linearized and simplified graph in GFA 1.0 format", - "pattern": "*.smoothxg.{gfa}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "maf": { - "type": "file", - "description": "write the multiple sequence alignments (MSAs) in MAF format in this file (optional)", - "pattern": "*.{maf}" - } - } - ], - "authors": ["@heuermh, @subwaystation"] - }, - "pipelines": [ - { - "name": "pangenome", - "version": "dev" - } - ] - }, - { - "name": "smoove_call", - "path": "modules/nf-core/smoove/call/meta.yml", - "type": "module", - "meta": { - "name": "smoove_call", - "description": "smoove simplifies and speeds calling and genotyping SVs for short reads. It also improves specificity by removing many spurious alignment signals that are indicative of low-level noise and often contribute to spurious calls. Developped by Brent Pedersen.", - "keywords": ["structural variants", "SV", "vcf", "wgs"], - "tools": [ - { - "smoove": { - "description": "structural variant calling and genotyping with existing tools, but, smoothly", - "homepage": "https://github.com/brentp/smoove", - "documentation": "https://brentp.github.io/post/smoove/", - "tool_dev_url": "https://github.com/brentp/smoove", - "licence": "['Apache-2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "index": { - "type": "file", - "description": "Index of BAM/CRAM file", - "pattern": "*.{bai,crai}" - } - }, - { - "exclude_beds": { - "type": "file", - "description": "A BED file containing the regions to exclude from the SV calling", - "pattern": "*.bed" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.{fasta,fna,fa}" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed VCF file", - "pattern": "*.vcf.gz" - } - } - ], - "authors": ["@scorreard", "@nvnieuwk"] - } - }, - { - "name": "snapaligner_align", - "path": "modules/nf-core/snapaligner/align/meta.yml", - "type": "module", - "meta": { - "name": "snapaligner_align", - "description": "Performs fastq alignment to a fasta reference using SNAP", - "keywords": ["alignment", "map", "fastq", "bam", "sam"], - "tools": [ - { - "snapaligner": { - "description": "Scalable Nucleotide Alignment Program -- a fast and accurate read aligner for high-throughput sequencing data", - "homepage": "http://snap.cs.berkeley.edu", - "documentation": "https://1drv.ms/b/s!AhuEg_0yZD86hcpblUt-muHKYsG8fA?e=R8ogug", - "tool_dev_url": "https://github.com/amplab/snap", - "doi": "10.1101/2021.11.23.469039", - "licence": "['Apache v2']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input fastq files of size 2 for paired fastq or 1 for bam or single fastq", - "pattern": "*.{fastq.gz,fq.gz,fastq,fq,bam}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "index": { - "type": "file", - "description": "List of SNAP genome index files", - "pattern": "{Genome,GenomeIndex,GenomeIndexHash,OverflowTable}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Aligned BAM file", - "pattern": "*.{bam}" - } - }, - { - "bai": { - "type": "file", - "description": "Optional aligned BAM file index", - "pattern": "*.{bai}" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "snapaligner_index", - "path": "modules/nf-core/snapaligner/index/meta.yml", - "type": "module", - "meta": { - "name": "snapaligner_index", - "description": "Create a SNAP index for reference genome", - "keywords": ["index", "fasta", "genome", "reference"], - "tools": [ - { - "snapaligner": { - "description": "Scalable Nucleotide Alignment Program -- a fast and accurate read aligner for high-throughput sequencing data", - "homepage": "http://snap.cs.berkeley.edu", - "documentation": "https://1drv.ms/b/s!AhuEg_0yZD86hcpblUt-muHKYsG8fA?e=R8ogug", - "tool_dev_url": "https://github.com/amplab/snap", - "doi": "10.1101/2021.11.23.469039", - "licence": "['Apache v2']" - } - } - ], - "input": [ - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Input genome fasta file" - } - }, - { - "altcontigfile": { - "type": "file", - "description": "Optional file with a list of alt contig names, one per line." - } - }, - { - "nonaltcontigfile": { - "type": "file", - "description": "Optional file that contains a list of contigs (one per line) that will not be marked ALT regardless of size." - } - }, - { - "altliftoverfile": { - "type": "file", - "description": "Optional file containing ALT-to-REF mappings (SAM format). e.g., hs38DH.fa.alt from bwa-kit." - } - } - ], - "output": [ - { - "index": { - "type": "file", - "description": "SNAP genome index files", - "pattern": "{Genome,GenomeIndex,GenomeIndexHash,OverflowTable}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "sniffles", - "path": "modules/nf-core/sniffles/meta.yml", - "type": "module", - "meta": { - "name": "sniffles", - "description": "structural-variant calling with sniffles", - "keywords": ["sniffles", "structural-variant calling"], - "tools": [ - { - "sniffles": { - "description": "a fast structural variant caller for long-read sequencing", - "homepage": "https://github.com/fritzsedlazeck/Sniffles", - "documentation": "https://github.com/fritzsedlazeck/Sniffles#readme", - "tool_dev_url": "https://github.com/fritzsedlazeck/Sniffles", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "Index of BAM file", - "pattern": "*.bai" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'fasta' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference database in FASTA format\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "snf": { - "type": "file", - "description": "Compressed SNF file", - "pattern": "*.snf.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@christopher-hakkaart", "@yuukiiwa"] - } - }, - { - "name": "snippy_core", - "path": "modules/nf-core/snippy/core/meta.yml", - "type": "module", - "meta": { - "name": "snippy_core", - "description": "Core-SNP alignment from Snippy outputs", - "keywords": ["core", "alignment", "bacteria", "snippy"], - "tools": [ - { - "snippy": { - "description": "Rapid bacterial SNP calling and core genome alignments", - "homepage": "https://github.com/tseemann/snippy", - "documentation": "https://github.com/tseemann/snippy", - "tool_dev_url": "https://github.com/tseemann/snippy", - "licence": "['GPL v2']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Annotated variants in VCF format", - "pattern": "*.vcf.gz" - } - }, - { - "aligned_fa": { - "type": "file", - "description": "A version of the reference but with - at position with depth=0 and N for 0 < depth < --mincov (does not have variants)", - "pattern": "*.aligned.fa.gz" - } - }, - { - "reference": { - "type": "file", - "description": "Reference genome in GenBank (preferred) or FASTA format", - "pattern": "*.{gbk,gbk.gz,gbff,gbff.gz,fa,fa.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "aln": { - "type": "file", - "description": "A core SNP alignment in FASTA format", - "pattern": "*.aln" - } - }, - { - "full_aln": { - "type": "file", - "description": "A whole genome SNP alignment (includes invariant sites)", - "pattern": "*.full.aln" - } - }, - { - "tab": { - "type": "file", - "description": "Tab-separated columnar list of core SNP sites with alleles but NO annotations", - "pattern": "*.tab" - } - }, - { - "vcf": { - "type": "file", - "description": "Multi-sample VCF file with genotype GT tags for all discovered alleles", - "pattern": "*.vcf" - } - }, - { - "txt": { - "type": "file", - "description": "Tab-separated columnar list of alignment/core-size statistics", - "pattern": "*.txt" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "snippy_run", - "path": "modules/nf-core/snippy/run/meta.yml", - "type": "module", - "meta": { - "name": "snippy_run", - "description": "Rapid haploid variant calling", - "keywords": ["variant", "fastq", "bacteria"], - "tools": [ - { - "snippy": { - "description": "Rapid bacterial SNP calling and core genome alignments", - "homepage": "https://github.com/tseemann/snippy", - "documentation": "https://github.com/tseemann/snippy", - "tool_dev_url": "https://github.com/tseemann/snippy", - "licence": "['GPL v2']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n", - "pattern": "*.{fq,fastq,fq.gz,fastq.gz}" - } - }, - { - "index": { - "type": "file", - "description": "Reference genome in GenBank (preferred) or FASTA format", - "pattern": "*.{gbk,gbk.gz,fa,fa.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tab": { - "type": "file", - "description": "A simple tab-separated summary of all the variants", - "pattern": "*.tab" - } - }, - { - "csv": { - "type": "file", - "description": "A comma-separated version of the .tab file", - "pattern": "*.csv" - } - }, - { - "html": { - "type": "file", - "description": "A HTML version of the .tab file", - "pattern": "*.html" - } - }, - { - "vcf": { - "type": "file", - "description": "The final annotated variants in VCF format", - "pattern": "*.vcf" - } - }, - { - "bed": { - "type": "file", - "description": "The variants in BED format", - "pattern": "*.bed" - } - }, - { - "gff": { - "type": "file", - "description": "The variants in GFF3 format", - "pattern": "*.gff" - } - }, - { - "bam": { - "type": "file", - "description": "The alignments in BAM format. Includes unmapped, multimapping reads. Excludes duplicates.", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "Index for the .bam file", - "pattern": "*.bam.bai" - } - }, - { - "log": { - "type": "file", - "description": "A log file with the commands run and their outputs", - "pattern": "*.log" - } - }, - { - "aligned_fa": { - "type": "file", - "description": "A version of the reference but with - at position with depth=0 and N for 0 < depth < --mincov (does not have variants)", - "pattern": "*.aligned.fa" - } - }, - { - "consensus_fa": { - "type": "file", - "description": "A version of the reference genome with all variants instantiated", - "pattern": "*.consensus.fa" - } - }, - { - "consensus_subs_fa": { - "type": "file", - "description": "A version of the reference genome with only substitution variants instantiated", - "pattern": "*.consensus.subs.fa" - } - }, - { - "raw_vcf": { - "type": "file", - "description": "The unfiltered variant calls from Freebayes", - "pattern": "*.raw.vcf" - } - }, - { - "filt_vcf": { - "type": "file", - "description": "The filtered variant calls from Freebayes", - "pattern": "*.filt.vcf" - } - }, - { - "vcf_gz": { - "type": "file", - "description": "Compressed .vcf file via BGZIP", - "pattern": "*.vcf.gz" - } - }, - { - "vcf_csi": { - "type": "file", - "description": "Index for the .vcf.gz via bcftools index", - "pattern": "*.vcf.gz.csi" - } - }, - { - "txt": { - "type": "file", - "description": "Tab-separated columnar list of statistics", - "pattern": "*.txt" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "snpdists", - "path": "modules/nf-core/snpdists/meta.yml", - "type": "module", - "meta": { - "name": "snpdists", - "description": "Pairwise SNP distance matrix from a FASTA sequence alignment", - "keywords": ["snp-dists", "distance-matrix"], - "tools": [ - { - "snpdists": { - "description": "Convert a FASTA alignment to SNP distance matrix", - "homepage": "https://github.com/tseemann/snp-dists", - "documentation": "https://github.com/tseemann/snp-dists", - "tool_dev_url": "https://github.com/tseemann/snp-dists", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "alignment": { - "type": "file", - "description": "The input FASTA sequence alignment file", - "pattern": "*.{fasta,fasta.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tsv": { - "type": "file", - "description": "The output TSV file containing SNP distance matrix", - "pattern": "*.tsv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@abhi18av"] - } - }, - { - "name": "snpeff_download", - "path": "modules/nf-core/snpeff/download/meta.yml", - "type": "module", - "meta": { - "name": "SNPEFF_DOWNLOAD", - "description": "Genetic variant annotation and functional effect prediction toolbox", - "keywords": ["annotation"], - "tools": [ - { - "snpeff": { - "description": "SnpEff is a variant annotation and effect prediction tool.\nIt annotates and predicts the effects of genetic variants on genes and proteins (such as amino acid changes).\n", - "homepage": "https://pcingola.github.io/SnpEff/", - "documentation": "https://pcingola.github.io/SnpEff/se_introduction/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "vcf to annotate\n" - } - }, - { - "db": { - "type": "value", - "description": "which db to annotate with\n" - } - } - ], - "output": [ - { - "cache": { - "type": "file", - "description": "snpEff cache\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@maxulysse"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "snpeff_snpeff", - "path": "modules/nf-core/snpeff/snpeff/meta.yml", - "type": "module", - "meta": { - "name": "SNPEFF_SNPEFF", - "description": "Genetic variant annotation and functional effect prediction toolbox", - "keywords": ["annotation", "variant", "effect prediction"], - "tools": [ - { - "snpeff": { - "description": "SnpEff is a variant annotation and effect prediction tool.\nIt annotates and predicts the effects of genetic variants on genes and proteins (such as amino acid changes).\n", - "homepage": "https://pcingola.github.io/SnpEff/", - "documentation": "https://pcingola.github.io/SnpEff/se_introduction/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "vcf to annotate\n" - } - }, - { - "db": { - "type": "string", - "description": "which db to annotate with\n" - } - }, - { - "cache": { - "type": "file", - "description": "path to snpEff cache (optional)\n" - } - } - ], - "output": [ - { - "vcf": { - "type": "file", - "description": "annotated vcf\n", - "pattern": "*.ann.vcf" - } - }, - { - "report": { - "type": "file", - "description": "snpEff report csv file", - "pattern": "*.csv" - } - }, - { - "summary_html": { - "type": "file", - "description": "snpEff summary statistics in html file", - "pattern": "*.html" - } - }, - { - "genes_txt": { - "type": "file", - "description": "txt (tab separated) file having counts of the number of variants affecting each transcript and gene", - "pattern": "*.genes.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@maxulysse"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "snpsift_annotate", - "path": "modules/nf-core/snpsift/annotate/meta.yml", - "type": "module", - "meta": { - "name": "snpsift_annotate", - "description": "Annotate a VCF file with another VCF file", - "keywords": ["variant calling", "annotate", "snpsift", "cancer genomics"], - "tools": [ - { - "snpsift": { - "description": "SnpSift is a toolbox that allows you to filter and manipulate annotated files", - "homepage": "https://pcingola.github.io/SnpEff/ss_introduction/", - "documentation": "https://pcingola.github.io/SnpEff/ss_introduction/", - "tool_dev_url": "https://github.com/pcingola/SnpEff", - "doi": "10.3389/fgene.2012.00035", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information regarding vcf file provided\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf, vcf.gz}" - } - }, - { - "vcf_tbi": { - "type": "file", - "description": "Tabix file for compressed vcf provided", - "pattern": "*.{tbi}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy map containing sample information regarding database provided\n" - } - }, - { - "database": { - "type": "file", - "description": "Database for use to annotate", - "pattern": "*.{vcf/vcf.gz}" - } - }, - { - "dbs_tbi": { - "type": "file", - "description": "Tabix file for compressed database provided", - "pattern": "*.{tbi}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Variant Calling File annotated", - "pattern": "*.{vcf}" - } - } - ], - "authors": ["@LlaneroHiboreo"] - } - }, - { - "name": "snpsift_dbnsfp", - "path": "modules/nf-core/snpsift/dbnsfp/meta.yml", - "type": "module", - "meta": { - "name": "snpsift_dbnsfp", - "description": "The dbNSFP is an integrated database of functional predictions from multiple algorithms", - "keywords": ["variant calling", "dbnsfp", "snpsift", "cancer genomics", "predictions"], - "tools": [ - { - "snpsift": { - "description": "SnpSift is a toolbox that allows you to filter and manipulate annotated files", - "homepage": "https://pcingola.github.io/SnpEff/ss_introduction/", - "documentation": "https://pcingola.github.io/SnpEff/ss_dbnsfp/", - "tool_dev_url": "https://github.com/pcingola/SnpEff", - "doi": "10.3389/fgene.2012.00035", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information regarding vcf file provided\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf, vcf.gz}" - } - }, - { - "vcf_tbi": { - "type": "file", - "description": "Tabix file for compressed vcf provided", - "pattern": "*.{tbi}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy map containing sample information regarding database provided\n" - } - }, - { - "database": { - "type": "file", - "description": "Database for use to annotate", - "pattern": "*.{vcf/vcf.gz}" - } - }, - { - "dbs_tbi": { - "type": "file", - "description": "Tabix file for compressed database provided", - "pattern": "*.{tbi}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Variant Calling File annotated", - "pattern": "*.{vcf}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@LlaneroHiboreo"] - } - }, - { - "name": "snpsift_split", - "path": "modules/nf-core/snpsift/split/meta.yml", - "type": "module", - "meta": { - "name": "snpsift_split", - "description": "Splits/Joins VCF(s) file into chromosomes", - "keywords": ["split", "join", "vcf"], - "tools": [ - { - "snpsift": { - "description": "SnpSift is a toolbox that allows you to filter and manipulate annotated files", - "homepage": "https://pcingola.github.io/SnpEff/ss_introduction/", - "documentation": "https://pcingola.github.io/SnpEff/ss_introduction/", - "tool_dev_url": "https://github.com/pcingola/SnpEff", - "doi": "10.3389/fgene.2012.00035", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file (split) or list of files (join)", - "description": "VCF file(s)", - "pattern": "*.{vcf,vcf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "out_vcfs": { - "type": "file", - "description": "Split/Joined VCF file(s)", - "pattern": "*.vcf" - } - } - ], - "authors": ["@SusiJo", "@jonasscheid"] - } - }, - { - "name": "snpsites", - "path": "modules/nf-core/snpsites/meta.yml", - "type": "module", - "meta": { - "name": "snpsites", - "description": "Rapidly extracts SNPs from a multi-FASTA alignment.", - "keywords": ["SNPs", "invariant", "constant"], - "tools": [ - { - "snpsites": { - "description": "Rapidly extracts SNPs from a multi-FASTA alignment.", - "homepage": "https://www.sanger.ac.uk/tool/snp-sites/", - "documentation": "https://github.com/sanger-pathogens/snp-sites", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "alignment": { - "type": "file", - "description": "fasta alignment file", - "pattern": "*.{fasta,fas,fa,aln}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fasta": { - "type": "file", - "description": "Variant fasta file", - "pattern": "*.{fas}" - } - }, - { - "constant_sites": { - "type": "file", - "description": "Text file containing counts of constant sites", - "pattern": "*.{sites.txt}" - } - } - ], - "authors": ["@avantonder"] - } - }, - { - "name": "somalier_ancestry", - "path": "modules/nf-core/somalier/ancestry/meta.yml", - "type": "module", - "meta": { - "name": "somalier_ancestry", - "description": "Somalier can extract informative sites, evaluate relatedness, and perform quality-control on BAM/CRAM/BCF/VCF/GVCF or from jointly-called VCFs", - "keywords": [ - "relatedness", - "QC", - "bam", - "cram", - "vcf", - "gvcf", - "ancestry", - "identity", - "kinship", - "informative sites", - "family" - ], - "tools": [ - { - "somalier": { - "description": "Somalier can extract informative sites, evaluate relatedness, and perform quality-control on BAM/CRAM/BCF/VCF/GVCF or from jointly-called VCFs", - "homepage": "https://github.com/brentp/somalier", - "documentation": "https://github.com/brentp/somalier", - "tool_dev_url": "https://github.com/brentp/somalier", - "doi": "10.1186/s13073-020-00761-2", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "query_somalier_files": { - "type": "file", - "description": "Set of somalier files for query samples. Obtained via somalier extract.", - "pattern": "*.{somalier}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing labelled samples information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "labelled_somalier_files": { - "type": "file", - "description": "Set of somalier files for labelled samples. e.g. Somalier files for 1kg https://zenodo.org/record/3479773/files/1kg.somalier.tar.gz?download=1", - "pattern": "*.{somalier}" - } - }, - { - "labels_tsv": { - "type": "file", - "description": "TSV for labelled samples. e.g. Somalier labels for 1kg https://raw.githubusercontent.com/brentp/somalier/master/scripts/ancestry-labels-1kg.tsv", - "pattern": "*.{tsv}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "TSV with ancestry information for query and labelled samples.", - "pattern": "*.{-ancestry.tsv}" - } - }, - { - "html": { - "type": "file", - "description": "html file with ancestry information for query and labelled samples.", - "pattern": "*.{-ancestry.html}" - } - } - ], - "authors": ["@atrigila"] - } - }, - { - "name": "somalier_extract", - "path": "modules/nf-core/somalier/extract/meta.yml", - "type": "module", - "meta": { - "name": "somalier_extract", - "description": "Somalier can extract informative sites, evaluate relatedness, and perform quality-control on BAM/CRAM/BCF/VCF/GVCF or from jointly-called VCFs", - "keywords": [ - "relatedness", - "QC", - "bam", - "cram", - "vcf", - "gvcf", - "ancestry", - "identity", - "kinship", - "informative sites", - "family" - ], - "tools": [ - { - "somalier": { - "description": "Somalier can extract informative sites, evaluate relatedness, and perform quality-control on BAM/CRAM/BCF/VCF/GVCF or from jointly-called VCFs", - "homepage": "https://github.com/brentp/somalier", - "documentation": "https://github.com/brentp/somalier/blob/master/README.md", - "tool_dev_url": "https://github.com/brentp/somalier", - "doi": "10.1186/s13073-020-00761-2", - "licence": "MIT License" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM/SAM/BCF/VCF/GVCF or jointly-called VCF file" - } - }, - { - "input_index": { - "type": "file", - "description": "index file of the input data, e.g., bam.bai, cram.crai" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.{fasta,fna,fas,fa}" - } - }, - { - "fai": { - "type": "file", - "description": "FASTA index file", - "pattern": "*.fai" - } - }, - { - "sites": { - "type": "file", - "description": "sites file in VCF format which can be taken from https://github.com/brentp/somalier", - "pattern": "*.vcf.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "extract": { - "type": "file", - "description": "binary output file based on extracted sites", - "pattern": "*.{somalier}" - } - } - ], - "authors": ["@ashotmarg", "@nvnieuwk"] - } - }, - { - "name": "somalier_relate", - "path": "modules/nf-core/somalier/relate/meta.yml", - "type": "module", - "meta": { - "name": "somalier_relate", - "description": "Somalier can extract informative sites, evaluate relatedness, and perform quality-control on BAM/CRAM/BCF/VCF/GVCF or from jointly-called VCFs", - "keywords": [ - "relatedness", - "QC", - "bam", - "cram", - "vcf", - "gvcf", - "ancestry", - "identity", - "kinship", - "informative sites", - "family" - ], - "tools": [ - { - "somalier": { - "description": "Somalier can extract informative sites, evaluate relatedness, and perform quality-control on BAM/CRAM/BCF/VCF/GVCF or from jointly-called VCFs", - "homepage": "https://github.com/brentp/somalier", - "documentation": "https://github.com/brentp/somalier/blob/master/README.md", - "tool_dev_url": "https://github.com/brentp/somalier", - "doi": "10.1186/s13073-020-00761-2", - "licence": "MIT License" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "extract": { - "type": "file(s)", - "description": "extract file(s) from Somalier extract", - "pattern": "*.somalier" - } - }, - { - "ped": { - "type": "file", - "description": "optional path to a ped or fam file indicating the expected relationships among samples", - "pattern": "*.{ped,fam}" - } - }, - { - "sample_groups": { - "type": "file", - "description": "optional path to expected groups of samples such as tumor normal pairs specified as comma-separated groups per line", - "pattern": "*.{txt,csv}" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "html": { - "type": "file", - "description": "html file", - "pattern": "*.html" - } - }, - { - "pairs_tsv": { - "type": "file", - "description": "tsv file with output stats for pairs of samples", - "pattern": "*.pairs.tsv" - } - }, - { - "samples_tsv": { - "type": "file", - "description": "tsv file with sample-level information", - "pattern": "*.samples.tsv" - } - } - ], - "authors": ["@ashotmarg", "@nvnieuwk"] - } - }, - { - "name": "sortmerna", - "path": "modules/nf-core/sortmerna/meta.yml", - "type": "module", - "meta": { - "name": "sortmerna", - "description": "Local sequence alignment tool for filtering, mapping and clustering.", - "keywords": ["filtering", "mapping", "clustering", "rRNA", "ribosomal RNA"], - "tools": [ - { - "SortMeRNA": { - "description": "The core algorithm is based on approximate seeds and allows for sensitive analysis of NGS reads. The main application of SortMeRNA is filtering rRNA from metatranscriptomic data. SortMeRNA takes as input files of reads (fasta, fastq, fasta.gz, fastq.gz) and one or multiple rRNA database file(s), and sorts apart aligned and rejected reads into two files. Additional applications include clustering and taxonomy assignation available through QIIME v1.9.1. SortMeRNA works with Illumina, Ion Torrent and PacBio data, and can produce SAM and BLAST-like alignments.", - "homepage": "https://hpc.nih.gov/apps/sortmeRNA.html", - "documentation": "https://github.com/biocore/sortmerna/wiki/", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "fastas": { - "type": "file", - "description": "Path to reference file(s)\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "The filtered fastq reads", - "pattern": "*fastq.gz" - } - }, - { - "log": { - "type": "file", - "description": "SortMeRNA log file", - "pattern": "*sortmerna.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@mashehu"] - }, - "pipelines": [ - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "sourmash_compare", - "path": "modules/nf-core/sourmash/compare/meta.yml", - "type": "module", - "meta": { - "name": "sourmash_compare", - "description": "Compare many FracMinHash signatures generated by sourmash sketch.", - "keywords": [ - "compare", - "FracMinHash sketch", - "containment", - "sourmash", - "metagenomics", - "genomics", - "kmer" - ], - "tools": [ - { - "sourmash": { - "description": "Compute and compare FracMinHash signatures for DNA and protein data sets.", - "homepage": "https://sourmash.readthedocs.io/", - "documentation": "https://sourmash.readthedocs.io/", - "tool_dev_url": "https://github.com/sourmash-bio/sourmash", - "doi": "10.21105/joss.00027", - "licence": "['BSD-3-clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "signatures": { - "type": "file", - "description": "Files containing signatures (hash sketches) of samples", - "pattern": "*.{sig}" - } - }, - { - "file_list": { - "type": "file", - "description": "An optional file specifying a list of file paths that should be appended to the input signatures.\n" - } - }, - { - "save_numpy_matrix": { - "type": "boolean", - "description": "If true, output will contain a (dis)similarity matrix numpy binary format.\nAt least one of save_numpy_matrix or save_csv is required.\n" - } - }, - { - "save_csv": { - "type": "boolean", - "description": "If true, output will contain a (dis)similarity matrix in CSV format\nAt least one of save_numpy_matrix or save_csv is required.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "numpy_matrix": { - "type": "file", - "description": "An optional (dis)similarity matrix numpy binary format", - "pattern": "*.comp" - } - }, - { - "csv": { - "type": "file", - "description": "An optional (dis)similarity matrix in CSV format", - "pattern": "*.comp.csv" - } - }, - { - "labels": { - "type": "file", - "description": "A text file that specifies the labels in the output numpy_matrix", - "pattern": "*.comp.labels.txt" - } - } - ], - "authors": ["@taylorreiter"] - } - }, - { - "name": "sourmash_gather", - "path": "modules/nf-core/sourmash/gather/meta.yml", - "type": "module", - "meta": { - "name": "sourmash_gather", - "description": "Search a metagenome sourmash signature against one or many reference databases and return the minimum set of genomes that contain the k-mers in the metagenome.", - "keywords": [ - "FracMinHash sketch", - "signature", - "kmer", - "containment", - "sourmash", - "genomics", - "metagenomics", - "taxonomic classification", - "taxonomic profiling" - ], - "tools": [ - { - "sourmash": { - "description": "Compute and compare FracMinHash signatures for DNA data sets.", - "homepage": "https://sourmash.readthedocs.io/", - "documentation": "https://sourmash.readthedocs.io/", - "tool_dev_url": "https://github.com/sourmash-bio/sourmash", - "doi": "10.21105/joss.00027", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "signature": { - "type": "file", - "description": "File containing signatures (hash sketches) of a sample", - "pattern": "*.{sig}" - } - }, - { - "db": { - "type": "file", - "description": "Sourmash database (a list of signatures, SBTs, or signature zip files)" - } - }, - { - "save_unassigned": { - "type": "boolean", - "description": "If true, output will contain a file that is a sourmash signature containing the unassigned hashes from the query\n" - } - }, - { - "save_matches_sig": { - "type": "boolean", - "description": "If true, output will contain a file that is a sourmash signature composed of the FracMinHash sketches that were matched in the database and that matched the query\n" - } - }, - { - "save_prefetch": { - "type": "boolean", - "description": "If true, output will contain a file with all prefetch-matched signatures from the database\n" - } - }, - { - "save_prefetch_csv": { - "type": "boolean", - "description": "If true, output will contain a csv file with the names of all prefetch-matched signatures\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "result": { - "type": "file", - "description": "Table with signatures classified as belonging to any of the genomes\nin the sourmash database(s).\n", - "pattern": "*{csv.gz}" - } - }, - { - "matches": { - "type": "file", - "description": "A signature containing FracMinHash sketches of genomes\nin the sourmash database.\n", - "pattern": "*{sig.zip}" - } - }, - { - "unassigned": { - "type": "file", - "description": "A FracMinHash sketch containing hashes (k-mers) that did not match to any of the genomes\nin the sourmash database(s).\n", - "pattern": "*{sig.zip}" - } - }, - { - "prefetch": { - "type": "file", - "description": "All prefetch-matched signatures from the database.\n", - "pattern": "*{sig.zip}" - } - }, - { - "prefetchcsv": { - "type": "file", - "description": "The names of all prefetch-matched signatures from the database in CSV format.\n", - "pattern": "*{csv.gz}" - } - } - ], - "authors": ["@vmikk", "@taylorreiter"] - } - }, - { - "name": "sourmash_index", - "path": "modules/nf-core/sourmash/index/meta.yml", - "type": "module", - "meta": { - "name": "sourmash_index", - "description": "Create a database of sourmash signatures (a group of FracMinHash sketches) to be used as references.", - "keywords": ["signatures", "sourmash", "genomics", "metagenomics", "mapping", "kmer"], - "tools": [ - { - "sourmash": { - "description": "Compute and compare FracMinHash signatures for DNA data sets.", - "homepage": "https://sourmash.readthedocs.io/", - "documentation": "https://sourmash.readthedocs.io/", - "tool_dev_url": "https://github.com/sourmash-bio/sourmash", - "doi": "10.21105/joss.00027", - "licence": "['BSD-3-clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "signatures": { - "type": "file", - "description": "Files containing signature (hash sketches) of reference genomes", - "pattern": "*.{sig}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "signature_index": { - "type": "file", - "description": "Database of signatures", - "pattern": "*.{sbt.zip}" - } - } - ], - "authors": ["@emnilsson"] - } - }, - { - "name": "sourmash_sketch", - "path": "modules/nf-core/sourmash/sketch/meta.yml", - "type": "module", - "meta": { - "name": "sourmash_sketch", - "description": "Create a signature (a group of FracMinHash sketches) of a sequence using sourmash", - "keywords": [ - "hash sketch", - "sourmash", - "genomics", - "metagenomics", - "taxonomic classification", - "taxonomic profiling", - "kmer" - ], - "tools": [ - { - "sourmash": { - "description": "Compute and compare FracMinHash signatures for DNA and protein data sets.", - "homepage": "https://sourmash.readthedocs.io/", - "documentation": "https://sourmash.readthedocs.io/", - "tool_dev_url": "https://github.com/sourmash-bio/sourmash", - "doi": "10.21105/joss.00027", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sequence": { - "type": "file", - "description": "FASTA or FASTQ file containing (genomic, transcriptomic, or proteomic) sequence data", - "pattern": "*.{fna,fa,fasta,fastq,fq,faa}.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "signatures": { - "type": "file", - "description": "FracMinHash signature of the given sequence", - "pattern": "*.{sig}" - } - } - ], - "authors": ["@Midnighter"] - } - }, - { - "name": "sourmash_taxannotate", - "path": "modules/nf-core/sourmash/taxannotate/meta.yml", - "type": "module", - "meta": { - "name": "sourmash_taxannotate", - "description": "Annotate list of metagenome members (based on sourmash signature matches) with taxonomic information.", - "keywords": [ - "fracminhash sketch", - "signature", - "kmer", - "containment", - "sourmash", - "genomics", - "metagenomics", - "taxonomic classification", - "taxonomic profiling" - ], - "tools": [ - { - "sourmash": { - "description": "Compute and compare FracMinHash signatures for DNA data sets.", - "homepage": "https://sourmash.readthedocs.io/", - "documentation": "https://sourmash.readthedocs.io/", - "tool_dev_url": "https://github.com/sourmash-bio/sourmash", - "doi": "10.21105/joss.00027", - "licence": ["BSD-3-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gather_results": { - "type": "file", - "description": "Mandatory table with signatures classified as belonging to any of the genomes\nin the sourmash database(s), result of `sourmash gather` command.\n" - } - }, - { - "taxonomy": { - "type": "file", - "description": "One or more databases with lineages (in CSV format, Mandatory)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "result": { - "type": "file", - "description": "Table with signatures classified as belonging to any of the genomes\nin the sourmash database(s) with an additional 'lineage' column\ncontaining the taxonomic information for each database match.\n", - "pattern": "*{csv.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@vmikk", "@taylorreiter"] - } - }, - { - "name": "spaceranger_count", - "path": "modules/nf-core/spaceranger/count/meta.yml", - "type": "module", - "meta": { - "name": "spaceranger_count", - "description": "Module to use the 10x Spaceranger pipeline to proces 10x spatial transcriptomics data", - "keywords": ["align", "count", "spatial", "spaceranger", "imaging"], - "tools": [ - { - "spaceranger": { - "description": "Visium Spatial Gene Expression is a next-generation molecular profiling solution for classifying tissue\nbased on total mRNA. Space Ranger is a set of analysis pipelines that process Visium Spatial Gene Expression\ndata with brightfield and fluorescence microscope images. Space Ranger allows users to map the whole\ntranscriptome in formalin fixed paraffin embedded (FFPE) and fresh frozen tissues to discover novel\ninsights into normal development, disease pathology, and clinical translational research. Space Ranger provides\npipelines for end to end analysis of Visium Spatial Gene Expression experiments.\n", - "homepage": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", - "documentation": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", - "tool_dev_url": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", - "licence": "10x Genomics EULA" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', slide:'10L13-020', area: 'B1']\n\n`id`, `slide` and `area` are mandatory information!\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n", - "pattern": "${Sample_Name}_S1_L00${Lane_Number}_${I1,I2,R1,R2}_001.fastq.gz" - } - }, - { - "image": { - "type": "file", - "description": "Brightfield tissue H&E image in JPEG or TIFF format.", - "pattern": "*.{tif,tiff,jpg,jpeg}" - } - }, - { - "cytaimage": { - "type": "file", - "description": "CytAssist instrument captured eosin stained Brightfield tissue image with fiducial\nframe in TIFF format. The size of this image is set at 3k in both dimensions and this image should\nnot be modified any way before passing it as input to either Space Ranger or Loupe Browser.\n", - "pattern": "*.{tif,tiff}" - } - }, - { - "darkimage": { - "type": "file", - "description": "Optional for dark background fluorescence microscope image input. Multi-channel, dark-background fluorescence\nimage as either a single, multi-layer TIFF file or as multiple TIFF or JPEG files.\n", - "pattern": "*.{tif,tiff,jpg,jpeg}" - } - }, - { - "colorizedimage": { - "type": "file", - "description": "Required for color composite fluorescence microscope image input.\nA color composite of one or more fluorescence image channels saved as a single-page,\nsingle-file color TIFF or JPEG.\n", - "pattern": "*.{tif,tiff,jpg,jpeg}" - } - }, - { - "alignment": { - "type": "file", - "description": "OPTIONAL - Path to manual image alignment.", - "pattern": "*.json" - } - }, - { - "slidefile": { - "type": "file", - "description": "OPTIONAL - Path to slide specifications.", - "pattern": "*.json" - } - }, - { - "reference": { - "type": "directory", - "description": "Folder containing all the reference indices needed by Spaceranger" - } - }, - { - "probeset": { - "type": "file", - "description": "OPTIONAL - Probe set specification.", - "pattern": "*.csv" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "outs": { - "type": "file", - "description": "Files containing the outputs of Cell Ranger, see official 10X Genomics documentation for a complete list", - "pattern": "${meta.id}/outs/*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@grst"] - }, - "pipelines": [ - { - "name": "spatialtranscriptomics", - "version": "dev" - } - ] - }, - { - "name": "spaceranger_mkgtf", - "path": "modules/nf-core/spaceranger/mkgtf/meta.yml", - "type": "module", - "meta": { - "name": "spaceranger_mkgtf", - "description": "Module to build a filtered GTF needed by the 10x Genomics Cell Ranger tool. Uses the cellranger mkgtf command.", - "keywords": ["reference", "mkref", "index", "spaceranger"], - "tools": [ - { - "spaceranger": { - "description": "Visium Spatial Gene Expression is a next-generation molecular profiling solution for classifying tissue\nbased on total mRNA. Space Ranger is a set of analysis pipelines that process Visium Spatial Gene Expression\ndata with brightfield and fluorescence microscope images. Space Ranger allows users to map the whole\ntranscriptome in formalin fixed paraffin embedded (FFPE) and fresh frozen tissues to discover novel\ninsights into normal development, disease pathology, and clinical translational research. Space Ranger provides\npipelines for end to end analysis of Visium Spatial Gene Expression experiments.\n", - "homepage": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", - "documentation": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", - "tool_dev_url": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", - "licence": "10x Genomics EULA" - } - } - ], - "input": [ - { - "gtf": { - "type": "file", - "description": "The reference GTF transcriptome file", - "pattern": "*.gtf" - } - } - ], - "output": [ - { - "gtf": { - "type": "directory", - "description": "The filtered GTF transcriptome file", - "pattern": "*.filtered.gtf" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - } - ], - "authors": ["@grst"] - } - }, - { - "name": "spaceranger_mkref", - "path": "modules/nf-core/spaceranger/mkref/meta.yml", - "type": "module", - "meta": { - "name": "spaceranger_mkref", - "description": "Module to build the reference needed by the 10x Genomics Spaceranger tool. Uses the spaceranger mkref command.", - "keywords": ["reference", "mkref", "index", "spaceranger"], - "tools": [ - { - "spaceranger": { - "description": "Visium Spatial Gene Expression is a next-generation molecular profiling solution for classifying tissue\nbased on total mRNA. Space Ranger is a set of analysis pipelines that process Visium Spatial Gene Expression\ndata with brightfield and fluorescence microscope images. Space Ranger allows users to map the whole\ntranscriptome in formalin fixed paraffin embedded (FFPE) and fresh frozen tissues to discover novel\ninsights into normal development, disease pathology, and clinical translational research. Space Ranger provides\npipelines for end to end analysis of Visium Spatial Gene Expression experiments.\n", - "homepage": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", - "documentation": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", - "tool_dev_url": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", - "licence": "10x Genomics EULA" - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Reference genome FASTA file", - "pattern": "*.{fasta,fa}" - } - }, - { - "gtf": { - "type": "file", - "description": "Reference transcriptome GTF file", - "pattern": "*.gtf" - } - }, - { - "reference_name": { - "type": "string", - "description": "The name to give the new reference folder", - "pattern": "str" - } - } - ], - "output": [ - { - "reference": { - "type": "directory", - "description": "Folder containing all the reference indices needed by Cell Ranger" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - } - ], - "authors": ["@grst"] - } - }, - { - "name": "spades", - "path": "modules/nf-core/spades/meta.yml", - "type": "module", - "meta": { - "name": "spades", - "description": "Assembles a small genome (bacterial, fungal, viral)", - "keywords": ["genome", "assembly", "genome assembler", "small genome", "de novo assembler"], - "tools": [ - { - "spades": { - "description": "SPAdes (St. Petersburg genome assembler) is intended for both standard isolates and single-cell MDA bacteria assemblies.", - "homepage": "http://cab.spbu.ru/files/release3.15.0/manual.html", - "documentation": "http://cab.spbu.ru/files/release3.15.0/manual.html", - "tool_dev_url": "https://github.com/ablab/spades", - "doi": "10.1089/cmb.2012.0021", - "licence": ["GPL v2"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "illumina": { - "type": "file", - "description": "List of input FastQ (Illumina or PacBio CCS reads) files\nof size 1 and 2 for single-end and paired-end data,\nrespectively. This input data type is required.\n" - } - }, - { - "pacbio": { - "type": "file", - "description": "List of input PacBio CLR FastQ files of size 1.\n" - } - }, - { - "nanopore": { - "type": "file", - "description": "List of input FastQ files of size 1, originating from Oxford Nanopore technology.\n" - } - }, - { - "yml": { - "type": "file", - "description": "Path to yml file containing read information.\nThe raw FASTQ files listed in this YAML file MUST be supplied to the respective illumina/pacbio/nanopore input channel(s) _in addition_ to this YML.\nFile entries in this yml must contain only the file name and no paths.\n", - "pattern": "*.{yml,yaml}" - } - }, - { - "hmm": { - "type": "file", - "description": "File or directory with amino acid HMMs for Spades HMM-guided mode." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "scaffolds": { - "type": "file", - "description": "Fasta file containing scaffolds\n", - "pattern": "*.fa.gz" - } - }, - { - "contigs": { - "type": "file", - "description": "Fasta file containing contigs\n", - "pattern": "*.fa.gz" - } - }, - { - "transcripts": { - "type": "file", - "description": "Fasta file containing transcripts\n", - "pattern": "*.fa.gz" - } - }, - { - "gene_clusters": { - "type": "file", - "description": "Fasta file containing gene_clusters\n", - "pattern": "*.fa.gz" - } - }, - { - "gfa": { - "type": "file", - "description": "gfa file containing assembly\n", - "pattern": "*.gfa.gz" - } - }, - { - "log": { - "type": "file", - "description": "Spades log file\n", - "pattern": "*.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@JoseEspinosa", "@drpatelh", "@d4straub"] - }, - "pipelines": [ - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "spatyper", - "path": "modules/nf-core/spatyper/meta.yml", - "type": "module", - "meta": { - "name": "spatyper", - "description": "Computational method for finding spa types.", - "keywords": ["fasta", "spatype"], - "tools": [ - { - "spatyper": { - "description": "Computational method for finding spa types.", - "homepage": "https://github.com/HCGB-IGTP/spaTyper", - "documentation": "https://github.com/HCGB-IGTP/spaTyper", - "tool_dev_url": "https://github.com/HCGB-IGTP/spaTyper", - "doi": "10.5281/zenodo.4063625", - "licence": ["LGPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA assembly file", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" - } - }, - { - "repeats": { - "type": "file", - "description": "spa repeat sequences in FASTA format (Optional)", - "pattern": "*.{fasta}" - } - }, - { - "repeat_order": { - "type": "file", - "description": "spa types and order of repeats (Optional)", - "pattern": "*.{txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "Tab-delimited results", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "sratools_fasterqdump", - "path": "modules/nf-core/sratools/fasterqdump/meta.yml", - "type": "module", - "meta": { - "name": "sratools_fasterqdump", - "description": "Extract sequencing reads in FASTQ format from a given NCBI Sequence Read Archive (SRA).", - "keywords": ["sequencing", "FASTQ", "dump"], - "tools": [ - { - "sratools": { - "description": "SRA Toolkit and SDK from NCBI", - "homepage": "https://github.com/ncbi/sra-tools", - "documentation": "https://github.com/ncbi/sra-tools/wiki", - "tool_dev_url": "https://github.com/ncbi/sra-tools", - "licence": ["Public Domain"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sra": { - "type": "directory", - "description": "Directory containing ETL data for the given SRA.", - "pattern": "*/*.sra" - } - }, - { - "ncbi_settings": { - "type": "file", - "description": "An NCBI user settings file.\n", - "pattern": "*.mkfg" - } - }, - { - "certificate": { - "type": "file", - "description": "Path to a JWT cart file used to access protected dbGAP data on SRA using the sra-toolkit\n", - "pattern": "*.cart" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "reads": { - "type": "file", - "description": "Extracted FASTQ file or files if the sequencing reads are paired-end.", - "pattern": "*.fastq.gz" - } - } - ], - "authors": ["@Midnighter"] - }, - "pipelines": [ - { - "name": "fetchngs", - "version": "1.10.0" - } - ] - }, - { - "name": "sratools_prefetch", - "path": "modules/nf-core/sratools/prefetch/meta.yml", - "type": "module", - "meta": { - "name": "sratools_prefetch", - "description": "Download sequencing data from the NCBI Sequence Read Archive (SRA).", - "keywords": ["sequencing", "fastq", "prefetch"], - "tools": [ - { - "sratools": { - "description": "SRA Toolkit and SDK from NCBI", - "homepage": "https://github.com/ncbi/sra-tools", - "documentation": "https://github.com/ncbi/sra-tools/wiki", - "tool_dev_url": "https://github.com/ncbi/sra-tools", - "licence": ["Public Domain"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" - } - }, - { - "id": { - "type": "string", - "description": "A string denoting an SRA id.\n" - } - }, - { - "ncbi_settings": { - "type": "file", - "description": "An NCBI user settings file.\n", - "pattern": "*.mkfg" - } - }, - { - "certificate": { - "type": "file", - "description": "Path to a JWT cart file used to access protected dbGAP data on SRA using the sra-toolkit\n", - "pattern": "*.cart" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sra": { - "type": "directory", - "description": "Directory containing the ETL data for the given SRA id.\n", - "pattern": "*/*.sra" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Midnighter"] - }, - "pipelines": [ - { - "name": "fetchngs", - "version": "1.10.0" - } - ] - }, - { - "name": "srst2_srst2", - "path": "modules/nf-core/srst2/srst2/meta.yml", - "type": "module", - "meta": { - "name": "srst2_srst2", - "description": "Short Read Sequence Typing for Bacterial Pathogens is a program designed to take Illumina sequence data,\na MLST database and/or a database of gene sequences (e.g. resistance genes, virulence genes, etc)\nand report the presence of STs and/or reference genes.\n", - "keywords": ["mlst", "typing", "illumina"], - "tools": [ - { - "srst2": { - "description": "Short Read Sequence Typing for Bacterial Pathogens", - "homepage": "http://katholt.github.io/srst2/", - "documentation": "https://github.com/katholt/srst2/blob/master/README.md", - "tool_dev_url": "https://github.com/katholt/srst2", - "doi": "10.1186/s13073-014-0090-6", - "licence": ["BSD"] - } - } - ], - "input": [ - { - "meta": { - "type": "map0.2.0-4", - "description": "Groovy Map containing sample information\nid: should be the identification number or sample name\nsingle_end: should be true for single end data and false for paired in data\ndb: should be either 'gene' to use the --gene_db option or \"mlst\" to use the --mlst_db option\ne.g. [ id:'sample', single_end:false , db:'gene']\n" - } - }, - { - "fasta": { - "type": "file", - "description": "gzipped fasta file. If files are NOT in\nMiSeq format sample_S1_L001_R1_001.fastq.gz uses --forward and --reverse parameters; otherwise\ndefault is _1, i.e. expect forward reads as sample_1.fastq.gz).\n", - "pattern": "*.fastq.gz" - } - }, - { - "db": { - "type": "file", - "description": "Database in FASTA format", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'sample', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "txt": { - "type": "file", - "description": "A detailed report, with one row per gene per sample described here github.com/katholt/srst2#gene-typing", - "pattern": "*_fullgenes_*_results.txt" - } - }, - { - "txt": { - "type": "file", - "description": "A tabulated summary report of samples x genes.", - "pattern": "*_genes_*_results.txt" - } - }, - { - "txt": { - "type": "file", - "description": "A tabulated summary report of mlst subtyping.", - "pattern": "*_mlst_*_results.txt" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM file", - "pattern": "*.sorted.bam" - } - }, - { - "pileup": { - "type": "file", - "description": "SAMtools pileup file", - "pattern": "*.pileup" - } - } - ], - "authors": ["@jvhagey"] - } - }, - { - "name": "ssuissero", - "path": "modules/nf-core/ssuissero/meta.yml", - "type": "module", - "meta": { - "name": "ssuissero", - "description": "Serotype prediction of Streptococcus suis assemblies", - "keywords": ["bacteria", "fasta", "streptococcus"], - "tools": [ - { - "ssuissero": { - "description": "Rapid Streptococcus suis serotyping pipeline for Nanopore Data", - "homepage": "https://github.com/jimmyliu1326/SsuisSero", - "documentation": "https://github.com/jimmyliu1326/SsuisSero", - "tool_dev_url": "https://github.com/jimmyliu1326/SsuisSero", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Assembly in FASTA format", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz,faa,faa.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "Tab-delimited serotype prediction", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "stadeniolib_scramble", - "path": "modules/nf-core/stadeniolib/scramble/meta.yml", - "type": "module", - "meta": { - "name": "stadeniolib_scramble", - "description": "Advanced sequence file format conversions", - "keywords": ["sam", "bam", "cram", "compression"], - "tools": [ - { - "scramble": { - "description": "Staden Package 'io_lib' (sometimes referred to as libstaden-read by distributions). This contains code for reading and writing a variety of Bioinformatics / DNA Sequence formats.", - "homepage": "https://github.com/jkbonfield/io_lib", - "documentation": "https://github.com/jkbonfield/io_lib/blob/master/README.md", - "tool_dev_url": "https://github.com/jkbonfield/io_lib", - "licence": "['BSD']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome in FASTA format", - "pattern": "*.{fa,fasta}" - } - }, - { - "fai": { - "type": "file", - "description": "FASTA index file from samtools faidx", - "pattern": "*.{fai}" - } - }, - { - "gzi": { - "type": "file", - "description": "Optional gzip index file for BAM inputs", - "pattern": "*.gzi" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "reads": { - "type": "file", - "description": "Converted reads", - "pattern": "*.{sam, bam, cram}" - } - }, - { - "gzi": { - "type": "Optional file", - "description": "gzip index file for BAM outputs", - "pattern": ".{bam.gzi}" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "staphopiasccmec", - "path": "modules/nf-core/staphopiasccmec/meta.yml", - "type": "module", - "meta": { - "name": "staphopiasccmec", - "description": "Predicts Staphylococcus aureus SCCmec type based on primers.", - "keywords": ["amr", "fasta", "sccmec"], - "tools": [ - { - "staphopiasccmec": { - "description": "Predicts Staphylococcus aureus SCCmec type based on primers.", - "homepage": "https://staphopia.emory.edu", - "documentation": "https://github.com/staphopia/staphopia-sccmec", - "tool_dev_url": "https://github.com/staphopia/staphopia-sccmec", - "doi": "10.7717/peerj.5261", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA assembly file", - "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tsv": { - "type": "file", - "description": "Tab-delimited results", - "pattern": "*.{tsv}" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "star_align", - "path": "modules/nf-core/star/align/meta.yml", - "type": "module", - "meta": { - "name": "star_align", - "description": "Align reads to a reference genome using STAR", - "keywords": ["align", "fasta", "genome", "reference"], - "tools": [ - { - "star": { - "description": "STAR is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", - "homepage": "https://github.com/alexdobin/STAR", - "manual": "https://github.com/alexdobin/STAR/blob/master/doc/STARmanual.pdf", - "doi": "10.1093/bioinformatics/bts635", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "index": { - "type": "directory", - "description": "STAR genome index", - "pattern": "star" - } - } - ], - "output": [ - { - "bam": { - "type": "file", - "description": "Output BAM file containing read alignments", - "pattern": "*.{bam}" - } - }, - { - "log_final": { - "type": "file", - "description": "STAR final log file", - "pattern": "*Log.final.out" - } - }, - { - "log_out": { - "type": "file", - "description": "STAR lot out file", - "pattern": "*Log.out" - } - }, - { - "log_progress": { - "type": "file", - "description": "STAR log progress file", - "pattern": "*Log.progress.out" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam_sorted": { - "type": "file", - "description": "Sorted BAM file of read alignments (optional)", - "pattern": "*sortedByCoord.out.bam" - } - }, - { - "bam_transcript": { - "type": "file", - "description": "Output BAM file of transcriptome alignment (optional)", - "pattern": "*toTranscriptome.out.bam" - } - }, - { - "bam_unsorted": { - "type": "file", - "description": "Unsorted BAM file of read alignments (optional)", - "pattern": "*Aligned.unsort.out.bam" - } - }, - { - "fastq": { - "type": "file", - "description": "Unmapped FastQ files (optional)", - "pattern": "*fastq.gz" - } - }, - { - "tab": { - "type": "file", - "description": "STAR output tab file(s) (optional)", - "pattern": "*.tab" - } - }, - { - "junction": { - "type": "file", - "description": "STAR chimeric junction output file (optional)", - "pattern": "*.out.junction" - } - }, - { - "wig": { - "type": "file", - "description": "STAR output wiggle format file(s) (optional)", - "pattern": "*.wig" - } - }, - { - "bedgraph": { - "type": "file", - "description": "STAR output bedGraph format file(s) (optional)", - "pattern": "*.bg" - } - } - ], - "authors": ["@kevinmenden", "@drpatelh", "@praveenraj2018"] - }, - "pipelines": [ - { - "name": "circrna", - "version": "dev" - }, - { - "name": "marsseq", - "version": "1.0.3" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "viralintegration", - "version": "0.1.0" - } - ] - }, - { - "name": "star_genomegenerate", - "path": "modules/nf-core/star/genomegenerate/meta.yml", - "type": "module", - "meta": { - "name": "star_genomegenerate", - "description": "Create index for STAR", - "keywords": ["index", "fasta", "genome", "reference"], - "tools": [ - { - "star": { - "description": "STAR is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", - "homepage": "https://github.com/alexdobin/STAR", - "manual": "https://github.com/alexdobin/STAR/blob/master/doc/STARmanual.pdf", - "doi": "10.1093/bioinformatics/bts635", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Fasta file of the reference genome" - } - }, - { - "gtf": { - "type": "file", - "description": "GTF file of the reference genome" - } - } - ], - "output": [ - { - "index": { - "type": "directory", - "description": "Folder containing the star index files", - "pattern": "star" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kevinmenden", "@drpatelh"] - }, - "pipelines": [ - { - "name": "circrna", - "version": "dev" - }, - { - "name": "marsseq", - "version": "1.0.3" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "scrnaseq", - "version": "2.3.2" - }, - { - "name": "viralintegration", - "version": "0.1.0" - } - ] - }, - { - "name": "stranger", - "path": "modules/nf-core/stranger/meta.yml", - "type": "module", - "meta": { - "name": "stranger", - "description": "Annotates output files from ExpansionHunter with the pathologic implications of the repeat sizes.", - "keywords": ["STR", "repeat_expansions", "annotate", "vcf"], - "tools": [ - { - "stranger": { - "description": "Annotate VCF files with str variants", - "homepage": "https://github.com/moonso/stranger", - "documentation": "https://github.com/moonso/stranger", - "tool_dev_url": "https://github.com/moonso/stranger", - "doi": "10.5281/zenodo.4548873", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF with repeat expansions", - "pattern": "*.{vcf.gz,vcf}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "variant_catalog": { - "type": "file", - "description": "json file with repeat expansion sites to genotype", - "pattern": "*.{json}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "annotated VCF with keys STR_STATUS, NormalMax and PathologicMin", - "pattern": "*.{vcf.gz}" - } - } - ], - "authors": ["@ljmesi"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "strelka_germline", - "path": "modules/nf-core/strelka/germline/meta.yml", - "type": "module", - "meta": { - "name": "strelka_germline", - "description": "Strelka2 is a fast and accurate small variant caller optimized for analysis of germline variation", - "keywords": ["variantcalling", "germline", "wgs", "vcf", "variants"], - "tools": [ - { - "strelka": { - "description": "Strelka calls somatic and germline small variants from mapped sequencing reads", - "homepage": "https://github.com/Illumina/strelka", - "documentation": "https://github.com/Illumina/strelka/blob/v2.9.x/docs/userGuide/README.md", - "tool_dev_url": "https://github.com/Illumina/strelka", - "doi": "10.1038/s41592-018-0051-x", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "input_index": { - "type": "file", - "description": "BAM/CRAI index file", - "pattern": "*.{bai,crai}" - } - }, - { - "target_bed": { - "type": "file", - "description": "An optional bed file", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "vcf": { - "type": "file", - "description": "gzipped germline variant file", - "pattern": "*.{vcf.gz}" - } - }, - { - "vcf_tbi": { - "type": "file", - "description": "index file for the vcf file", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "genome_vcf": { - "type": "file", - "description": "variant records and compressed non-variant blocks", - "pattern": "*_genome.vcf.gz" - } - }, - { - "genome_vcf_tbi": { - "type": "file", - "description": "index file for the genome_vcf file", - "pattern": "*_genome.vcf.gz.tbi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@arontommi"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "strelka_somatic", - "path": "modules/nf-core/strelka/somatic/meta.yml", - "type": "module", - "meta": { - "name": "strelka_somatic", - "description": "Strelka2 is a fast and accurate small variant caller optimized for analysis of germline variation in small cohorts and somatic variation in tumor/normal sample pairs", - "keywords": ["variant calling", "germline", "wgs", "vcf", "variants"], - "tools": [ - { - "strelka": { - "description": "Strelka calls somatic and germline small variants from mapped sequencing reads", - "homepage": "https://github.com/Illumina/strelka", - "documentation": "https://github.com/Illumina/strelka/blob/v2.9.x/docs/userGuide/README.md", - "tool_dev_url": "https://github.com/Illumina/strelka", - "doi": "10.1038/s41592-018-0051-x", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input_normal": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "input_index_normal": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "input_tumor": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "input_index_tumor": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "manta_candidate_small_indels": { - "type": "file", - "description": "VCF.gz file", - "pattern": "*.{vcf.gz}" - } - }, - { - "manta_candidate_small_indels_tbi": { - "type": "file", - "description": "VCF.gz index file", - "pattern": "*.tbi" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome reference FASTA file", - "pattern": "*.{fa,fasta}" - } - }, - { - "fai": { - "type": "file", - "description": "Genome reference FASTA index file", - "pattern": "*.{fa.fai,fasta.fai}" - } - }, - { - "target_bed": { - "type": "file", - "description": "BED file containing target regions for variant calling", - "pattern": "*.{bed}" - } - }, - { - "target_bed_tbi": { - "type": "file", - "description": "Index for BED file containing target regions for variant calling", - "pattern": "*.{bed.tbi}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf_indels": { - "type": "file", - "description": "Gzipped VCF file containing variants", - "pattern": "*.{vcf.gz}" - } - }, - { - "vcf_indels_tbi": { - "type": "file", - "description": "Index for gzipped VCF file containing variants", - "pattern": "*.{vcf.gz.tbi}" - } - }, - { - "vcf_snvs": { - "type": "file", - "description": "Gzipped VCF file containing variants", - "pattern": "*.{vcf.gz}" - } - }, - { - "vcf_snvs_tbi": { - "type": "file", - "description": "Index for gzipped VCF file containing variants", - "pattern": "*.{vcf.gz.tbi}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "stringtie_merge", - "path": "modules/nf-core/stringtie/merge/meta.yml", - "type": "module", - "meta": { - "name": "stringtie_merge", - "description": "Merges the annotation gtf file and the stringtie output gtf files", - "keywords": ["merge", "gtf", "reference"], - "tools": [ - { - "stringtie2": { - "description": "Transcript assembly and quantification for RNA-Seq\n", - "homepage": "https://ccb.jhu.edu/software/stringtie/index.shtml", - "documentation": "https://ccb.jhu.edu/software/stringtie/index.shtml?t=manual", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "stringtie_gtf": { - "type": "file", - "description": "Stringtie transcript gtf output(s).\n", - "pattern": "*.gtf" - } - }, - { - "annotation_gtf": { - "type": "file", - "description": "Annotation gtf file (optional).\n", - "pattern": "*.gtf" - } - } - ], - "output": [ - { - "merged_gtf": { - "type": "map", - "description": "Merged gtf from annotation and stringtie output gtfs.\n", - "pattern": "*.gtf" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@yuukiiwa"] - }, - "pipelines": [ - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "rnafusion", - "version": "2.3.4" - } - ] - }, - { - "name": "stringtie_stringtie", - "path": "modules/nf-core/stringtie/stringtie/meta.yml", - "type": "module", - "meta": { - "name": "stringtie_stringtie", - "description": "Transcript assembly and quantification for RNA-Se", - "keywords": ["transcript", "assembly", "quantification", "gtf"], - "tools": [ - { - "stringtie2": { - "description": "Transcript assembly and quantification for RNA-Seq\n", - "homepage": "https://ccb.jhu.edu/software/stringtie/index.shtml", - "documentation": "https://ccb.jhu.edu/software/stringtie/index.shtml?t=manual", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Stringtie transcript gtf output(s).\n" - } - }, - { - "annotation_gtf": { - "type": "file", - "description": "Annotation gtf file (optional).\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "transcript_gtf": { - "type": "file", - "description": "transcript gtf", - "pattern": "*.{transcripts.gtf}" - } - }, - { - "coverage_gtf": { - "type": "file", - "description": "coverage gtf", - "pattern": "*.{coverage.gtf}" - } - }, - { - "abudance": { - "type": "file", - "description": "abudance", - "pattern": "*.{abudance.txt}" - } - }, - { - "ballgown": { - "type": "file", - "description": "for running ballgown", - "pattern": "*.{ballgown}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh"] - }, - "pipelines": [ - { - "name": "circrna", - "version": "dev" - }, - { - "name": "rnafusion", - "version": "2.3.4" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "subread_featurecounts", - "path": "modules/nf-core/subread/featurecounts/meta.yml", - "type": "module", - "meta": { - "name": "subread_featurecounts", - "description": "Count reads that map to genomic features", - "keywords": ["counts", "fasta", "genome", "reference"], - "tools": [ - { - "featurecounts": { - "description": "featureCounts is a highly efficient general-purpose read summarization program that counts mapped reads for genomic features such as genes, exons, promoter, gene bodies, genomic bins and chromosomal locations. It can be used to count both RNA-seq and genomic DNA-seq reads.", - "homepage": "http://bioinf.wehi.edu.au/featureCounts/", - "documentation": "http://bioinf.wehi.edu.au/subread-package/SubreadUsersGuide.pdf", - "doi": "10.1093/bioinformatics/btt656", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/SAM file containing read alignments", - "pattern": "*.{bam}" - } - }, - { - "annotation": { - "type": "file", - "description": "Genomic features annotation in GTF or SAF", - "pattern": "*.{gtf,saf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "counts": { - "type": "file", - "description": "Counts of reads mapping to features", - "pattern": "*featureCounts.txt" - } - }, - { - "summary": { - "type": "file", - "description": "Summary log file", - "pattern": "*.featureCounts.txt.summary" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@ntoda03"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - } - ] - }, - { - "name": "survivor_filter", - "path": "modules/nf-core/survivor/filter/meta.yml", - "type": "module", - "meta": { - "name": "survivor_filter", - "description": "Filter a vcf file based on size and/or regions to ignore", - "keywords": ["survivor", "filter", "vcf", "structural variants"], - "tools": [ - { - "survivor": { - "description": "Toolset for SV simulation, comparison and filtering", - "homepage": "https://github.com/fritzsedlazeck/SURVIVOR/wiki", - "documentation": "https://github.com/fritzsedlazeck/SURVIVOR/wiki", - "tool_dev_url": "https://github.com/fritzsedlazeck/SURVIVOR", - "doi": "10.1038/NCOMMS14061", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file to filter", - "pattern": "*.{vcf}" - } - }, - { - "bed": { - "type": "file", - "description": "BED file with regions to ignore (NA to disable)" - } - }, - { - "minsv": { - "type": "integer", - "description": "Min SV size (-1 to disable)" - } - }, - { - "maxsv": { - "type": "integer", - "description": "Max SV size (-1 to disable)" - } - }, - { - "minallelefreq": { - "type": "float", - "description": "Min allele frequency (0-1)" - } - }, - { - "minnumreads": { - "type": "integer", - "description": "Min number of reads support [RE flag (-1 to disable)]" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Filtered VCF file", - "pattern": "*.{vcf}" - } - } - ], - "authors": ["@LlaneroHiboreo"] - } - }, - { - "name": "survivor_merge", - "path": "modules/nf-core/survivor/merge/meta.yml", - "type": "module", - "meta": { - "name": "survivor_merge", - "description": "Compare or merge VCF files to generate a consensus or multi sample VCF files.", - "keywords": ["survivor", "merge", "vcf", "structural variants"], - "tools": [ - { - "survivor": { - "description": "Toolset for SV simulation, comparison and filtering", - "homepage": "https://github.com/fritzsedlazeck/SURVIVOR/wiki", - "documentation": "https://github.com/fritzsedlazeck/SURVIVOR/wiki", - "tool_dev_url": "https://github.com/fritzsedlazeck/SURVIVOR", - "doi": "10.1038/NCOMMS14061", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcfs": { - "type": "files", - "description": "The VCF files to be merged\nGzipped VCF files are not supported: https://github.com/fritzsedlazeck/SURVIVOR/issues/158\n", - "pattern": "*.vcf" - } - }, - { - "max_distance_breakpoints": { - "type": "integer", - "description": "Max distance between breakpoints (0-1 percent of length, 1- number of bp)" - } - }, - { - "min_supporting_callers": { - "type": "integer", - "description": "Minimum number of supporting caller" - } - }, - { - "account_for_type": { - "type": "integer", - "description": "Take the type into account (1==yes, else no)" - } - }, - { - "account_for_sv_strands": { - "type": "integer", - "description": "Take the strands of SVs into account (1==yes, else no)" - } - }, - { - "estimate_distanced_by_sv_size": { - "type": "integer", - "description": "Estimate distance based on the size of SV (1==yes, else no)" - } - }, - { - "min_sv_size": { - "type": "integer", - "description": "Minimum size of SVs to be taken into account" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "The merged VCF file", - "pattern": "*.vcf" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "svaba", - "path": "modules/nf-core/svaba/meta.yml", - "type": "module", - "meta": { - "name": "svaba", - "description": "SvABA is an efficient and accurate method for detecting SVs from short-read sequencing data using genome-wide local assembly with low memory and computing requirements", - "keywords": ["sv", "structural variants", "detecting svs", "short-read sequencing"], - "tools": [ - { - "svaba": { - "description": "Structural variation and indel detection by local assembly", - "homepage": "https://github.com/walaj/svaba", - "documentation": "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5880247/", - "tool_dev_url": "https://github.com/walaj/svaba", - "doi": "10.1101/gr.221028.117", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\nid: should be the identification number or sample name. If there is normal file meta should be common\ne.g. [ id:'test' ]\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing FASTA information\nid: should be the identification number for alignment file and should be the same used to create BWA index files\ne.g. [ id:'fasta' ]\n" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing BWA information\nid: should be the identification number same as fasta file\ne.g. [ id:'bwa' ]\n" - } - }, - { - "meta4": { - "type": "map", - "description": "Groovy Map containing dbSNP information\nid: should be the identification number for dbSNP files\ne.g. [ id:'test' ]\n" - } - }, - { - "meta5": { - "type": "map", - "description": "Groovy Map containing regions information\nid: should be the identification number for regions\ne.g. [ id:'test' ]\n" - } - }, - { - "tumorbam": { - "type": "file", - "description": "Tumor or metastatic sample, BAM, SAM or CRAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "tummorbai": { - "type": "file", - "description": "Index", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "normalbam": { - "type": "file", - "description": "Control (or normal) of matching tumor/metastatic sample, BAM, SAM or CRAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "normalbai": { - "type": "file", - "description": "Index", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "bwa_index": { - "type": "file", - "description": "BWA genome index files", - "pattern": "Directory containing BWA index *.{amb,ann,bwt,pac,sa}" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file", - "pattern": "*.{fasta|fa}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "Index of FASTA file", - "pattern": "*.{fai}" - } - }, - { - "dbsnp": { - "type": "file", - "description": "VCF file including dbSNP variants", - "pattern": "*.vcf.gz" - } - }, - { - "dbsnp_tbi": { - "type": "file", - "description": "Index of VCF file including dbSNP variants", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "regions": { - "type": "file", - "description": "Targeted intervals. Accepts BED file or Samtools-style string", - "pattern": "*.bed|*.txt|*.tab" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "sv": { - "type": "file", - "description": "Filtered SVs for tumor only cases", - "pattern": "*.vcf.gz" - } - }, - { - "indel": { - "type": "file", - "description": "Filtered Indels for tumor only cases", - "pattern": "*.vcf.gz" - } - }, - { - "som_sv": { - "type": "file", - "description": "Somatic filtered SVs for tumor/normal paired samples", - "pattern": "*.vcf.gz" - } - }, - { - "som_indel": { - "type": "file", - "description": "Somatic filtered Indels for tumor/normal paired samples", - "pattern": "*.vcf.gz" - } - }, - { - "germ_sv": { - "type": "file", - "description": "Germline filtered SVs for tumor/normal paired samples", - "pattern": "*.vcf.gz" - } - }, - { - "germ_indel": { - "type": "file", - "description": "Germline filtered Indels for tumor/normal paired samples", - "pattern": "*.vcf.gz" - } - }, - { - "unfiltered_sv": { - "type": "file", - "description": "Unfiltered SVs for tumor only cases", - "pattern": "*.vcf.gz" - } - }, - { - "unfiltered_indel": { - "type": "file", - "description": "Unfiltered Indels for tumor only cases", - "pattern": "*.vcf.gz" - } - }, - { - "unfiltered_som_sv": { - "type": "file", - "description": "Unfiltered somatic SVs for tumor/normal paired samples", - "pattern": "*.vcf.gz" - } - }, - { - "unfiltered_som_indel": { - "type": "file", - "description": "Unfiltered somatic Indels for tumor/normal paired samples", - "pattern": "*.vcf.gz" - } - }, - { - "unfiltered_germ_sv": { - "type": "file", - "description": "Unfiltered germline SVs for tumor/normal paired samples", - "pattern": "*.vcf.gz" - } - }, - { - "unfiltered_germ_indel": { - "type": "file", - "description": "Unfiltered germline Indels for tumor/normal paired samples", - "pattern": "*.vcf.gz" - } - }, - { - "raw_calls": { - "type": "file", - "description": "Raw, unfiltered variants", - "pattern": "*.txt.gz" - } - }, - { - "discordants": { - "type": "file", - "description": "Information on all clusters of discordant reads identified with 2+ reads", - "pattern": "*.txt.gz" - } - }, - { - "log": { - "type": "file", - "description": "Log file", - "pattern": "*.txt.gz" - } - } - ], - "authors": ["@kubranarci"] - } - }, - { - "name": "svdb_merge", - "path": "modules/nf-core/svdb/merge/meta.yml", - "type": "module", - "meta": { - "name": "svdb_merge", - "description": "The merge module merges structural variants within one or more vcf files.", - "keywords": ["structural variants", "vcf", "merge"], - "tools": [ - { - "svdb": { - "description": "structural variant database software", - "homepage": "https://github.com/J35P312/SVDB", - "documentation": "https://github.com/J35P312/SVDB/blob/master/README.md", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "priority": { - "type": "list", - "description": "prioritise the input vcf files according to this list, e.g ['tiddit','cnvnator']" - } - }, - { - "vcfs": { - "type": "list", - "description": "Two or more VCF files. Order of files should correspond to the order of tags used for priority.", - "pattern": "*.{vcf,vcf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "merged VCF file", - "pattern": "*_sv_merge.vcf.gz" - } - } - ], - "authors": ["@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "svdb_query", - "path": "modules/nf-core/svdb/query/meta.yml", - "type": "module", - "meta": { - "name": "svdb_query", - "description": "Query a structural variant database, using a vcf file as query", - "keywords": ["structural variants"], - "tools": [ - { - "svdb": { - "description": "structural variant database software", - "homepage": "https://github.com/J35P312/SVDB", - "documentation": "https://github.com/J35P312/SVDB/blob/master/README.md", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "in_occs": { - "type": "list", - "description": "A list of allele count tags" - } - }, - { - "in_frqs": { - "type": "list", - "description": "A list of allele frequency tags" - } - }, - { - "vcf": { - "type": "file", - "description": "query vcf file", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "vcf_db": { - "type": "file", - "description": "database vcf file", - "pattern": "*.{vcf,vcf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "out_occs": { - "type": "list", - "description": "A list of allele count tags" - } - }, - { - "out_frqs": { - "type": "list", - "description": "A list of allele frequency tags" - } - }, - { - "vcf": { - "type": "file", - "description": "Annotated output VCF file", - "pattern": "*_query.vcf" - } - } - ], - "authors": ["@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "svtk_baftest", - "path": "modules/nf-core/svtk/baftest/meta.yml", - "type": "module", - "meta": { - "name": "svtk_baftest", - "description": "Performs tests on BAF files", - "keywords": ["svtk", "svtk/baftest", "baftest", "baf", "bed", "structural variants"], - "tools": [ - { - "svtk": { - "description": "Utilities for consolidating, filtering, resolving, and annotating structural variants.", - "homepage": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "documentation": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "tool_dev_url": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "A BED file created with `svtk vcf2bed`", - "pattern": "*.bed" - } - }, - { - "baf": { - "type": "file", - "description": "A BAF file created with `gatk PrintSVEvidence`", - "pattern": "*.baf.txt.gz" - } - }, - { - "baf_index": { - "type": "file", - "description": "The index of the BAF file", - "pattern": "*.baf.txt.gz.tbi" - } - }, - { - "batch": { - "type": "file", - "description": "A text file containing information about the sample(s)", - "pattern": "*.txt" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "metrics": { - "type": "file", - "description": "The results file from the BAF test", - "pattern": "*.metrics" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "svtk_countsvtypes", - "path": "modules/nf-core/svtk/countsvtypes/meta.yml", - "type": "module", - "meta": { - "name": "svtk_countsvtypes", - "description": "Count the instances of each SVTYPE observed in each sample in a VCF.", - "keywords": ["svtk", "countsvtypes", "vcf", "structural variants"], - "tools": [ - { - "svtk": { - "description": "Utilities for consolidating, filtering, resolving, and annotating structural variants.", - "homepage": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "documentation": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "tool_dev_url": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "doi": "10.1038/s41586-020-2287-8", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "The VCF file containing structural variants", - "pattern": "*.vcf.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "counts": { - "type": "file", - "description": "A tab-delimited file containing the counts of the SV types", - "pattern": "*.tsv" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "svtk_rdtest2vcf", - "path": "modules/nf-core/svtk/rdtest2vcf/meta.yml", - "type": "module", - "meta": { - "name": "svtk_rdtest2vcf", - "description": "Convert an RdTest-formatted bed to the standard VCF format.", - "keywords": ["svtk", "rdtest2vcf", "bed", "rdtest", "vcf"], - "tools": [ - { - "svtk": { - "description": "Utilities for consolidating, filtering, resolving, and annotating structural variants.", - "homepage": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "documentation": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "tool_dev_url": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "doi": "10.1038/s41586-020-2287-8", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "An RdTest-formatted bed", - "pattern": "*.bed" - } - }, - { - "samples": { - "type": "file", - "description": "A text file containing the names of all samples that need to be added to the VCF", - "pattern": "*.txt" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The reference file of a FASTA file containing the contigs", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "The converted VCF", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "The index of the converted VCF", - "pattern": "*.vcf.gz.tbi" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "svtk_standardize", - "path": "modules/nf-core/svtk/standardize/meta.yml", - "type": "module", - "meta": { - "name": "svtk_standardize", - "description": "Convert SV calls to a standardized format.", - "keywords": ["svtk", "structural variants", "SV", "vcf", "standardization"], - "tools": [ - { - "svtk": { - "description": "Utilities for consolidating, filtering, resolving, and annotating structural variants.", - "homepage": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "documentation": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "tool_dev_url": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "args": { - "type": "map", - "description": "Groovy Map containing tool parameters. MUST follow the structure/keywords below and be provided via modules.config. Parameters must be set between quotes.\n```\n{\n [\n \"args\": \"\",\n \"caller\": \"delly\" // Should be either delly, lumpy, manta, wham or melt\n ]\n}\n```\n" - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "A gzipped VCF file to be standardized", - "pattern": "*.vcf.gz" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "Optional fasta index file that specifies the contigs to be used in the VCF header (defaults to all contigs of GRCh37)", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "standardized_vcf": { - "type": "file", - "description": "A gzipped version of the standardized VCF file", - "pattern": "*.std.vcf.gz" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "svtk_vcf2bed", - "path": "modules/nf-core/svtk/vcf2bed/meta.yml", - "type": "module", - "meta": { - "name": "svtk_vcf2bed", - "description": "Converts VCFs containing structural variants to BED format", - "keywords": ["vcf", "bed", "vcf2bed", "svtk", "structural variants"], - "tools": [ - { - "svtk": { - "description": "Utilities for consolidating, filtering, resolving, and annotating structural variants.", - "homepage": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "documentation": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "tool_dev_url": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "A VCF file created with a structural variant caller", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "The index for the VCF file", - "pattern": "*.vcf.gz.tbi" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "The created BED file", - "pattern": "*.bed" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "svtyper_svtyper", - "path": "modules/nf-core/svtyper/svtyper/meta.yml", - "type": "module", - "meta": { - "name": "svtyper_svtyper", - "description": "SVTyper performs breakpoint genotyping of structural variants (SVs) using whole genome sequencing data", - "keywords": ["sv", "structural variants", "genotyping"], - "tools": [ - { - "svtyper": { - "description": "Compute genotype of structural variants based on breakpoint depth", - "homepage": "https://github.com/hall-lab/svtyper", - "documentation": "https://github.com/hall-lab/svtyper", - "tool_dev_url": "https://github.com/hall-lab/svtyper", - "doi": "10.1038/nmeth.3505", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing sample information for FASTA file\ne.g. [ id:'fasta']\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "vcf": { - "type": "file", - "description": "Matching VCF of alignments", - "pattern": "*.vcf" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file used to generate alignments", - "pattern": "*.{fa,fasta}" - } - }, - { - "fai": { - "type": "file", - "description": "FAI file used to generate alignments", - "pattern": "*.{fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "json": { - "type": "file", - "description": "JSON file including Library information", - "pattern": "*.json" - } - }, - { - "gt_vcf": { - "type": "file", - "description": "Genotyped SVs", - "pattern": "*.vcf" - } - }, - { - "relevant_bam": { - "type": "file", - "description": "Relevant alignments", - "pattern": "*.bam" - } - } - ], - "authors": ["@kubranarci"] - } - }, - { - "name": "tabix_bgzip", - "path": "modules/nf-core/tabix/bgzip/meta.yml", - "type": "module", - "meta": { - "name": "tabix_bgzip", - "description": "Compresses/decompresses files", - "keywords": ["compress", "decompress", "bgzip", "tabix"], - "tools": [ - { - "bgzip": { - "description": "Bgzip compresses or decompresses files in a similar manner to, and compatible with, gzip.\n", - "homepage": "https://www.htslib.org/doc/tabix.html", - "documentation": "http://www.htslib.org/doc/bgzip.html", - "doi": "10.1093/bioinformatics/btp352", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "file to compress or to decompress" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "output": { - "type": "file", - "description": "Output compressed/decompressed file", - "pattern": "*." - } - }, - { - "gzi": { - "type": "file", - "description": "Optional gzip index file for compressed inputs", - "pattern": "*.gzi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh", "@maxulysse", "@nvnieuwk"] - }, - "pipelines": [ - { - "name": "funcscan", - "version": "1.1.2" - }, - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "pangenome", - "version": "dev" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "tabix_bgziptabix", - "path": "modules/nf-core/tabix/bgziptabix/meta.yml", - "type": "module", - "meta": { - "name": "tabix_bgziptabix", - "description": "bgzip a sorted tab-delimited genome file and then create tabix index", - "keywords": ["bgzip", "compress", "index", "tabix", "vcf"], - "tools": [ - { - "tabix": { - "description": "Generic indexer for TAB-delimited genome position files.", - "homepage": "https://www.htslib.org/doc/tabix.html", - "documentation": "https://www.htslib.org/doc/tabix.1.html", - "doi": "10.1093/bioinformatics/btq671", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tab": { - "type": "file", - "description": "TAB-delimited genome position file", - "pattern": "*.{bed,gff,sam,vcf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gz": { - "type": "file", - "description": "Output compressed file", - "pattern": "*.{gz}" - } - }, - { - "tbi": { - "type": "file", - "description": "tabix index file", - "pattern": "*.{gz.tbi}" - } - }, - { - "csi": { - "type": "file", - "description": "tabix alternate index file", - "pattern": "*.{gz.csi}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@maxulysse", "@DLBPointon"] - }, - "pipelines": [ - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "tabix_tabix", - "path": "modules/nf-core/tabix/tabix/meta.yml", - "type": "module", - "meta": { - "name": "tabix_tabix", - "description": "create tabix index from a sorted bgzip tab-delimited genome file", - "keywords": ["index", "tabix", "vcf"], - "tools": [ - { - "tabix": { - "description": "Generic indexer for TAB-delimited genome position files.", - "homepage": "https://www.htslib.org/doc/tabix.html", - "documentation": "https://www.htslib.org/doc/tabix.1.html", - "doi": "10.1093/bioinformatics/btq671", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tab": { - "type": "file", - "description": "TAB-delimited genome position file compressed with bgzip", - "pattern": "*.{bed.gz,gff.gz,sam.gz,vcf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "tbi": { - "type": "file", - "description": "tabix index file", - "pattern": "*.{tbi}" - } - }, - { - "csi": { - "type": "file", - "description": "coordinate sorted index file", - "pattern": "*.{csi}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh", "@maxulysse"] - }, - "pipelines": [ - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "variantcatalogue", - "version": "dev" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "tailfindr", - "path": "modules/nf-core/tailfindr/meta.yml", - "type": "module", - "meta": { - "name": "tailfindr", - "description": "Estimating poly(A)-tail lengths from basecalled fast5 files produced by Nanopore sequencing of RNA and DNA", - "keywords": ["polya tail", "fast5", "nanopore"], - "tools": [ - { - "tailfindr": { - "description": "An R package for estimating poly(A)-tail lengths in Oxford Nanopore RNA and DNA reads.", - "homepage": "https://github.com/adnaniazi/tailfindr", - "documentation": "https://github.com/adnaniazi/tailfindr/blob/master/README.md", - "tool_dev_url": "https://github.com/adnaniazi/tailfindr", - "doi": "10.1261/rna.071332.119", - "licence": "['AGPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "fast5": { - "type": "file", - "description": "fast5 file", - "pattern": "*.fast5" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "csv_gz": { - "type": "file", - "description": "Compressed csv file", - "pattern": "*.csv.gz" - } - } - ], - "authors": ["@lucacozzuto"] - } - }, - { - "name": "taxpasta_merge", - "path": "modules/nf-core/taxpasta/merge/meta.yml", - "type": "module", - "meta": { - "name": "taxpasta_merge", - "description": "Standardise and merge two or more taxonomic profiles into a single table", - "keywords": [ - "taxonomic profile", - "standardise", - "standardisation", - "metagenomics", - "taxonomic profiling", - "otu tables", - "taxon tables" - ], - "tools": [ - { - "taxpasta": { - "description": "TAXonomic Profile Aggregation and STAndardisation", - "homepage": "https://taxpasta.readthedocs.io/", - "documentation": "https://taxpasta.readthedocs.io/", - "tool_dev_url": "https://github.com/taxprofiler/taxpasta", - "licence": "['Apache-2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "profiles": { - "type": "file", - "description": "A list of taxonomic profiler output files (typically in text format, mandatory)", - "pattern": "*.{tsv,csv,arrow,parquet,biom}" - } - }, - { - "samplesheet": { - "type": "file", - "description": "A samplesheet describing the sample name and a filepath to a taxonomic abundance profile that needs to be relative from the work environment. The profiles must be provided even if you give a samplesheet as argument (optional)", - "pattern": "*.{tsv,csv,ods,xlsx,arrow,parquet}" - } - }, - { - "taxonomy": { - "type": "directory", - "description": "Directory containing at a minimum nodes.dmp and names.dmp files (optional)", - "pattern": "*/" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "merged_profiles": { - "type": "file", - "description": "Output file with standardised multiple profiles in one go and have all profiles combined into a single table.", - "pattern": "*.{tsv,csv,ods,xlsx,arrow,parquet,biom}" - } - } - ], - "authors": ["@sofstam", "@jfy133"] - }, - "pipelines": [ - { - "name": "taxprofiler", - "version": "1.0.1" - } - ] - }, - { - "name": "taxpasta_standardise", - "path": "modules/nf-core/taxpasta/standardise/meta.yml", - "type": "module", - "meta": { - "name": "taxpasta_standardise", - "description": "Standardise the output of a wide range of taxonomic profilers", - "keywords": [ - "taxonomic profile", - "standardise", - "standardisation", - "metagenomics", - "taxonomic profiling", - "otu tables", - "taxon tables" - ], - "tools": [ - { - "taxpasta": { - "description": "TAXonomic Profile Aggregation and STAndardisation", - "homepage": "https://taxpasta.readthedocs.io/", - "documentation": "https://taxpasta.readthedocs.io/", - "tool_dev_url": "https://github.com/taxprofiler/taxpasta", - "licence": "['Apache-2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "profile": { - "type": "file", - "description": "profiler output file (mandatory)", - "pattern": "*" - } - }, - { - "taxonomy": { - "type": "directory", - "description": "Directory containing at a minimum nodes.dmp and names.dmp files (optional)", - "pattern": "*/" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "standardised_profile": { - "type": "file", - "description": "Standardised taxonomic profile", - "pattern": "*.{tsv,csv,arrow,parquet,biom}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Midnighter"] - } - }, - { - "name": "tbprofiler_profile", - "path": "modules/nf-core/tbprofiler/profile/meta.yml", - "type": "module", - "meta": { - "name": "tbprofiler_profile", - "description": "A tool to detect resistance and lineages of M. tuberculosis genomes", - "keywords": ["Mycobacterium tuberculosis", "resistance", "serotype"], - "tools": [ - { - "tbprofiler": { - "description": "Profiling tool for Mycobacterium tuberculosis to detect drug resistance and lineage from WGS data", - "homepage": "https://github.com/jodyphelan/TBProfiler", - "documentation": "https://jodyphelan.gitbook.io/tb-profiler/", - "tool_dev_url": "https://github.com/jodyphelan/TBProfiler", - "doi": "10.1186/s13073-019-0650-x", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "FASTQ file", - "pattern": "*.{fastq.gz,fq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file with alignment details", - "pattern": "*.bam" - } - }, - { - "csv": { - "type": "file", - "description": "Optional CSV formated result file of resistance and strain type", - "pattern": "*.csv" - } - }, - { - "json": { - "type": "file", - "description": "JSON formated result file of resistance and strain type", - "pattern": "*.json" - } - }, - { - "txt": { - "type": "file", - "description": "Optional text file of resistance and strain type", - "pattern": "*.txt" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF with variant info again refernce genomes", - "pattern": "*.vcf" - } - } - ], - "authors": ["@rpetit3"] - } - }, - { - "name": "tiara_tiara", - "path": "modules/nf-core/tiara/tiara/meta.yml", - "type": "module", - "meta": { - "name": "tiara_tiara", - "description": "Domain-level classification of contigs to bacterial, archaeal, eukaryotic, or organelle", - "keywords": ["contigs", "metagenomics", "classify"], - "tools": [ - { - "tiara": { - "description": "Deep-learning-based approach for identification of eukaryotic sequences in the metagenomic data powered by PyTorch.", - "homepage": "https://ibe-uw.github.io/tiara/", - "documentation": "https://ibe-uw.github.io/tiara/\"", - "tool_dev_url": "https://github.com/ibe-uw/tiara", - "doi": "10.1093/bioinformatics/btab672", - "licence": "MIT" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file of assembled contigs.", - "pattern": "*.{fa,fa.gz,fasta,fasta.gz,fna,fna.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "classifications": { - "type": "file", - "description": "TSV file containing per-contig classification probabilities and overall classifications. Gzipped if flag --gz is set.", - "pattern": "*.{txt,txt.gz}" - } - }, - { - "log": { - "type": "file", - "description": "Log file containing tiara model parameters. Gzipped if flag --gz is set.", - "pattern": "log_*.{txt,txt.gz}" - } - }, - { - "fasta": { - "type": "file", - "description": "(optional) - fasta files for each domain category specified in command flag `-tf`, containing classified contigs\n", - "pattern": "*.{fasta,fasta.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@prototaxites"] - } - }, - { - "name": "tiddit_cov", - "path": "modules/nf-core/tiddit/cov/meta.yml", - "type": "module", - "meta": { - "name": "tiddit_cov", - "description": "Computes the coverage of different regions from the bam file.", - "keywords": ["coverage", "bam", "statistics", "chromosomal rearrangements"], - "tools": [ - { - "tiddit": { - "description": "TIDDIT - structural variant calling.", - "homepage": "https://github.com/SciLifeLab/TIDDIT", - "documentation": "https://github.com/SciLifeLab/TIDDIT/blob/master/README.md", - "doi": "10.12688/f1000research.11168.1", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome file. Only needed when passing in CRAM instead of BAM.\nIf not using CRAM, please pass an empty file instead.\n", - "pattern": "*.fasta" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "cov": { - "type": "file", - "description": "The coverage of different regions. Optional.", - "pattern": "*.tab" - } - }, - { - "wig": { - "type": "file", - "description": "The coverage of different regions in WIG format. Optional.", - "pattern": "*.wig" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@projectoriented", "@ramprasadn"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "tiddit_sv", - "path": "modules/nf-core/tiddit/sv/meta.yml", - "type": "module", - "meta": { - "name": "tiddit_sv", - "description": "Identify chromosomal rearrangements.", - "keywords": ["structural", "variants", "vcf"], - "tools": [ - { - "sv": { - "description": "Search for structural variants.", - "homepage": "https://github.com/SciLifeLab/TIDDIT", - "documentation": "https://github.com/SciLifeLab/TIDDIT/blob/master/README.md", - "doi": "10.12688/f1000research.11168.1", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "index": { - "type": "file", - "description": "BAM/CRAM index file", - "pattern": "*.{bai,crai}" - } - }, - { - "fasta": { - "type": "file", - "description": "Input FASTA file", - "pattern": "*.{fasta,fa}" - } - }, - { - "bwa_index": { - "type": "file", - "description": "BWA genome index files", - "pattern": "Directory containing BWA index *.{amb,ann,bwt,pac,sa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "vcf", - "pattern": "*.{vcf}" - } - }, - { - "ploidy": { - "type": "file", - "description": "tab", - "pattern": "*.{ploidies.tab}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@maxulysse"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "transdecoder_longorf", - "path": "modules/nf-core/transdecoder/longorf/meta.yml", - "type": "module", - "meta": { - "name": "transdecoder_longorf", - "description": "TransDecoder itentifies candidate coding regions within transcript sequences. it is used to build gff file.", - "keywords": ["eucaryotes", "gff"], - "tools": [ - { - "transdecoder": { - "description": "TransDecoder identifies candidate coding regions within transcript sequences, such as those generated by de novo RNA-Seq transcript assembly using Trinity, or constructed based on RNA-Seq alignments to the genome using Tophat and Cufflinks.", - "homepage": "https://github.com/TransDecoder", - "documentation": "https://github.com/TransDecoder/TransDecoder/wiki", - "tool_dev_url": "https://github.com/TransDecoder/TransDecoder", - "licence": ["Broad Institute"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "fasta file", - "pattern": "*.{fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "pep": { - "type": "Amino acids fasta file", - "description": "all ORFs meeting the minimum length criteria, regardless of coding potential. file", - "pattern": "*.{pep}" - } - }, - { - "gff3": { - "type": "gff file", - "description": "positions of all ORFs as found in the target transcripts. file", - "pattern": "*.{gff3}" - } - }, - { - "cds": { - "type": "fasta file", - "description": "the nucleotide coding sequence for all detected ORFs. file", - "pattern": "*{cds}" - } - }, - { - "dat": { - "type": "tsv file", - "description": "nucleotide frequencies", - "pattern": "*{dat}" - } - }, - { - "folder": { - "type": "directory", - "description": "contains all the files from the run" - } - } - ], - "authors": ["@Danilo2771"] - }, - "pipelines": [ - { - "name": "metatdenovo", - "version": "dev" - } - ] - }, - { - "name": "transdecoder_predict", - "path": "modules/nf-core/transdecoder/predict/meta.yml", - "type": "module", - "meta": { - "name": "transdecoder_predict", - "description": "TransDecoder identifies candidate coding regions within transcript sequences. It is used to build gff file. You can use this module after transdecoder_longorf", - "keywords": ["eukaryotes", "gff"], - "tools": [ - { - "transdecoder": { - "description": "TransDecoder identifies candidate coding regions within transcript sequences, such as those generated by de novo RNA-Seq transcript assembly using Trinity, or constructed based on RNA-Seq alignments to the genome using Tophat and Cufflinks.", - "homepage": "https://github.com/TransDecoder", - "documentation": "https://github.com/TransDecoder/TransDecoder/wiki", - "tool_dev_url": "https://github.com/TransDecoder/TransDecoder", - "licence": ["Broad Institute"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "fasta file", - "pattern": "*.{fasta}" - } - }, - { - "fold": { - "type": "directory", - "description": "Output from the module transdecoder_longorf", - "pattern": "*" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "pep": { - "type": "amino acids fasta file", - "description": "All ORFs meeting the minimum length criteria, regardless of coding potential", - "pattern": "*.{pep}" - } - }, - { - "gff3": { - "type": "gff3 file", - "description": "Positions of all ORFs as found in the target transcripts", - "pattern": "*.{gff3}" - } - }, - { - "cds": { - "type": "nucleotide fasta file", - "description": "the nucleotide coding sequence for all detected ORFs", - "pattern": "*{cds}" - } - }, - { - "bed": { - "type": "bed file", - "description": "bed file", - "pattern": "*{bed}" - } - } - ], - "authors": ["@Danilo2771"] - }, - "pipelines": [ - { - "name": "metatdenovo", - "version": "dev" - } - ] - }, - { - "name": "trimgalore", - "path": "modules/nf-core/trimgalore/meta.yml", - "type": "module", - "meta": { - "name": "trimgalore", - "description": "Trim FastQ files using Trim Galore!", - "keywords": ["trimming", "adapters", "sequencing adapters", "fastq"], - "tools": [ - { - "trimgalore": { - "description": "A wrapper tool around Cutadapt and FastQC to consistently apply quality\nand adapter trimming to FastQ files, with some extra functionality for\nMspI-digested RRBS-type (Reduced Representation Bisufite-Seq) libraries.\n", - "homepage": "https://www.bioinformatics.babraham.ac.uk/projects/trim_galore/", - "documentation": "https://github.com/FelixKrueger/TrimGalore/blob/master/Docs/Trim_Galore_User_Guide.md", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input adapter trimmed FastQ files of size 1 and 2 for\nsingle-end and paired-end data, respectively.\n", - "pattern": "*{3prime,5prime,trimmed,val}*.fq.gz" - } - }, - { - "unpaired": { - "type": "file", - "description": "FastQ files containing unpaired reads from read 1 or read 2\n", - "pattern": "*unpaired*.fq.gz" - } - }, - { - "html": { - "type": "file", - "description": "FastQC report (optional)", - "pattern": "*_{fastqc.html}" - } - }, - { - "zip": { - "type": "file", - "description": "FastQC report archive (optional)", - "pattern": "*_{fastqc.zip}" - } - }, - { - "log": { - "type": "file", - "description": "Trim Galore! trimming report", - "pattern": "*_{report.txt}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@ewels", "@FelixKrueger"] - }, - "subworkflows": ["fastq_fastqc_umitools_trimgalore"], - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "methylseq", - "version": "2.4.0" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "ssds", - "version": "dev" - } - ] - }, - { - "name": "trimmomatic", - "path": "modules/nf-core/trimmomatic/meta.yml", - "type": "module", - "meta": { - "name": "trimmomatic", - "description": "Performs quality and adapter trimming on paired end and single end reads", - "keywords": ["trimming", "adapter trimming", "quality trimming"], - "tools": [ - { - "trimmomatic": { - "description": "A flexible read trimming tool for Illumina NGS data", - "homepage": "http://www.usadellab.org/cms/?page=trimmomatic", - "documentation": "https://github.com/usadellab/Trimmomatic", - "doi": "10.1093/bioinformatics/btu170", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Input FastQ files of size 1 or 2 for single-end and paired-end data, respectively.\n", - "pattern": "*.fastq.gz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "trimmed_reads": { - "type": "file", - "description": "The trimmed/modified paired end fastq reads", - "pattern": "*.paired.trim*.fastq.gz" - } - }, - { - "unpaired_reads": { - "type": "file", - "description": "The trimmed/modified unpaired end fastq reads", - "pattern": "*.unpaired.trim_*.fastq.gz" - } - }, - { - "log": { - "type": "file", - "description": "trimmomatic log file", - "pattern": "*.log" - } - }, - { - "summary": { - "type": "file", - "description": "trimmomatic summary file of surviving and dropped reads", - "pattern": "*.summary" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@alyssa-ab"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "variantcatalogue", - "version": "dev" - }, - { - "name": "viralintegration", - "version": "0.1.0" - } - ] - }, - { - "name": "trinity", - "path": "modules/nf-core/trinity/meta.yml", - "type": "module", - "meta": { - "name": "trinity", - "description": "Assembles a de novo transcriptome from RNAseq reads", - "keywords": ["assembly", "de novo assembler", "fasta", "fastq"], - "tools": [ - { - "trinity": { - "description": "Trinity assembles transcript sequences from Illumina RNA-Seq data.", - "homepage": "https://github.com/trinityrnaseq/trinityrnaseq/wiki", - "documentation": "https://github.com/trinityrnaseq/trinityrnaseq/wiki", - "tool_dev_url": "https://github.com/trinityrnaseq/trinityrnaseq/", - "doi": "10.1038/nbt.1883", - "licence": "['BSD-3-clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "fasta/fastq file of reads to be assembled into a transcriptome", - "pattern": "*.{fa|fasta|fq|fastq}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "transcript_fasta": { - "type": "file", - "description": "de novo assembled transcripts fasta file compressed", - "pattern": "*.fa.gz" - } - } - ], - "authors": ["@timslittle"] - } - }, - { - "name": "ucsc_bedclip", - "path": "modules/nf-core/ucsc/bedclip/meta.yml", - "type": "module", - "meta": { - "name": "ucsc_bedclip", - "description": "Remove lines from bed file that refer to off-chromosome locations.", - "keywords": ["bed", "genomics", "ucsc"], - "tools": [ - { - "ucsc": { - "description": "Remove lines from bed file that refer to off-chromosome locations.", - "homepage": "http://hgdownload.cse.ucsc.edu/admin/exe/", - "licence": ["varies; see http://genome.ucsc.edu/license"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bedgraph": { - "type": "file", - "description": "bedGraph file", - "pattern": "*.{bedgraph}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bedgraph": { - "type": "file", - "description": "bedGraph file", - "pattern": "*.{bedgraph}" - } - } - ], - "authors": ["@drpatelh"] - }, - "pipelines": [ - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - } - ] - }, - { - "name": "ucsc_bedgraphtobigwig", - "path": "modules/nf-core/ucsc/bedgraphtobigwig/meta.yml", - "type": "module", - "meta": { - "name": "ucsc_bedgraphtobigwig", - "description": "Convert a bedGraph file to bigWig format.", - "keywords": ["bedgraph", "bigwig", "ucsc", "bedgraphtobigwig", "converter"], - "tools": [ - { - "ucsc": { - "description": "Convert a bedGraph file to bigWig format.", - "homepage": "http://hgdownload.cse.ucsc.edu/admin/exe/", - "documentation": "https://genome.ucsc.edu/goldenPath/help/bigWig.html", - "licence": ["varies; see http://genome.ucsc.edu/license"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bedgraph": { - "type": "file", - "description": "bedGraph file", - "pattern": "*.{bedGraph}" - } - }, - { - "sizes": { - "type": "file", - "description": "chromosome sizes file", - "pattern": "*.{sizes}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bigwig": { - "type": "file", - "description": "bigWig file", - "pattern": "*.{bigWig}" - } - } - ], - "authors": ["@drpatelh"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "ssds", - "version": "dev" - } - ] - }, - { - "name": "ucsc_bedtobigbed", - "path": "modules/nf-core/ucsc/bedtobigbed/meta.yml", - "type": "module", - "meta": { - "name": "ucsc_bedtobigbed", - "description": "Convert file from bed to bigBed format", - "keywords": ["bed", "bigbed", "ucsc", "bedtobigbed", "converter"], - "tools": [ - { - "ucsc": { - "description": "Convert file from bed to bigBed format", - "homepage": "http://hgdownload.cse.ucsc.edu/admin/exe/", - "documentation": "https://genome.ucsc.edu/goldenPath/help/bigBed.html", - "licence": ["varies; see http://genome.ucsc.edu/license"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "bed file", - "pattern": "*.{bed}" - } - }, - { - "sizes": { - "type": "file", - "description": "chromosome sizes file", - "pattern": "*.{sizes}" - } - }, - { - "autosql": { - "type": "file", - "description": "autoSql file to describe the columns of the BED file", - "pattern": "*.{as}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bigbed": { - "type": "file", - "description": "bigBed file", - "pattern": "*.{bigBed}" - } - } - ], - "authors": ["@drpatelh"] - } - }, - { - "name": "ucsc_bigwigaverageoverbed", - "path": "modules/nf-core/ucsc/bigwigaverageoverbed/meta.yml", - "type": "module", - "meta": { - "name": "ucsc_bigwigaverageoverbed", - "description": "compute average score of bigwig over bed file", - "keywords": ["bigwig", "bedGraph", "ucsc"], - "tools": [ - { - "ucsc": { - "description": "Compute average score of big wig over each bed, which may have introns.", - "homepage": "http://hgdownload.cse.ucsc.edu/admin/exe/", - "documentation": "http://www.genome.ucsc.edu/goldenPath/help/bigWig.html", - "licence": ["varies; see http://genome.ucsc.edu/license"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "bed file", - "pattern": "*.{bed}" - } - }, - { - "bigwig": { - "type": "file", - "description": "bigwig file", - "pattern": "*.{bigwig,bw}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "tab": { - "type": "file", - "description": "tab file", - "pattern": "*.{tab}" - } - } - ], - "authors": ["@jianhong"] - }, - "pipelines": [ - { - "name": "hicar", - "version": "1.0.0" - } - ] - }, - { - "name": "ucsc_gtftogenepred", - "path": "modules/nf-core/ucsc/gtftogenepred/meta.yml", - "type": "module", - "meta": { - "name": "ucsc_gtftogenepred", - "description": "compute average score of bigwig over bed file", - "keywords": ["gtf", "genepred", "refflat", "ucsc", "gtftogenepred"], - "tools": [ - { - "ucsc": { - "description": "Convert GTF files to GenePred format", - "homepage": "http://hgdownload.cse.ucsc.edu/admin/exe/", - "licence": ["varies; see http://genome.ucsc.edu/license"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gtf": { - "type": "file", - "description": "GTF file", - "pattern": "*.{gtf}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "genepred": { - "type": "file", - "description": "genepred file", - "pattern": "*.{genepred}" - } - }, - { - "refflat": { - "type": "file", - "description": "refflat file", - "pattern": "*.{refflat}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@BarryDigby", "@anoronh4"] - } - }, - { - "name": "ucsc_liftover", - "path": "modules/nf-core/ucsc/liftover/meta.yml", - "type": "module", - "meta": { - "name": "ucsc_liftover", - "description": "convert between genome builds", - "keywords": ["bed", "ucsc", "ucsc/liftover"], - "tools": [ - { - "ucsc": { - "description": "Move annotations from one assembly to another", - "homepage": "http://hgdownload.cse.ucsc.edu/admin/exe/", - "licence": ["varies; see http://genome.ucsc.edu/license"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "Browser Extensible Data (BED) file", - "pattern": "*.{bed}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "version": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - }, - { - "lifted": { - "type": "file", - "description": "BED file containing successfully lifted variants", - "pattern": "*.{lifted.bed}" - } - }, - { - "unlifted": { - "type": "file", - "description": "BED file containing variants that couldn't be lifted", - "pattern": "*.{unlifted.bed}" - } - } - ], - "authors": ["@nebfield"] - } - }, - { - "name": "ucsc_wigtobigwig", - "path": "modules/nf-core/ucsc/wigtobigwig/meta.yml", - "type": "module", - "meta": { - "name": "ucsc_wigtobigwig", - "description": "Convert ascii format wig file to binary big wig format", - "keywords": ["wig", "bigwig", "ucsc"], - "tools": [ - { - "ucsc": { - "description": "Convert ascii format wig file (in fixedStep, variableStep\nor bedGraph format) to binary big wig format\n", - "homepage": "http://www.genome.ucsc.edu/goldenPath/help/bigWig.html", - "licence": ["varies; see http://genome.ucsc.edu/license"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "wig": { - "type": "file", - "description": "wig file", - "pattern": "*.{wig}" - } - }, - { - "chromsizes": { - "type": "file", - "description": "chromosome sizes file" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bw": { - "type": "file", - "description": "bigwig file", - "pattern": "*.{bw}" - } - } - ], - "authors": ["@jianhong", "@projectoriented"] - }, - "pipelines": [ - { - "name": "hicar", - "version": "1.0.0" - }, - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "ultra_align", - "path": "modules/nf-core/ultra/align/meta.yml", - "type": "module", - "meta": { - "name": "ultra_align", - "description": "uLTRA aligner - A wrapper around minimap2 to improve small exon detection - Map reads on genome", - "keywords": ["uLTRA", "align", "minimap2", "long_read", "isoseq", "ont"], - "tools": [ - { - "ultra": { - "description": "Splice aligner of long transcriptomic reads to genome.", - "homepage": "https://github.com/ksahlin/uLTRA", - "documentation": "https://github.com/ksahlin/uLTRA", - "tool_dev_url": "https://github.com/ksahlin/uLTRA", - "doi": "10.1093/bioinformatics/btab540", - "licence": "['GNU GPLV3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "A fasta or fastq file of reads to align", - "pattern": "*.{fa,fasta,fastq}" - } - }, - { - "genome": { - "type": "file", - "description": "A fasta file of reference genome", - "pattern": "*.{fa,fasta}" - } - }, - { - "pickle": { - "type": "file", - "description": "Pickle files generated by uLTRA index", - "pattern": "*.pickle" - } - }, - { - "db": { - "type": "file", - "description": "Database generated by uLTRA index", - "pattern": "*.db" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "The aligned reads in bam format", - "pattern": "*.bam" - } - } - ], - "authors": ["@sguizard"] - }, - "pipelines": [ - { - "name": "isoseq", - "version": "1.1.4" - } - ] - }, - { - "name": "ultra_index", - "path": "modules/nf-core/ultra/index/meta.yml", - "type": "module", - "meta": { - "name": "ultra_index", - "description": "uLTRA aligner - A wrapper around minimap2 to improve small exon detection - Index gtf file for reads alignment", - "keywords": ["uLTRA", "index", "minimap2", "long_read", "isoseq", "ont"], - "tools": [ - { - "ultra": { - "description": "Splice aligner of long transcriptomic reads to genome.", - "homepage": "https://github.com/ksahlin/uLTRA", - "documentation": "https://github.com/ksahlin/uLTRA", - "tool_dev_url": "https://github.com/ksahlin/uLTRA", - "doi": "10.1093/bioinformatics/btab540", - "licence": "['GNU GPLV3']" - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "A fasta file of the genome to use as reference for mapping", - "pattern": "*.{fasta, fa}" - } - }, - { - "gtf": { - "type": "file", - "description": "An annotation file of the reference genome in GTF format", - "pattern": "*.gtf" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "pickle": { - "type": "file", - "description": "Index files generated by uLTRA index", - "pattern": "*.pickle" - } - }, - { - "pickle": { - "type": "file", - "description": "database file generated by uLTRA index", - "pattern": "*.db" - } - } - ], - "authors": ["@sguizard"] - }, - "pipelines": [ - { - "name": "isoseq", - "version": "1.1.4" - } - ] - }, - { - "name": "ultra_pipeline", - "path": "modules/nf-core/ultra/pipeline/meta.yml", - "type": "module", - "meta": { - "name": "ultra_pipeline", - "description": "uLTRA aligner - A wrapper around minimap2 to improve small exon detection", - "keywords": ["uLTRA", "minimap2"], - "tools": [ - { - "ultra": { - "description": "Splice aligner of long transcriptomic reads to genome.", - "homepage": "https://github.com/ksahlin/uLTRA", - "documentation": "https://github.com/ksahlin/uLTRA", - "tool_dev_url": "https://github.com/ksahlin/uLTRA", - "doi": "10.1093/bioinformatics/btab540", - "licence": ["GNU GPLV3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "A fasta or fastq file of reads to align", - "pattern": "*.{fasta,fastq}" - } - }, - { - "genome": { - "type": "file", - "description": "fasta file of reference genome", - "pattern": "*.fasta" - } - }, - { - "gtf": { - "type": "file", - "description": "A annotation of use the genome", - "pattern": "*.gtf" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "sam": { - "type": "file", - "description": "The aligned reads in sam format", - "pattern": "*.sam" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@sguizard", "@lassefolkersen", "@ksahlin"] - } - }, - { - "name": "ultraplex", - "path": "modules/nf-core/ultraplex/meta.yml", - "type": "module", - "meta": { - "name": "ultraplex", - "description": "Ultraplex is an all-in-one software package for processing and demultiplexing fastq files.", - "keywords": ["demultiplex", "fastq", "umi"], - "tools": [ - { - "ultraplex": { - "description": "fastq demultiplexer", - "homepage": "https://github.com/ulelab/ultraplex", - "documentation": "https://github.com/ulelab/ultraplex", - "tool_dev_url": "https://github.com/ulelab/ultraplex", - "doi": "10.5281/zenodo.465128", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "Zipped FASTQ file", - "pattern": "*.{fastq.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "Demultiplexed sample FASTQ files", - "pattern": "*[!no_match].fastq.gz" - } - }, - { - "no_match_fastq": { - "type": "file", - "description": "FASTQ file containing reads that could not be demultiplexed", - "pattern": "*no_match.fastq.gz" - } - }, - { - "report": { - "type": "file", - "description": "File containing demultiplexing log", - "pattern": "*.log" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": [ - "@CharlotteAnne", - "@oscarwilkins", - "@chris-cheshire", - "@marc-jones", - "@iraiosub", - "@samirelanduk" - ] - } - }, - { - "name": "umicollapse", - "path": "modules/nf-core/umicollapse/meta.yml", - "type": "module", - "meta": { - "name": "umicollapse", - "description": "Deduplicate reads based on the mapping co-ordinate and the UMI attached to the read.", - "keywords": ["umicollapse", "deduplication", "genomics"], - "tools": [ - { - "umicollapse": { - "description": "UMICollapse contains tools for dealing with Unique Molecular Identifiers (UMIs)/Random Molecular Tags (RMTs).", - "homepage": "https://github.com/Daniel-Liu-c0deb0t/UMICollapse", - "documentation": "https://github.com/Daniel-Liu-c0deb0t/UMICollapse", - "tool_dev_url": "https://github.com/Daniel-Liu-c0deb0t/UMICollapse", - "doi": "10.7717/peerj.8275", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\n e.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file containing reads to be deduplicated via UMIs.\n", - "pattern": "*.{bam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index files corresponding to the input BAM file.\n", - "pattern": "*.{bai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\n e.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file with deduplicated UMIs.", - "pattern": "*.{bam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@CharlotteAnne", "@chris-cheshire"] - } - }, - { - "name": "umitools_dedup", - "path": "modules/nf-core/umitools/dedup/meta.yml", - "type": "module", - "meta": { - "name": "umitools_dedup", - "description": "Deduplicate reads based on the mapping co-ordinate and the UMI attached to the read.", - "keywords": ["umitools", "deduplication", "dedup"], - "tools": [ - { - "umi_tools": { - "description": "UMI-tools contains tools for dealing with Unique Molecular Identifiers (UMIs)/Random Molecular Tags (RMTs) and single cell RNA-Seq cell barcodes\n", - "documentation": "https://umi-tools.readthedocs.io/en/latest/", - "license": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file containing reads to be deduplicated via UMIs.\n", - "pattern": "*.{bam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index files corresponding to the input BAM file.\n", - "pattern": "*.{bai}" - } - }, - { - "get_output_stats": { - "type": "boolean", - "description": "Whether or not to generate output stats.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file with deduplicated UMIs.", - "pattern": "*.{bam}" - } - }, - { - "log": { - "type": "file", - "description": "File with logging information", - "pattern": "*.{log}" - } - }, - { - "tsv_edit_distance": { - "type": "file", - "description": "Reports the (binned) average edit distance between the UMIs at each position.", - "pattern": "*edit_distance.tsv" - } - }, - { - "tsv_per_umi": { - "type": "file", - "description": "UMI-level summary statistics.", - "pattern": "*per_umi.tsv" - } - }, - { - "tsv_umi_per_position": { - "type": "file", - "description": "Tabulates the counts for unique combinations of UMI and position.", - "pattern": "*per_position.tsv" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@grst", "@klkeys"] - }, - "pipelines": [ - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "radseq", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "umitools_extract", - "path": "modules/nf-core/umitools/extract/meta.yml", - "type": "module", - "meta": { - "name": "umitools_extract", - "description": "Extracts UMI barcode from a read and add it to the read name, leaving any sample barcode in place", - "keywords": ["umitools", "extract"], - "tools": [ - { - "umi_tools": { - "description": "UMI-tools contains tools for dealing with Unique Molecular Identifiers (UMIs)/Random Molecular Tags (RMTs) and single cell RNA-Seq cell barcodes\n", - "documentation": "https://umi-tools.readthedocs.io/en/latest/", - "license": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "list", - "description": "List of input FASTQ files whose UMIs will be extracted.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Extracted FASTQ files. | For single-end reads, pattern is \\${prefix}.umi_extract.fastq.gz. | For paired-end reads, pattern is \\${prefix}.umi_extract_{1,2}.fastq.gz.\n", - "pattern": "*.{fastq.gz}" - } - }, - { - "log": { - "type": "file", - "description": "Logfile for umi_tools", - "pattern": "*.{log}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@grst"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "unicycler", - "path": "modules/nf-core/unicycler/meta.yml", - "type": "module", - "meta": { - "name": "unicycler", - "description": "Assembles bacterial genomes", - "keywords": ["genome", "assembly", "genome assembler", "small genome"], - "tools": [ - { - "unicycler": { - "description": "Hybrid assembly pipeline for bacterial genomes", - "homepage": "https://github.com/rrwick/Unicycler", - "documentation": "https://github.com/rrwick/Unicycler", - "tool_dev_url": "https://github.com/rrwick/Unicycler", - "doi": "10.1371/journal.pcbi.1005595", - "licence": ["GPL v3"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "shortreads": { - "type": "file", - "description": "List of input Illumina FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "longreads": { - "type": "file", - "description": "List of input FastQ files of size 1, PacBio or Nanopore long reads.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "scaffolds": { - "type": "file", - "description": "Fasta file containing scaffolds", - "pattern": "*.{scaffolds.fa.gz}" - } - }, - { - "gfa": { - "type": "file", - "description": "gfa file containing assembly", - "pattern": "*.{assembly.gfa.gz}" - } - }, - { - "log": { - "type": "file", - "description": "unicycler log file", - "pattern": "*.{log}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@JoseEspinosa", "@drpatelh", "@d4straub"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "universc", - "path": "modules/nf-core/universc/meta.yml", - "type": "module", - "meta": { - "name": "universc", - "description": "Module to run UniverSC an open-source pipeline to demultiplex and process single-cell RNA-Seq data", - "keywords": ["demultiplex", "align", "single-cell", "scRNA-Seq", "count", "umi"], - "tools": [ - { - "universc": { - "description": "UniverSC: a flexible cross-platform single-cell data processing pipeline", - "homepage": "https://hub.docker.com/r/tomkellygenetics/universc", - "documentation": "https://raw.githubusercontent.com/minoda-lab/universc/master/man/launch_universc.sh", - "tool_dev_url": "https://github.com/minoda-lab/universc", - "doi": "10.1101/2021.01.19.427209", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "FASTQ or FASTQ.GZ file, list of 2 files for paired-end data", - "pattern": "*.{fastq,fq,fastq.gz,fq.gz}" - } - } - ], - "output": [ - { - "outs": { - "type": "file", - "description": "Files containing the outputs of Cell Ranger", - "pattern": "sample-${meta.id}/outs/*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software version", - "pattern": "versions.yml" - } - } - ], - "authors": ["@kbattenb", "@tomkellygenetics"] - }, - "pipelines": [ - { - "name": "scrnaseq", - "version": "2.3.2" - } - ] - }, - { - "name": "untar", - "path": "modules/nf-core/untar/meta.yml", - "type": "module", - "meta": { - "name": "untar", - "description": "Extract files.", - "keywords": ["untar", "uncompress", "extract"], - "tools": [ - { - "untar": { - "description": "Extract tar.gz files.\n", - "documentation": "https://www.gnu.org/software/tar/manual/", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "archive": { - "type": "file", - "description": "File to be untar", - "pattern": "*.{tar}.{gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "untar": { - "type": "directory", - "description": "Directory containing contents of archive", - "pattern": "*/" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh", "@matthdsm", "@jfy133"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "chipseq", - "version": "2.0.0" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "demultiplex", - "version": "1.3.2" - }, - { - "name": "differentialabundance", - "version": "1.2.0" - }, - { - "name": "funcscan", - "version": "1.1.2" - }, - { - "name": "hgtseq", - "version": "1.1.0" - }, - { - "name": "nanoseq", - "version": "3.1.0" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "proteinfold", - "version": "1.0.0" - }, - { - "name": "raredisease", - "version": "1.0.0" - }, - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "rnasplice", - "version": "dev" - }, - { - "name": "rnavar", - "version": "1.0.0" - }, - { - "name": "sarek", - "version": "3.2.3" - }, - { - "name": "spatialtranscriptomics", - "version": "dev" - }, - { - "name": "taxprofiler", - "version": "1.0.1" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "untarfiles", - "path": "modules/nf-core/untarfiles/meta.yml", - "type": "module", - "meta": { - "name": "untarfiles", - "description": "Extract files.", - "keywords": ["untar", "uncompress", "files"], - "tools": [ - { - "untar": { - "description": "Extract tar.gz files.\n", - "documentation": "https://www.gnu.org/software/tar/manual/", - "licence": ["GPL-3.0-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "archive": { - "type": "file", - "description": "File to be untar", - "pattern": "*.{tar}.{gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "files": { - "type": "string", - "description": "A list containing references to individual archive files", - "pattern": "*/**" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@joseespinosa", "@drpatelh", "@matthdsm", "@jfy133", "@pinin4fjords"] - } - }, - { - "name": "unzip", - "path": "modules/nf-core/unzip/meta.yml", - "type": "module", - "meta": { - "name": "unzip", - "description": "Unzip ZIP archive files", - "keywords": ["unzip", "decompression"], - "tools": [ - { - "unzip": { - "description": "p7zip is a quick port of 7z.exe and 7za.exe (command line version of 7zip, see www.7-zip.org) for Unix.", - "homepage": "https://sourceforge.net/projects/p7zip/", - "documentation": "https://sourceforge.net/projects/p7zip/", - "tool_dev_url": "https://sourceforge.net/projects/p7zip\"", - "licence": ["LGPL-2.1-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "archive": { - "type": "file", - "description": "ZIP file", - "pattern": "*.zip" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "unzipped_archive": { - "type": "directory", - "description": "Directory contents of the unzipped archive", - "pattern": "${archive.baseName}/" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "unzipfiles", - "path": "modules/nf-core/unzipfiles/meta.yml", - "type": "module", - "meta": { - "name": "unzipfiles", - "description": "Unzip ZIP archive files", - "keywords": ["unzip", "decompression"], - "tools": [ - { - "unzip": { - "description": "p7zip is a quick port of 7z.exe and 7za.exe (command line version of 7zip, see www.7-zip.org) for Unix.", - "homepage": "https://sourceforge.net/projects/p7zip/", - "documentation": "https://sourceforge.net/projects/p7zip/", - "tool_dev_url": "https://sourceforge.net/projects/p7zip\"", - "licence": ["LGPL-2.1-or-later"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "archive": { - "type": "file", - "description": "ZIP file", - "pattern": "*.zip" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "files": { - "type": "list", - "description": "A list containing references to individual archive files", - "pattern": "*/**" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@jfy133", "@pinin4fjords"] - } - }, - { - "name": "upd", - "path": "modules/nf-core/upd/meta.yml", - "type": "module", - "meta": { - "name": "upd", - "description": "Simple software to call UPD regions from germline exome/wgs trios.", - "keywords": ["upd", "uniparental", "disomy"], - "tools": [ - { - "upd": { - "description": "Simple software to call UPD regions from germline exome/wgs trios.", - "homepage": "https://github.com/bjhall/upd", - "documentation": "https://github.com/bjhall/upd", - "tool_dev_url": "https://github.com/bjhall/upd", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf,vcf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bed": { - "type": "file", - "description": "BED file", - "pattern": "*.{bed}" - } - } - ], - "authors": ["@hrydbeck"] - } - }, - { - "name": "vardictjava", - "path": "modules/nf-core/vardictjava/meta.yml", - "type": "module", - "meta": { - "name": "vardictjava", - "description": "The Java port of the VarDict variant caller", - "keywords": ["variant calling", "vcf", "bam", "snv", "sv"], - "tools": [ - { - "vardictjava": { - "description": "Java port of the VarDict variant discovery program", - "homepage": "https://github.com/AstraZeneca-NGS/VarDictJava", - "documentation": "https://github.com/AstraZeneca-NGS/VarDictJava", - "tool_dev_url": "https://github.com/AstraZeneca-NGS/VarDictJava", - "doi": "10.1093/nar/gkw227 ", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bams": { - "type": "file", - "description": "One or two BAM files. Supply two BAM files to run Vardict in paired mode.", - "pattern": "*.bam" - } - }, - { - "bais": { - "type": "file", - "description": "Index/indices of the BAM file(s)", - "pattern": "*.bai" - } - }, - { - "bed": { - "type": "file", - "description": "BED with the regions of interest", - "pattern": "*.bed" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing fasta information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA of the reference genome", - "pattern": "*.{fa,fasta}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing fasta information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the FASTA of the reference genome", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file output", - "pattern": "*.vcf.gz" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "variantbam", - "path": "modules/nf-core/variantbam/meta.yml", - "type": "module", - "meta": { - "name": "variantbam", - "description": "Filtering, downsampling and profiling alignments in BAM/CRAM formats", - "keywords": ["filter", "bam", "subsample", "downsample", "downsample bam", "subsample bam"], - "tools": [ - { - "variantbam": { - "description": "Filtering and profiling of next-generational sequencing data using region-specific rules", - "homepage": "https://github.com/walaj/VariantBam", - "documentation": "https://github.com/walaj/VariantBam#table-of-contents", - "tool_dev_url": "https://github.com/walaj/VariantBam", - "doi": "10.1093/bioinformatics/btw111", - "licence": ["Apache-2.0"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM file", - "pattern": "*.{bam,cram}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Filtered or downsampled BAM file", - "pattern": "*.{bam}" - } - } - ], - "authors": ["@bjohnnyd"] - } - }, - { - "name": "varlociraptor_callvariants", - "path": "modules/nf-core/varlociraptor/callvariants/meta.yml", - "type": "module", - "meta": { - "name": "varlociraptor_callvariants", - "description": "Call variants for a given scenario specified with the varlociraptor calling grammar, preprocessed by varlociraptor preprocessing", - "keywords": ["observations", "variants", "calling"], - "tools": [ - { - "varlociraptor": { - "description": "Flexible, uncertainty-aware variant calling with parameter free filtration via FDR control.", - "homepage": "https://varlociraptor.github.io/docs/estimating/", - "documentation": "https://varlociraptor.github.io/docs/calling/", - "tool_dev_url": "https://github.com/varlociraptor/varlociraptor", - "doi": "10.1186/s13059-020-01993-6", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "normal_vcf": { - "type": "file", - "description": "Sorted VCF/BCF file (list)", - "pattern": "*.{bcf,vcf,vcf.gz}" - } - }, - { - "tumor_vcf": { - "type": "file", - "description": "Sorted VCF/BCF file (optional)", - "pattern": "*.{bcf,bcf.gz,vcf,vcf.gz}" - } - }, - { - "scenario": { - "type": "file", - "description": "Yaml file containing scenario information (optional)", - "pattern": "*.{yml,yaml}" - } - }, - { - "scenario_sample": { - "type": "string", - "description": "(List of) sample name(s) to be processed as named in the scenario yml (optional)", - "pattern": "*.{bcf,vcf,vcf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf_gz": { - "type": "file", - "description": "Compressed VCF file containing sample observations", - "pattern": "*.vcf.gz" - } - }, - { - "bcf_gz": { - "type": "file", - "description": "BCF file containing sample observations", - "pattern": "*.bcf.gz" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file containing sample observations", - "pattern": "*.vcf" - } - }, - { - "bcf": { - "type": "file", - "description": "BCF file containing sample observations", - "pattern": "*.bcf" - } - } - ], - "authors": ["@FriederikeHanssen"] - } - }, - { - "name": "varlociraptor_estimatealignmentproperties", - "path": "modules/nf-core/varlociraptor/estimatealignmentproperties/meta.yml", - "type": "module", - "meta": { - "name": "varlociraptor_estimatealignmentproperties", - "description": "In order to judge about candidate indel and structural variants, Varlociraptor needs to know about certain properties of the underlying sequencing experiment in combination with the used read aligner.", - "keywords": ["estimation", "alignment", "variants"], - "tools": [ - { - "varlociraptor": { - "description": "Flexible, uncertainty-aware variant calling with parameter free filtration via FDR control.", - "homepage": "https://varlociraptor.github.io/docs/estimating/", - "documentation": "https://varlociraptor.github.io/docs/estimating/", - "tool_dev_url": "https://github.com/varlociraptor/varlociraptor", - "doi": "10.1186/s13059-020-01993-6", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference fasta file", - "pattern": "*.{fasta}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference index information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Index for reference fasta file (must be with samtools index)", - "pattern": "*.{fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "alignment_properties_json": { - "type": "file", - "description": "File containing alignment properties", - "pattern": "*.alignment-properties.json" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@FriederikeHanssen"] - } - }, - { - "name": "varlociraptor_preprocess", - "path": "modules/nf-core/varlociraptor/preprocess/meta.yml", - "type": "module", - "meta": { - "name": "varlociraptor_preprocess", - "description": "Obtains per-sample observations for the actual calling process with varlociraptor calls", - "keywords": ["observations", "variants", "preprocessing"], - "tools": [ - { - "varlociraptor": { - "description": "Flexible, uncertainty-aware variant calling with parameter free filtration via FDR control.", - "homepage": "https://varlociraptor.github.io/docs/estimating/", - "documentation": "https://varlociraptor.github.io/docs/calling/", - "tool_dev_url": "https://github.com/varlociraptor/varlociraptor", - "doi": "10.1186/s13059-020-01993-6", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "candidates": { - "type": "file", - "description": "Sorted BCF/VCF file", - "pattern": "*.{bcf,vcf,vcf.gz}" - } - }, - { - "alignment_json": { - "type": "file", - "description": "File containing alignment properties obtained with varlociraptor/estimatealignmentproperties", - "pattern": "*.json" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference fasta file", - "pattern": "*.{fasta}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference index information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fai": { - "type": "file", - "description": "Index for reference fasta file (must be with samtools index)", - "pattern": "*.{fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf_gz": { - "type": "file", - "description": "Compressed VCF file containing sample observations", - "pattern": "*.vcf.gz" - } - }, - { - "bcf_gz": { - "type": "file", - "description": "BCF file containing sample observations", - "pattern": "*.bcf.gz" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file containing sample observations", - "pattern": "*.vcf" - } - }, - { - "bcf": { - "type": "file", - "description": "BCF file containing sample observations", - "pattern": "*.bcf" - } - } - ], - "authors": ["@FriederikeHanssen"] - } - }, - { - "name": "vcf2db", - "path": "modules/nf-core/vcf2db/meta.yml", - "type": "module", - "meta": { - "name": "vcf2db", - "description": "A tool to create a Gemini-compatible DB file from an annotated VCF", - "keywords": ["vcf2db", "vcf", "gemini"], - "tools": [ - { - "vcf2db": { - "description": "Create a gemini-compatible database from a VCF", - "homepage": "https://github.com/quinlan-lab/vcf2db", - "documentation": "https://github.com/quinlan-lab/vcf2db", - "tool_dev_url": "https://github.com/quinlan-lab/vcf2db", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "ped": { - "type": "file", - "description": "PED file", - "pattern": "*.ped" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "db": { - "type": "file", - "description": "Gemini-compatible database file", - "pattern": "*.db" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "vcf2maf", - "path": "modules/nf-core/vcf2maf/meta.yml", - "type": "module", - "meta": { - "name": "vcf2maf", - "description": "vcf2maf", - "keywords": ["vcf", "maf", "annotation"], - "tools": [ - { - "vcf2maf": { - "description": "\"Convert a VCF into a MAF where each variant is annotated to only one of all possible gene isoforms using vcf2maf. vcf2maf is designed to work with VEP, so it is recommended to have VEP and vcf2maf installed when running this module. Running VEP requires a VEP cache to be present. It is recommended to set the --species and --ncbi-build in ext.args (use the module config). If you wish to skip VEP, add `--inhibit-vep` to ext.args. It may also be necessary to set --tumor-id and --normal-id for correct parsing of the VCF.\"\n", - "homepage": "https://github.com/mskcc/vcf2maf", - "documentation": "https://github.com/mskcc/vcf2maf", - "tool_dev_url": "https://github.com/mskcc/vcf2maf", - "doi": "10.5281/zenodo.593251", - "licence": "['Apache-2.0']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "vcf to convert to MAF format. Must be uncompressed.\n" - } - }, - { - "vep_cache": { - "type": "file", - "description": "Path to VEP cache dir. Required for correct running of VEP.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "maf": { - "type": "file", - "description": "MAF file produced from VCF", - "pattern": "*.maf" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@adamrtalbot"] - } - }, - { - "name": "vcfanno", - "path": "modules/nf-core/vcfanno/meta.yml", - "type": "module", - "meta": { - "name": "vcfanno", - "description": "quickly annotate your VCF with any number of INFO fields from any number of VCFs or BED files", - "keywords": ["vcf", "bed", "annotate", "variant", "lua", "toml"], - "tools": [ - { - "vcfanno": { - "description": "annotate a VCF with other VCFs/BEDs/tabixed files", - "documentation": "https://github.com/brentp/vcfanno#vcfanno", - "tool_dev_url": "https://github.com/brentp/vcfanno", - "doi": "10.1186/s13059-016-0973-5", - "license": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "query VCF file", - "pattern": "*.{vcf, vcf.gz}" - } - }, - { - "vcf_tabix": { - "type": "file", - "description": "tabix index of query VCF - only needed if vcf is compressed", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "specific_resources": { - "type": "map", - "description": "A list of sample specific reference files defined in toml config, must also include indices if bgzipped." - } - }, - { - "toml": { - "type": "file", - "description": "configuration file with reference file basenames", - "pattern": "*.toml" - } - }, - { - "lua": { - "type": "file", - "description": "Lua file for custom annotations", - "pattern": "*.lua" - } - }, - { - "resources": { - "type": "map", - "description": "List of reference files defined in toml config, must also include indices if bgzipped." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Annotated VCF file", - "pattern": "*.vcf" - } - } - ], - "authors": ["@projectoriented", "@matthdsm"] - }, - "pipelines": [ - { - "name": "raredisease", - "version": "1.0.0" - } - ] - }, - { - "name": "vcflib_vcfbreakmulti", - "path": "modules/nf-core/vcflib/vcfbreakmulti/meta.yml", - "type": "module", - "meta": { - "name": "vcflib_vcfbreakmulti", - "description": "If multiple alleles are specified in a single record, break the record into several lines preserving allele-specific INFO fields", - "keywords": ["vcflib", "vcflib/vcfbreakmulti"], - "tools": [ - { - "vcflib": { - "description": "Command-line tools for manipulating VCF files", - "homepage": "https://github.com/vcflib/vcflib", - "documentation": "https://github.com/vcflib/vcflib#USAGE", - "doi": "10.1101/2021.05.21.445151", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed VCF file", - "pattern": "*.{.vcf.gz,vcf}" - } - }, - { - "tbi": { - "type": "file", - "description": "Index of VCF file", - "pattern": "*.vcf.gz.tbi" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed VCF file", - "pattern": "*.vcf.gz" - } - } - ], - "authors": ["@lucpen"] - } - }, - { - "name": "vcflib_vcffilter", - "path": "modules/nf-core/vcflib/vcffilter/meta.yml", - "type": "module", - "meta": { - "name": "vcflib_vcffilter", - "description": "Command line tools for parsing and manipulating VCF files.", - "keywords": ["filter", "variant", "vcf", "quality"], - "tools": [ - { - "vcflib": { - "description": "Command line tools for parsing and manipulating VCF files.", - "homepage": "https://github.com/vcflib/vcflib", - "documentation": "https://github.com/vcflib/vcflib", - "tool_dev_url": "https://github.com/vcflib/vcflib", - "doi": "10.1371/journal.pcbi.1009123", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test_sample_1' ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "VCF file", - "pattern": "*.{vcf,vcf.gz}" - } - }, - { - "tbi": { - "type": "file", - "description": "Index file", - "pattern": "*.{tbi}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Filtered VCF file", - "pattern": "*.{vcf.gz}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@zachary-foster"] - } - }, - { - "name": "vcflib_vcfuniq", - "path": "modules/nf-core/vcflib/vcfuniq/meta.yml", - "type": "module", - "meta": { - "name": "vcflib_vcfuniq", - "description": "List unique genotypes. Like GNU uniq, but for VCF records. Remove records which have the same position, ref, and alt as the previous record.", - "keywords": ["vcf", "uniq", "deduplicate"], - "tools": [ - { - "vcflib": { - "description": "Command-line tools for manipulating VCF files", - "homepage": "https://github.com/vcflib/vcflib", - "documentation": "https://github.com/vcflib/vcflib#USAGE", - "doi": "10.1101/2021.05.21.445151", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Index of VCF file", - "pattern": "*.vcf.gz.tbi" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed VCF file", - "pattern": "*.vcf.gz" - } - } - ], - "authors": ["@drpatelh"] - }, - "pipelines": [ - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "vcftools", - "path": "modules/nf-core/vcftools/meta.yml", - "type": "module", - "meta": { - "name": "vcftools", - "description": "A set of tools written in Perl and C++ for working with VCF files", - "keywords": ["VCF", "sort"], - "tools": [ - { - "vcftools": { - "description": "A set of tools written in Perl and C++ for working with VCF files. This package only contains the C++ libraries whereas the package perl-vcftools-vcf contains the perl libraries", - "homepage": "http://vcftools.sourceforge.net/", - "documentation": "http://vcftools.sourceforge.net/man_latest.html", - "licence": ["LGPL"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "variant_file": { - "type": "file", - "description": "variant input file which can be vcf, vcf.gz, or bcf format." - } - }, - { - "bed": { - "type": "file", - "description": "bed file which can be used with different arguments in vcftools (optional)" - } - }, - { - "diff_variant_file": { - "type": "file", - "description": "secondary variant file which can be used with the 'diff' suite of tools (optional)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "vcf file (optional)", - "pattern": "*.vcf" - } - }, - { - "bcf": { - "type": "file", - "description": "bcf file (optional)", - "pattern": "*.bcf" - } - }, - { - "frq": { - "type": "file", - "description": "Allele frequency for each site (optional)", - "pattern": "*.frq" - } - }, - { - "frq_count": { - "type": "file", - "description": "Allele counts for each site (optional)", - "pattern": "*.frq.count" - } - }, - { - "idepth": { - "type": "file", - "description": "mean depth per individual (optional)", - "pattern": "*.idepth" - } - }, - { - "ldepth": { - "type": "file", - "description": "depth per site summed across individuals (optional)", - "pattern": "*.ildepth" - } - }, - { - "ldepth_mean": { - "type": "file", - "description": "mean depth per site calculated across individuals (optional)", - "pattern": "*.ldepth.mean" - } - }, - { - "gdepth": { - "type": "file", - "description": "depth for each genotype in vcf file (optional)", - "pattern": "*.gdepth" - } - }, - { - "hap_ld": { - "type": "file", - "description": "r2, D, and D’ statistics using phased haplotypes (optional)", - "pattern": "*.hap.ld" - } - }, - { - "geno_ld": { - "type": "file", - "description": "squared correlation coefficient between genotypes encoded as 0, 1 and 2 to represent the number of non-reference alleles in each individual (optional)", - "pattern": "*.geno.ld" - } - }, - { - "geno_chisq": { - "type": "file", - "description": "test for genotype independence via the chi-squared statistic (optional)", - "pattern": "*.geno.chisq" - } - }, - { - "list_hap_ld": { - "type": "file", - "description": "r2 statistics of the sites contained in the provided input file verses all other sites (optional)", - "pattern": "*.list.hap.ld" - } - }, - { - "list_geno_ld": { - "type": "file", - "description": "r2 statistics of the sites contained in the provided input file verses all other sites (optional)", - "pattern": "*.list.geno.ld" - } - }, - { - "interchrom_hap_ld": { - "type": "file", - "description": "r2 statistics for sites (haplotypes) on different chromosomes (optional)", - "pattern": "*.interchrom.hap.ld" - } - }, - { - "interchrom_geno_ld": { - "type": "file", - "description": "r2 statistics for sites (genotypes) on different chromosomes (optional)", - "pattern": "*.interchrom.geno.ld" - } - }, - { - "tstv": { - "type": "file", - "description": "Transition / Transversion ratio in bins of size defined in options (optional)", - "pattern": "*.TsTv" - } - }, - { - "tstv_summary": { - "type": "file", - "description": "Summary of all Transitions and Transversions (optional)", - "pattern": "*.TsTv.summary" - } - }, - { - "tstv_count": { - "type": "file", - "description": "Transition / Transversion ratio as a function of alternative allele count (optional)", - "pattern": "*.TsTv.count" - } - }, - { - "tstv_qual": { - "type": "file", - "description": "Transition / Transversion ratio as a function of SNP quality threshold (optional)", - "pattern": "*.TsTv.qual" - } - }, - { - "filter_summary": { - "type": "file", - "description": "Summary of the number of SNPs and Ts/Tv ratio for each FILTER category (optional)", - "pattern": "*.FILTER.summary" - } - }, - { - "sites_pi": { - "type": "file", - "description": "Nucleotide divergency on a per-site basis (optional)", - "pattern": "*.sites.pi" - } - }, - { - "windowed_pi": { - "type": "file", - "description": "Nucleotide diversity in windows, with window size determined by options (optional)", - "pattern": "*windowed.pi" - } - }, - { - "weir_fst": { - "type": "file", - "description": "Fst estimate from Weir and Cockerham’s 1984 paper (optional)", - "pattern": "*.weir.fst" - } - }, - { - "heterozygosity": { - "type": "file", - "description": "Heterozygosity on a per-individual basis (optional)", - "pattern": "*.het" - } - }, - { - "hwe": { - "type": "file", - "description": "Contains the Observed numbers of Homozygotes and Heterozygotes and the corresponding Expected numbers under HWE (optional)", - "pattern": "*.hwe" - } - }, - { - "tajima_d": { - "type": "file", - "description": "Tajima’s D statistic in bins with size of the specified number in options (optional)", - "pattern": "*.Tajima.D" - } - }, - { - "freq_burden": { - "type": "file", - "description": "Number of variants within each individual of a specific frequency in options (optional)", - "pattern": "*.ifreqburden" - } - }, - { - "lroh": { - "type": "file", - "description": "Long Runs of Homozygosity (optional)", - "pattern": "*.LROH" - } - }, - { - "relatedness": { - "type": "file", - "description": "Relatedness statistic based on the method of Yang et al, Nature Genetics 2010 (doi:10.1038/ng.608) (optional)", - "pattern": "*.relatedness" - } - }, - { - "relatedness2": { - "type": "file", - "description": "Relatedness statistic based on the method of Manichaikul et al., BIOINFORMATICS 2010 (doi:10.1093/bioinformatics/btq559) (optional)", - "pattern": "*.relatedness2" - } - }, - { - "lqual": { - "type": "file", - "description": "per-site SNP quality (optional)", - "pattern": "*.lqual" - } - }, - { - "missing_individual": { - "type": "file", - "description": "Missingness on a per-individual basis (optional)", - "pattern": "*.imiss" - } - }, - { - "missing_site": { - "type": "file", - "description": "Missingness on a per-site basis (optional)", - "pattern": "*.lmiss" - } - }, - { - "snp_density": { - "type": "file", - "description": "Number and density of SNPs in bins of size defined by option (optional)", - "pattern": "*.snpden" - } - }, - { - "kept_sites": { - "type": "file", - "description": "All sites that have been kept after filtering (optional)", - "pattern": "*.kept.sites" - } - }, - { - "removed_sites": { - "type": "file", - "description": "All sites that have been removed after filtering (optional)", - "pattern": "*.removed.sites" - } - }, - { - "singeltons": { - "type": "file", - "description": "Location of singletons, and the individual they occur in (optional)", - "pattern": "*.singeltons" - } - }, - { - "indel_hist": { - "type": "file", - "description": "Histogram file of the length of all indels (including SNPs) (optional)", - "pattern": "*.indel_hist" - } - }, - { - "hapcount": { - "type": "file", - "description": "Unique haplotypes within user specified bins (optional)", - "pattern": "*.hapcount" - } - }, - { - "mendel": { - "type": "file", - "description": "Mendel errors identified in trios (optional)", - "pattern": "*.mendel" - } - }, - { - "format": { - "type": "file", - "description": "Extracted information from the genotype fields in the VCF file relating to a specfied FORMAT identifier (optional)", - "pattern": "*.FORMAT" - } - }, - { - "info": { - "type": "file", - "description": "Extracted information from the INFO field in the VCF file (optional)", - "pattern": "*.INFO" - } - }, - { - "genotypes_matrix": { - "type": "file", - "description": "Genotypes output as large matrix.\nGenotypes of each individual on a separate line.\nGenotypes are represented as 0, 1 and 2, where the number represent that number of non-reference alleles.\nMissing genotypes are represented by -1 (optional)\n", - "pattern": "*.012" - } - }, - { - "genotypes_matrix_individual": { - "type": "file", - "description": "Details the individuals included in the main genotypes_matrix file (optional)", - "pattern": "*.012.indv" - } - }, - { - "genotypes_matrix_position": { - "type": "file", - "description": "Details the site locations included in the main genotypes_matrix file (optional)", - "pattern": "*.012.pos" - } - }, - { - "impute_hap": { - "type": "file", - "description": "Phased haplotypes in IMPUTE reference-panel format (optional)", - "pattern": "*.impute.hap" - } - }, - { - "impute_hap_legend": { - "type": "file", - "description": "Impute haplotype legend file (optional)", - "pattern": "*.impute.hap.legend" - } - }, - { - "impute_hap_indv": { - "type": "file", - "description": "Impute haplotype individuals file (optional)", - "pattern": "*.impute.hap.indv" - } - }, - { - "ldhat_sites": { - "type": "file", - "description": "Output data in LDhat format, sites (optional)", - "pattern": "*.ldhat.sites" - } - }, - { - "ldhat_locs": { - "type": "file", - "description": "output data in LDhat format, locations (optional)", - "pattern": "*.ldhat.locs" - } - }, - { - "beagle_gl": { - "type": "file", - "description": "Genotype likelihoods for biallelic sites (optional)", - "pattern": "*.BEAGLE.GL" - } - }, - { - "beagle_pl": { - "type": "file", - "description": "Genotype likelihoods for biallelic sites (optional)", - "pattern": "*.BEAGLE.PL" - } - }, - { - "ped": { - "type": "file", - "description": "output the genotype data in PLINK PED format (optional)", - "pattern": "*.ped" - } - }, - { - "map_": { - "type": "file", - "description": "output the genotype data in PLINK PED format (optional)", - "pattern": "*.map" - } - }, - { - "tped": { - "type": "file", - "description": "output the genotype data in PLINK PED format (optional)", - "pattern": "*.tped" - } - }, - { - "tfam": { - "type": "file", - "description": "output the genotype data in PLINK PED format (optional)", - "pattern": "*.tfam" - } - }, - { - "diff_sites_in_files": { - "type": "file", - "description": "Sites that are common / unique to each file specified in optional inputs (optional)", - "pattern": "*.diff.sites.in.files" - } - }, - { - "diff_indv_in_files": { - "type": "file", - "description": "Individuals that are common / unique to each file specified in optional inputs (optional)", - "pattern": "*.diff.indv.in.files" - } - }, - { - "diff_sites": { - "type": "file", - "description": "Discordance on a site by site basis, specified in optional inputs (optional)", - "pattern": "*.diff.sites" - } - }, - { - "diff_indv": { - "type": "file", - "description": "Discordance on a individual by individual basis, specified in optional inputs (optional)", - "pattern": "*.diff.indv" - } - }, - { - "diff_discd_matrix": { - "type": "file", - "description": "Discordance matrix between files specified in optional inputs (optional)", - "pattern": "*.diff.discordance.matrix" - } - }, - { - "diff_switch_error": { - "type": "file", - "description": "Switch errors found between sites (optional)", - "pattern": "*.diff.switch" - } - } - ], - "authors": ["@Mark-S-Hill"] - }, - "pipelines": [ - { - "name": "rnadnavar", - "version": "dev" - }, - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "verifybamid_verifybamid", - "path": "modules/nf-core/verifybamid/verifybamid/meta.yml", - "type": "module", - "meta": { - "name": "VERIFYBAMID_VERIFYBAMID", - "description": "Detecting and estimating inter-sample DNA contamination became a crucial quality assessment step to ensure high quality sequence reads and reliable downstream analysis.", - "keywords": ["qc", "contamination", "bam"], - "tools": [ - { - "verifybamid": { - "description": "verifyBamID is a software that verifies whether the reads in particular file match previously known genotypes for an individual (or group of individuals), and checks whether the reads are contaminated as a mixture of two samples.", - "homepage": "https://genome.sph.umich.edu/wiki/VerifyBamID", - "documentation": "http://genome.sph.umich.edu/wiki/VerifyBamID", - "tool_dev_url": "https://github.com/statgen/verifyBamID", - "doi": "10.1016/j.ajhg.2012.09.004", - "licence": "['GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file, a sorted, indexed, base quality recalibrated, and duplication-marked BAM file.\nIt also requires to contain \"@RG\" header lines to annotation different readGroups (sequencing runs and lanes).\nThe SM tag in the \"@RG\" header should match with one of the genotyped sample.\n", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file BAI", - "pattern": "*.bai" - } - }, - { - "refvcf": { - "type": "file", - "description": "The input VCF file contains\n(1) external genotype information and/or\n(2) allele frequency information as AF entry or AC/AN entries in the INFO field.\n", - "pattern": "*.{vcf,vcf.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "log": { - "type": "file", - "description": "Detailed summary of the verifyBamID result.", - "pattern": "*.log" - } - }, - { - "selfsm": { - "type": "file", - "description": "Per-sample statistics describing how well the sample matches to the annotated sample.", - "pattern": "*.selfSM" - } - }, - { - "depthsm": { - "type": "file", - "description": "The depth distribution of the sequence reads per sample", - "pattern": "*.depthSM" - } - }, - { - "selfrg": { - "type": "file", - "description": "Per-readGroup statistics describing how well each lane matches to the annotated sample. (available only without --ignoreRG option)", - "pattern": "*.selfRG" - } - }, - { - "depthrg": { - "type": "file", - "description": "The depth distribution of the sequence reads per readGroup. (available only without --ignoreRG option)", - "pattern": "*.depthRG" - } - }, - { - "bestsm": { - "type": "file", - "description": "Per-sample best-match statistics with best-matching sample among the genotyped sample (available only with --best option)", - "pattern": "*.bestSM" - } - }, - { - "bestrg": { - "type": "file", - "description": "Per-readgroup best-match statistics with best-matching sample among the genotyped sample (available only with --best and without --ignoreRG option)", - "pattern": "*.bestRG" - } - } - ], - "authors": ["@manifestoso"] - } - }, - { - "name": "verifybamid_verifybamid2", - "path": "modules/nf-core/verifybamid/verifybamid2/meta.yml", - "type": "module", - "meta": { - "name": "VERIFYBAMID_VERIFYBAMID2", - "description": "Detecting and estimating inter-sample DNA contamination became a crucial quality assessment step to ensure high quality sequence reads and reliable downstream analysis.", - "keywords": ["contamination", "bam"], - "tools": [ - { - "verifybamid2": { - "description": "A robust tool for DNA contamination estimation from sequence reads using ancestry-agnostic method.", - "homepage": "http://griffan.github.io/VerifyBamID", - "documentation": "http://griffan.github.io/VerifyBamID", - "tool_dev_url": "https://github.com/Griffan/VerifyBamID", - "doi": "10.1101/gr.246934.118", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAI/CRAI/CSI index file", - "pattern": "*.{bai,crai,csi}" - } - }, - { - "svd_ud": { - "type": "file", - "description": ".UD matrix file from SVD result of genotype matrix", - "pattern": "*.UD" - } - }, - { - "svd_mu": { - "type": "file", - "description": ".mu matrix file of genotype matrix", - "pattern": "*.mu" - } - }, - { - "svd_bed": { - "type": "file", - "description": ".Bed file for markers used in this analysis,format(chr\\tpos-1\\tpos\\trefAllele\\taltAllele)[Required]", - "pattern": "*.bed" - } - }, - { - "references": { - "type": "file", - "description": "reference file [Required]", - "pattern": "*.fasta" - } - }, - { - "refvcf": { - "type": "file", - "description": "Reference panel VCF with genotype information, for generation of .UD .mu .bed files [Optional]", - "pattern": "*.vcf" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "mu": { - "type": "file", - "description": ".mu matrix file of genotype matrix from customized reference vcf input", - "pattern": "*.mu" - } - }, - { - "ud": { - "type": "file", - "description": ".UD matrix file from customized reference vcf input", - "pattern": "*.UD" - } - }, - { - "bed": { - "type": "file", - "description": ".Bed file from customized reference marker vcf input", - "pattern": "*.bed" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "log": { - "type": "file", - "description": "Detailed summary of the VerifyBamId2 results", - "pattern": "*.log" - } - }, - { - "self_sm": { - "type": "file", - "description": "Shares the same format as legacy VB1 and the key information FREEMIX indicates the estimated contamination level.", - "pattern": "*.selfSM" - } - }, - { - "ancenstry": { - "type": "file", - "description": "PC coordinates for both intended sample and contaminating sample, with each row being one PC.", - "pattern": "*.Ancestry" - } - } - ], - "authors": ["@manifestoso"] - } - }, - { - "name": "vg_construct", - "path": "modules/nf-core/vg/construct/meta.yml", - "type": "module", - "meta": { - "name": "vg_construct", - "description": "Constructs a graph from a reference and variant calls or a multiple sequence alignment file", - "keywords": ["vg", "graph", "construct", "fasta", "vcf", "structural variants"], - "tools": [ - { - "vg": { - "description": "Variation graph data structures, interchange formats, alignment, genotyping,\nand variant calling methods.\n", - "homepage": "https://github.com/vgteam/vg", - "documentation": "https://github.com/vgteam/vg/wiki", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file(s)", - "description": "Either one or more VCF files containing different contigs or a multiple sequence alignment file\n", - "pattern": "*.{vcf.gz,fa,fasta,fna,clustal}" - } - }, - { - "tbis": { - "type": "file(s)", - "description": "The index files for the VCF files", - "pattern": "*.tbi" - } - }, - { - "insertions_fasta": { - "type": "file", - "description": "A FASTA file containing insertion sequences (referred to in the VCF file(s))", - "pattern": "*.{fa,fasta,fna}" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference FASTA file (cannot be used in combination with `msa`, but is required when using `vcfs`)", - "pattern": "*.{fa,fasta,fna}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the reference FASTA file", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "graph": { - "type": "file", - "description": "The constructed graph", - "pattern": "*.vg" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "vg_deconstruct", - "path": "modules/nf-core/vg/deconstruct/meta.yml", - "type": "module", - "meta": { - "name": "vg_deconstruct", - "description": "Deconstruct snarls present in a variation graph in GFA format to variants in VCF format", - "keywords": ["vcf", "gfa", "graph", "pangenome graph", "variation graph", "graph projection to vcf"], - "tools": [ - { - "vg": { - "description": "Variation graph data structures, interchange formats, alignment, genotyping,\nand variant calling methods.\n", - "homepage": "https://github.com/vgteam/vg", - "documentation": "https://github.com/vgteam/vg/wiki", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "gfa": { - "type": "file", - "description": "Variation graph in GFA format", - "pattern": "*.{gfa}" - } - }, - { - "pb": { - "type": "file", - "description": "Optional snarls file (from vg snarls) to avoid recomputing. Usually ends with \"pb\". See \"vg snarls\".", - "pattern": "*.{pb}" - } - }, - { - "gbwt": { - "type": "file", - "description": "Optional GBWT file (from vg gbwt) so to only consider alt traversals that correspond to GBWT threads FILE.", - "pattern": "*.{gbwt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "Variants in VCF format", - "pattern": "*.{vcf}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@heuermh, @subwaystation"] - } - }, - { - "name": "vg_index", - "path": "modules/nf-core/vg/index/meta.yml", - "type": "module", - "meta": { - "name": "vg_index", - "description": "write your description here", - "keywords": ["vg", "index", "graph", "structural_variants"], - "tools": [ - { - "vg": { - "description": "Variation graph data structures, interchange formats, alignment, genotyping,\nand variant calling methods.\n", - "homepage": "https://github.com/vgteam/vg", - "documentation": "https://github.com/vgteam/vg/wiki", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "input": { - "type": "file(s)", - "description": "One or more input graph files created with `vg/construct`", - "pattern": "*.vg" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "xg": { - "type": "file", - "description": "File containing a succint, queryable version of the input graph(s) or read for GCSA or distance indexing", - "pattern": "*.xg" - } - }, - { - "vg_index": { - "type": "file", - "description": "An index of the graph(s) created when `--index-sorted-vg` is supplied.", - "pattern": "*.vgi" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "vrhyme_extractunbinned", - "path": "modules/nf-core/vrhyme/extractunbinned/meta.yml", - "type": "module", - "meta": { - "name": "vrhyme_extractunbinned", - "description": "Extracting sequences that were unbinnned by vRhyme into a FASTA file", - "keywords": ["bin", "binning", "link", "vrhyme", "extractunbinned"], - "tools": [ - { - "vrhyme": { - "description": "vRhyme functions by utilizing coverage variance comparisons and supervised machine learning classification of sequence features to construct viral metagenome-assembled genomes (vMAGs).", - "homepage": "https://github.com/AnantharamanLab/vRhyme", - "documentation": "https://github.com/AnantharamanLab/vRhyme", - "tool_dev_url": "https://github.com/AnantharamanLab/vRhyme", - "doi": "10.1093/nar/gkac341", - "licence": "['GPL v3 license', 'GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file containing contigs/scaffolds input into vRhyme", - "pattern": "*.{fasta,fna,fa}" - } - }, - { - "membership": { - "type": "file", - "description": "TSV file containing information regarding which bins input sequences were placed information", - "pattern": "*.{tsv}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "unbinnned_sequences": { - "type": "file", - "description": "FASTA file containing sequences unbinned by vRhyme", - "pattern": "*_unbinned_sequences.fasta" - } - } - ], - "authors": ["@CarsonJM"] - } - }, - { - "name": "vrhyme_linkbins", - "path": "modules/nf-core/vrhyme/linkbins/meta.yml", - "type": "module", - "meta": { - "name": "vrhyme_linkbins", - "description": "Linking bins output by vRhyme to create one sequences per bin", - "keywords": ["bin", "binning", "link", "vrhyme", "linkbins"], - "tools": [ - { - "vrhyme": { - "description": "vRhyme functions by utilizing coverage variance comparisons and supervised machine learning classification of sequence features to construct viral metagenome-assembled genomes (vMAGs).", - "homepage": "https://github.com/AnantharamanLab/vRhyme", - "documentation": "https://github.com/AnantharamanLab/vRhyme", - "tool_dev_url": "https://github.com/AnantharamanLab/vRhyme", - "doi": "10.1093/nar/gkac341", - "licence": "['GPL v3 license', 'GPL v3']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bins": { - "type": "directory", - "description": "Directory file containing bin FASTA files output by vRhyme (each bin having multiple sequences)" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "linked_bins": { - "type": "file", - "description": "FASTA file containing all bins that have been linked by N's", - "pattern": "*_linked_bins.fasta" - } - } - ], - "authors": ["@CarsonJM"] - } - }, - { - "name": "vrhyme_vrhyme", - "path": "modules/nf-core/vrhyme/vrhyme/meta.yml", - "type": "module", - "meta": { - "name": "vrhyme_vrhyme", - "description": "Binning virus genomes from metagenomes", - "keywords": ["binning", "bin", "phage", "virus", "vrhyme"], - "tools": [ - { - "vrhyme": { - "description": "vRhyme functions by utilizing coverage variance comparisons and supervised machine learning classification of sequence features to construct viral metagenome-assembled genomes (vMAGs).", - "homepage": "https://github.com/AnantharamanLab/vRhyme", - "documentation": "https://github.com/AnantharamanLab/vRhyme", - "tool_dev_url": "https://github.com/AnantharamanLab/vRhyme", - "doi": "10.1093/nar/gkac341", - "licence": "['GPL v3', 'GPL v3 license']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Preprocessed FASTQ file containing sample reads", - "pattern": "*.{fastq}" - } - }, - { - "fasta": { - "type": "file", - "description": "Contigs/scaffolds identified as viral", - "pattern": "*.{fna,fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bins": { - "type": "directory", - "description": "Directory containing bin FASTA files", - "pattern": "**/vRhyme_best_bins_fasta/" - } - }, - { - "membership": { - "type": "file", - "description": "TSV file describing the contig/scaffold membership of each bin", - "pattern": "vRhyme_best_bins.*.membership.tsv" - } - }, - { - "summary": { - "type": "file", - "description": "TSV file summarizing the attributes of each bin", - "pattern": "vRhyme_best_bins.*.summary.tsv" - } - } - ], - "authors": ["@CarsonJM"] - } - }, - { - "name": "vsearch_cluster", - "path": "modules/nf-core/vsearch/cluster/meta.yml", - "type": "module", - "meta": { - "name": "vsearch_cluster", - "description": "Cluster sequences using a single-pass, greedy centroid-based clustering algorithm.", - "keywords": ["vsearch", "clustering", "microbiome"], - "tools": [ - { - "vsearch": { - "description": "VSEARCH is a versatile open-source tool for microbiome analysis, including chimera detection, clustering, dereplication and rereplication, extraction, FASTA/FASTQ/SFF file processing, masking, orienting, pair-wise alignment, restriction site cutting, searching, shuffling, sorting, subsampling, and taxonomic classification of amplicon sequences for metagenomics, genomics, and population genetics. (USEARCH alternative)", - "homepage": "https://github.com/torognes/vsearch", - "documentation": "https://github.com/torognes/vsearch/releases/download/v2.21.1/vsearch_manual.pdf", - "tool_dev_url": "https://github.com/torognes/vsearch", - "doi": "10.7717/peerj.2584", - "licence": ["GPL v3-or-later OR BSD-2-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test' ]" - } - }, - { - "fasta": { - "type": "file", - "description": "Sequences to cluster in FASTA format", - "pattern": "*.{fasta,fa,fasta.gz,fa.gz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "aln": { - "type": "file", - "description": "Results in pairwise alignment format", - "pattern": "*.aln.gz" - } - }, - { - "biom": { - "type": "file", - "description": "Results in an OTU table in the biom version 1.0 file format", - "pattern": "*.biom.gz" - } - }, - { - "mothur": { - "type": "file", - "description": "Results in an OTU table in the mothur ’shared’ tab-separated plain text file format", - "pattern": "*.mothur.tsv.gz" - } - }, - { - "otu": { - "type": "file", - "description": "Results in an OTU table in the classic tab-separated plain text format", - "pattern": "*.otu.tsv.gz" - } - }, - { - "bam": { - "type": "file", - "description": "Results written in bam format", - "pattern": "*.bam" - } - }, - { - "out": { - "type": "file", - "description": "Results in tab-separated output, columns defined by user", - "pattern": "*.out.tsv.gz" - } - }, - { - "blast": { - "type": "file", - "description": "Tab delimited results in blast-like tabular format", - "pattern": "*.blast.tsv.gz" - } - }, - { - "uc": { - "type": "file", - "description": "Tab delimited results in a uclust-like format with 10 columns", - "pattern": "*.uc.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@mirpedrol"] - }, - "pipelines": [ - { - "name": "crisprseq", - "version": "2.0.0" - } - ] - }, - { - "name": "vsearch_sintax", - "path": "modules/nf-core/vsearch/sintax/meta.yml", - "type": "module", - "meta": { - "name": "vsearch_sintax", - "description": "Taxonomic classification using the sintax algorithm.", - "keywords": ["vsearch", "sintax"], - "tools": [ - { - "vsearch": { - "description": "VSEARCH is a versatile open-source tool for microbiome analysis, including chimera detection, clustering, dereplication and rereplication, extraction, FASTA/FASTQ/SFF file processing, masking, orienting, pair-wise alignment, restriction site cutting, searching, shuffling, sorting, subsampling, and taxonomic classification of amplicon sequences for metagenomics, genomics, and population genetics. (USEARCH alternative)", - "homepage": "https://github.com/torognes/vsearch", - "tool_dev_url": "https://github.com/torognes/vsearch", - "doi": "10.7717/peerj.2584", - "licence": "['GPL v3-or-later OR BSD-2-clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing query file information e.g. [ id:'test' ]" - } - }, - { - "queryfasta": { - "type": "file", - "description": "Query sequences in FASTA or FASTQ format", - "pattern": "*.{fasta,fa,fna,faa,fastq,fq}" - } - }, - { - "db": { - "type": "file", - "description": "Reference database file in FASTA or UDB format", - "pattern": "*" - } - } - ], - "output": [ - { - "tsv": { - "type": "file", - "description": "Results written to tab-delimited file", - "pattern": "*.{tsv}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@jtangrot"] - }, - "pipelines": [ - { - "name": "ampliseq", - "version": "2.6.1" - } - ] - }, - { - "name": "vsearch_sort", - "path": "modules/nf-core/vsearch/sort/meta.yml", - "type": "module", - "meta": { - "name": "vsearch_sort", - "description": "Sort fasta entries by decreasing abundance (--sortbysize) or sequence length (--sortbylength).", - "keywords": [ - "vsearch/sort", - "vsearch", - "sort", - "amplicon sequences", - "metagenomics", - "genomics", - "population genetics" - ], - "tools": [ - { - "vsearch": { - "description": "VSEARCH is a versatile open-source tool for microbiome analysis, including chimera detection, clustering, dereplication and rereplication, extraction, FASTA/FASTQ/SFF file processing, masking, orienting, pair-wise alignment, restriction site cutting, searching, shuffling, sorting, subsampling, and taxonomic classification of amplicon sequences for metagenomics, genomics, and population genetics. (USEARCH alternative)", - "homepage": "https://github.com/torognes/vsearch", - "documentation": "https://github.com/torognes/vsearch/releases/download/v2.21.1/vsearch_manual.pdf", - "tool_dev_url": "https://github.com/torognes/vsearch", - "doi": "10.7717/peerj.2584", - "licence": ["GPL v3-or-later OR BSD-2-clause"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test' ]" - } - }, - { - "fasta": { - "type": "file", - "description": "Sequences to be sorted in FASTA format", - "pattern": "*.{fasta,fa,fasta.gz,fa.gz}" - } - }, - { - "sort_arg": { - "type": "string", - "description": "Argument to provide to sort algorithm. Sort by abundance with --sortbysize or by sequence length with --sortbylength.", - "enum": ["--sortbysize", "--sortbylength"] - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Sorted FASTA file", - "pattern": "*.{fasta}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@mirpedrol"] - }, - "pipelines": [ - { - "name": "crisprseq", - "version": "2.0.0" - } - ] - }, - { - "name": "vsearch_usearchglobal", - "path": "modules/nf-core/vsearch/usearchglobal/meta.yml", - "type": "module", - "meta": { - "name": "vsearch_usearchglobal", - "description": "Compare target sequences to fasta-formatted query sequences using global pairwise alignment.", - "keywords": ["vsearch", "usearch", "alignment", "fasta"], - "tools": [ - { - "vsearch": { - "description": "VSEARCH is a versatile open-source tool for microbiome analysis, including chimera detection, clustering, dereplication and rereplication, extraction, FASTA/FASTQ/SFF file processing, masking, orienting, pair-wise alignment, restriction site cutting, searching, shuffling, sorting, subsampling, and taxonomic classification of amplicon sequences for metagenomics, genomics, and population genetics. (USEARCH alternative)", - "homepage": "https://github.com/torognes/vsearch", - "tool_dev_url": "https://github.com/torognes/vsearch", - "doi": "10.7717/peerj.2584", - "licence": "['GPL v3-or-later OR BSD-2-clause']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test' ]" - } - }, - { - "queryfasta": { - "type": "file", - "description": "Query sequences in FASTA format", - "pattern": "*.{fasta,fa,fna,faa}" - } - }, - { - "db": { - "type": "file", - "description": "Reference database file in FASTA or UDB format", - "pattern": "*" - } - }, - { - "idcutoff": { - "type": "real", - "description": "Reject the sequence match if the pairwise identity is lower than the given id cutoff value (value ranging from 0.0 to 1.0 included)" - } - }, - { - "outoption": { - "type": "string", - "description": "Specify the type of output file to be generated by selecting one of the vsearch output file options", - "pattern": "alnout|biomout|blast6out|mothur_shared_out|otutabout|samout|uc|userout|lcaout" - } - }, - { - "user_columns": { - "type": "string", - "description": "If using the `userout` option, specify which columns to include in output, with fields separated with `+` (e.g. query+target+id). See USEARCH manual for valid options. For other output options, use an empty string." - } - } - ], - "output": [ - { - "aln": { - "type": "file", - "description": "Results in pairwise alignment format", - "pattern": "*.{aln}" - } - }, - { - "biom": { - "type": "file", - "description": "Results in an OTU table in the biom version 1.0 file format", - "pattern": "*.{biom}" - } - }, - { - "lca": { - "type": "file", - "description": "Last common ancestor (LCA) information about the hits of each query in tab-separated format", - "pattern": "*.{lca}" - } - }, - { - "mothur": { - "type": "file", - "description": "Results in an OTU table in the mothur ’shared’ tab-separated plain text file format", - "pattern": "*.{mothur}" - } - }, - { - "otu": { - "type": "file", - "description": "Results in an OTU table in the classic tab-separated plain text format", - "pattern": "*.{otu}" - } - }, - { - "sam": { - "type": "file", - "description": "Results written in sam format", - "pattern": "*.{sam}" - } - }, - { - "tsv": { - "type": "file", - "description": "Results in tab-separated output, columns defined by user", - "pattern": "*.{tsv}" - } - }, - { - "txt": { - "type": "file", - "description": "Tab delimited results in blast-like tabular format", - "pattern": "*.{txt}" - } - }, - { - "uc": { - "type": "file", - "description": "Tab delimited results in a uclust-like format with 10 columns", - "pattern": "*.{uc}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@jtangrot"] - }, - "pipelines": [ - { - "name": "ampliseq", - "version": "2.6.1" - } - ] - }, - { - "name": "wfmash", - "path": "modules/nf-core/wfmash/meta.yml", - "type": "module", - "meta": { - "name": "wfmash", - "description": "a pangenome-scale aligner", - "keywords": ["long read alignment", "pangenome-scale", "all versus all", "mashmap", "wavefront"], - "tools": [ - { - "wfmash": { - "description": "a pangenome-scale aligner", - "homepage": "https://github.com/waveygang/wfmash", - "documentation": "https://github.com/waveygang/wfmash", - "tool_dev_url": "https://github.com/waveygang/wfmash", - "doi": "10.5281/zenodo.6949373", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta_gz": { - "type": "file", - "description": "BGZIPPED FASTA target file to create the mappings from.", - "pattern": "{fa.gz,fna.gz,fasta.gz}" - } - }, - { - "paf": { - "type": "file", - "description": "Optional inpute file in PAF format to derive the precise alignments for.", - "pattern": "*.{paf}" - } - }, - { - "query_self": { - "type": "boolean", - "description": "If set to true, the input FASTA will also be used as the query FASTA." - } - }, - { - "gzi": { - "type": "file", - "description": "The GZI index of the input FASTA file.", - "pattern": "*.{gzi}" - } - }, - { - "fai": { - "type": "file", - "description": "The FASTA index of the input FASTA file.", - "pattern": "*.{fai}" - } - }, - { - "fasta_query_list": { - "type": "file", - "description": "Optional inpute file in FASTA format specifying the query sequences as a list.", - "pattern": "*.{fa,fna,fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "paf": { - "type": "file", - "description": "Alignments in PAF format", - "pattern": "*.{paf}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@subwaystation"] - }, - "pipelines": [ - { - "name": "pangenome", - "version": "dev" - } - ] - }, - { - "name": "wgsim", - "path": "modules/nf-core/wgsim/meta.yml", - "type": "module", - "meta": { - "name": "wgsim", - "description": "simulating sequence reads from a reference genome", - "keywords": ["simulate", "fasta", "reads"], - "tools": [ - { - "wgsim": { - "description": "simulating sequence reads from a reference genome", - "homepage": "https://github.com/lh3/wgsim", - "documentation": "https://github.com/lh3/wgsim", - "tool_dev_url": "https://github.com/lh3/wgsim", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Genome fasta file", - "pattern": "*.{fa,fasta}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fastq": { - "type": "file", - "description": "Simulated FASTQ read files", - "pattern": "*.{fastq}" - } - } - ], - "authors": ["@priyanka-surana"] - } - }, - { - "name": "whamg", - "path": "modules/nf-core/whamg/meta.yml", - "type": "module", - "meta": { - "name": "whamg", - "description": "The wham suite consists of two programs, wham and whamg. wham, the original tool, is a very sensitive method with a high false discovery rate. The second program, whamg, is more accurate and better suited for general structural variant (SV) discovery.", - "keywords": ["whamg", "wham", "vcf", "bam", "variant calling"], - "tools": [ - { - "whamg": { - "description": "Structural variant detection and association testing", - "homepage": "https://github.com/zeeev/wham", - "documentation": "https://github.com/zeeev/wham", - "tool_dev_url": "https://github.com/zeeev/wham", - "doi": "10.1371/journal.pcbi.1004572", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/SAM file", - "pattern": "*.{bam,sam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index file", - "pattern": "*.bai" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference Fasta file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "Index of the reference Fasta", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Compressed VCF file", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "Index of the VCF file", - "pattern": "*.vcf.gz.tbi" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "windowmasker_convert", - "path": "modules/nf-core/windowmasker/convert/meta.yml", - "type": "module", - "meta": { - "name": "windowmasker_convert", - "description": "Masks out highly repetitive DNA sequences with low complexity in a genome", - "keywords": ["fasta", "blast", "windowmasker"], - "tools": [ - { - "windowmasker": { - "description": "A program to mask highly repetitive and low complexity DNA sequences within a genome.", - "homepage": "https://blast.ncbi.nlm.nih.gov/Blast.cgi", - "documentation": "ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/windowmasker/README.windowmasker", - "doi": "10.1016/S0022-2836(05)80360-2", - "licence": ["US-Government-Work"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "counts": { - "type": "file", - "description": "valid unit counts file", - "pattern": "*.{ascii,binary,oascii,obinary,txt}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "counts": { - "type": "file", - "description": "valid unit counts file", - "pattern": "*.{ascii,binary,oascii,obinary}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@alxndrdiaz"] - } - }, - { - "name": "windowmasker_mkcounts", - "path": "modules/nf-core/windowmasker/mkcounts/meta.yml", - "type": "module", - "meta": { - "name": "windowmasker_mkcounts", - "description": "A program to generate frequency counts of repetitive units.", - "keywords": ["fasta", "interval", "windowmasker"], - "tools": [ - { - "windowmasker": { - "description": "A program to mask highly repetitive and low complexity DNA sequences within a genome.\n", - "homepage": "https://github.com/ncbi/ncbi-cxx-toolkit-public", - "documentation": "https://ncbi.github.io/cxx-toolkit/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ref": { - "type": "file", - "description": "An input nucleotide fasta file." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "intervals": { - "type": "file", - "description": "An output file containing genomic locations of low\ncomplexity and highly repetitive regions\n", - "pattern": "${prefix}.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@DLBPointon"] - } - }, - { - "name": "windowmasker_ustat", - "path": "modules/nf-core/windowmasker/ustat/meta.yml", - "type": "module", - "meta": { - "name": "windowmasker_ustat", - "description": "A program to take a counts file and creates a file of genomic co-ordinates to be masked.", - "keywords": ["fasta", "interval", "windowmasker"], - "tools": [ - { - "windowmasker": { - "description": "A program to mask highly repetitive and low complexity DNA sequences within a genome.\n", - "homepage": "https://github.com/ncbi/ncbi-cxx-toolkit-public", - "documentation": "https://ncbi.github.io/cxx-toolkit/", - "licence": ["MIT"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "counts": { - "type": "file", - "description": "Contains count data of repetitive regions." - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ref": { - "type": "file", - "description": "An input nucleotide fasta file." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "wm_intervals": { - "type": "file", - "description": "An output file containing genomic locations of low\ncomplexity and highly repetitive regions\n", - "pattern": "${output}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@DLBPointon"] - } - }, - { - "name": "wisecondorx_convert", - "path": "modules/nf-core/wisecondorx/convert/meta.yml", - "type": "module", - "meta": { - "name": "wisecondorx_convert", - "description": "Convert and filter aligned reads to .npz", - "keywords": ["bam", "cram", "copy-number"], - "tools": [ - { - "wisecondorx": { - "description": "WIthin-SamplE COpy Number aberration DetectOR, including sex chromosomes", - "homepage": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", - "documentation": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", - "tool_dev_url": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", - "doi": "10.1093/nar/gky1263", - "licence": "['Attribution-NonCommercial-ShareAlike CC BY-NC-SA']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Reads in BAM/CRAM format", - "pattern": "*.{bam,cram}" - } - }, - { - "bai": { - "type": "file", - "description": "index of the BAM/CRAM file", - "pattern": "*.{bai,crai}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference fasta meta information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference FASTA file (mandatory when using CRAM files)", - "pattern": "*.{fasta,fa,fna}" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing reference fasta index meta information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta_fai": { - "type": "file", - "description": "The index of the reference FASTA file (mandatory when using CRAM files)", - "pattern": "*.fai" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "npz": { - "type": "file", - "description": "The output NPZ file", - "pattern": "*.npz" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "wisecondorx_gender", - "path": "modules/nf-core/wisecondorx/gender/meta.yml", - "type": "module", - "meta": { - "name": "wisecondorx_gender", - "description": "Returns the gender of a .npz resulting from convert, based on a Gaussian mixture model trained during the newref phase", - "keywords": ["copy number analysis", "gender determination", "npz"], - "tools": [ - { - "wisecondorx": { - "description": "WIthin-SamplE COpy Number aberration DetectOR, including sex chromosomes", - "homepage": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", - "documentation": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", - "tool_dev_url": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", - "doi": "10.1093/nar/gky1263", - "licence": "['Attribution-NonCommercial-ShareAlike CC BY-NC-SA']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "npz": { - "type": "file", - "description": "Single sample NPZ file (from which to determine the gender)", - "pattern": "*.npz" - } - }, - { - "reference": { - "type": "file", - "description": "Reference NPZ file", - "pattern": "*.npz" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "gender": { - "type": "string", - "description": "The gender of the input NPZ file", - "pattern": "(fe)?male" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "wisecondorx_newref", - "path": "modules/nf-core/wisecondorx/newref/meta.yml", - "type": "module", - "meta": { - "name": "wisecondorx_newref", - "description": "Create a new reference using healthy reference samples", - "keywords": ["reference", "copy number alterations", "npz"], - "tools": [ - { - "wisecondorx": { - "description": "WIthin-SamplE COpy Number aberration DetectOR, including sex chromosomes", - "homepage": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", - "documentation": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", - "tool_dev_url": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", - "doi": "10.1093/nar/gky1263", - "licence": "['Attribution-NonCommercial-ShareAlike CC BY-NC-SA']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "inputs": { - "type": "file", - "description": "Multiple NPZ files from healthy patients", - "pattern": "*.{npz}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "npz": { - "type": "file", - "description": "The reference NPZ file", - "pattern": "*.{npz}" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "wisecondorx_predict", - "path": "modules/nf-core/wisecondorx/predict/meta.yml", - "type": "module", - "meta": { - "name": "wisecondorx_predict", - "description": "Find copy number aberrations", - "keywords": ["copy number variation", "bed", "npz", "png"], - "tools": [ - { - "wisecondorx": { - "description": "WIthin-SamplE COpy Number aberration DetectOR, including sex chromosomes", - "homepage": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", - "documentation": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", - "tool_dev_url": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", - "doi": "10.1093/nar/gky1263", - "licence": "['Attribution-NonCommercial-ShareAlike CC BY-NC-SA']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "npz": { - "type": "file", - "description": "An NPZ file created with WisecondorX convert", - "pattern": "*.npz" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reference": { - "type": "file", - "description": "A reference NPZ file created with WisecondorX newref", - "pattern": "*.npz" - } - }, - { - "meta3": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "blacklist": { - "type": "file", - "description": "OPTIONAL - A BED file containing blacklist regions (used mainly when the reference is small)", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "abberations_bed": { - "type": "file", - "description": "OPTIONAL - Output abberations in BED format. This gets created with the `--bed` option", - "pattern": "*_aberrations.bed" - } - }, - { - "bins_bed": { - "type": "file", - "description": "OPTIONAL - Output bins in BED format. This gets created with the `--bed` option", - "pattern": "*_bins.bed" - } - }, - { - "segments_bed": { - "type": "file", - "description": "OPTIONAL - Output segments in BED format. This gets created with the `--bed` option", - "pattern": "*_segments.bed" - } - }, - { - "chr_statistics": { - "type": "file", - "description": "OPTIONAL - Statistics per chromosome in TXT format. This gets created with the `--bed` option", - "pattern": "*_chr_statistics.txt" - } - }, - { - "chr_plots": { - "type": "list", - "description": "OPTIONAL - A list containing the CNV plots of each chromosome. This gets created with the `--plot` option", - "pattern": "[!genome_wide]*.png" - } - }, - { - "genome_plot": { - "type": "file", - "description": "OPTIONAL - A plot containing the CNV information of the whole genome", - "pattern": "genome_wide.png" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "yahs", - "path": "modules/nf-core/yahs/meta.yml", - "type": "module", - "meta": { - "name": "yahs", - "description": "Performs assembly scaffolding using YaHS", - "keywords": ["scaffolding", "assembly", "yahs", "hic"], - "tools": [ - { - "yahs": { - "description": "YaHS, yet another Hi-C scaffolding tool.", - "homepage": "https://github.com/c-zhou/yahs", - "documentation": "https://github.com/c-zhou/yahs", - "tool_dev_url": "https://github.com/c-zhou/yahs", - "doi": "10.1093/bioinformatics/btac808", - "licence": "['MIT']" - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "hic_map": { - "type": "file", - "description": "BED file containing coordinates of read alignments", - "pattern": "*.{bed,bam,bin}" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA reference file", - "pattern": "*.{fasta,fa}" - } - }, - { - "fai": { - "type": "file", - "description": "index of the reference file", - "pattern": "*.{fai}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "scaffolds_fasta": { - "type": "file", - "description": "FASTA file with resulting contigs", - "pattern": "*scaffolds_final.fa" - } - }, - { - "scaffolds_agp": { - "type": "file", - "description": "AGP file containing contigs placing coordinates", - "pattern": "*scaffolds_final.agp" - } - }, - { - "binary": { - "type": "file", - "description": "BIN file with alignment results of Hi-C reads to the contigs in internal YaHS binary format", - "pattern": "*bin" - } - } - ], - "authors": ["@ksenia-krasheninnikova"] - } - }, - { - "name": "yara_index", - "path": "modules/nf-core/yara/index/meta.yml", - "type": "module", - "meta": { - "name": "yara_index", - "description": "Builds a YARA index for a reference genome", - "keywords": ["build", "index", "fasta", "genome", "reference"], - "tools": [ - { - "yara": { - "description": "Yara is an exact tool for aligning DNA sequencing reads to reference genomes.", - "homepage": "https://github.com/seqan/seqan", - "documentation": "https://github.com/seqan/seqan", - "tool_dev_url": "https://github.com/seqan/seqan", - "licence": ["https://raw.githubusercontent.com/seqan/seqan/develop/apps/yara/LICENSE"] - } - } - ], - "input": [ - { - "fasta": { - "type": "file", - "description": "Input genome fasta file" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "index": { - "type": "file", - "description": "YARA genome index files", - "pattern": "yara.*" - } - } - ], - "authors": ["@apeltzer"] - }, - "pipelines": [ - { - "name": "hlatyping", - "version": "2.0.0" - } - ] - }, - { - "name": "yara_mapper", - "path": "modules/nf-core/yara/mapper/meta.yml", - "type": "module", - "meta": { - "name": "yara_mapper", - "description": "Align reads to a reference genome using YARA", - "keywords": ["align", "genome", "reference"], - "tools": [ - { - "yara": { - "description": "Yara is an exact tool for aligning DNA sequencing reads to reference genomes.", - "homepage": "https://github.com/seqan/seqan", - "documentation": "https://github.com/seqan/seqan", - "tool_dev_url": "https://github.com/seqan/seqan", - "licence": ["https://raw.githubusercontent.com/seqan/seqan/develop/apps/yara/LICENSE"] - } - } - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "index": { - "type": "file", - "description": "YARA genome index files" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM file", - "pattern": "*.{bam}" - } - }, - { - "bai": { - "type": "file", - "description": "Sorted BAM file index", - "pattern": "*.{bai}" - } - } - ], - "authors": ["@apeltzer"] - }, - "pipelines": [ - { - "name": "hlatyping", - "version": "2.0.0" - } - ] + "modules": [ + { + "name": "abacas", + "path": "modules/nf-core/abacas/meta.yml", + "type": "module", + "meta": { + "name": "abacas", + "description": "contiguate draft genome assembly", + "keywords": [ + "genome", + "assembly", + "contiguate" + ], + "tools": [ + { + "abacas": { + "description": "ABACAS is intended to rapidly contiguate (align, order, orientate),\nvisualize and design primers to close gaps on shotgun assembled\ncontigs based on a reference sequence.\n", + "homepage": "http://abacas.sourceforge.net/documentation.html", + "documentation": "http://abacas.sourceforge.net/documentation.html", + "doi": "10.1093/bioinformatics/btp347", + "licence": [ + "GPL v2-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "scaffold": { + "type": "file", + "description": "Fasta file containing scaffold", + "pattern": "*.{fasta,fa}" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA reference file", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "results": { + "type": "files", + "description": "List containing abacas output files\n[ 'test.abacas.bin', 'test.abacas.fasta', 'test.abacas.gaps',\n'test.abacas.gaps.tab', 'test.abacas.nucmer.delta',\n'test.abacas.nucmer.filtered.delta', 'test.abacas.nucmer.tiling',\n'test.abacas.tab', 'test.abacas.unused.contigs.out',\n'test.abacas.MULTIFASTA.fa' ]\n", + "pattern": "*.{abacas}*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" } - ], - "subworkflows": [ - { - "name": "bam_create_som_pon_gatk", - "path": "subworkflows/nf-core/bam_create_som_pon_gatk/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bam_create_som_pon_gatk", - "description": "Perform variant calling on a set of normal samples using mutect2 panel of normals mode. Group them into a genomicsdbworkspace using genomicsdbimport, then use this to create a panel of normals using createsomaticpanelofnormals.", - "keywords": [ - "gatk4", - "mutect2", - "genomicsdbimport", - "createsomaticpanelofnormals", - "variant_calling", - "genomicsdb_workspace", - "panel_of_normals" - ], - "modules": ["gatk4/mutect2", "gatk4/genomicsdbimport", "gatk4/createsomaticpanelofnormals"], - "input": [ - { - "ch_mutect2_in": { - "type": "list", - "description": "An input channel containing the following files:\n- input: One or more BAM/CRAM files\n- input_index: The index/indices from the BAM/CRAM file(s)\n- interval_file: An interval file to be used with the mutect call\nStructure: [ meta, input, input_index, interval_file ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "mutect2_vcf": { - "type": "list", - "description": "List of compressed vcf files to be used to make the gendb workspace", - "pattern": "[ *.vcf.gz ]" - } - }, - { - "mutect2_index": { - "type": "list", - "description": "List of indexes of mutect2_vcf files", - "pattern": "[ *vcf.gz.tbi ]" - } - }, - { - "mutect2_stats": { - "type": "list", - "description": "List of stats files that pair with mutect2_vcf files", - "pattern": "[ *vcf.gz.stats ]" - } - }, - { - "genomicsdb": { - "type": "directory", - "description": "Directory containing the files that compose the genomicsdb workspace.", - "pattern": "path/name_of_workspace" - } - }, - { - "pon_vcf": { - "type": "file", - "description": "Panel of normal as compressed vcf file", - "pattern": "*.vcf.gz" - } - }, - { - "pon_index": { - "type": "file", - "description": "Index of pon_vcf file", - "pattern": "*vcf.gz.tbi" - } - } - ], - "authors": ["@GCJMackenzie"] - } - }, - { - "name": "bam_dedup_stats_samtools_umitools", - "path": "subworkflows/nf-core/bam_dedup_stats_samtools_umitools/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bam_dedup_stats_samtools_umitools", - "description": "UMI-tools dedup, index BAM file and run samtools stats, flagstat and idxstats", - "keywords": ["umi", "dedup", "index", "bam", "sam", "cram"], - "modules": [ - "umitools/dedup", - "samtools/index", - "samtools/stats", - "samtools/idxstats", - "samtools/flagstat" - ], - "input": [ - { - "ch_bam_bai": { - "description": "input BAM file\nStructure: [ val(meta), path(bam), path(bai) ]\n" - } - }, - { - "val_get_dedup_stats": { - "type": "boolean", - "description": "Generate output stats when running \"umi_tools dedup\"\n" - } - } - ], - "output": [ - { - "bam": { - "description": "Umi deduplicated BAM/SAM file\nStructure: [ val(meta), path(bam) ]\n" - } - }, - { - "bai": { - "description": "Umi deduplicated BAM/SAM samtools index\nStructure: [ val(meta), path(bai) ]\n" - } - }, - { - "csi": { - "description": "CSI samtools index\nStructure: [ val(meta), path(csi) ]\n" - } - }, - { - "stats": { - "description": "File containing samtools stats output\nStructure: [ val(meta), path(stats) ]\n" - } - }, - { - "flagstat": { - "description": "File containing samtools flagstat output\nStructure: [ val(meta), path(flagstat) ]\n" - } - }, - { - "idxstats": { - "description": "File containing samtools idxstats output\nStructure: [ val(meta), path(idxstats) ]\n" - } - }, - { - "versions": { - "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" - } - } - ], - "authors": ["@drpatelh", "@KamilMaliszArdigen"] - }, - "pipelines": [ - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "bam_docounts_contamination_angsd", - "path": "subworkflows/nf-core/bam_docounts_contamination_angsd/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bam_docounts_contamination_angsd", - "description": "Calculate contamination of the X-chromosome with ANGSD", - "keywords": ["angsd", "bam", "contamination", "docounts"], - "modules": ["angsd/docounts", "angsd/contamination"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM or CRAM file", - "pattern": "*.{bam,cram}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM/SAM samtools index", - "pattern": "*.{bai,csi}" - } - }, - { - "hapmap_file": { - "type": "file", - "description": "Hapmap file" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\n" - } - }, - { - "txt": { - "type": "file", - "description": "Contamination estimation file", - "pattern": "*.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@scarlhoff"] - } - }, - { - "name": "bam_markduplicates_picard", - "path": "subworkflows/nf-core/bam_markduplicates_picard/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bam_markduplicates_picard", - "description": "Picard MarkDuplicates, index BAM file and run samtools stats, flagstat and idxstats", - "keywords": ["markduplicates", "bam", "sam", "cram"], - "modules": [ - "picard/markduplicates", - "samtools/index", - "samtools/stats", - "samtools/idxstats", - "samtools/flagstat" - ], - "input": [ - { - "ch_bam": { - "description": "BAM/CRAM/SAM file\nStructure: [ val(meta), path(bam) ]\n" - } - }, - { - "ch_fasta": { - "description": "Reference genome fasta file\nStructure: [ path(fasta) ]\n" - } - }, - { - "ch_fasta": { - "description": "Index of the reference genome fasta file\nStructure: [ path(fai) ]\n" - } - } - ], - "output": [ - { - "bam": { - "description": "processed BAM/CRAM/SAM file\nStructure: [ val(meta), path(bam) ]\n" - } - }, - { - "bai": { - "description": "BAM/CRAM/SAM samtools index\nStructure: [ val(meta), path(bai) ]\n" - } - }, - { - "csi": { - "description": "CSI samtools index\nStructure: [ val(meta), path(csi) ]\n" - } - }, - { - "stats": { - "description": "File containing samtools stats output\nStructure: [ val(meta), path(stats) ]\n" - } - }, - { - "flagstat": { - "description": "File containing samtools flagstat output\nStructure: [ val(meta), path(flagstat) ]\n" - } - }, - { - "idxstats": { - "description": "File containing samtools idxstats output\nStructure: [ val(meta), path(idxstats) ]\n" - } - }, - { - "versions": { - "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" - } - } - ], - "authors": ["@dmarron", "@drpatelh"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bam_markduplicates_samtools", - "path": "subworkflows/nf-core/bam_markduplicates_samtools/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bam_markduplicates_samtools", - "description": "Samtools markduplicate SAM/BAM/CRAM file", - "keywords": ["markdup", "bam", "sam", "cram"], - "modules": ["samtools/collate", "samtools/fixmate", "samtools/sort", "samtools/markdup"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test' ]`\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "fasta": { - "type": "file", - "description": "FASTA file", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. `[ id:'test' ]`\n" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted and markduplicate BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@priyanka-surana"] - } - }, - { - "name": "bam_ngscheckmate", - "path": "subworkflows/nf-core/bam_ngscheckmate/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bam_ngscheckmate", - "description": "Take a set of bam files and run NGSCheckMate to determine whether samples match with each other, using a set of SNPs.", - "keywords": ["ngscheckmate", "qc", "bam", "snp"], - "modules": ["bcftools/mpileup", "ngscheckmate/ncm"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM files for each sample", - "pattern": "*.{bam}" - } - }, - { - "snp_bed": { - "type": "file", - "description": "BED file containing the SNPs to analyse. NGSCheckMate provides some default ones for hg19/hg38.", - "pattern": "*.{bed}" - } - }, - { - "fasta": { - "type": "file", - "description": "fasta file for the genome", - "pattern": "*.{fasta}" - } - } - ], - "output": [ - { - "pdf": { - "type": "file", - "description": "A pdf containing a dendrogram showing how the samples match up", - "pattern": "*.{pdf}" - } - }, - { - "corr_matrix": { - "type": "file", - "description": "A text file containing the correlation matrix between each sample", - "pattern": "*corr_matrix.txt" - } - }, - { - "matched": { - "type": "file", - "description": "A txt file containing only the samples that match with each other", - "pattern": "*matched.txt" - } - }, - { - "all": { - "type": "file", - "description": "A txt file containing all the sample comparisons, whether they match or not", - "pattern": "*all.txt" - } - }, - { - "vcf": { - "type": "file", - "description": "vcf files for each sample giving the SNP calls", - "pattern": "*.vcf" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@SPPearce"] - } - }, - { - "name": "bam_qc_picard", - "path": "subworkflows/nf-core/bam_qc_picard/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bam_qc", - "description": "Produces comprehensive statistics from BAM file", - "keywords": ["statistics", "counts", "hs_metrics", "wgs_metrics", "bam", "sam", "cram"], - "modules": ["picard/collectmultiplemetrics", "picard/collectwgsmetrics", "picard/collecthsmetrics"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM/CRAM/SAM file index", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "bait_intervals": { - "type": "optional file", - "description": "An interval list or bed file that contains the locations of the baits used.", - "pattern": "baits.{interval_list,bed,bed.gz}" - } - }, - { - "target_intervals": { - "type": "optional file", - "description": "An interval list or bed file that contains the locations of the targets.", - "pattern": "targets.{interval_list,bed,bed.gz}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta": { - "type": "optional file", - "description": "Reference fasta file", - "pattern": "*.{fasta,fa,fna}" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta_fai": { - "type": "optional file", - "description": "Reference fasta file index", - "pattern": "*.{fasta,fa,fna}.fai" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" - } - }, - { - "fasta_dict": { - "type": "optional file", - "description": "Reference fasta sequence dictionary", - "pattern": "*.{dict}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "coverage_metrics": { - "type": "file", - "description": "Alignment metrics files generated by picard CollectHsMetrics or CollectWgsMetrics", - "pattern": "*_metrics.txt" - } - }, - { - "multiple_metrics": { - "type": "file", - "description": "Alignment metrics files generated by picard CollectMultipleMetrics", - "pattern": "*_{metrics}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "bam_rseqc", - "path": "subworkflows/nf-core/bam_rseqc/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bam_rseqc", - "description": "Subworkflow to run multiple commands in the RSeqC package", - "keywords": [ - "rnaseq", - "experiment", - "inferexperiment", - "bamstat", - "innerdistance", - "junctionannotation", - "junctionsaturation", - "readdistribution", - "readduplication", - "tin" - ], - "modules": ["rseqc"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file to calculate statistics", - "pattern": "*.{bam}" - } - }, - { - "bai": { - "type": "file", - "description": "Index for input BAM file", - "pattern": "*.{bai}" - } - }, - { - "bed": { - "type": "file", - "description": "BED file for the reference gene model", - "pattern": "*.{bed}" - } - }, - { - "rseqc_modules": { - "type": "list", - "description": "List of rseqc modules to run\ne.g. [ 'bam_stat', 'infer_experiment' ]\n" - } - } - ], - "output": [ - { - "bamstat_txt": { - "type": "file", - "description": "bam statistics report", - "pattern": "*.bam_stat.txt" - } - }, - { - "innerdistance_distance": { - "type": "file", - "description": "the inner distances", - "pattern": "*.inner_distance.txt" - } - }, - { - "innerdistance_freq": { - "type": "file", - "description": "frequencies of different insert sizes", - "pattern": "*.inner_distance_freq.txt" - } - }, - { - "innerdistance_mean": { - "type": "file", - "description": "mean/median values of inner distances", - "pattern": "*.inner_distance_mean.txt" - } - }, - { - "innerdistance_pdf": { - "type": "file", - "description": "distribution plot of inner distances", - "pattern": "*.inner_distance_plot.pdf" - } - }, - { - "innerdistance_rscript": { - "type": "file", - "description": "script to reproduce the plot", - "pattern": "*.inner_distance_plot.R" - } - }, - { - "inferexperiment_txt": { - "type": "file", - "description": "infer_experiment results report", - "pattern": "*.infer_experiment.txt" - } - }, - { - "junctionannotation_bed": { - "type": "file", - "description": "bed file of annotated junctions", - "pattern": "*.junction.bed" - } - }, - { - "junctionannotation_interact_bed": { - "type": "file", - "description": "Interact bed file", - "pattern": "*.Interact.bed" - } - }, - { - "junctionannotation_xls": { - "type": "file", - "description": "xls file with junction information", - "pattern": "*.xls" - } - }, - { - "junctionannotation_pdf": { - "type": "file", - "description": "junction plot", - "pattern": "*.junction.pdf" - } - }, - { - "junctionannotation_events_pdf": { - "type": "file", - "description": "events plot", - "pattern": "*.events.pdf" - } - }, - { - "junctionannotation_rscript": { - "type": "file", - "description": "Rscript to reproduce the plots", - "pattern": "*.r" - } - }, - { - "junctionannotation_log": { - "type": "file", - "description": "Log file generated by tool", - "pattern": "*.log" - } - }, - { - "junctionsaturation_pdf": { - "type": "file", - "description": "Junction saturation report", - "pattern": "*.pdf" - } - }, - { - "junctionsaturation_rscript": { - "type": "file", - "description": "Junction saturation R-script", - "pattern": "*.r" - } - }, - { - "readdistribution_txt": { - "type": "file", - "description": "the read distribution report", - "pattern": "*.read_distribution.txt" - } - }, - { - "readduplication_seq_xls": { - "type": "file", - "description": "Read duplication rate determined from mapping position of read", - "pattern": "*seq.DupRate.xls" - } - }, - { - "readduplication_pos_xls": { - "type": "file", - "description": "Read duplication rate determined from sequence of read", - "pattern": "*pos.DupRate.xls" - } - }, - { - "readduplication_pdf": { - "type": "file", - "description": "plot of duplication rate", - "pattern": "*.pdf" - } - }, - { - "readduplication_rscript": { - "type": "file", - "description": "script to reproduce the plot", - "pattern": "*.R" - } - }, - { - "tin_txt": { - "type": "file", - "description": "TXT file containing tin.py results summary", - "pattern": "*.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@kevinmenden"] - }, - "pipelines": [ - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "bam_sort_stats_samtools", - "path": "subworkflows/nf-core/bam_sort_stats_samtools/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bam_sort_stats_samtools", - "description": "Sort SAM/BAM/CRAM file", - "keywords": ["sort", "bam", "sam", "cram"], - "modules": [ - "samtools/sort", - "samtools/index", - "samtools/stats", - "samtools/idxstats", - "samtools/flagstat" - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome fasta file", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "crai": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "stats": { - "type": "file", - "description": "File containing samtools stats output", - "pattern": "*.{stats}" - } - }, - { - "flagstat": { - "type": "file", - "description": "File containing samtools flagstat output", - "pattern": "*.{flagstat}" - } - }, - { - "idxstats": { - "type": "file", - "description": "File containing samtools idxstats output", - "pattern": "*.{idxstats}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@ewels"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bam_split_by_region", - "path": "subworkflows/nf-core/bam_split_by_region/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bam_split_by_region", - "description": "Split the reads in the input bam by specified genomic region.", - "keywords": ["split", "bam", "sam", "cram", "index"], - "modules": ["samtools/view", "samtools/index"], - "input": [ - { - "ch_bam": { - "description": "The input channel of this subworkflow containing:\n- meta: Groovy Map containing sample information => doesn't have a field called 'genomic_region'\n- bam: BAM/CRAM/SAM file\n- bai: Index for BAM/CRAM/SAM file\n- regions_file: A file containing the genomic regions used to separate the reads in the\n input bam. This should be a BED or TSV file containing either a single\n column of chromosome names, two columns (chromosome name and position),\n or three columns (chromosome name, start position, and end position).\nStructure: [ val(meta), path(bam), path(bai), path(regions_file) ]\n" - } - } - ], - "output": [ - { - "bam_bai": { - "description": "BAM/CRAM/SAM file, the meta contains a new 'genomic_region' field with the included regions\nStructure: [ val(meta), path(bam), path(bai) ]\n" - } - }, - { - "versions": { - "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" - } - } - ], - "authors": ["@TCLamnidis"] - } - }, - { - "name": "bam_stats_samtools", - "path": "subworkflows/nf-core/bam_stats_samtools/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bam_stats_samtools", - "description": "Produces comprehensive statistics from SAM/BAM/CRAM file", - "keywords": ["statistics", "counts", "bam", "sam", "cram"], - "modules": ["samtools/stats", "samtools/idxstats", "samtools/flagstat"], - "input": [ - { - "ch_bam_bai": { - "description": "The input channel containing the BAM/CRAM and it's index\nStructure: [ val(meta), path(bam), path(bai) ]\n" - } - }, - { - "ch_fasta": { - "description": "Reference genome fasta file\nStructure: [ path(fasta) ]\n" - } - } - ], - "output": [ - { - "stats": { - "description": "File containing samtools stats output\nStructure: [ val(meta), path(stats) ]\n" - } - }, - { - "flagstat": { - "description": "File containing samtools flagstat output\nStructure: [ val(meta), path(flagstat) ]\n" - } - }, - { - "idxstats": { - "description": "File containing samtools idxstats output\nStructure: [ val(meta), path(idxstats)]\n" - } - }, - { - "versions": { - "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" - } - } - ], - "authors": ["@drpatelh"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "callingcards", - "version": "dev" - }, - { - "name": "circdna", - "version": "1.0.4" - }, - { - "name": "circrna", - "version": "dev" - }, - { - "name": "cutandrun", - "version": "3.1" - }, - { - "name": "metatdenovo", - "version": "dev" - }, - { - "name": "nascent", - "version": "2.1.1" - }, - { - "name": "rnaseq", - "version": "3.12.0" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "bam_tumor_normal_somatic_variant_calling_gatk", - "path": "subworkflows/nf-core/bam_tumor_normal_somatic_variant_calling_gatk/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bam_tumor_normal_somatic_variant_calling_gatk", - "description": "Perform variant calling on a paired tumor normal set of samples using mutect2 tumor normal mode.\nf1r2 output of mutect2 is run through learnreadorientationmodel to get the artifact priors.\nRun the input bam files through getpileupsummarries and then calculatecontamination to get the contamination and segmentation tables.\nFilter the mutect2 output vcf using filtermutectcalls, artifact priors and the contamination & segmentation tables for additional filtering.\n", - "keywords": [ - "gatk4", - "mutect2", - "learnreadorientationmodel", - "getpileupsummaries", - "calculatecontamination", - "filtermutectcalls", - "variant_calling", - "tumor_only", - "filtered_vcf" - ], - "modules": [ - "gatk4/mutect2", - "gatk4/learnreadorientationmodel", - "gatk4/getpileupsummaries", - "gatk4/calculatecontamination", - "gatk4/filtermutectcalls" - ], - "input": [ - { - "ch_input": { - "description": "The tumor and normal BAM files, in that order, also able to take CRAM as an input\nCan contain an optional list of sample headers contained in the normal sample input file.\nStructure: [ val(meta), path(input), path(input_index), val(which_norm) ]\n" - } - }, - { - "ch_fasta": { - "description": "The reference fasta file\nStructure: [ path(fasta) ]\n" - } - }, - { - "ch_fai": { - "description": "Index of reference fasta file\nStructure: [ path(fai) ]\n" - } - }, - { - "ch_dict": { - "description": "GATK sequence dictionary\nStructure: [ path(dict) ]\n" - } - }, - { - "ch_germline_resource": { - "description": "Population vcf of germline sequencing, containing allele fractions.\nStructure: [ path(germline_resources) ]\n" - } - }, - { - "ch_germline_resource_tbi": { - "description": "Index file for the germline resource.\nStructure: [ path(germline_resources_tbi) ]\n" - } - }, - { - "ch_panel_of_normals": { - "description": "Vcf file to be used as a panel of normals.\nStructure: [ path(panel_of_normals) ]\n" - } - }, - { - "ch_panel_of_normals_tbi": { - "description": "Index for the panel of normals.\nStructure: [ path(panel_of_normals_tbi) ]\n" - } - }, - { - "ch_interval_file": { - "description": "File containing intervals.\nStructure: [ path(interval_files) ]\n" - } - } - ], - "output": [ - { - "versions": { - "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" - } - }, - { - "mutect2_vcf": { - "description": "Compressed vcf file to be used for variant_calling.\nStructure: [ val(meta), path(vcf) ]\n" - } - }, - { - "mutect2_tbi": { - "description": "Indexes of the mutect2_vcf file\nStructure: [ val(meta), path(tbi) ]\n" - } - }, - { - "mutect2_stats": { - "description": "Stats files for the mutect2 vcf\nStructure: [ val(meta), path(stats) ]\n" - } - }, - { - "mutect2_f1r2": { - "description": "File containing information to be passed to LearnReadOrientationModel.\nStructure: [ val(meta), path(f1r2) ]\n" - } - }, - { - "artifact_priors": { - "description": "File containing artifact-priors to be used by filtermutectcalls.\nStructure: [ val(meta), path(artifact_priors) ]\n" - } - }, - { - "pileup_table_tumor": { - "description": "File containing the tumor pileup summary table, kept separate as calculatecontamination needs them individually specified.\nStructure: [ val(meta), path(table) ]\n" - } - }, - { - "pileup_table_normal": { - "description": "File containing the normal pileup summary table, kept separate as calculatecontamination needs them individually specified.\nStructure: [ val(meta), path(table) ]\n" - } - }, - { - "contamination_table": { - "description": "File containing the contamination table.\nStructure: [ val(meta), path(table) ]\n" - } - }, - { - "segmentation_table": { - "description": "Output table containing segmentation of tumor minor allele fractions.\nStructure: [ val(meta), path(table) ]\n" - } - }, - { - "filtered_vcf": { - "description": "File containing filtered mutect2 calls.\nStructure: [ val(meta), path(vcf) ]\n" - } - }, - { - "filtered_tbi": { - "description": "Tbi file that pairs with filtered vcf.\nStructure: [ val(meta), path(tbi) ]\n" - } - }, - { - "filtered_stats": { - "description": "File containing statistics of the filtermutectcalls run.\nStructure: [ val(meta), path(stats) ]\n" - } - } - ], - "authors": ["@GCJMackenzie"] - } - }, - { - "name": "bam_tumor_only_somatic_variant_calling_gatk", - "path": "subworkflows/nf-core/bam_tumor_only_somatic_variant_calling_gatk/meta.yml", - "type": "subworkflow", - "meta": { - "name": "gatk_tumor_only_somatic_variant_calling", - "description": "Perform variant calling on a single tumor sample using mutect2 tumor only mode.\nRun the input bam file through getpileupsummarries and then calculatecontaminationto get the contamination and segmentation tables.\nFilter the mutect2 output vcf using filtermutectcalls and the contamination & segmentation tables for additional filtering.\n", - "keywords": [ - "gatk4", - "mutect2", - "getpileupsummaries", - "calculatecontamination", - "filtermutectcalls", - "variant_calling", - "tumor_only", - "filtered_vcf" - ], - "modules": [ - "gatk4/mutect2", - "gatk4/getpileupsummaries", - "gatk4/calculatecontamination", - "gatk4/filtermutectcalls" - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "input": { - "type": "list", - "description": "list containing one BAM file, also able to take CRAM as an input", - "pattern": "[ *.{bam/cram} ]" - } - }, - { - "input_index": { - "type": "list", - "description": "list containing one BAM file indexe, also able to take CRAM index as an input", - "pattern": "[ *.{bam.bai/cram.crai} ]" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "fai": { - "type": "file", - "description": "Index of reference fasta file", - "pattern": "*.fasta.fai" - } - }, - { - "dict": { - "type": "file", - "description": "GATK sequence dictionary", - "pattern": "*.dict" - } - }, - { - "germline_resource": { - "type": "file", - "description": "Population vcf of germline sequencing, containing allele fractions.", - "pattern": "*.vcf.gz" - } - }, - { - "germline_resource_tbi": { - "type": "file", - "description": "Index file for the germline resource.", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "panel_of_normals": { - "type": "file", - "description": "vcf file to be used as a panel of normals.", - "pattern": "*.vcf.gz" - } - }, - { - "panel_of_normals_tbi": { - "type": "file", - "description": "Index for the panel of normals.", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "interval_file": { - "type": "file", - "description": "File containing intervals.", - "pattern": "*.interval_list" - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "mutect2_vcf": { - "type": "file", - "description": "Compressed vcf file to be used for variant_calling.", - "pattern": "[ *.vcf.gz ]" - } - }, - { - "mutect2_tbi": { - "type": "file", - "description": "Indexes of the mutect2_vcf file", - "pattern": "[ *vcf.gz.tbi ]" - } - }, - { - "mutect2_stats": { - "type": "file", - "description": "Stats files for the mutect2 vcf", - "pattern": "[ *vcf.gz.stats ]" - } - }, - { - "pileup_table": { - "type": "file", - "description": "File containing the pileup summary table.", - "pattern": "*.pileups.table" - } - }, - { - "contamination_table": { - "type": "file", - "description": "File containing the contamination table.", - "pattern": "*.contamination.table" - } - }, - { - "segmentation_table": { - "type": "file", - "description": "Output table containing segmentation of tumor minor allele fractions.", - "pattern": "*.segmentation.table" - } - }, - { - "filtered_vcf": { - "type": "file", - "description": "file containing filtered mutect2 calls.", - "pattern": "*.vcf.gz" - } - }, - { - "filtered_tbi": { - "type": "file", - "description": "tbi file that pairs with filtered vcf.", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "filtered_stats": { - "type": "file", - "description": "file containing statistics of the filtermutectcalls run.", - "pattern": "*.filteringStats.tsv" - } - } - ], - "authors": ["@GCJMackenzie"] - } - }, - { - "name": "bam_variant_calling_sort_freebayes_bcftools", - "path": "subworkflows/nf-core/bam_variant_calling_sort_freebayes_bcftools/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bam_variant_calling_sort_freebayes_bcftools", - "description": "Call variants using freebayes, then sort and index", - "keywords": ["variant", "sort", "index", "bam", "cram", "vcf"], - "modules": ["freebayes", "bcftools/sort", "bcftools/index"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "input1": { - "type": "file", - "description": "BAM/CRAM/SAM file;", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "index1": { - "type": "file", - "description": "Index BAI/CRAI/CSI file", - "pattern": "*.{bai,crai,csi}" - } - }, - { - "input2": { - "type": "file", - "description": "BAM/CRAM/SAM file; used to run variant calling with pair (normal vs tumor)", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "index2": { - "type": "file", - "description": "Index BAI/CRAI/CSI file", - "pattern": "*.{bai,crai,csi}" - } - }, - { - "bed": { - "type": "file", - "description": "Optional - Limit analysis to targets listed in this BED-format FILE.", - "pattern": "*.bed" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "reference fasta file", - "pattern": ".{fa,fa.gz,fasta,fasta.gz}" - } - }, - { - "fai": { - "type": "file", - "description": "reference fasta file index", - "pattern": "*.{fa,fasta}.fai" - } - }, - { - "samples": { - "type": "file", - "description": "Optional - Limit analysis to samples listed (one per line) in the FILE.", - "pattern": "*.txt" - } - }, - { - "populations": { - "type": "file", - "description": "Optional - Each line of FILE should list a sample and a population which it is part of.", - "pattern": "*.txt" - } - }, - { - "cnv": { - "type": "file", - "description": "A copy number map BED file, which has either a sample-level ploidy:\nsample_name copy_number\nor a region-specific format:\nseq_name start end sample_name copy_number\n", - "pattern": "*.bed" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "vcf": { - "type": "file", - "description": "Sorted VCF file", - "pattern": "*.{vcf.gz}" - } - }, - { - "csi": { - "type": "file", - "description": "Default VCF file index file", - "pattern": "*.csi" - } - }, - { - "tbi": { - "type": "file", - "description": "Alternative VCF file index file (activated with -t parameter)", - "pattern": "*.tbi" - } - } - ], - "authors": ["@priyanka-surana", "@FriederikeHanssen", "@ramprasadn"] - } - }, - { - "name": "bam_variant_demix_boot_freyja", - "path": "subworkflows/nf-core/bam_variant_demix_boot_freyja/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bam_variant_demix_boot_freyja", - "description": "Recover relative lineage abundances from mixed SARS-CoV-2 samples from a sequencing dataset (BAM aligned to the Hu-1 reference)", - "keywords": ["bam", "variants", "cram"], - "modules": ["freyja/variants", "freyja/demix", "freyja/update", "freyja/boot"], - "input": [ - { - "ch_bam": { - "type": "file", - "description": "Structure: [ val(meta), path(bam) ]\nGroovy Map containing sample information e.g. [ id:'test', single_end:false ] and sorted BAM file\n" - } - }, - { - "ch_fasta": { - "type": "file", - "description": "Structure: [ val(meta), path(fasta) ]\nGroovy Map containing sample information e.g. [ id:'test', single_end:false ] and the fasta reference used for the sorted BAM file\n" - } - }, - { - "val_repeats": { - "type": "value (int)", - "description": "Number of bootstrap repeats to perform" - } - }, - { - "val_db_name": { - "type": "value (string)", - "description": "Name of the dir where UShER's files will be stored" - } - }, - { - "ch_barcodes": { - "type": "file", - "description": "Structure: path(barcodes)\nFile containing lineage defining barcodes\n" - } - }, - { - "ch_lineages_meta": { - "type": "file", - "description": "Structure: path(lineages_meta)\nFile containing lineage metadata that correspond to barcodes\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "variants": { - "type": "file", - "description": "Structure: [ val(meta), path(variants) ]\nFile containing identified variants in a gff-like format\n" - } - }, - { - "depths": { - "type": "file", - "description": "Structure: [ val(meta), path(variants) ]\nFile containing depth of the variants\n" - } - }, - { - "demix": { - "type": "file", - "description": "Structure: [ val(meta), path(demix) ]\na tsv file that includes the lineages present, their corresponding abundances, and summarization by constellation\n" - } - }, - { - "lineages": { - "type": "file", - "description": "Structure: [ val(meta), path(lineages) ]\na csv file that includes the lineages present and their corresponding abundances\n" - } - }, - { - "summarized": { - "type": "file", - "description": "Structure: [ val(meta), path(lineages) ]\na csv file that includes the lineages present but summarized by constellation and their corresponding abundances\n" - } - }, - { - "barcodes": { - "type": "file", - "description": "path(barcodes) a csv file that includes the lineages present but summarized by constellation and their corresponding abundances" - } - }, - { - "lineages_meta": { - "type": "file", - "description": "path(lineages_meta) a csv file that includes the lineages present but summarized by constellation and their corresponding abundances" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "bcl_demultiplex", - "path": "subworkflows/nf-core/bcl_demultiplex/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bcl_demultiplex", - "description": "Demultiplex Illumina BCL data using bcl-convert or bcl2fastq", - "keywords": ["bcl", "bclconvert", "bcl2fastq", "demultiplex", "fastq"], - "modules": ["bcl2fastq", "bclconvert"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'string', lane: int ]\n" - } - }, - { - "samplesheet": { - "type": "file", - "description": "CSV file containing information about samples to be demultiplexed in Illumina SampleSheet format\n" - } - }, - { - "flowcell": { - "type": "file", - "description": "Directory or tar archive containing Illumina BCL data, sequencer output directory" - } - }, - { - "demultiplexer": { - "type": "string", - "description": "Which demultiplexer to use, bcl2fastq or bclconvert" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "fastq": { - "type": "file", - "description": "Demultiplexed fastq files", - "pattern": "*.fastq.gz" - } - }, - { - "reports": { - "type": "file", - "description": "Demultiplexing reports", - "pattern": "Reports/*" - } - }, - { - "interop": { - "type": "file", - "description": "InterOp files", - "pattern": "InterOp/*" - } - }, - { - "stats": { - "type": "file", - "description": "Demultiplexing statistics (bcl2fastq only)", - "pattern": "Stats/*" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@matthdsm"] - }, - "pipelines": [ - { - "name": "demultiplex", - "version": "1.3.2" - } - ] - }, - { - "name": "bed_scatter_bedtools", - "path": "subworkflows/nf-core/bed_scatter_bedtools/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bed_scatter_bedtools", - "description": "Scatters inputted BED files by the amount specified.\nThe configuration in nextflow.config should be added to your modules.config for the subworkflow to work.\n", - "keywords": ["bed", "scatter", "bedtools"], - "modules": ["bedtools/split"], - "input": [ - { - "ch_bed": { - "description": "The input channel containing the BED file and an integer stating the amount of files it should be split into\nStructure: [ val(meta), path(bed), val(scatter_count) ]\n" - } - } - ], - "output": [ - { - "scattered_beds": { - "description": "One channel entry per scattered BED file (all BED files from the same source are transposed but contain the same meta)\nStructure: [ val(meta), path(bed), val(scatter_count) ]\n" - } - }, - { - "versions": { - "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "bedgraph_bedclip_bedgraphtobigwig", - "path": "subworkflows/nf-core/bedgraph_bedclip_bedgraphtobigwig/meta.yml", - "type": "subworkflow", - "meta": { - "name": "bedgraph_bedclip_bedgraphtobigwig", - "description": "Convert bedgraph to bigwig with clip", - "keywords": ["bedgraph", "bigwig", "clip", "conversion"], - "modules": ["ucsc/bedclip", "ucsc/bedgraphtobigwig"], - "input": [ - { - "bedgraph": { - "type": "file", - "description": "bedGraph file which should be converted", - "pattern": "*.bedGraph" - } - }, - { - "sizes": { - "type": "file", - "description": "File with chromosome sizes", - "pattern": "*.sizes" - } - } - ], - "output": [ - { - "bigwig": { - "type": "file", - "description": "bigWig coverage file relative to genes on the input file", - "pattern": ".bigWig" - } - }, - { - "bedgraph": { - "type": "file", - "description": "bedGraph file after clipping", - "pattern": "*.bedGraph" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@KamilMaliszArdigen"] - }, - "pipelines": [ - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "fasta_binning_concoct", - "path": "subworkflows/nf-core/fasta_binning_concoct/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fasta_binning_concoct", - "description": "Runs the CONCOCT workflow of contig binning", - "keywords": ["concoct", "binning", "metagenomics", "contigs"], - "modules": [ - "concoct/cutupfasta", - "concoct/concoctcoveragetable", - "concoct/concoct", - "concoct/mergecutupclustering", - "concoct/extractfastabins" - ], - "input": [ - { - "ch_fasta": { - "type": "file", - "description": "Structure: [ val(meta), path(fasta)]\nFile containing raw assembled contigs in FASTA format.\n" - } - }, - { - "ch_bam": { - "type": "file", - "description": "Structure: [ val(meta), path(bam), path(bai)]\nBAM and associated index files file representing reads mapped against each\ncontig in ch_fasta. Meta must be identical between ch_fasta and ch_bam entries.\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "coverage_table": { - "type": "file", - "description": "Structure: [ val(meta), path(tsv)]\n(Sub)contig coverage table\n" - } - }, - { - "original_csv": { - "type": "file", - "description": "Structure: [ val(meta), path(csv) ]\nOriginal CONCOCT GT1000 output\n" - } - }, - { - "raw_clustering_csv": { - "type": "file", - "description": "Structure: [ val(meta), path(csv) ]\nCSV containing information which subcontig is assigned to which cluster\n" - } - }, - { - "pca_original": { - "type": "file", - "description": "Structure: [ val(meta), path(csv) ]\nCSV file containing untransformed PCA component values\n" - } - }, - { - "pca_transformed": { - "type": "file", - "description": "Structure: [ val(meta), path(csv) ]\nCSV file transformed PCA component values\n" - } - }, - { - "cluster_table": { - "type": "file", - "description": "Structure: [ val(meta), path(csv) ]\nCSV file containing final cluster assignments of original input contigs\n" - } - }, - { - "bin": { - "type": "file", - "description": "Structure: [ val(meta), path(fasta) ]\nFASTA files containing CONCOCT predicted bin clusters, named numerically\nby CONCOCT cluster ID\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@jfy133"] - }, - "pipelines": [ - { - "name": "mag", - "version": "2.3.2" - } - ] - }, - { - "name": "fasta_clean_fcs", - "path": "subworkflows/nf-core/fasta_clean_fcs/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fasta_clean_fcs", - "description": "Foreign Contamination Screen (FCS) is a tool suite for identifying and removing contaminant sequences in genome assemblies", - "keywords": ["contamination screening", "cleaning", "assemblies", "fasta"], - "modules": ["fcs/fcsadaptor", "fcs/fcsgx"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "assembly": { - "type": "file", - "description": "assembly fasta file", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fcsadaptor_cleaned_assembly": { - "type": "file", - "description": "Cleaned assembly in fasta format", - "pattern": "*.{cleaned_sequences.fa.gz}" - } - }, - { - "fcsadaptor_report": { - "type": "file", - "description": "Report of identified adaptors", - "pattern": "*.{fcs_adaptor_report.txt}" - } - }, - { - "fcsadaptor_log": { - "type": "file", - "description": "Log file", - "pattern": "*.{fcs_adaptor.log}" - } - }, - { - "fcsadaptor_pipeline_args": { - "type": "file", - "description": "Run arguments", - "pattern": "*.{pipeline_args.yaml}" - } - }, - { - "fcsadaptor_skipped_trims": { - "type": "file", - "description": "Skipped trim information", - "pattern": "*.{skipped_trims.jsonl}" - } - }, - { - "fcs_gx_report": { - "type": "file", - "description": "Report containing the contig identifier and recommended action (EXCLUDE, TRIM, FIX, REVIEW)", - "pattern": "*.fcs_gx_report.txt" - } - }, - { - "fcsgx_taxonomy_report": { - "type": "file", - "description": "Report containing the contig identifier and mapped contaminant species", - "pattern": "*.taxonomy.rpt" - } - } - ], - "authors": ["@scorreard"] - } - }, - { - "name": "fasta_index_dna", - "path": "subworkflows/nf-core/fasta_index_dna/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fasta_index_dna", - "description": "Generate aligner index for a reference genome.\nPlease note, this workflow requires input CHANNELS. Input values will cause errors\n", - "keywords": ["fasta", "index", "bowtie2", "bwamem", "bwamem2", "dragmap", "snapaligner"], - "modules": ["bowtie2/build", "bwa/index", "bwamem2/index", "dragmap/hashtable", "snapaligner/index"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome fasta file" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing altliftover information\ne.g. [ id:'test' ]\n" - } - }, - { - "altliftover": { - "type": "file", - "description": "Sam formatted liftover file for the reference genome alt contigs\nSee: https://github.com/lh3/bwa/blob/master/README-alt.md\nDownload from: https://sourceforge.net/projects/bio-bwa/files/bwakit\n" - } - }, - { - "val_aligner": { - "type": "string", - "description": "Aligner to use for alignment", - "enum": ["bowtie2", "bwa", "bwamem2", "dragmap", "snap"] - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "index": { - "type": "file", - "description": "aligner index" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@matthdsm", "@ramprasadn"] - } - }, - { - "name": "fasta_newick_epang_gappa", - "path": "subworkflows/nf-core/fasta_newick_epang_gappa/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fasta_newick_epang_gappa", - "description": "Run phylogenetic placement with a number of query sequences plus a reference alignment and phylogeny. Used in nf-core/phyloplace.", - "keywords": ["phylogenetic placement", "phylogenetics", "alignment", "fasta", "newick"], - "modules": [ - "hmmer/hmmbuild", - "hmmer/hmmalign", - "hmmer/eslalimask", - "hmmer/eslreformat", - "mafft", - "epang/place", - "epang/split", - "gappa/examinegraft", - "gappa/examineassign", - "gappa/examineheattree" - ], - "input": [ - { - "ch_pp_data": { - "type": "map", - "description": "Structure: [\n meta: val(meta),\n data: [\n alignmethod: 'hmmer',\n queryseqfile: path(\"*.faa\"),\n refseqfile: path(\"*.alnfaa\"),\n refphylogeny: path(\"*.newick\"),\n model: \"LG\",\n taxonomy: path(\"*.tsv\")\n ]\n]\n" - } - }, - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "queryseqfile": { - "type": "file", - "description": "Fasta file with query sequences", - "pattern": "*.{faa,fna,fa,fasta,fa,faa.gz,fna.gz,fa.gz,fasta.gz,fa.gz}" - } - }, - { - "refseqfile": { - "type": "file", - "description": "File with reference sequences; aligned unless an hmmfile is provided", - "pattern": "*.{faa,fna,fa,fasta,fa,phy,aln,alnfaa,alnfna,alnfa,mfa,faa.gz,fna.gz,fa.gz,fasta.gz,fa.gz,phy.gz,aln.gz,alnfaa.gz,alnfna.gz,alnfa.gz,mfa.gz}" - } - }, - { - "refphylogeny": { - "type": "file", - "description": "Newick file with reference phylogenetic tree", - "pattern": "*.{newick,tree}" - } - }, - { - "hmmfile": { - "type": "file", - "description": "HMM file to use for alignment; implies that refseqfile is not aligned. Optional.", - "pattern": "*.{hmm,HMM,hmm.gz,HMM.gz}" - } - }, - { - "model": { - "type": "string", - "description": "Phylogenetic model to use in placement, e.g. 'LG+F' or 'GTR+I+F'" - } - }, - { - "alignmethod": { - "type": "string", - "description": "Method used for alignment, 'hmmer' or 'mafft'" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "epang": { - "type": "directory", - "description": "All output from EPA-NG", - "pattern": "*" - } - }, - { - "jplace": { - "type": "file", - "description": "jplace file from EPA-NG", - "pattern": "*.jplace" - } - }, - { - "grafted_phylogeny": { - "type": "file", - "description": "Newick file with query sequences placed in reference tree", - "pattern": "*.newick" - } - }, - { - "taxonomy_profile": { - "type": "file", - "description": "Tab separated file with taxonomy information from classification", - "pattern": "*.tsv" - } - }, - { - "taxonomy_per_query": { - "type": "file", - "description": "Tab separated file with taxonomy information per query from classification", - "pattern": "*.tsv" - } - }, - { - "heattree": { - "type": "file", - "description": "Heattree in SVG format", - "pattern": "*.svg" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@erikrikarddaniel"] - }, - "pipelines": [ - { - "name": "ampliseq", - "version": "2.6.1" - }, - { - "name": "phyloplace", - "version": "1.0.0" - } - ] - }, - { - "name": "fastq_align_bowtie2", - "path": "subworkflows/nf-core/fastq_align_bowtie2/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fastq_align_bowtie2", - "description": "Align reads to a reference genome using bowtie2 then sort with samtools", - "keywords": ["align", "fasta", "genome", "reference"], - "modules": [ - "bowtie2/align", - "samtools/sort", - "samtools/index", - "samtools/stats", - "samtools/idxstats", - "samtools/flagstat" - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ch_reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "ch_index": { - "type": "file", - "description": "Bowtie2 genome index files", - "pattern": "*.ebwt" - } - }, - { - "save_unaligned": { - "type": "boolean", - "description": "Save reads that do not map to the reference (true) or discard them (false)\n(default: false)\n" - } - }, - { - "sort_bam": { - "type": "boolean", - "description": "Save reads that do not map to the reference (true) or discard them (false)\n", - "default": false - } - }, - { - "ch_fasta": { - "type": "file", - "description": "Reference fasta file", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "bam": { - "type": "file", - "description": "Output BAM file containing read alignments", - "pattern": "*.{bam}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "fastq": { - "type": "file", - "description": "Unaligned FastQ files", - "pattern": "*.fastq.gz" - } - }, - { - "log": { - "type": "file", - "description": "Alignment log", - "pattern": "*.log" - } - } - ], - "authors": ["@drpatelh"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "viralrecon", - "version": "2.6.0" - } - ] - }, - { - "name": "fastq_align_bwa", - "path": "subworkflows/nf-core/fastq_align_bwa/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fastq_align_bwa", - "description": "Align reads to a reference genome using bwa then sort with samtools", - "keywords": ["align", "fasta", "genome", "reference"], - "modules": [ - "bwa/align", - "samtools/sort", - "samtools/index", - "samtools/stats", - "samtools/idxstats", - "samtools/flagstat" - ], - "input": [ - { - "ch_reads": { - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\nStructure: [ val(meta), [ path(reads) ] ]\n" - } - }, - { - "ch_index": { - "description": "BWA genome index files\nStructure: [ val(meta2), path(index) ]\n" - } - }, - { - "val_sort_bam": { - "type": "boolean", - "description": "If true bwa modules sort resulting bam files", - "pattern": "true|false" - } - }, - { - "ch_fasta": { - "type": "file", - "description": "Optional reference fasta file. This only needs to be given if val_sort_bam = true\nStructure: [ path(fasta) ]\n" - } - } - ], - "output": [ - { - "bam_orig": { - "description": "BAM file produced by bwa\nStructure: [ val(meta), path(bam) ]\n" - } - }, - { - "bam": { - "description": "BAM file ordered by samtools\nStructure: [ val(meta), path(bam) ]\n" - } - }, - { - "bai": { - "description": "BAI index of the ordered BAM file\nStructure: [ val(meta), path(bai) ]\n" - } - }, - { - "csi": { - "description": "CSI index of the ordered BAM file\nStructure: [ val(meta), path(csi) ]\n" - } - }, - { - "stats": { - "description": "File containing samtools stats output\nStructure: [ val(meta), path(stats) ]\n" - } - }, - { - "flagstat": { - "description": "File containing samtools flagstat output\nStructure: [ val(meta), path(flagstat) ]\n" - } - }, - { - "idxstats": { - "description": "File containing samtools idxstats output\nStructure: [ val(meta), path(idxstats) ]\n" - } - }, - { - "versions": { - "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" - } - } - ], - "authors": ["@JoseEspinosa"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - } - ] - }, - { - "name": "fastq_align_bwaaln", - "path": "subworkflows/nf-core/fastq_align_bwaaln/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fastq_align_bwaaln_samtools", - "description": "Align FASTQ files against reference genome with the bwa aln short-read aligner producing a sorted and indexed BAM files", - "keywords": ["bwa", "aln", "fasta", "bwa", "align", "map"], - "modules": ["bwa/aln", "bwa/sampe", "bwa/samse", "samtools/index"], - "input": [ - { - "ch_reads": { - "description": "Structure: [ val(meta), path(fastq) ]\nOne or two FASTQ files for single or paired end data respectively.\nNote: the subworkflow adds a new meta ID `meta.id_index` that _must_\nbe used in `prefix` to ensure unique file names. See the associated\nnextflow.config file.\n" - } - }, - { - "ch_index": { - "description": "Structure: [ val(meta), path(index) ]\nA directory containing bwa aln reference indices as from `bwa index`\nContains files ending in extensions such as .amb, .ann, .bwt etc.\n" - } - } - ], - "output": [ - { - "bam": { - "description": "Structure: [ val(meta), path(bam) ]\nSorted BAM/CRAM/SAM file\nNote: the subworkflow adds a new meta ID `meta.id_index` that _must_\nbe used in `prefix` to ensure unique file names. See the associated\nnextflow.config file.\n" - } - }, - { - "bai": { - "description": "Structure: [ val(meta), path(bai) ]\nBAM/CRAM/SAM samtools index file\n" - } - }, - { - "csi": { - "description": "Structure: [ val(meta), path(csi) ]\nBAM/CRAM/SAM samtools index file for larger references\n" - } - }, - { - "versions": { - "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" - } - } - ], - "authors": ["@jfy133"] - } - }, - { - "name": "fastq_align_chromap", - "path": "subworkflows/nf-core/fastq_align_chromap/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fastq_align_chromap", - "description": "Align high throughput chromatin profiles using Chromap then sort with samtools", - "keywords": [ - "align", - "fasta", - "genome", - "reference", - "chromatin profiles", - "chip-seq", - "atac-seq", - "hic" - ], - "modules": [ - "chromap/chromap", - "samtools/sort", - "samtools/index", - "samtools/stats", - "samtools/idxstats", - "samtools/flagstat" - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "ch_reads": { - "type": "file", - "description": "Structure: [val(meta), path(reads)]\nList of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "ch_index": { - "type": "file", - "description": "Structure: [val(meta2), path(index)]\nChromap genome index files\n", - "pattern": "*.index" - } - }, - { - "ch_fasta": { - "type": "file", - "description": "Structure: [val(meta2), path(fasta)]\nReference fasta file\n", - "pattern": "*.{fasta,fa}" - } - }, - { - "ch_barcodes": { - "type": "file", - "description": "Structure: [path(barcodes)]\nCell barcode files\n" - } - }, - { - "ch_whitelist": { - "type": "file", - "description": "Structure: [path(whitelist)]\nCell barcode whitelist file\n" - } - }, - { - "ch_chr_order": { - "type": "file", - "description": "Structure: [path(chr_order)]\nCustom chromosome order\n" - } - }, - { - "ch_pairs_chr_order": { - "type": "file", - "description": "Structure: [path(pairs_chr_order)]\nNatural chromosome order for pairs flipping\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index (currently only for snapaligner)", - "pattern": "*.bai" - } - }, - { - "stats": { - "type": "file", - "description": "File containing samtools stats output", - "pattern": "*.{stats}" - } - }, - { - "flagstat": { - "type": "file", - "description": "File containing samtools flagstat output", - "pattern": "*.{flagstat}" - } - }, - { - "idxstats": { - "type": "file", - "description": "File containing samtools idxstats output", - "pattern": "*.{idxstats}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@JoseEspinosa"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - } - ] - }, - { - "name": "fastq_align_dna", - "path": "subworkflows/nf-core/fastq_align_dna/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fastq_align_dna", - "description": "Align fastq files to a reference genome", - "keywords": ["fastq", "bam", "sort", "bwamem", "bwamem2", "dragmap", "snapaligner"], - "modules": ["bowtie2/align", "bwa/mem", "bwamem2/mem", "dragmap/align", "snapaligner/align"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "meta2": { - "type": "map", - "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" - } - }, - { - "index": { - "type": "file", - "description": "Aligner genome index files", - "pattern": "Directory containing aligner index" - } - }, - { - "aligner": { - "type": "string", - "description": "Aligner to use for alignment", - "enum": ["bowtie2", "bwa", "bwamem2", "dragmap", "snap"] - } - }, - { - "sort_bam": { - "type": "boolean", - "description": "sort output" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "BAM file", - "pattern": "*.bam" - } - }, - { - "bai": { - "type": "file", - "description": "BAM index (currently only for snapaligner)", - "pattern": "*.bai" - } - }, - { - "report": { - "type": "file", - "description": "Alignment report (currently only for dragmap)", - "pattern": "*.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@matthdsm"] - } - }, - { - "name": "fastq_align_hisat2", - "path": "subworkflows/nf-core/fastq_align_hisat2/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fastq_align_hisat2", - "description": "Align reads to a reference genome using hisat2 then sort with samtools", - "keywords": ["align", "sort", "rnaseq", "genome", "fastq", "bam", "sam", "cram"], - "modules": ["hisat2/align", "samtools/stats", "samtools/idxstats", "samtools/flagstat"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "index": { - "type": "file", - "description": "HISAT2 genome index file", - "pattern": "*.ht2" - } - }, - { - "splicesites": { - "type": "file", - "description": "Splices sites in gtf file", - "pattern": "*.{txt}" - } - }, - { - "fasta": { - "type": "file", - "description": "Reference genome fasta file", - "pattern": "*.{fasta,fa}" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bam": { - "type": "file", - "description": "Output BAM file containing read alignments", - "pattern": "*.{bam}" - } - }, - { - "summary": { - "type": "file", - "description": "Aligment log", - "pattern": "*.log" - } - }, - { - "fastq": { - "type": "file", - "description": "Optional output FASTQ file containing unaligned reads", - "pattern": ".fastq.gz" - } - }, - { - "bam": { - "type": "file", - "description": "Sorted BAM/CRAM/SAM file", - "pattern": "*.{bam,cram,sam}" - } - }, - { - "bai": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "crai": { - "type": "file", - "description": "BAM/CRAM/SAM index file", - "pattern": "*.{bai,crai,sai}" - } - }, - { - "stats": { - "type": "file", - "description": "File containing samtools stats output", - "pattern": "*.{stats}" - } - }, - { - "flagstat": { - "type": "file", - "description": "File containing samtools flagstat output", - "pattern": "*.{flagstat}" - } - }, - { - "idxstats": { - "type": "file", - "description": "File containing samtools idxstats output", - "pattern": "*.{idxstats}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@priyanka-surana"] - }, - "pipelines": [ - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "fastq_align_star", - "path": "subworkflows/nf-core/fastq_align_star/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fastq_align_star", - "description": "Align reads to a reference genome using bowtie2 then sort with samtools", - "keywords": ["align", "fasta", "genome", "reference"], - "modules": [ - "star/align", - "samtools/sort", - "samtools/index", - "samtools/stats", - "samtools/idxstats", - "samtools/flagstat" - ], - "input": [ - { - "ch_reads": { - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\nStructure: [ val(meta), [ path(reads) ] ]\n" - } - }, - { - "ch_index": { - "type": "directory", - "description": "STAR genome index", - "pattern": "star" - } - }, - { - "ch_gtf": { - "type": "file", - "description": "GTF file used to set the splice junctions with the --sjdbGTFfile flag\n", - "pattern": "*.gtf" - } - }, - { - "val_star_ignore_sjdbgtf": { - "type": "boolean", - "description": "If true the --sjdbGTFfile flag is set\n", - "pattern": "true|false" - } - }, - { - "val_seq_platform": { - "type": "string", - "description": "Sequencing platform to be added to the bam header using the --outSAMattrRGline flag\n" - } - }, - { - "val_seq_center": { - "type": "string", - "description": "Sequencing center to be added to the bam header using the --outSAMattrRGline flag\n" - } - }, - { - "ch_fasta": { - "type": "file", - "description": "Reference genome fasta file", - "pattern": "*.{fasta,fa,fna}" - } - } - ], - "output": [ - { - "orig_bam": { - "description": "Output BAM file containing read alignments\nStructure: [ val(meta), path(bam) ]\n" - } - }, - { - "log_final": { - "description": "STAR final log file\nStructure: [ val(meta), path(log_final) ]\n" - } - }, - { - "log_out": { - "description": "STAR log out file\nStructure: [ val(meta), path(log_out) ]\n" - } - }, - { - "log_progress": { - "description": "STAR log progress file\nStructure: [ val(meta), path(log_progress) ]\n" - } - }, - { - "bam_sorted": { - "description": "Sorted BAM file of read alignments (optional)\nStructure: [ val(meta), path(bam) ]\n" - } - }, - { - "bam_transcript": { - "description": "Output BAM file of transcriptome alignment (optional)\nStructure: [ val(meta), path(bam) ]\n" - } - }, - { - "fastq": { - "description": "Unmapped FastQ files (optional)\nStructure: [ val(meta), path(fastq) ]\n" - } - }, - { - "tab": { - "description": "STAR output tab file(s) (optional)\nStructure: [ val(meta), path(tab) ]\n" - } - }, - { - "stats": { - "description": "File containing samtools stats output\nStructure: [ val(meta), path(stats) ]\n" - } - }, - { - "bam": { - "description": "BAM file ordered by samtools\nStructure: [ val(meta), path(bam) ]\n" - } - }, - { - "bai": { - "description": "BAI index of the ordered BAM file\nStructure: [ val(meta), path(bai) ]\n" - } - }, - { - "flagstat": { - "description": "File containing samtools flagstat output\nStructure: [ val(meta), path(flagstat) ]\n" - } - }, - { - "idxstats": { - "description": "File containing samtools idxstats output\nStructure: [ val(meta), path(idxstats) ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@JoseEspinosa"] - } - }, - { - "name": "fastq_contam_seqtk_kraken", - "path": "subworkflows/nf-core/fastq_contam_seqtk_kraken/meta.yml", - "type": "subworkflow", - "meta": { - "name": "FASTQ_CONTAM_SEQTK_KRAKEN", - "description": "Produces a contamination report from FastQ input after subsampling", - "keywords": ["statistics", "fastq", "contamination"], - "modules": ["kraken/kraken2", "seqtk/sample"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data, respectively" - } - }, - { - "sample_size": { - "type": "string", - "description": "Number of reads to subsample for contamination detection." - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" - } - }, - { - "report": { - "type": "file", - "description": "Kraken2 contamination report", - "pattern": "*.txt" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@apeltzer"] - } - }, - { - "name": "fastq_create_umi_consensus_fgbio", - "path": "subworkflows/nf-core/fastq_create_umi_consensus_fgbio/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fgbio_create_umi_consensus", - "description": "This workflow uses the suite FGBIO to identify and remove UMI tags from FASTQ reads\nconvert them to unmapped BAM file, map them to the reference genome,\nand finally use the mapped information to group UMIs and generate consensus reads in each group\n", - "keywords": ["fgbio", "umi", "samblaster", "samtools", "bwa"], - "modules": [ - "bwa/index", - "bwa/mem", - "fgbio/fastqtobam", - "fgbio/groupreadsbyumi", - "fgbio/callmolecularconsensusreads", - "samblaster", - "samtools/bam2fq" - ], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "reads": { - "type": "list", - "description": "list umi-tagged reads", - "pattern": "[ *.{fastq.gz/fq.gz} ]" - } - }, - { - "fasta": { - "type": "file", - "description": "The reference fasta file", - "pattern": "*.fasta" - } - }, - { - "read_structure": { - "type": "string", - "description": "A read structure should always be provided for each of the fastq files.\nIf single end, the string will contain only one structure (i.e. \"2M11S+T\"), if paired-end the string\nwill contain two structures separated by a blank space (i.e. \"2M11S+T 2M11S+T\").\nIf the read does not contain any UMI, the structure will be +T (i.e. only template of any length).\nhttps://github.com/fulcrumgenomics/fgbio/wiki/Read-Structures\n" - } - }, - { - "groupreadsbyumi_strategy": { - "type": "string", - "description": "", - "Reguired argument": "defines the UMI assignment strategy.", - "enum": ["Identity", "Edit", "Adjacency", "Paired"] - } - } - ], - "output": [ - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - }, - { - "ubam": { - "type": "file", - "description": "unmapped bam file", - "pattern": "*.bam" - } - }, - { - "groupbam": { - "type": "file", - "description": "mapped bam file, where reads are grouped by UMI tag", - "pattern": "*.bam" - } - }, - { - "consensusbam": { - "type": "file", - "description": "mapped bam file, where reads are created as consensus of those\nbelonging to the same UMI group\n", - "pattern": "*.bam" - } - } - ], - "authors": ["@lescai"] - } - }, - { - "name": "fastq_download_prefetch_fasterqdump_sratools", - "path": "subworkflows/nf-core/fastq_download_prefetch_fasterqdump_sratools/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fastq_download_prefetch_fasterqdump_sratools", - "description": "Download FASTQ sequencing reads from the NCBI's Sequence Read Archive (SRA).", - "keywords": ["SRA", "NCBI", "sequencing", "fastq", "prefetch", "fasterq-dump"], - "modules": ["custom/sratoolsncbisettings", "sratools/prefetch", "sratools/fasterqdump"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" - } - }, - { - "id": { - "type": "string", - "description": "SRA run identifier.\n" - } - }, - { - "certificate": { - "type": "file", - "description": "Path to a JWT cart file used to access protected dbGAP data on SRA using the sra-toolkit\n", - "pattern": "*.cart" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Extracted FASTQ file or files if the sequencing reads are paired-end.", - "pattern": "*.fastq.gz" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Midnighter", "@drpatelh"] - }, - "pipelines": [ - { - "name": "fetchngs", - "version": "1.10.0" - } - ] - }, - { - "name": "fastq_fastqc_umitools_fastp", - "path": "subworkflows/nf-core/fastq_fastqc_umitools_fastp/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fastq_fastqc_umitools_fastp", - "description": "Read QC, UMI extraction and trimming", - "keywords": ["fastq", "fastqc", "qc", "UMI", "trimming", "fastp"], - "modules": ["fastqc", "umitools/extract", "fastp"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "skip_fastqc": { - "type": "boolean", - "description": "Skip fastqc process\n" - } - }, - { - "with_umi": { - "type": "boolean", - "description": "With or without umi detection\n" - } - }, - { - "skip_umi_extract": { - "type": "boolean", - "description": "With or without umi extrection\n" - } - }, - { - "umi_discard_read": { - "type": "integer", - "description": "Discard R1 / R2 if required\n" - } - }, - { - "skip_trimming": { - "type": "boolean", - "description": "Allows to skip trimgalore execution\n" - } - }, - { - "adapter_fasta": { - "type": "file", - "description": "Fasta file of adapter sequences\n" - } - }, - { - "save_trimmed_fail": { - "type": "boolean", - "description": "Save trimmed fastqs of failed samples\n" - } - }, - { - "save_merged": { - "type": "boolean", - "description": "Save merged fastqs\n" - } - }, - { - "min_trimmed_reads": { - "type": "integer", - "description": "Inputs with fewer than this reads will be filtered out of the \"reads\" output channel\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "Extracted FASTQ files. | For single-end reads, pattern is \\${prefix}.umi_extract.fastq.gz. |\n For paired-end reads, pattern is \\${prefix}.umi_extract_{1,2}.fastq.gz.\n", - "pattern": "*.{fastq.gz}" - } - }, - { - "fastqc_html": { - "type": "file", - "description": "FastQC report", - "pattern": "*_{fastqc.html}" - } - }, - { - "fastqc_zip": { - "type": "file", - "description": "FastQC report archive", - "pattern": "*_{fastqc.zip}" - } - }, - { - "log": { - "type": "file", - "description": "Logfile for umi_tools", - "pattern": "*.{log}" - } - }, - { - "trim_json": { - "type": "file", - "description": "FastP Trimming report", - "pattern": "*.{fastp.json}" - } - }, - { - "trim_html": { - "type": "file", - "description": "FastP Trimming report", - "pattern": "*.{fastp.html}" - } - }, - { - "log": { - "type": "file", - "description": "Logfile FastP", - "pattern": "*.{fastp.log}" - } - }, - { - "trim_reads_fail": { - "type": "file", - "description": "Trimmed fastq files failing QC", - "pattern": "*.{fastq.gz}" - } - }, - { - "trim_reads_merged": { - "type": "file", - "description": "Trimmed and merged fastq files", - "pattern": "*.{fastq.gz}" - } - }, - { - "trim_read_count": { - "type": "integer", - "description": "Number of reads after trimming" - } - }, - { - "fastqc_trim_html": { - "type": "file", - "description": "FastQC report", - "pattern": "*_{fastqc.html}" - } - }, - { - "fastqc_trim_zip": { - "type": "file", - "description": "FastQC report archive", - "pattern": "*_{fastqc.zip}" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@robsyme"] - }, - "pipelines": [ - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "fastq_fastqc_umitools_trimgalore", - "path": "subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fastq_fastqc_umitools_trimgalore", - "description": "Read QC, UMI extraction and trimming", - "keywords": ["fastq", "fastqc", "qc", "UMI", "trimming", "trimgalore"], - "modules": ["fastqc", "umitools/extract", "trimgalore"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "skip_fastqc": { - "type": "boolean", - "description": "Skip fastqc process\n" - } - }, - { - "with_umi": { - "type": "boolean", - "description": "With or without umi detection\n" - } - }, - { - "skip_umi_extract": { - "type": "boolean", - "description": "With or without umi extrection\n" - } - }, - { - "skip_trimming": { - "type": "boolean", - "description": "Allows to skip trimgalore execution\n" - } - }, - { - "umi_discard_read": { - "type": "integer", - "description": "Discard R1 / R2 if required\n" - } - }, - { - "min_trimmed_reads": { - "type": "integer", - "description": "Inputs with fewer than this reads will be filtered out of the \"reads\" output channel\n" - } - } - ], - "output": [ - { - "reads": { - "type": "file", - "description": "Extracted FASTQ files. | For single-end reads, pattern is \\${prefix}.umi_extract.fastq.gz. |\n For paired-end reads, pattern is \\${prefix}.umi_extract_{1,2}.fastq.gz.\n", - "pattern": "*.{fastq.gz}" - } - }, - { - "fastqc_html": { - "type": "file", - "description": "FastQC report", - "pattern": "*_{fastqc.html}" - } - }, - { - "fastqc_zip": { - "type": "file", - "description": "FastQC report archive", - "pattern": "*_{fastqc.zip}" - } - }, - { - "log": { - "type": "file", - "description": "Logfile for umi_tools", - "pattern": "*.{log}" - } - }, - { - "trim_unpaired": { - "type": "file", - "description": "FastQ files containing unpaired reads from read 1 or read 2\n", - "pattern": "*unpaired*.fq.gz" - } - }, - { - "trim_html": { - "type": "file", - "description": "FastQC report (optional)", - "pattern": "*_{fastqc.html}" - } - }, - { - "trim_zip": { - "type": "file", - "description": "FastQC report archive (optional)", - "pattern": "*_{fastqc.zip}" - } - }, - { - "trim_log": { - "type": "file", - "description": "Trim Galore! trimming report", - "pattern": "*_{report.txt}" - } - }, - { - "trim_read_count": { - "type": "integer", - "description": "Number of reads remaining after trimming for all input samples" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@drpatelh", "@KamilMaliszArdigen"] - }, - "pipelines": [ - { - "name": "atacseq", - "version": "2.0" - }, - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "fastq_subsample_fq_salmon", - "path": "subworkflows/nf-core/fastq_subsample_fq_salmon/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fastq_subsample_fq_salmon", - "description": "Subsample fastq", - "keywords": ["fastq", "subsample", "strandedness"], - "modules": ["fq/subsample", "salmon/quant"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "ch_reads": { - "type": "file", - "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" - } - }, - { - "ch_genome_fasta": { - "type": "file", - "description": "Genome fasta file", - "pattern": "Path to genome sequence in fasta format" - } - }, - { - "ch_transcript_fasta": { - "type": "file", - "description": "Transcript fasta file", - "pattern": "Path to transcript sequence in fasta format" - } - }, - { - "ch_gtf": { - "type": "file", - "description": "GTF features file", - "pattern": "Path features in GTF format" - } - }, - { - "ch_index": { - "type": "file", - "description": "Salmon index files", - "pattern": "Directory containing Salmon index" - } - }, - { - "make_index": { - "type": "boolean", - "description": "Whether to create salmon index before running salmon quant" - } - } - ], - "output": [ - { - "index": { - "type": "directory", - "description": "Directory containing salmon index", - "pattern": "salmon" - } - }, - { - "reads": { - "type": "file", - "description": "Subsampled fastq reads.", - "pattern": "*.{fq,fastq}{,.gz}" - } - }, - { - "results": { - "type": "directory", - "description": "Folder containing the quantification results for a specific sample", - "pattern": "${prefix}" - } - }, - { - "json_info": { - "type": "file", - "description": "File containing meta information from Salmon quant\nWhich could be used to infer strandedness among other things\n", - "pattern": "*info.json" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@robsyme", "@drpatelh"] - }, - "pipelines": [ - { - "name": "rnaseq", - "version": "3.12.0" - } - ] - }, - { - "name": "fastq_trim_fastp_fastqc", - "path": "subworkflows/nf-core/fastq_trim_fastp_fastqc/meta.yml", - "type": "subworkflow", - "meta": { - "name": "fastq_trim_fastp_fastqc", - "description": "Read QC, fastp trimming and read qc", - "keywords": ["qc", "quality_control", "adapters", "trimming", "fastq"], - "modules": ["fastqc", "fastp"], - "input": [ - { - "ch_reads": { - "type": "file", - "description": "Structure: [ val(meta), path (reads) ]\nGroovy Map containing sample information\ne.g. [ id:'test', single_end:false ], List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively. If you wish to run interleaved paired-end data, supply as single-end data\nbut with `--interleaved_in` in your `modules.conf`'s `ext.args` for the module.\n" - } - }, - { - "ch_adapter_fasta": { - "type": "file", - "description": "Structure: path(adapter_fasta)\nFile in FASTA format containing possible adapters to remove.\n" - } - }, - { - "val_save_trimmed_fail": { - "type": "boolean", - "description": "Structure: val(save_trimmed_fail)\nSpecify true to save files that failed to pass trimming thresholds ending in `*.fail.fastq.gz`\n" - } - }, - { - "val_save_merged": { - "type": "boolean", - "description": "Structure: val(save_merged)\nSpecify true to save all merged reads to the a file ending in `*.merged.fastq.gz`\n" - } - }, - { - "val_skip_fastqc": { - "type": "boolean", - "description": "Structure: val(skip_fastqc)\nskip the fastqc process if true\n" - } - }, - { - "val_skip_fastp": { - "type": "boolean", - "description": "Structure: val(skip_fastp)\nskip the fastp process if true\n" - } - } - ], - "output": [ - { - "meta": { - "type": "value", - "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" - } - }, - { - "reads": { - "type": "file", - "description": "Structure: [ val(meta), path(reads) ]\nThe trimmed/modified/unmerged fastq reads\n" - } - }, - { - "trim_json": { - "type": "file", - "description": "Structure: [ val(meta), path(trim_json) ]\nResults in JSON format\n" - } - }, - { - "trim_html": { - "type": "file", - "description": "Structure: [ val(meta), path(trim_html) ]\nResults in HTML format\n" - } - }, - { - "trim_log": { - "type": "file", - "description": "Structure: [ val(meta), path(trim_log) ]\nfastq log file\n" - } - }, - { - "trim_reads_fail": { - "type": "file", - "description": "Structure: [ val(meta), path(trim_reads_fail) ]\nReads the failed the preprocessing\n" - } - }, - { - "trim_reads_merged": { - "type": "file", - "description": "Structure: [ val(meta), path(trim_reads_merged) ]\nReads that were successfully merged\n" - } - }, - { - "fastqc_raw_html": { - "type": "file", - "description": "Structure: [ val(meta), path(fastqc_raw_html) ]\nRaw fastQC report\n" - } - }, - { - "fastqc_raw_zip": { - "type": "file", - "description": "Structure: [ val(meta), path(fastqc_raw_zip) ]\nRaw fastQC report archive\n" - } - }, - { - "fastqc_trim_html": { - "type": "file", - "description": "Structure: [ val(meta), path(fastqc_trim_html) ]\nTrimmed fastQC report\n" - } - }, - { - "fastqc_trim_zip": { - "type": "file", - "description": "Structure: [ val(meta), path(fastqc_trim_zip) ]\nTrimmed fastQC report archive\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@Joon-Klaps"] - } - }, - { - "name": "multiple_impute_glimpse2", - "path": "subworkflows/nf-core/multiple_impute_glimpse2/meta.yml", - "type": "subworkflow", - "meta": { - "name": "multiple_imputation_glimpse2", - "description": "Impute VCF/BCF files, but also CRAM and BAM files with Glimpse2", - "keywords": ["glimpse", "chunk", "phase", "ligate", "split_reference"], - "modules": [ - "glimpse2/chunk", - "glimpse/2phase", - "glimpse2/ligate", - "glimpse2/split_reference", - "bcftools/index" - ], - "input": [ - { - "ch_input": { - "type": "file", - "description": "Target dataset in CRAM, BAM or VCF/BCF format.\nIndex file of the input file.\nFile with sample names and ploidy information.\nStructure: [ meta, file, index, txt ]\n" - } - }, - { - "ch_ref": { - "type": "file", - "description": "Reference panel of haplotypes in VCF/BCF format.\nIndex file of the Reference panel file.\nTarget region, usually a full chromosome (e.g. chr20:1000000-2000000 or chr20).\nThe file could possibly be without GT field (for efficiency reasons a file containing only the positions is recommended).\nStructure: [ meta, vcf, csi, region ]\n" - } - }, - { - "ch_map": { - "type": "file", - "description": "File containing the genetic map.\nStructure: [ meta, gmap ]\n" - } - }, - { - "ch_fasta": { - "type": "file", - "description": "Reference genome in fasta format.\nReference genome index in fai format\nStructure: [ meta, fasta, fai ]\n" - } - } - ], - "output": [ - { - "chunk_chr": { - "type": "file", - "description": "Tab delimited output txt file containing buffer and imputation regions.\nStructure: [meta, txt]\n" - } - }, - { - "merged_variants": { - "type": "file", - "description": "Output VCF/BCF file for the merged regions.\nPhased information (HS field) is updated accordingly for the full region.\nStructure: [ val(meta), bcf ]\n" - } - }, - { - "merged_variants_index": { - "type": "file", - "description": "Index file of the ligated phased variants files." - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@LouisLeNezet"] - } - }, - { - "name": "vcf_annotate_ensemblvep", - "path": "subworkflows/nf-core/vcf_annotate_ensemblvep/meta.yml", - "type": "subworkflow", - "meta": { - "name": "vcf_annotate_ensemblvep", - "description": "Perform annotation with ensemblvep and bgzip + tabix index the resulting VCF file", - "keywords": ["vcf", "annotation", "ensemblvep"], - "modules": ["ensemblvep/vep", "tabix/tabix"], - "input": [ - { - "ch_vcf": { - "description": "vcf file to annotate\nStructure: [ val(meta), path(vcf), [path(custom_file1), path(custom_file2)... (optionnal)] ]\n" - } - }, - { - "ch_fasta": { - "description": "Reference genome fasta file (optional)\nStructure: [ val(meta2), path(fasta) ]\n" - } - }, - { - "val_genome": { - "type": "string", - "description": "genome to use" - } - }, - { - "val_species": { - "type": "string", - "description": "species to use" - } - }, - { - "val_cache_version": { - "type": "integer", - "description": "cache version to use" - } - }, - { - "ch_cache": { - "description": "the root cache folder for ensemblvep (optional)\nStructure: [ val(meta3), path(cache) ]\n" - } - }, - { - "ch_extra_files": { - "description": "any extra files needed by plugins for ensemblvep (optional)\nStructure: [ path(file1), path(file2)... ]\n" - } - } - ], - "output": [ - { - "vcf_tbi": { - "description": "Compressed vcf file + tabix index\nStructure: [ val(meta), path(vcf), path(tbi) ]\n" - } - }, - { - "json": { - "description": "json file\nStructure: [ val(meta), path(json) ]\n" - } - }, - { - "tab": { - "description": "tab file\nStructure: [ val(meta), path(tab) ]\n" - } - }, - { - "reports": { - "type": "file", - "description": "html reports", - "pattern": "*.html" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@maxulysse", "@matthdsm", "@nvnieuwk"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "vcf_annotate_ensemblvep_snpeff", - "path": "subworkflows/nf-core/vcf_annotate_ensemblvep_snpeff/meta.yml", - "type": "subworkflow", - "meta": { - "name": "vcf_annotate_ensemblvep_snpeff", - "description": "Perform annotation with ensemblvep and/or snpeff and bgzip + tabix index the resulting VCF file. This subworkflow uses the scatter-gather method to run VEP/snpEff in parallel to increase throughput. The input VCF is split into multiple smaller VCFs of fixed size, which are annotated separately and concatenated back together to a single output file per sample. Only VCF/BCF outputs are currently supported.\n", - "keywords": ["vcf", "annotation", "ensemblvep", "snpeff"], - "modules": [ - "ensemblvep/vep", - "snpeff/snpeff", - "tabix/tabix", - "bcftools/pluginscatter", - "bcftools/concat" - ], - "input": [ - { - "ch_vcf": { - "description": "vcf file to annotate\nStructure: [ val(meta), path(vcf), path(tbi) ]\n" - } - }, - { - "ch_fasta": { - "description": "Reference genome fasta file (optional)\nStructure: [ val(meta2), path(fasta) ]\n" - } - }, - { - "val_vep_genome": { - "type": "string", - "description": "genome to use for ensemblvep" - } - }, - { - "val_vep_species": { - "type": "string", - "description": "species to use for ensemblvep" - } - }, - { - "val_vep_cache_version": { - "type": "integer", - "description": "cache version to use for ensemblvep" - } - }, - { - "ch_vep_cache": { - "description": "the root cache folder for ensemblvep (optional)\nStructure: [ path(cache) ]\n" - } - }, - { - "ch_vep_extra_files": { - "description": "any extra files needed by plugins for ensemblvep (optional)\nStructure: [ path(file1), path(file2)... ]\n" - } - }, - { - "val_snpeff_db": { - "type": "string", - "description": "database to use for snpeff" - } - }, - { - "ch_snpeff_cache": { - "description": "the root cache folder for snpeff (optional)\nStructure: [ path(cache) ]\n" - } - }, - { - "val_tools_to_use": { - "type": "list", - "description": "The tools to use. Options => '[\"ensemblvep\", \"snpeff\"]'" - } - }, - { - "val_sites_per_chunk": { - "type": "integer", - "description": "The amount of variants per scattered VCF.\nSet this value to `null`, `[]` or `false` to disable scattering.\n" - } - } - ], - "output": [ - { - "vcf_tbi": { - "description": "Compressed vcf file + tabix index\nStructure: [ val(meta), path(vcf), path(tbi) ]\n" - } - }, - { - "reports": { - "type": "file", - "description": "html reports", - "pattern": "*.html" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@maxulysse", "@matthdsm", "@nvnieuwk"] - } - }, - { - "name": "vcf_annotate_snpeff", - "path": "subworkflows/nf-core/vcf_annotate_snpeff/meta.yml", - "type": "subworkflow", - "meta": { - "name": "vcf_annotate_snpeff", - "description": "Perform annotation with snpEff and bgzip + tabix index the resulting VCF file", - "keywords": ["vcf", "annotation", "snpeff"], - "modules": ["snpeff", "tabix/bgziptabix"], - "input": [ - { - "ch_vcf": { - "description": "vcf file\nStructure: [ val(meta), path(vcf) ]\n" - } - }, - { - "val_snpeff_db": { - "type": "string", - "description": "db version to use" - } - }, - { - "ch_snpeff_cache": { - "description": "path to root cache folder for snpEff (optional)\nStructure: [ path(cache) ]\n" - } - } - ], - "output": [ - { - "vcf_tbi": { - "description": "Compressed vcf file + tabix index\nStructure: [ val(meta), path(vcf), path(tbi) ]\n" - } - }, - { - "reports": { - "description": "html reports\nStructure: [ path(html) ]\n" - } - }, - { - "versions": { - "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" - } - } - ], - "authors": ["@maxulysse"] - }, - "pipelines": [ - { - "name": "sarek", - "version": "3.2.3" - } - ] - }, - { - "name": "vcf_extract_relate_somalier", - "path": "subworkflows/nf-core/vcf_extract_relate_somalier/meta.yml", - "type": "subworkflow", - "meta": { - "name": "vcf_extract_relate_somalier", - "description": "Perform somalier extraction and relate stats on input VCFs", - "keywords": ["somalier", "stats", "vcf", "ped", "relatedness"], - "modules": ["tabix/tabix", "somalier/extract", "somalier/relate"], - "input": [ - { - "ch_vcfs": { - "description": "The input VCFs to perform the stats on, optionally with their indices.\nThis channel can also contain the number of samples in the same family/group\nto check relatedness. This is advised to add as it can improve the efficiency of your pipeline\nStructure: [ val(meta), path(vcf), path(tbi), val(count) ]\n" - } - }, - { - "ch_fasta": { - "description": "The reference FASTA used to create the VCF files\nStructure: [ path(fasta) ]\n" - } - }, - { - "ch_fasta_fai": { - "description": "The index of the reference FASTA\nStructure: [ path(fasta_fai) ]\n" - } - }, - { - "ch_somalier_sites": { - "description": "A VCF containing the common sites for Somalier\nStructure: [ path(somalier_sites_vcf) ]\n" - } - }, - { - "ch_peds": { - "description": "A channel containing an optional PED file for the corresponding families. This channel has to be given, but can be like `[meta, []]`.\nWhen you don't want to use a PED file, you must supply a channel\ncontaining the meta and an empty value (`[]`) instead of a PED\nStructure: [ val(meta), path(ped) ]\n" - } - }, - { - "ch_sample_groups": { - "description": "Optional - A text file describing how the samples should be grouped\nStructure: [ path(txt) ]\n" - } - }, - { - "val_common_id": { - "description": "Optional - A common identifier in the meta map.\nThis will be used to determine which VCFs should be used in somalier_relate.\nThis value should be given when using single sample VCFs\n" - } - } - ], - "output": [ - { - "extract": { - "description": "The extract file created with Somalier extract\nStructure: [ val(meta), path(extract) ]\n" - } - }, - { - "html": { - "description": "An HTML file containing an interactive graph on the relatedness of the samples\nStructure: [ val(meta), path(html) ]\n" - } - }, - { - "pairs_tsv": { - "description": "A TSV file detailing the relatedness between pairs of samples\nStructure: [ val(meta), path(tsv) ]\n" - } - }, - { - "samples_tsv": { - "description": "A TSV file detailing the relatedness between all samples with the same meta\nStructure: [ val(meta), path(tsv) ]\n" - } - }, - { - "versions": { - "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "vcf_gather_bcftools", - "path": "subworkflows/nf-core/vcf_gather_bcftools/meta.yml", - "type": "subworkflow", - "meta": { - "name": "vcf_gather_bcftools", - "description": "Concatenate several VCF files using bcftools concat.\nEspecially works well with the scatter subworkflows in nf-core.\nAn additional option can be given to sort the concatenated VCF.\n", - "keywords": ["concat", "vcf", "gather", "sort", "bcftools"], - "modules": ["bcftools/sort", "bcftools/concat", "tabix/tabix"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing at least two fields: 'id' and a common field for each VCF that needs to be merged\ne.g. [ id:'test.001', common_meta:'test' ]\n" - } - }, - { - "ch_vcfs": { - "type": "file(s)", - "description": "VCF files and their indices that should be concatenated\nStructure: [ meta, vcf, tbi ]\n" - } - }, - { - "ch_scatter_output": { - "type": "file and integer", - "description": "The output created from a scatter subworkflow (contains a BED file and scatter_count).\nThe BED file isn't actually used in the pipeline so can remain empty if you manually set this input channel\nStructure: [ meta, bed, scatter_count ]\n" - } - }, - { - "common_meta": { - "type": "string", - "description": "OPTIONAL:\nThe string of the common meta to use as the new 'id'.\nPlease make sure all VCFs that need to be concatenated have the same value in the\nthe meta field specified. (and that only the ID is different between these files)\n" - } - }, - { - "sort": { - "type": "boolean", - "description": "Whether or not to sort the output VCF,\nthis can be useful if this subworkflow isn't used in a scatter/gather workflow\n" - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "vcf": { - "type": "file", - "description": "The concatenated (and possible sorted) VCF file\nStructure: [ meta, vcf ]\n", - "pattern": "*.vcf.gz" - } - }, - { - "tbi": { - "type": "file", - "description": "The indices of the output VCFs\nStructure: [ meta, tbi ]\n", - "pattern": "*.vcf.gz.tbi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@nvnieuwk"] - } - }, - { - "name": "vcf_impute_glimpse", - "path": "subworkflows/nf-core/vcf_impute_glimpse/meta.yml", - "type": "subworkflow", - "meta": { - "name": "vcf_imputation_glimpse", - "description": "Impute VCF/BCF files with Glimpse", - "keywords": ["glimpse", "chunk", "phase", "ligate"], - "modules": ["glimpse/chunk", "glimpse/phase", "glimpse/ligate", "bcftools/index"], - "input": [ - { - "ch_vcf": { - "type": "file", - "description": "Target dataset in VCF/BCF format defined at all variable positions.\nIndex file of the input VCF/BCF file containing genotype likelihoods.\nFile with sample names and ploidy information.\nTarget region, usually a full chromosome (e.g. chr20:1000000-2000000 or chr20).\nThe file could possibly be without GT field (for efficiency reasons a file containing only the positions is recommended).\nStructure: [ meta, vcf, csi, txt, region ]\n" - } - }, - { - "ch_ref": { - "type": "file", - "description": "Reference panel of haplotypes in VCF/BCF format.\nIndex file of the Reference panel file.\nStructure: [ meta, vcf, csi ]\n" - } - }, - { - "ch_map": { - "type": "file", - "description": "File containing the genetic map.\nStructure: [gmap]\n" - } - } - ], - "output": [ - { - "chunk_chr": { - "type": "file", - "description": "Tab delimited output txt file containing buffer and imputation regions.\nStructure: [meta, txt]\n" - } - }, - { - "phased_variants": { - "type": "file", - "description": "Output VCF/BCF file containing genotype probabilities (GP field),\nimputed dosages (DS field), best guess genotypes (GT field),\nsampled haplotypes in the last (max 16) main iterations (HS field) and info-score.\nStructure: [ val(meta), bcf ]\n" - } - }, - { - "merged_variants": { - "type": "file", - "description": "Output VCF/BCF file for the merged regions.\nPhased information (HS field) is updated accordingly for the full region.\nStructure: [ val(meta), bcf ]\n" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@LouisLeNezet"] - } - }, - { - "name": "vcf_phase_shapeit5", - "path": "subworkflows/nf-core/vcf_phase_shapeit5/meta.yml", - "type": "subworkflow", - "meta": { - "name": "vcf_phase_shapeit5", - "description": "Phase vcf panel with Shapeit5 tools", - "keywords": ["chunk", "phase", "ligate", "index", "vcf"], - "modules": ["bedtools/makewindows", "shapeit5/phasecommon", "shapeit5/ligate", "bcftools/index"], - "input": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "ch_vcf": { - "type": "file", - "description": "Target dataset in VCF/BCF format defined at all variable positions.\nIndex file of the input VCF/BCF file containing genotype likelihoods.\nPedigree information in the following format: offspring father mother.\nTarget region, usually a full chromosome (e.g. chr20:1000000-2000000 or chr20).\nThe file could possibly be without GT field (for efficiency reasons a file containing only the positions is recommended).\nStructure: [ val(meta), path(vcf), path(csi), path(pedigree), val(region) ]\n" - } - }, - { - "ch_ref": { - "type": "file", - "description": "Reference panel of haplotypes in VCF/BCF format.\nIndex file of the Reference panel file.\nStructure: [ val(meta), path(ref), path(csi) ]\n" - } - }, - { - "ch_scaffold": { - "type": "file", - "description": "Scaffold of haplotypes in VCF/BCF format.\nIndex file of the Scaffold of haplotypes file.\nStructure: [ val(meta), path(scaffold), path(csi) ]\n" - } - }, - { - "ch_map": { - "type": "file", - "description": "File containing the genetic map.", - "Structure": ["val(meta)", "path(map)"] - } - } - ], - "output": [ - { - "meta": { - "type": "map", - "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" - } - }, - { - "bed": { - "type": "file", - "description": "BED file containing the windows", - "pattern": "*.bed" - } - }, - { - "variants_phased": { - "type": "file", - "description": "Phased haplotypes in VCF/BCF format.", - "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" - } - }, - { - "variants_index": { - "type": "file", - "description": "CSI bcftools index", - "pattern": "*.csi" - } - }, - { - "versions": { - "type": "file", - "description": "File containing software versions", - "pattern": "versions.yml" - } - } - ], - "authors": ["@LouisLeNezet"] + ] + }, + { + "name": "abricate_run", + "path": "modules/nf-core/abricate/run/meta.yml", + "type": "module", + "meta": { + "name": "abricate_run", + "description": "Screen assemblies for antimicrobial resistance against multiple databases", + "keywords": [ + "bacteria", + "assembly", + "antimicrobial reistance" + ], + "tools": [ + { + "abricate": { + "description": "Mass screening of contigs for antibiotic resistance genes", + "homepage": "https://github.com/tseemann/abricate", + "documentation": "https://github.com/tseemann/abricate", + "tool_dev_url": "https://github.com/tseemann/abricate", + "licence": [ + "GPL v2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "assembly": { + "type": "file", + "description": "FASTA, GenBank or EMBL formatted file", + "pattern": "*.{fa,fasta,fna,fa.gz,fasta.gz,fna.gz,gbk,gbk.gz,embl,embl.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "report": { + "type": "file", + "description": "Tab-delimited report of results", + "pattern": "*.{txt}" + } + } + ], + "authors": [ + "@rpetit3" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "abricate_summary", + "path": "modules/nf-core/abricate/summary/meta.yml", + "type": "module", + "meta": { + "name": "abricate_summary", + "description": "Screen assemblies for antimicrobial resistance against multiple databases", + "keywords": [ + "bacteria", + "assembly", + "antimicrobial reistance" + ], + "tools": [ + { + "abricate": { + "description": "Mass screening of contigs for antibiotic resistance genes", + "homepage": "https://github.com/tseemann/abricate", + "documentation": "https://github.com/tseemann/abricate", + "tool_dev_url": "https://github.com/tseemann/abricate", + "licence": [ + "GPL v2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "assembly": { + "type": "file", + "description": "FASTA, GenBank or EMBL formatted file", + "pattern": "*.{fa,fasta,fna,fa.gz,fasta.gz,fna.gz,gbk,gbk.gz,embl,embl.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "summary": { + "type": "file", + "description": "Tab-delimited report of aggregated results", + "pattern": "*.{txt}" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "adapterremoval", + "path": "modules/nf-core/adapterremoval/meta.yml", + "type": "module", + "meta": { + "name": "adapterremoval", + "description": "Trim sequencing adapters and collapse overlapping reads", + "keywords": [ + "trimming", + "adapters", + "merging", + "fastq" + ], + "tools": [ + { + "adapterremoval": { + "description": "The AdapterRemoval v2 tool for merging and clipping reads.", + "homepage": "https://github.com/MikkelSchubert/adapterremoval", + "documentation": "https://adapterremoval.readthedocs.io", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n", + "pattern": "*.{fq,fastq,fq.gz,fastq.gz}" + } + }, + { + "adapterlist": { + "type": "file", + "description": "Optional text file containing list of adapters to look for for removal with one adapter per line. Otherwise will look for default adapters (see AdapterRemoval man page), or can be modified to remove user-specified adapters via ext.args." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "singles_truncated": { + "type": "file", + "description": "Adapter trimmed FastQ files of either single-end reads, or singleton\n'orphaned' reads from merging of paired-end data (i.e., one of the pair\nwas lost due to filtering thresholds).\n", + "pattern": "*.truncated.fastq.gz" + } + }, + { + "discarded": { + "type": "file", + "description": "Adapter trimmed FastQ files of reads that did not pass filtering\nthresholds.\n", + "pattern": "*.discarded.fastq.gz" + } + }, + { + "pair1_truncated": { + "type": "file", + "description": "Adapter trimmed R1 FastQ files of paired-end reads that did not merge\nwith their respective R2 pair due to long templates. The respective pair\nis stored in 'pair2_truncated'.\n", + "pattern": "*.pair1.truncated.fastq.gz" + } + }, + { + "pair2_truncated": { + "type": "file", + "description": "Adapter trimmed R2 FastQ files of paired-end reads that did not merge\nwith their respective R1 pair due to long templates. The respective pair\nis stored in 'pair1_truncated'.\n", + "pattern": "*.pair2.truncated.fastq.gz" + } + }, + { + "collapsed": { + "type": "file", + "description": "Collapsed FastQ of paired-end reads that successfully merged with their\nrespective R1 pair but were not trimmed.\n", + "pattern": "*.collapsed.fastq.gz" + } + }, + { + "collapsed_truncated": { + "type": "file", + "description": "Collapsed FastQ of paired-end reads that successfully merged with their\nrespective R1 pair and were trimmed of adapter due to sufficient overlap.\n", + "pattern": "*.collapsed.truncated.fastq.gz" + } + }, + { + "log": { + "type": "file", + "description": "AdapterRemoval log file", + "pattern": "*.settings" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@maxibor", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "adapterremovalfixprefix", + "path": "modules/nf-core/adapterremovalfixprefix/meta.yml", + "type": "module", + "meta": { + "name": "adapterremovalfixprefix", + "description": "Fixes prefixes from AdapterRemoval2 output to make sure no clashing read names are in the output. For use with DeDup.", + "keywords": [ + "adapterremoval", + "fastq", + "dedup" + ], + "tools": [ + { + "adapterremovalfixprefix": { + "description": "Fixes adapter removal prefixes to make sure no clashing read names are in the output.", + "homepage": "https://github.com/apeltzer/AdapterRemovalFixPrefix", + "tool_dev_url": "https://github.com/apeltzer/AdapterRemovalFixPrefix", + "doi": "10.1186/s13059-016-0918-z", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "FASTQ file from AdapterRemoval2", + "pattern": "*.{fq.gz,fastq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fixed_fastq": { + "type": "file", + "description": "FASTQ file with fixed read prefixes for DeDup", + "pattern": "*.{fq.gz}" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "admixture", + "path": "modules/nf-core/admixture/meta.yml", + "type": "module", + "meta": { + "name": "admixture", + "description": "ADMIXTURE is a program for estimating ancestry in a model-based manner from large autosomal SNP genotype datasets, where the individuals are unrelated (for example, the individuals in a case-control association study).", + "keywords": [ + "ancestry", + "population genetics", + "admixture", + "reference panels", + "gwas" + ], + "tools": [ + { + "admixture": { + "description": "ADMIXTURE is a software tool for maximum likelihood estimation of individual ancestries from multilocus SNP genotype datasets.", + "homepage": "https://dalexander.github.io/admixture/", + "documentation": "https://dalexander.github.io/admixture/admixture-manual.pdf", + "doi": "10.1101/gr.094052.109", + "licence": "['Free for Academic Use']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed_ped_geno": { + "type": "file", + "description": "One of PLINK \".bed\" file or PLINK \".ped\" or EIGENSTRAT \".geno\" file. If you provide \".bed\" then you need to provide \".bim\" and \"fam\" files. If you provide \".ped\" or \".geno\" then you need to provide a \".map\" file and an empty channel.", + "pattern": "*.{bed}" + } + }, + { + "bim_map": { + "type": "file", + "description": "Mandatory accompanying file. One of PLINK \".bim\" file or PLINK \".map\" file. Provide \".bim\" if \".bed\" is the input. Provide \".map\" if \".ped\" or \".geno\" is the input.", + "pattern": "*.{bim}" + } + }, + { + "fam": { + "type": "file", + "description": "PLINK \".fam\" file. Mandatory if you provide \".bed\" as input. Replace with an empty channel if input is \".ped\" or \".geno\".", + "pattern": "*.{fam}" + } + }, + { + "K": { + "type": "value", + "description": "Belief of the number of ancestral populations.", + "pattern": "{*}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "Q-ancestry-fractions": { + "type": "file", + "description": "Space-delimited files containing ancestry fractions. The output filenames have the number of populations (K) that was assumed for the analysis.", + "pattern": "*.{Q}" + } + }, + { + "P-allele-frequencies": { + "type": "file", + "description": "Space-delimited files containing the allele frequencies of the inferred ancestral populations. The output filenames have the number of populations (K) that was assumed for the analysis.", + "pattern": "*.{P}" + } + } + ], + "authors": [ + "@atrigila" + ] + } + }, + { + "name": "affy_justrma", + "path": "modules/nf-core/affy/justrma/meta.yml", + "type": "module", + "meta": { + "name": "affy_justrma", + "description": "Read CEL files into an ExpressionSet and generate a matrix", + "keywords": [ + "affy", + "microarray", + "expression", + "matrix" + ], + "tools": [ + { + "affy": { + "description": "Methods for Affymetrix Oligonucleotide Arrays", + "homepage": "https://www.bioconductor.org/packages/release/bioc/html/affy.html", + "documentation": "https://www.bioconductor.org/packages/release/bioc/html/affy.html", + "tool_dev_url": "https://github.com/Bioconductor/affy", + "doi": "10.1093/bioinformatics/btg405", + "licence": "['LGPL >=2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "samplesheet": { + "type": "file", + "description": "CSV or TSV format sample sheet with sample metadata and CEL file names\n" + } + }, + { + "celfiles_dir": { + "type": "list", + "description": "Path to a directory containing CEL files", + "pattern": "*.{CEL,CEL.gz}" + } + }, + { + "description": { + "type": "file", + "description": "Optional description file in MIAME format\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "expression": { + "type": "file", + "description": "TSV-format intensity matrix", + "pattern": "matrix.tsv" + } + }, + { + "annotation": { + "type": "file", + "description": "TSV-format annotation table", + "pattern": "*.annotation.tsv" + } + }, + { + "rds": { + "type": "file", + "description": "Serialised ExpressionSet object", + "pattern": "*.rds" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@pinin4fjords" + ] + }, + "pipelines": [ + { + "name": "differentialabundance", + "version": "1.2.0" + } + ] + }, + { + "name": "agat_convertspgff2gtf", + "path": "modules/nf-core/agat/convertspgff2gtf/meta.yml", + "type": "module", + "meta": { + "name": "agat_convertspgff2gtf", + "description": "Converts a GFF/GTF file into a proper GTF file\n", + "keywords": [ + "genome", + "gff", + "gtf", + "conversion" + ], + "tools": [ + { + "agat": { + "description": "AGAT is a toolkit for manipulation and getting information from GFF/GTF files", + "homepage": "https://github.com/NBISweden/AGAT", + "documentation": "https://agat.readthedocs.io/", + "tool_dev_url": "https://github.com/NBISweden/AGAT", + "doi": "10.5281/zenodo.3552717", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gff": { + "type": "file", + "description": "Annotation file in GFF3/GTF format", + "pattern": "*.{gff, gtf}" + } + } + ], + "output": [ + { + "output_gtf": { + "type": "file", + "description": "Annotation file in GTF format", + "pattern": "*.{gtf}" + } + }, + { + "log": { + "type": "file", + "description": "Log file of the conversion process", + "pattern": "*.{log}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@toniher" + ] + } + }, + { + "name": "agat_convertspgxf2gxf", + "path": "modules/nf-core/agat/convertspgxf2gxf/meta.yml", + "type": "module", + "meta": { + "name": "agat_convertspgxf2gxf", + "description": "Fixes and standardizes GFF/GTF files and outputs a cleaned GFF/GTF file\n", + "keywords": [ + "genome", + "gff", + "gtf", + "conversion" + ], + "tools": [ + { + "agat": { + "description": "AGAT is a toolkit for manipulation and getting information from GFF/GTF files", + "homepage": "https://github.com/NBISweden/AGAT", + "documentation": "https://agat.readthedocs.io/", + "tool_dev_url": "https://github.com/NBISweden/AGAT", + "doi": "10.5281/zenodo.3552717", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gff": { + "type": "file", + "description": "Annotation file in GFF3/GTF format", + "pattern": "*.{gff, gtf}" + } + } + ], + "output": [ + { + "output_gff": { + "type": "file", + "description": "Cleaned annotation file in GFF3 format", + "pattern": "*.{gff}" + } + }, + { + "log": { + "type": "file", + "description": "Log file of the conversion process", + "pattern": "*.{log}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@toniher" + ] + } + }, + { + "name": "agat_spstatistics", + "path": "modules/nf-core/agat/spstatistics/meta.yml", + "type": "module", + "meta": { + "name": "agat_spstatistics", + "description": "Provides different type of statistics in text format from a GFF/GTF annotation file\n", + "keywords": [ + "genome", + "gff", + "gtf", + "statistics" + ], + "tools": [ + { + "agat": { + "description": "AGAT is a toolkit for manipulation and getting information from GFF/GTF files", + "homepage": "https://github.com/NBISweden/AGAT", + "documentation": "https://agat.readthedocs.io/", + "tool_dev_url": "https://github.com/NBISweden/AGAT", + "doi": "10.5281/zenodo.3552717", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gff": { + "type": "file", + "description": "Annotation file in GFF3/GTF format", + "pattern": "*.{gff, gtf}" + } + } + ], + "output": [ + { + "stats_file": { + "type": "file", + "description": "Output of Statistics execution", + "pattern": "*.{txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@toniher" + ] + } + }, + { + "name": "agat_sqstatbasic", + "path": "modules/nf-core/agat/sqstatbasic/meta.yml", + "type": "module", + "meta": { + "name": "agat_sqstatbasic", + "description": "Provides basic statistics in text format from a GFF/GTF annotation file\n", + "keywords": [ + "genome", + "gff", + "gtf", + "statistics" + ], + "tools": [ + { + "agat": { + "description": "AGAT is a toolkit for manipulation and getting information from GFF/GTF files", + "homepage": "https://github.com/NBISweden/AGAT", + "documentation": "https://agat.readthedocs.io/", + "tool_dev_url": "https://github.com/NBISweden/AGAT", + "doi": "10.5281/zenodo.3552717", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gff": { + "type": "file", + "description": "Annotation file in GFF3/GTF format", + "pattern": "*.{gff, gtf}" + } + } + ], + "output": [ + { + "stats_file": { + "type": "file", + "description": "Output of Statistics execution", + "pattern": "*.{txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@toniher" + ] + } + }, + { + "name": "agrvate", + "path": "modules/nf-core/agrvate/meta.yml", + "type": "module", + "meta": { + "name": "agrvate", + "description": "Rapid identification of Staphylococcus aureus agr locus type and agr operon variants", + "keywords": [ + "fasta", + "virulence", + "Staphylococcus aureus" + ], + "tools": [ + { + "agrvate": { + "description": "Rapid identification of Staphylococcus aureus agr locus type and agr operon variants.", + "homepage": "https://github.com/VishnuRaghuram94/AgrVATE", + "documentation": "https://github.com/VishnuRaghuram94/AgrVATE", + "tool_dev_url": "https://github.com/VishnuRaghuram94/AgrVATE", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "A Staphylococcus aureus fasta file.", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "summary": { + "type": "file", + "description": "A summary of the agrvate assessement", + "pattern": "*-summary.tab" + } + }, + { + "results_dir": { + "type": "directory", + "description": "Results of the agrvate assessement", + "pattern": "*-results" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@abhi18av" + ] + } + }, + { + "name": "allelecounter", + "path": "modules/nf-core/allelecounter/meta.yml", + "type": "module", + "meta": { + "name": "allelecounter", + "description": "Generates a count of coverage of alleles", + "keywords": [ + "allele", + "count" + ], + "tools": [ + { + "allelecounter": { + "description": "Takes a file of locations and a [cr|b]am file and generates a count of coverage of each allele at that location (given any filter settings)", + "homepage": "https://github.com/cancerit/alleleCount", + "documentation": "https://github.com/cancerit/alleleCount", + "tool_dev_url": "https://github.com/cancerit/alleleCount", + "licence": "A-GPL 3.0" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "loci": { + "type": "file", + "description": "loci file ", + "pattern": "*.{tsv}" + } + }, + { + "fasta": { + "type": "file", + "description": "Input genome fasta file. Required when passing CRAM files." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "alleleCount": { + "type": "file", + "description": "Allele count file", + "pattern": "*.{alleleCount}" + } + } + ], + "authors": [ + "@fullama", + "@fbdtemme" + ] + } + }, + { + "name": "ampcombi", + "path": "modules/nf-core/ampcombi/meta.yml", + "type": "module", + "meta": { + "name": "ampcombi", + "description": "A tool to parse and summarise results from antimicrobial peptides tools and present functional classification.", + "keywords": [ + "antimicrobial peptides", + "amps", + "parsing", + "reporting", + "align", + "macrel", + "amplify", + "hmmsearch", + "neubi", + "ampir", + "DRAMP" + ], + "tools": [ + { + "ampcombi": { + "description": "This tool parses the results of amp prediction tools into a single table and aligns the hits against a reference database of antimicrobial peptides for functional classifications.", + "homepage": "https://github.com/Darcy220606/AMPcombi", + "documentation": "https://github.com/Darcy220606/AMPcombi", + "tool_dev_url": "https://github.com/Darcy220606/AMPcombi/tree/dev", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "amp_input": { + "type": "folder or filelist", + "description": "The path to the directory containing the results for the AMP tools for each sample processed or a list of files corresponding to each file generated by AMP tools." + } + }, + { + "faa_input": { + "type": "folder or file", + "description": "The path to the folder or file corresponding to the respective protein fasta files with '.faa' extension. Filenames have to contain the corresponding sample-name, i.e. sample_1.faa", + "pattern": "*/" + } + }, + { + "amp_database": { + "type": "directory", + "description": "The path to the folder containing the fasta and tsv database files.", + "pattern": "*/" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "An alignment file containing the results from the DIAMOND alignment step done on all AMP hits.", + "pattern": "/*/*_diamond_matches.txt" + } + }, + { + "csv": { + "type": "file", + "description": "A file containing the summary report of all predicted AMP hits from all AMP tools given as input and the corresponding taxonomic and functional classification from the alignment step.", + "pattern": "/*/*_ampcombi.csv" + } + }, + { + "faa": { + "type": "file", + "description": "A fasta file containing the amino acid sequences of all predicted AMP hits.", + "pattern": "/*/*_amp.faa" + } + }, + { + "log": { + "type": "file", + "description": "A log file that captures the standard output ina log file. Can be activated by `--log`.", + "pattern": "*.log" + } + }, + { + "sample_dir": { + "type": "directory", + "description": "The output directory that contains the summary output and related alignment files for one sample.", + "pattern": "/*" + } + }, + { + "results_db": { + "type": "directory", + "description": "If the AMP reference database is not provided by the user using the flag `--amp_database', by default the DRAMP database will be downloaded, filtered and stored in this folder.", + "pattern": "/amp_ref_database" + } + }, + { + "results_db_fasta": { + "type": "file", + "description": "AMP reference database fasta file, cleaned of diamond-uncompatible characters.", + "pattern": "/amp_ref_database/*.clean.fasta" + } + }, + { + "results_db_dmd": { + "type": "file", + "description": "AMP reference database converted to DIAMOND database format.", + "pattern": "/amp_ref_database/*.dmnd" + } + }, + { + "results_db_tsv": { + "type": "file", + "description": "AMP reference database in tsv-format with two columns containing header and sequence.", + "pattern": "/amp_ref_database/*.tsv" + } + }, + { + "summary_csv": { + "type": "file", + "description": "A file that concatenates all samples ampcombi summaries. This is activated with `--complete_summary true`.", + "pattern": "AMPcombi_summary.html" + } + }, + { + "summary_html": { + "type": "file", + "description": "A file that concatenates all samples ampcombi summaries. This is activated with `--complete_summary true`.", + "pattern": "AMPcombi_summary.html" + } + } + ], + "authors": [ + "@darcy220606", + "@louperelo" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "ampir", + "path": "modules/nf-core/ampir/meta.yml", + "type": "module", + "meta": { + "name": "ampir", + "description": "A fast and user-friendly method to predict antimicrobial peptides (AMPs) from any given size protein dataset. ampir uses a supervised statistical machine learning approach to predict AMPs.", + "keywords": [ + "ampir", + "amp", + "antimicrobial peptide prediction" + ], + "tools": [ + { + "ampir": { + "description": "A toolkit to predict antimicrobial peptides from protein sequences on a genome-wide scale.", + "homepage": "https://github.com/Legana/ampir", + "documentation": "https://cran.r-project.org/web/packages/ampir/index.html", + "tool_dev_url": "https://github.com/Legana/ampir", + "doi": "10.1093/bioinformatics/btaa653", + "licence": [ + "GPL v2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "faa": { + "type": "file", + "description": "FASTA file containing amino acid sequences", + "pattern": "*.{faa,fasta}" + } + }, + { + "model": { + "type": "string", + "description": "Built-in model for AMP prediction", + "pattern": "{precursor,mature}" + } + }, + { + "min_length": { + "type": "integer", + "description": "Minimum protein length for which predictions will be generated", + "pattern": "[0-9]+" + } + }, + { + "min_probability": { + "type": "number", + "description": "Cut-off for AMP prediction", + "pattern": "[0-9].[0-9]+" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "amps_faa": { + "type": "file", + "description": "File containing AMP predictions in amino acid FASTA format", + "pattern": "*.{faa}" + } + }, + { + "amps_tsv": { + "type": "file", + "description": "File containing AMP predictions in TSV format", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@jasmezz" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "amplify_predict", + "path": "modules/nf-core/amplify/predict/meta.yml", + "type": "module", + "meta": { + "name": "amplify_predict", + "description": "AMPlify is an attentive deep learning model for antimicrobial peptide prediction.", + "keywords": [ + "antimicrobial peptides", + "AMPs", + "prediction", + "model" + ], + "tools": [ + { + "amplify": { + "description": "Attentive deep learning model for antimicrobial peptide prediction", + "homepage": "https://github.com/bcgsc/AMPlify", + "documentation": "https://github.com/bcgsc/AMPlify", + "tool_dev_url": "https://github.com/bcgsc/AMPlify", + "doi": "10.1186/s12864-022-08310-4", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "faa": { + "type": "file", + "description": "amino acid sequences fasta", + "pattern": "*.{fa,fa.gz,faa,faa.gz,fasta,fasta.gz}" + } + }, + { + "model_dir": { + "type": "directory", + "description": "Directory of where models are stored (optional)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "amino acid sequences with prediction (AMP, non-AMP) and probability scores", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@louperelo" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "amps", + "path": "modules/nf-core/amps/meta.yml", + "type": "module", + "meta": { + "name": "amps", + "description": "Post-processing script of the MaltExtract component of the HOPS package", + "keywords": [ + "malt", + "MaltExtract", + "HOPS", + "amps", + "alignment", + "metagenomics", + "ancient DNA", + "aDNA", + "palaeogenomics", + "archaeogenomics", + "microbiome", + "authentication", + "damage", + "edit distance", + "post Post-processing", + "visualisation" + ], + "tools": [ + { + "amps": { + "description": "Post-processing script of the MaltExtract tool for ancient metagenomics", + "homepage": "https://github.com/rhuebler/HOPS", + "documentation": "https://github.com/keyfm/amps", + "tool_dev_url": "https://github.com/keyfm/amps", + "doi": "10.1186/s13059-019-1903-0", + "licence": [ + "GPL >=3" + ] + } + } + ], + "input": [ + { + "maltextract_results": { + "type": "directory", + "description": "MaltExtract output directory", + "pattern": "results/" + } + }, + { + "taxon_list": { + "type": "file", + "description": "List of target taxa to evaluate used in MaltExtract", + "pattern": "*.txt" + } + }, + { + "filter": { + "type": "string", + "description": "The filter mode used in MaltExtract", + "pattern": "def_anc|default|scan|ancient|crawl" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "Candidate summary heatmap in MultiQC compatible JSON format", + "pattern": "heatmap_overview_Wevid.json" + } + }, + { + "summary_pdf": { + "type": "file", + "description": "Candidate summary heatmap in PDF format", + "pattern": "heatmap_overview_Wevid.pdf" + } + }, + { + "tsv": { + "type": "file", + "description": "Candidate summary heatmap in TSV format", + "pattern": "heatmap_overview_Wevid.tsv" + } + }, + { + "candidate_pdfs": { + "type": "directory", + "description": "Directory of per sample output PDFs organised by reference", + "pattern": "pdf_candidate_profiles/" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "amrfinderplus_run", + "path": "modules/nf-core/amrfinderplus/run/meta.yml", + "type": "module", + "meta": { + "name": "amrfinderplus_run", + "description": "Identify antimicrobial resistance in gene or protein sequences", + "keywords": [ + "bacteria", + "fasta", + "antibiotic resistance" + ], + "tools": [ + { + "amrfinderplus": { + "description": "AMRFinderPlus finds antimicrobial resistance and other genes in protein or nucleotide sequences.", + "homepage": "https://github.com/ncbi/amr/wiki", + "documentation": "https://github.com/ncbi/amr/wiki", + "tool_dev_url": "https://github.com/ncbi/amr", + "doi": "10.1038/s41598-021-91456-0", + "licence": [ + "Public Domain" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Nucleotide or protein sequences in FASTA format", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz,faa,faa.gz}" + } + }, + { + "db": { + "type": "file", + "description": "A compressed tarball of the AMRFinderPlus database to query", + "pattern": "*.tar.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "report": { + "type": "file", + "description": "AMRFinder+ final report", + "pattern": "*.tsv" + } + }, + { + "mutation_report": { + "type": "file", + "description": "Report of organism-specific point-mutations", + "pattern": "*-mutations.tsv" + } + }, + { + "tool_version": { + "type": "string", + "description": "The version of the tool in string format (useful for downstream tools such as hAMRronization)" + } + }, + { + "db_version": { + "type": "string", + "description": "The version of the used database in string format (useful for downstream tools such as hAMRronization)" + } + } + ], + "authors": [ + "@rpetit3", + "@louperelo", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "amrfinderplus_update", + "path": "modules/nf-core/amrfinderplus/update/meta.yml", + "type": "module", + "meta": { + "name": "amrfinderplus_update", + "description": "Identify antimicrobial resistance in gene or protein sequences", + "keywords": [ + "bacteria", + "fasta", + "antibiotic resistance" + ], + "tools": [ + { + "amrfinderplus": { + "description": "AMRFinderPlus finds antimicrobial resistance and other genes in protein or nucleotide sequences.", + "homepage": "https://github.com/ncbi/amr/wiki", + "documentation": "https://github.com/ncbi/amr/wiki", + "tool_dev_url": "https://github.com/ncbi/amr", + "doi": "10.1038/s41598-021-91456-0", + "licence": [ + "Public Domain" + ] + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "db": { + "type": "file", + "description": "The latest AMRFinder+ database in a compressed tarball", + "pattern": "*.tar.gz" + } + } + ], + "authors": [ + "@rpetit3" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "angsd_contamination", + "path": "modules/nf-core/angsd/contamination/meta.yml", + "type": "module", + "meta": { + "name": "angsd_contamination", + "description": "A tool to estimate nuclear contamination in males based on heterozygosity in the female chromosome.", + "keywords": [ + "angsd", + "population genetics", + "nuclear contamination estimate" + ], + "tools": [ + { + "angsd": { + "description": "ANGSD: Analysis of next generation Sequencing Data", + "homepage": "http://www.popgen.dk/angsd/", + "documentation": "http://www.popgen.dk/angsd/", + "tool_dev_url": "https://github.com/ANGSD/angsd", + "doi": "10.1186/s12859-014-0356-4", + "licence": "['GPL v3, MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "icounts": { + "type": "file", + "description": "Internal format for dumping binary single chrs. Useful for ANGSD contamination", + "pattern": "*.icnts.gz" + } + }, + { + "hapmap_file": { + "type": "file", + "description": "A list of variable sites to look for heterozygosity." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "Contamination estimation output.", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@jbv2" + ] + } + }, + { + "name": "angsd_docounts", + "path": "modules/nf-core/angsd/docounts/meta.yml", + "type": "module", + "meta": { + "name": "angsd_docounts", + "description": "Calculates base frequency statistics across reference positions from BAM.", + "keywords": [ + "angsd", + "population genetics", + "allele counts", + "doCounts" + ], + "tools": [ + { + "angsd": { + "description": "ANGSD: Analysis of next generation Sequencing Data", + "homepage": "http://www.popgen.dk/angsd/", + "documentation": "http://www.popgen.dk/angsd/", + "tool_dev_url": "https://github.com/ANGSD/angsd", + "doi": "10.1186/s12859-014-0356-4", + "licence": "['GPL v3, MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "A list of BAM or CRAM files", + "pattern": "*.{bam,cram}" + } + }, + { + "bai": { + "type": "file", + "description": "List of BAM/CRAM index files", + "pattern": "*.{bai,csi}" + } + }, + { + "minqfile": { + "type": "file", + "description": "File with individual quality score thresholds", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "depth_sample": { + "type": "file", + "description": "Distribution of sequencing depths", + "pattern": "*.depthSample" + } + }, + { + "depth_global": { + "type": "file", + "description": "Distribution of sequencing depths", + "pattern": "*.depthGlobal" + } + }, + { + "qs": { + "type": "file", + "description": "Distribution of scores", + "pattern": "*.qs" + } + }, + { + "pos": { + "type": "file", + "description": "Various types of depth statistics (depending on value for -dumpCounts)", + "pattern": "*.pos.gz" + } + }, + { + "counts": { + "type": "file", + "description": "Various types of statistics (related to pos.gz)", + "pattern": "*.counts.gz" + } + }, + { + "icounts": { + "type": "file", + "description": "Internal format for dumping binary single chrs. Useful for ANGSD contamination", + "pattern": "*.icnts.gz" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "annotsv_annotsv", + "path": "modules/nf-core/annotsv/annotsv/meta.yml", + "type": "module", + "meta": { + "name": "annotsv_annotsv", + "description": "Annotation and Ranking of Structural Variation", + "keywords": [ + "annotation", + "structural variants", + "vcf", + "bed", + "tsv" + ], + "tools": [ + { + "annotsv": { + "description": "Annotation and Ranking of Structural Variation", + "homepage": "https://lbgi.fr/AnnotSV/", + "documentation": "https://lbgi.fr/AnnotSV/", + "tool_dev_url": "https://github.com/lgmgeo/AnnotSV", + "licence": "GPL-3.0" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sv_vcf": { + "type": "file", + "description": "A VCF or BED file containing the structural variants to be annotated", + "pattern": "*.{bed,vcf,vcf.gz}" + } + }, + { + "sv_vcf_index": { + "type": "file", + "description": "OPTIONAL - The index for gzipped VCF files", + "pattern": "*.tbi" + } + }, + { + "candidate_small_variants": { + "type": "file", + "description": "OPTIONAL - A file containing candidate small variants", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing annotations information\n" + } + }, + { + "annotations": { + "type": "directory", + "description": "The directory containing the annotations (URL to download this will be made available soon)\nFor now this can be downloaded in the way defined in the repo (https://github.com/lgmgeo/AnnotSV#quick-installation)\n" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing candidate genes information\n" + } + }, + { + "candidate_genes": { + "type": "file", + "description": "OPTIONAL - A file containing genes (either space-separated, tab-separated or line-break-separated)", + "pattern": "*.txt" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing candidate false positive SNV information\n" + } + }, + { + "false_positive_snv": { + "type": "file", + "description": "OPTIONAL - A VCF file containing small variant candidates", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "meta5": { + "type": "map", + "description": "Groovy Map containing candidate gene transcripts information\n" + } + }, + { + "gene_transcripts": { + "type": "file", + "description": "OPTIONAL - A file containing the preferred gene transcripts to be used in priority during annotation (either space-separated or tab-separated)", + "pattern": "*.txt" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "A TSV file containing the annotated variants", + "pattern": "*.tsv" + } + }, + { + "unannotated_tsv": { + "type": "file", + "description": "OPTIONAL - TSV file containing the unannotated variants", + "pattern": "*.unannotated.tsv" + } + }, + { + "vcf": { + "type": "file", + "description": "OPTIONAL - A VCF file containing the annotated variants (created when `-vcf 1` is specified in the args)\n", + "pattern": "*.vcf" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "annotsv_installannotations", + "path": "modules/nf-core/annotsv/installannotations/meta.yml", + "type": "module", + "meta": { + "name": "annotsv_installannotations", + "description": "Install the AnnotSV annotations", + "keywords": [ + "annotation", + "download", + "installation", + "structural variants" + ], + "tools": [ + { + "annotsv": { + "description": "Annotation and Ranking of Structural Variation", + "homepage": "https://lbgi.fr/AnnotSV/", + "documentation": "https://lbgi.fr/AnnotSV/", + "tool_dev_url": "https://github.com/lgmgeo/AnnotSV", + "licence": "['GPL v3']" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "annotations": { + "type": "file", + "description": "A folder containing the annotations", + "pattern": "AnnotSV_annotations" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "antismash_antismashlite", + "path": "modules/nf-core/antismash/antismashlite/meta.yml", + "type": "module", + "meta": { + "name": "antismash_antismashlite", + "description": "antiSMASH allows the rapid genome-wide identification, annotation\nand analysis of secondary metabolite biosynthesis gene clusters.\n", + "keywords": [ + "secondary metabolites", + "BGC", + "biosynthetic gene cluster", + "genome mining", + "NRPS", + "RiPP", + "antibiotics", + "prokaryotes", + "bacteria", + "eukaryotes", + "fungi", + "antismash" + ], + "tools": [ + { + "antismashlite": { + "description": "antiSMASH - the antibiotics and Secondary Metabolite Analysis SHell", + "homepage": "https://docs.antismash.secondarymetabolites.org", + "documentation": "https://docs.antismash.secondarymetabolites.org", + "tool_dev_url": "https://github.com/antismash/antismash", + "doi": "10.1093/nar/gkab335", + "licence": "['AGPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sequence_input": { + "type": "file", + "description": "nucleotide sequence file (annotated)", + "pattern": "*.{gbk, gb, gbff, genbank, embl, fasta, fna}" + } + }, + { + "databases": { + "type": "directory", + "description": "Downloaded AntiSMASH databases (e.g. in the AntiSMASH installation directory\n\"data/databases\")\n", + "pattern": "*/" + } + }, + { + "antismash_dir": { + "type": "directory", + "description": "A local copy of an AntiSMASH installation folder. This is required when running with\ndocker and singularity (not required for conda), due to attempted 'modifications' of\nfiles during database checks in the installation directory, something that cannot\nbe done in immutable docker/singularity containers. Therefore, a local installation\ndirectory needs to be mounted (including all modified files from the downloading step)\nto the container as a workaround.\n", + "pattern": "*/" + } + }, + { + "gff": { + "type": "file", + "description": "Annotations in GFF3 format (only if sequence_input is in FASTA format)", + "pattern": "*.gff" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "clusterblast_file": { + "type": "file", + "description": "Output of ClusterBlast algorithm", + "pattern": "clusterblast/*_c*.txt" + } + }, + { + "html_accessory_files": { + "type": "directory", + "description": "Accessory files for the HTML output", + "pattern": "{css/,images/,js/}" + } + }, + { + "knownclusterblast_html": { + "type": "file", + "description": "Tables with MIBiG hits in HTML format", + "pattern": "knownclusterblast/region*/ctg*.html" + } + }, + { + "knownclusterblast_dir": { + "type": "directory", + "description": "Directory with MIBiG hits", + "pattern": "knownclusterblast/" + } + }, + { + "knownclusterblast_txt": { + "type": "file", + "description": "Tables with MIBiG hits", + "pattern": "knownclusterblast/*_c*.txt" + } + }, + { + "svg_files_clusterblast": { + "type": "file", + "description": "SVG images showing the % identity of the aligned hits against their queries", + "pattern": "svg/clusterblast*.svg" + } + }, + { + "svg_files_knownclusterblast": { + "type": "file", + "description": "SVG images showing the % identity of the aligned hits against their queries", + "pattern": "svg/knownclusterblast*.svg" + } + }, + { + "gbk_input": { + "type": "file", + "description": "Nucleotide sequence and annotations in GenBank format; converted from input file", + "pattern": "*.gbk" + } + }, + { + "json_results": { + "type": "file", + "description": "Nucleotide sequence and annotations in JSON format; converted from GenBank file (gbk_input)", + "pattern": "*.json" + } + }, + { + "log": { + "type": "file", + "description": "Contains all the logging output that antiSMASH produced during its run", + "pattern": "*.log" + } + }, + { + "zip": { + "type": "file", + "description": "Contains a compressed version of the output folder in zip format", + "pattern": "*.zip" + } + }, + { + "gbk_results": { + "type": "file", + "description": "Nucleotide sequence and annotations in GenBank format; one file per antiSMASH hit", + "pattern": "*region*.gbk" + } + }, + { + "clusterblastoutput": { + "type": "file", + "description": "Raw BLAST output of known clusters previously predicted by antiSMASH using the built-in ClusterBlast algorithm", + "pattern": "clusterblastoutput.txt" + } + }, + { + "html": { + "type": "file", + "description": "Graphical web view of results in HTML format", + "patterN": "index.html" + } + }, + { + "knownclusterblastoutput": { + "type": "file", + "description": "Raw BLAST output of known clusters of the MIBiG database", + "pattern": "knownclusterblastoutput.txt" + } + }, + { + "json_sideloading": { + "type": "file", + "description": "Sideloaded annotations of protoclusters and/or subregions (see antiSMASH documentation \"Annotation sideloading\")", + "pattern": "regions.js" + } + } + ], + "authors": [ + "@jasmezz" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "antismash_antismashlitedownloaddatabases", + "path": "modules/nf-core/antismash/antismashlitedownloaddatabases/meta.yml", + "type": "module", + "meta": { + "name": "antismash_antismashlitedownloaddatabases", + "description": "antiSMASH allows the rapid genome-wide identification, annotation and analysis of secondary metabolite biosynthesis gene clusters. This module downloads the antiSMASH databases for conda and docker/singularity runs.", + "keywords": [ + "secondary metabolites", + "BGC", + "biosynthetic gene cluster", + "genome mining", + "NRPS", + "RiPP", + "antibiotics", + "prokaryotes", + "bacteria", + "eukaryotes", + "fungi", + "antismash", + "database" + ], + "tools": [ + { + "antismash": { + "description": "antiSMASH - the antibiotics and Secondary Metabolite Analysis SHell", + "homepage": "https://docs.antismash.secondarymetabolites.org", + "documentation": "https://docs.antismash.secondarymetabolites.org", + "tool_dev_url": "https://github.com/antismash/antismash", + "doi": "10.1093/nar/gkab335", + "licence": [ + "AGPL v3" + ] + } + } + ], + "input": [ + { + "database_css": { + "type": "directory", + "description": "antismash/outputs/html/css folder which is being created during the antiSMASH database downloading step. These files are normally downloaded by download-antismash-databases itself, and must be retrieved by the user by manually running the command with conda or a standalone installation of antiSMASH. Therefore we do not recommend using this module for production pipelines, but rather require users to specify their own local copy of the antiSMASH database in pipelines.\n", + "pattern": "css" + } + }, + { + "database_detection": { + "type": "directory", + "description": "antismash/detection folder which is being created during the antiSMASH database downloading step. These files are normally downloaded by download-antismash-databases itself, and must be retrieved by the user by manually running the command with conda or a standalone installation of antiSMASH. Therefore we do not recommend using this module for production pipelines, but rather require users to specify their own local copy of the antiSMASH database in pipelines.\n", + "pattern": "detection" + } + }, + { + "database_modules": { + "type": "directory", + "description": "antismash/modules folder which is being created during the antiSMASH database downloading step. These files are normally downloaded by download-antismash-databases itself, and must be retrieved by the user by manually running the command with conda or a standalone installation of antiSMASH. Therefore we do not recommend using this module for production pipelines, but rather require users to specify their own local copy of the antiSMASH database in pipelines.\n", + "pattern": "modules" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "database": { + "type": "directory", + "description": "Download directory for antiSMASH databases", + "pattern": "antismash_db" + } + }, + { + "antismash_dir": { + "type": "directory", + "description": "antismash installation folder which is being modified during the antiSMASH database downloading step. The modified files are normally downloaded by download-antismash-databases itself, and must be retrieved by the user by manually running the command with conda or a standalone installation of antiSMASH. Therefore we do not recommend using this module for production pipelines, but rather require users to specify their own local copy of the antiSMASH database and installation folder in pipelines.\n", + "pattern": "antismash_dir" + } + } + ], + "authors": [ + "@jasmezz" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "arcashla_extract", + "path": "modules/nf-core/arcashla/extract/meta.yml", + "type": "module", + "meta": { + "name": "arcashla_extract", + "description": "Extracts reads mapped to chromosome 6 and any HLA decoys or chromosome 6 alternates.", + "keywords": [ + "HLA", + "genotype", + "RNA-seq" + ], + "tools": [ + { + "arcashla": { + "description": "arcasHLA performs high resolution genotyping for HLA class I and class II genes from RNA sequencing, supporting both paired and single-end samples.", + "homepage": "https://github.com/RabadanLab/arcasHLA", + "documentation": "https://github.com/RabadanLab/arcasHLA", + "tool_dev_url": "https://github.com/RabadanLab/arcasHLA", + "doi": "10.1093/bioinformatics/btz474", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file. If the BAM file is not indexed, this tool will run samtools index before extracting reads.", + "pattern": "*.bam" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "extracted_reads_fastq": { + "type": "file", + "description": "FASTQ file(s) containing chromosome 6 reads and related HLA sequences", + "pattern": "*.fq.gz" + } + }, + { + "log": { + "type": "file", + "description": "Log file for run summary", + "pattern": "*.log" + } + }, + { + "intermediate_sam": { + "type": "file", + "description": "Optional intermediate SAM file", + "pattern": "*.sam" + } + }, + { + "intermediate_bam": { + "type": "file", + "description": "Optional intermediate BAM file", + "pattern": "*.bam" + } + }, + { + "intermediate_sorted_bam": { + "type": "file", + "description": "Optional intermediate sorted BAM file", + "pattern": "*.sorted.bam" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@christopher-mohr" + ] + } + }, + { + "name": "aria2", + "path": "modules/nf-core/aria2/meta.yml", + "type": "module", + "meta": { + "name": "aria2", + "description": "CLI Download utility", + "keywords": [ + "download" + ], + "tools": [ + { + "aria2": { + "description": "aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.", + "tool_dev_url": "https://github.com/aria2/aria2/", + "licence": "['GPL v2']" + } + } + ], + "input": [ + { + "source_url": { + "type": "url", + "description": "Source URL to be downloaded", + "pattern": "{http,https}*" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "downloaded_file": { + "type": "file", + "description": "Downloaded files from source", + "pattern": "*.*" + } + } + ], + "authors": [ + "@JoseEspinosa" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + }, + { + "name": "proteinfold", + "version": "1.0.0" + } + ] + }, + { + "name": "ariba_getref", + "path": "modules/nf-core/ariba/getref/meta.yml", + "type": "module", + "meta": { + "name": "ariba_getref", + "description": "Download and prepare database for Ariba analysis", + "keywords": [ + "fastq", + "assembly", + "resistance", + "virulence" + ], + "tools": [ + { + "ariba": { + "description": "ARIBA: Antibiotic Resistance Identification By Assembly", + "homepage": "https://sanger-pathogens.github.io/ariba/", + "documentation": "https://sanger-pathogens.github.io/ariba/", + "tool_dev_url": "https://github.com/sanger-pathogens/ariba", + "doi": "10.1099/mgen.0.000131", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "db_name": { + "type": "string", + "description": "A database to setup up for Ariba" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "db": { + "type": "file", + "description": "An Ariba prepared database", + "pattern": "*.tar.gz" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "ariba_run", + "path": "modules/nf-core/ariba/run/meta.yml", + "type": "module", + "meta": { + "name": "ariba_run", + "description": "Query input FASTQs against Ariba formatted databases", + "keywords": [ + "fastq", + "assembly", + "resistance", + "virulence" + ], + "tools": [ + { + "ariba": { + "description": "ARIBA: Antibiotic Resistance Identification By Assembly", + "homepage": "https://sanger-pathogens.github.io/ariba/", + "documentation": "https://sanger-pathogens.github.io/ariba/", + "tool_dev_url": "https://github.com/sanger-pathogens/ariba", + "doi": "10.1099/mgen.0.000131", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Paired-end reads in FASTQ format", + "pattern": "*_R[1|2].{fastq.gz,fq.gz}" + } + }, + { + "db": { + "type": "file", + "description": "An Ariba prepared database", + "pattern": "*.tar.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "results": { + "type": "file", + "description": "A directory of Ariba analysis outputs", + "pattern": "*" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "arriba", + "path": "modules/nf-core/arriba/meta.yml", + "type": "module", + "meta": { + "name": "arriba", + "description": "Arriba is a command-line tool for the detection of gene fusions from RNA-Seq data.", + "keywords": [ + "fusion", + "arriba" + ], + "tools": [ + { + "arriba": { + "description": "Fast and accurate gene fusion detection from RNA-Seq data", + "homepage": "https://github.com/suhrig/arriba", + "documentation": "https://arriba.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/suhrig/arriba", + "doi": "10.1101/gr.257246.119", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "fasta": { + "type": "file", + "description": "Assembly FASTA file", + "pattern": "*.{fasta}" + } + }, + { + "gtf": { + "type": "file", + "description": "Annotation GTF file", + "pattern": "*.{gtf}" + } + }, + { + "blacklist": { + "type": "file", + "description": "Blacklist file", + "pattern": "*.{tsv}" + } + }, + { + "known_fusions": { + "type": "file", + "description": "Known fusions file", + "pattern": "*.{tsv}" + } + }, + { + "structural_variants": { + "type": "file", + "description": "Structural variants file", + "pattern": "*.{tsv}" + } + }, + { + "tags": { + "type": "file", + "description": "Tags file", + "pattern": "*.{tsv}" + } + }, + { + "protein_domains": { + "type": "file", + "description": "Protein domains file", + "pattern": "*.{gff3}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fusions": { + "type": "file", + "description": "File contains fusions which pass all of Arriba's filters.", + "pattern": "*.{fusions.tsv}" + } + }, + { + "fusions_fail": { + "type": "file", + "description": "File contains fusions that Arriba classified as an artifact or that are also observed in healthy tissue.", + "pattern": "*.{fusions.discarded.tsv}" + } + } + ], + "authors": [ + "@praveenraj2018,@rannick" + ] + }, + "pipelines": [ + { + "name": "rnafusion", + "version": "2.3.4" + } + ] + }, + { + "name": "art_illumina", + "path": "modules/nf-core/art/illumina/meta.yml", + "type": "module", + "meta": { + "name": "art_illumina", + "description": "Simulation tool to generate synthetic Illumina next-generation sequencing reads", + "keywords": [ + "fastq", + "fasta", + "illumina", + "simulate" + ], + "tools": [ + { + "art": { + "description": "ART is a set of simulation tools to generate synthetic next-generation sequencing reads. ART simulates sequencing reads by mimicking real sequencing process with empirical error models or quality profiles summarized from large recalibrated sequencing data. ART can also simulate reads using user own read error model or quality profiles. ", + "homepage": "https://www.niehs.nih.gov/research/resources/software/biostatistics/art/index.cfm", + "doi": "10.1093/bioinformatics/btr708", + "licence": "GPL version 3 license" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file of input DNA/RNA reference", + "pattern": "*.{fasta,fa}" + } + }, + { + "sequencing_system": { + "type": "string", + "description": "The name of Illumina sequencing system of the built-in profile used for simulation" + } + }, + { + "fold_coverage": { + "type": "integer", + "description": "The fold of read coverage to be simulated or number of reads/read pairs generated for each amplicon" + } + }, + { + "read_length": { + "type": "integer", + "description": "The length of reads to be simulated" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "Simulated reads", + "pattern": "*.fq.gz" + } + }, + { + "aln": { + "type": "file", + "description": "OPTIONAL Alignment file of the simulated reads. Enabled by default, to disable, use -na/--noALN.", + "pattern": "*.aln" + } + }, + { + "sam": { + "type": "file", + "description": "OPTIONAL Alignment file in SAM format of the simulated reads. Enabled with -sam/--samout.", + "pattern": "*.sam" + } + } + ], + "authors": [ + "@MarieLataretu" + ] + } + }, + { + "name": "artic_guppyplex", + "path": "modules/nf-core/artic/guppyplex/meta.yml", + "type": "module", + "meta": { + "name": "artic_guppyplex", + "description": "Aggregates fastq files with demultiplexed reads", + "keywords": [ + "artic", + "aggregate", + "demultiplexed reads" + ], + "tools": [ + { + "artic": { + "description": "ARTIC pipeline - a bioinformatics pipeline for working with virus sequencing data sequenced with nanopore", + "homepage": "https://artic.readthedocs.io/en/latest/", + "documentation": "https://artic.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/artic-network/fieldbioinformatics", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq_dir": { + "type": "directory", + "description": "Directory containing the fastq files with demultiplexed reads", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "Aggregated FastQ files", + "pattern": "*.{fastq.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "artic_minion", + "path": "modules/nf-core/artic/minion/meta.yml", + "type": "module", + "meta": { + "name": "artic_minion", + "description": "Run the alignment/variant-call/consensus logic of the artic pipeline\n", + "keywords": [ + "artic", + "aggregate", + "demultiplexed reads" + ], + "tools": [ + { + "artic": { + "description": "ARTIC pipeline - a bioinformatics pipeline for working with virus sequencing data sequenced with nanopore", + "homepage": "https://artic.readthedocs.io/en/latest/", + "documentation": "https://artic.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/artic-network/fieldbioinformatics", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "FastQ file containing reads", + "pattern": "*.{fastq.gz}" + } + }, + { + "fast5_dir": { + "type": "directory", + "description": "Directory containing MinION FAST5 files", + "pattern": "*" + } + }, + { + "sequencing_summary": { + "type": "file", + "description": "Path to Guppy sequencing summary", + "pattern": "*.{txt}" + } + }, + { + "primer_scheme_fasta": { + "type": "file", + "description": "Sequence of the reference genome used in the scheme in FASTA format\n", + "pattern": "*.{reference.fasta}" + } + }, + { + "primer_scheme_bed": { + "type": "file", + "description": "bed files containing coordinates of each primer in the scheme,\nrelative to the reference genome\n", + "pattern": "*.{scheme.bed}" + } + }, + { + "medaka_model_file": { + "type": "file", + "description": "Medaka model file to use (if option --medaka is set)\n", + "pattern": "*.hdf5" + } + }, + { + "medaka_model_string": { + "type": "value", + "description": "Medaka model string to use (if option --medaka is set)\n", + "pattern": "*" + } + }, + { + "scheme": { + "type": "value", + "description": "Name of the primer scheme" + } + }, + { + "scheme_version": { + "type": "value", + "description": "Version of the primer scheme" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "results": { + "type": "file", + "description": "Aggregated FastQ files", + "pattern": "*.fastq.gz" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.{sorted.bam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file", + "pattern": "*.{sorted.bai}" + } + }, + { + "bam_trimmed": { + "type": "file", + "description": "BAM file with the primers left on", + "pattern": "*.{trimmed.rg.sorted.bam}" + } + }, + { + "bai_trimmed": { + "type": "file", + "description": "BAM index file of bam_trimmed", + "pattern": "*.{sorted.bai}" + } + }, + { + "bam_primertrimmed": { + "type": "file", + "description": "BAM containing reads after primer-binding site trimming", + "pattern": "*.{trimmed.rg.sorted.bam}" + } + }, + { + "bai_primertrimmed": { + "type": "file", + "description": "BAM index file of bam_primertrimmed", + "pattern": "*.{primertrimmed.rg.sorted.bam.bai}" + } + }, + { + "fasta": { + "type": "file", + "description": "FAST file with consensus sequence", + "pattern": "*.{consensus.fasta}" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file containing detected variants passing quality filter", + "pattern": "*.{pass.vcf.gz}" + } + }, + { + "tbi": { + "type": "file", + "description": "VCF index", + "pattern": "*.{pass.vcf.gz.tbi}" + } + }, + { + "json": { + "type": "file", + "description": "JSON file for MultiQC", + "pattern": "*.json" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "ascat", + "path": "modules/nf-core/ascat/meta.yml", + "type": "module", + "meta": { + "name": "ascat", + "description": "copy number profiles of tumour cells.", + "keywords": [ + "bam", + "copy number", + "cram" + ], + "tools": [ + { + "ascat": { + "description": "ASCAT is a method to derive copy number profiles of tumour cells, accounting for normal cell admixture and tumour aneuploidy. ASCAT infers tumour purity (the fraction of tumour cells) and ploidy (the amount of DNA per tumour cell), expressed as multiples of haploid genomes from SNP array or massively parallel sequencing data, and calculates whole-genome allele-specific copy number profiles (the number of copies of both parental alleles for all SNP loci across the genome).", + "documentation": "https://github.com/VanLoo-lab/ascat/tree/master/man", + "tool_dev_url": "https://github.com/VanLoo-lab/ascat", + "doi": "10.1093/bioinformatics/btaa538", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "args": { + "type": "map", + "description": "Groovy Map containing tool parameters. MUST follow the structure/keywords below and be provided via modules.config. Parameters must be set between quotes. (optional) parameters can be removed from the map, if they are not set. For default values, please check the documentation above.\n\n```\n{\n [\n \"gender\": \"XX\",\n \"genomeVersion\": \"hg19\"\n \"purity\": (optional),\n \"ploidy\": (optional),\n \"gc_files\": (optional),\n \"minCounts\": (optional),\n \"BED_file\": (optional) but recommended for WES,\n \"chrom_names\": (optional),\n \"min_base_qual\": (optional),\n \"min_map_qual\": (optional),\n \"ref_fasta\": (optional),\n \"skip_allele_counting_tumour\": (optional),\n \"skip_allele_counting_normal\": (optional)\n ]\n}\n```\n" + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_normal": { + "type": "file", + "description": "BAM/CRAM file, must adhere to chr1, chr2, ...chrX notation For modifying chromosome notation in bam files please follow https://josephcckuo.wordpress.com/2016/11/17/modify-chromosome-notation-in-bam-file/.", + "pattern": "*.{bam,cram}" + } + }, + { + "index_normal": { + "type": "file", + "description": "index for normal_bam/cram", + "pattern": "*.{bai,crai}" + } + }, + { + "input_tumor": { + "type": "file", + "description": "BAM/CRAM file, must adhere to chr1, chr2, ...chrX notation", + "pattern": "*.{bam,cram}" + } + }, + { + "index_tumor": { + "type": "file", + "description": "index for tumor_bam/cram", + "pattern": "*.{bai,crai}" + } + }, + { + "allele_files": { + "type": "file", + "description": "allele files for ASCAT WGS. Can be downloaded here https://github.com/VanLoo-lab/ascat/tree/master/ReferenceFiles/WGS" + } + }, + { + "loci_files": { + "type": "file", + "description": "loci files for ASCAT WGS. Loci files without chromosome notation can be downloaded here https://github.com/VanLoo-lab/ascat/tree/master/ReferenceFiles/WGS Make sure the chromosome notation matches the bam/cram input files. To add the chromosome notation to loci files (hg19/hg38) if necessary, you can run this command `if [[ $(samtools view | head -n1 | cut -f3)\\\" == *\\\"chr\\\"* ]]; then for i in {1..22} X; do sed -i 's/^/chr/' G1000_loci_hg19_chr_${i}.txt; done; fi`" + } + }, + { + "bed_file": { + "type": "file", + "description": "Bed file for ASCAT WES (optional, but recommended for WES)" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference fasta file (optional)" + } + }, + { + "gc_file": { + "type": "file", + "description": "GC correction file (optional) - Used to do logR correction of the tumour sample(s) with genomic GC content" + } + }, + { + "rt_file": { + "type": "file", + "description": "replication timing correction file (optional, provide only in combination with gc_file)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "allelefreqs": { + "type": "file", + "description": "Files containing allee frequencies per chromosome", + "pattern": "*{alleleFrequencies_chr*.txt}" + } + }, + { + "metrics": { + "type": "file", + "description": "File containing quality metrics", + "pattern": "*.{metrics.txt}" + } + }, + { + "png": { + "type": "file", + "description": "ASCAT plots", + "pattern": "*.{png}" + } + }, + { + "purityploidy": { + "type": "file", + "description": "File with purity and ploidy data", + "pattern": "*.{purityploidy.txt}" + } + }, + { + "segments": { + "type": "file", + "description": "File with segments data", + "pattern": "*.{segments.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@aasNGC", + "@lassefolkersen", + "@FriederikeHanssen", + "@maxulysse", + "@SusiJo" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "assemblyscan", + "path": "modules/nf-core/assemblyscan/meta.yml", + "type": "module", + "meta": { + "name": "assemblyscan", + "description": "Assembly summary statistics in JSON format", + "keywords": [ + "assembly", + "statistics" + ], + "tools": [ + { + "assemblyscan": { + "description": "Assembly summary statistics in JSON format", + "homepage": "https://github.com/rpetit3/assembly-scan", + "documentation": "https://github.com/rpetit3/assembly-scan", + "tool_dev_url": "https://github.com/rpetit3/assembly-scan", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "assembly": { + "type": "file", + "description": "FASTA file for a given assembly", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "Assembly statistics in JSON format", + "pattern": "*.json" + } + } + ], + "authors": [ + "@sateeshperi", + "@mjcipriano" + ] + } + }, + { + "name": "ataqv_ataqv", + "path": "modules/nf-core/ataqv/ataqv/meta.yml", + "type": "module", + "meta": { + "name": "ataqv_ataqv", + "description": "ataqv function of a corresponding ataqv tool", + "keywords": [ + "ATAC-seq", + "qc", + "ataqv" + ], + "tools": [ + { + "ataqv": { + "description": "ataqv is a toolkit for measuring and comparing ATAC-seq results. It was written to help understand how well ATAC-seq assays have worked, and to make it easier to spot differences that might be caused by library prep or sequencing.", + "homepage": "https://github.com/ParkerLab/ataqv/blob/master/README.rst", + "documentation": "https://github.com/ParkerLab/ataqv/blob/master/README.rst", + "tool_dev_url": "https://github.com/ParkerLab/ataqv", + "doi": "10.1016/j.cels.2020.02.009", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file with the same prefix as bam file. Required if tss_file input is provided.", + "pattern": "*.bam.bai" + } + }, + { + "peak_file": { + "type": "file", + "description": "A BED file of peaks called for alignments in the BAM file", + "pattern": "*.bed" + } + }, + { + "organism": { + "type": "string", + "description": "The subject of the experiment, which determines the list of autosomes (see \"Reference Genome Configuration\" section at https://github.com/ParkerLab/ataqv)." + } + }, + { + "mito_name": { + "type": "string", + "description": "Name of the mitochondrial sequence." + } + }, + { + "tss_file": { + "type": "file", + "description": "A BED file of transcription start sites for the experiment organism. If supplied, a TSS enrichment score will be calculated according to the ENCODE data standards. This calculation requires that the BAM file of alignments be indexed.", + "pattern": "*.bed" + } + }, + { + "excl_regs_file": { + "type": "file", + "description": "A BED file containing excluded regions. Peaks or TSS overlapping these will be ignored.", + "pattern": "*.bed" + } + }, + { + "autosom_ref_file": { + "type": "file", + "description": "A file containing autosomal reference names, one per line. The names must match the reference names in the alignment file exactly, or the metrics based on counts of autosomal alignments will be wrong." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "json": { + "type": "file", + "description": "The JSON file to which metrics will be written." + } + }, + { + "problems": { + "type": "file", + "description": "If given, problematic reads will be logged to a file per read group, with names derived from the read group IDs, with \".problems\" appended. If no read groups are found, the reads will be written to one file named after the BAM file.", + "pattern": "*.problems" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@i-pletenev" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + } + ] + }, + { + "name": "ataqv_mkarv", + "path": "modules/nf-core/ataqv/mkarv/meta.yml", + "type": "module", + "meta": { + "name": "ataqv_mkarv", + "description": "mkarv function of a corresponding ataqv tool", + "keywords": [ + "ataqv", + "ATAC-seq", + "qc", + "ataqv", + "mkarv" + ], + "tools": [ + { + "ataqv": { + "description": "ataqv is a toolkit for measuring and comparing ATAC-seq results. It was written to help understand how well ATAC-seq assays have worked, and to make it easier to spot differences that might be caused by library prep or sequencing.", + "homepage": "https://github.com/ParkerLab/ataqv/blob/master/README.rst", + "documentation": "https://github.com/ParkerLab/ataqv/blob/master/README.rst", + "tool_dev_url": "https://github.com/ParkerLab/ataqv", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "json": { + "type": "file", + "description": "The JSON file with ataqv metrics", + "pattern": "*.json" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "html": { + "type": "directory", + "description": "Web application to visualize results in HTML format", + "pattern": "*.html" + } + } + ], + "authors": [ + "@bjlang" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + } + ] + }, + { + "name": "atlas_call", + "path": "modules/nf-core/atlas/call/meta.yml", + "type": "module", + "meta": { + "name": "atlas_call", + "description": "generate VCF file from a BAM file using various calling methods", + "keywords": [ + "atlas", + "variant calling", + "vcf", + "population genetics" + ], + "tools": [ + { + "atlas": { + "description": "ATLAS, a suite of methods to accurately genotype and estimate genetic diversity", + "homepage": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", + "documentation": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", + "tool_dev_url": "https://bitbucket.org/wegmannlab/atlas", + "doi": "10.1101/105346", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "A BAM/ file", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "The BAI file for the input BAM file", + "pattern": "*.bai" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference FASTA file used to generate the BAM file", + "pattern": "*.{fasta,fna,fa}" + } + }, + { + "fai": { + "type": "file", + "description": "The index of the FASTA file used for to generate the BAM file", + "pattern": "*.fai" + } + }, + { + "recal": { + "type": "file", + "description": "Optional recalibration file from atlas recal function in text format", + "pattern": "*.txt" + } + }, + { + "pmd": { + "type": "file", + "description": "Optional PMD file from atlas pmd function in text format", + "pattern": "*.txt" + } + }, + { + "known_alleles": { + "type": "file", + "description": "Optional tab separated text file containing 1-based list of known alleles. See atlas call documentation.", + "pattern": "*.{txt.tsv}" + } + }, + { + "method": { + "type": "character", + "description": "Which variant calling algorithm to use. Some may require additional parameters supplied via ext.args. Check atlas documentation.", + "pattern": "MLE|Bayesian|allelePresence|randomBase|majorityBase" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "VCF file with variant calls", + "pattern": "*.vcf.gz" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "atlas_pmd", + "path": "modules/nf-core/atlas/pmd/meta.yml", + "type": "module", + "meta": { + "name": "atlas_pmd", + "description": "Estimate the post-mortem damage patterns of DNA", + "keywords": [ + "ancient DNA", + "post mortem damage", + "bam" + ], + "tools": [ + { + "atlas": { + "description": "ATLAS, a suite of methods to accurately genotype and estimate genetic diversity", + "homepage": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", + "documentation": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", + "tool_dev_url": "https://bitbucket.org/wegmannlab/atlas", + "doi": "10.1101/105346", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Single input BAM file", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "The BAI file for the input BAM file", + "pattern": "*.bai" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference genome provided as FASTA file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "The FAI file for the reference genome FASTA file", + "pattern": "*.fai" + } + }, + { + "pool_rg_txt": { + "type": "file", + "description": "Optional. Provide the names of read groups that should be merged for PMD estimation.\nAll read groups that should be pooled listed on one line, separated by any white space.\nOther read groups will be recalibrated separately.\n", + "pattern": "*.txt" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "empiric": { + "type": "file", + "description": "A list of pmd patterns estimated with the empirical method for each readgroup", + "pattern": "*_PMD_input_Empiric.txt" + } + }, + { + "exponential": { + "type": "file", + "description": "A list of pmd patterns estimated with the exponential method for each readgroup", + "pattern": "*_PMD_input_Exponential.txt" + } + }, + { + "counts": { + "type": "file", + "description": "The counts of all possible transitions for each read position\n(or up to a certain position, see specific command length)\n", + "pattern": "*_PMD_Table_counts.txt" + } + }, + { + "table": { + "type": "file", + "description": "For all possible transitions the ratio of the transition counts,\nwhich are taken from the _counts.txt table, over the total amount\nof the base that was mutated, for each position and readgroup\n", + "pattern": "*_PMD_Table.txt" + } + } + ], + "authors": [ + "@maxibor", + "@merszym" + ] + } + }, + { + "name": "atlas_recal", + "path": "modules/nf-core/atlas/recal/meta.yml", + "type": "module", + "meta": { + "name": "atlas_recal", + "description": "gives an estimation of the sequencing bias based on known invariant sites", + "keywords": [ + "sequencing_bias", + "ATLAS" + ], + "tools": [ + { + "atlas": { + "description": "ATLAS, a suite of methods to accurately genotype and estimate genetic diversity", + "homepage": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", + "documentation": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", + "doi": "10.1101/105346", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "BAI file", + "pattern": "*.bai" + } + }, + { + "empiric": { + "type": "file", + "description": "Optional txt file from PMD estimations (atlas/pmd)", + "pattern": "*.txt" + } + }, + { + "alleles": { + "type": "file", + "description": "Optional bed file with known alleles", + "pattern": "*.bed" + } + }, + { + "invariant_sites": { + "type": "file", + "description": "Optional bed file with invariant site coordinates", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "recal_patterns": { + "type": "file", + "description": "file containing the sequencing bias for each of the Read Group pools", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@ltcrod" + ] + } + }, + { + "name": "atlas_splitmerge", + "path": "modules/nf-core/atlas/splitmerge/meta.yml", + "type": "module", + "meta": { + "name": "atlas_splitmerge", + "description": "split single end read groups by length and merge paired end reads", + "keywords": [ + "split", + "merge", + "bam", + "read group" + ], + "tools": [ + { + "atlas": { + "description": "ATLAS, a suite of methods to accurately genotype and estimate genetic diversity", + "homepage": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", + "documentation": "https://bitbucket.org/wegmannlab/atlas/wiki/Home", + "tool_dev_url": "https://bitbucket.org/wegmannlab/atlas", + "doi": "10.1101/105346", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Single input BAM file.", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "The BAI file for the input BAM file", + "pattern": "*.bai" + } + }, + { + "read_group_setting": { + "type": "file", + "description": "TXT file containing the split and merge settings for\neach readgroup. Each line consist of one readgroup,\nsingle/double identifier and the maximum cycle number\nof the sequencer. e.g. \"RG1 single 100\"\n", + "pattern": "*.txt" + } + }, + { + "blacklist": { + "type": "file", + "description": "blacklist.txt (optional), A txt file with blacklisted read names\nthat should be ignored and just written to file, each on a new line\n", + "pattern": "*.txt" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "A BAM file with suffix_mergedReads.bam", + "pattern": "*_mergedReads.bam" + } + }, + { + "filelist": { + "type": "file", + "description": "A file listing all reads that were filtered out in the merging process with suffix_ignoredReads.txt.gz", + "pattern": "*.txt.gz" + } + } + ], + "authors": [ + "@merszym" + ] + } + }, + { + "name": "atlasgeneannotationmanipulation_gtf2featureannotation", + "path": "modules/nf-core/atlasgeneannotationmanipulation/gtf2featureannotation/meta.yml", + "type": "module", + "meta": { + "name": "atlasgeneannotationmanipulation_gtf2featureannotation", + "description": "Generate tables of feature metadata from GTF files", + "keywords": [ + "gtf", + "annotation" + ], + "tools": [ + { + "atlasgeneannotationmanipulation": { + "description": "Scripts for manipulating gene annotation", + "homepage": "https://github.com/ebi-gene-expression-group/atlas-gene-annotation-manipulation", + "documentation": "https://github.com/ebi-gene-expression-group/atlas-gene-annotation-manipulation", + "tool_dev_url": "https://github.com/ebi-gene-expression-group/atlas-gene-annotation-manipulation", + "licence": "['Apache-2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing information on input GTF file\ne.g. [ id:'test' ]\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing information in input FASTA file\ne.g. [ id:'test' ]\n" + } + }, + { + "gtf": { + "type": "file", + "description": "gtf annotation file", + "pattern": "*.{gtf}" + } + }, + { + "fasta": { + "type": "file", + "description": "An optional cDNA file for extracting meta info and/or filtering.\n", + "pattern": "*.{gtf}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "feature_annotation": { + "type": "file", + "description": "TSV file with feature annotation", + "pattern": "*.{tsv}" + } + }, + { + "filtered_cdna": { + "type": "file", + "description": "Where --parse-cdnas is specified in ext.args and an input fasta file is\nprovided, filtered sequences are output to the specified file. No file\nwill be output if this is not specified (for example for use of\n--dummy-from-cdnas only). See documentation at\nhttps://github.com/ebi-gene-expression-group/atlas-gene-annotation-manipulation.\n", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@pinin4fjords" + ] + }, + "pipelines": [ + { + "name": "differentialabundance", + "version": "1.2.0" + } + ] + }, + { + "name": "authentict_deam2cont", + "path": "modules/nf-core/authentict/deam2cont/meta.yml", + "type": "module", + "meta": { + "name": "authentict_deam2cont", + "description": "Use deamination patterns to estimate contamination in single-stranded libraries", + "keywords": [ + "authentict", + "ancientDNA", + "single-stranded", + "deamination", + "contamination", + "damage" + ], + "tools": [ + { + "authentict": { + "description": "Estimates present-day DNA contamination in ancient DNA single-stranded libraries.", + "homepage": "https://github.com/StephanePeyregne/AuthentiCT", + "documentation": "https://github.com/StephanePeyregne/AuthentiCT", + "tool_dev_url": "https://github.com/StephanePeyregne/AuthentiCT", + "doi": "10.1186/s13059-020-02123-y", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file (Mandatory)", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "config": { + "type": "file", + "description": "Optional AuthentiCT configuration text file", + "pattern": "*" + } + }, + { + "positions": { + "type": "file", + "description": "Optional text file with positions that sequences should overlap", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "Maximum likelihood estimates with associated standard errors", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@scarlhoff", + "@StephanePeyregne" + ] + } + }, + { + "name": "backsub", + "path": "modules/nf-core/backsub/meta.yml", + "type": "module", + "meta": { + "name": "backsub", + "description": "Pixel-by-pixel channel subtraction scaled by exposure times of pre-stitched `tif` images.", + "keywords": [ + "background", + "cycif", + "autofluorescence", + "image_analysis", + "mcmicro", + "highly_multiplexed_imaging" + ], + "tools": [ + { + "backsub": { + "description": "Module for pixel-by-pixel channel subtraction scaled by exposure times", + "homepage": "https://github.com/SchapiroLabor/Background_subtraction", + "documentation": "https://github.com/SchapiroLabor/Background_subtraction/blob/master/README.md", + "tool_dev_url": "https://github.com/SchapiroLabor/Background_subtraction", + "licence": "MIT licence" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "image": { + "type": "file", + "description": "Multi-channel image file", + "pattern": "*.{tif,tiff}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "markerfile": { + "type": "file", + "description": "Marker file with channel names, exposure times, and specified background to subtract (and remove to exclude channels from output)", + "pattern": "*.csv" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "backsub_tif": { + "type": "file", + "description": "Background corrected pyramidal ome.tif", + "pattern": "*.{tif}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "markerout": { + "type": "file", + "description": "Marker file adjusted to match the background corrected image", + "pattern": "*.{csv}" + } + } + ], + "authors": [ + "@kbestak" + ] + } + }, + { + "name": "bacphlip", + "path": "modules/nf-core/bacphlip/meta.yml", + "type": "module", + "meta": { + "name": "bacphlip", + "description": "A bacteriophage lifestyle prediction tool", + "keywords": [ + "phage", + "lifestyle", + "temperate", + "virulent", + "bacphlip", + "hmmsearch" + ], + "tools": [ + { + "bacphlip": { + "description": "A Random Forest classifier to predict bacteriophage lifestyle", + "homepage": "https://github.com/adamhockenberry/bacphlip", + "documentation": "https://github.com/adamhockenberry/bacphlip", + "tool_dev_url": "https://github.com/adamhockenberry/bacphlip", + "doi": "10.7717/peerj.11396", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file containing phage contigs/scaffolds/chromosomes (if it is a multi-FASTA file be sure to add the `--multi_fasta` argument)", + "pattern": "*.{fasta,fna,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bacphlip_results": { + "type": "file", + "description": "TSV file containing Temperate and Virulent scores for each phage sequence", + "pattern": "*.bacphlip" + } + }, + { + "hmmsearch_results": { + "type": "file", + "description": "TSV file containing binary output indicating gene presence/absence based on hmmsearch results", + "pattern": "*.hmmsearch.tsv" + } + } + ], + "authors": [ + "@CarsonJM" + ] + } + }, + { + "name": "bakta_bakta", + "path": "modules/nf-core/bakta/bakta/meta.yml", + "type": "module", + "meta": { + "name": "bakta_bakta", + "description": "Annotation of bacterial genomes (isolates, MAGs) and plasmids", + "keywords": [ + "annotation", + "fasta", + "bacteria" + ], + "tools": [ + { + "bakta": { + "description": "Rapid & standardized annotation of bacterial genomes, MAGs & plasmids.", + "homepage": "https://github.com/oschwengers/bakta", + "documentation": "https://github.com/oschwengers/bakta", + "tool_dev_url": "https://github.com/oschwengers/bakta", + "doi": "10.1099/mgen.0.000685", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file to be annotated. Has to contain at least a non-empty string dummy value.\n" + } + }, + { + "db": { + "type": "file", + "description": "Path to the Bakta database. Must have amrfinderplus database directory already installed within it (in a directory called 'amrfinderplus-db/').\n" + } + }, + { + "proteins": { + "type": "file", + "description": "FASTA/GenBank file of trusted proteins to first annotate from (optional)" + } + }, + { + "prodigal_tf": { + "type": "file", + "description": "Training file to use for Prodigal (optional)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "genome statistics and annotation summary", + "pattern": "*.txt" + } + }, + { + "tsv": { + "type": "file", + "description": "annotations as simple human readble tab separated values", + "pattern": "*.tsv" + } + }, + { + "gff": { + "type": "file", + "description": "annotations & sequences in GFF3 format", + "pattern": "*.gff3" + } + }, + { + "gbff": { + "type": "file", + "description": "annotations & sequences in (multi) GenBank format", + "pattern": "*.gbff" + } + }, + { + "embl": { + "type": "file", + "description": "annotations & sequences in (multi) EMBL format", + "pattern": "*.embl" + } + }, + { + "fna": { + "type": "file", + "description": "replicon/contig DNA sequences as FASTA", + "pattern": "*.fna" + } + }, + { + "faa": { + "type": "file", + "description": "CDS/sORF amino acid sequences as FASTA", + "pattern": "*.faa" + } + }, + { + "ffn": { + "type": "file", + "description": "feature nucleotide sequences as FASTA", + "pattern": "*.ffn" + } + }, + { + "hypotheticals_tsv": { + "type": "file", + "description": "additional information on hypothetical protein CDS as simple human readble tab separated values", + "pattern": "*.hypotheticals.tsv" + } + }, + { + "hypotheticals_faa": { + "type": "file", + "description": "hypothetical protein CDS amino acid sequences as FASTA", + "pattern": "*.hypotheticals.faa" + } + } + ], + "authors": [ + "@rpetit3", + "@oschwengers", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "bakta_baktadbdownload", + "path": "modules/nf-core/bakta/baktadbdownload/meta.yml", + "type": "module", + "meta": { + "name": "bakta_baktadbdownload", + "description": "Downloads BAKTA database from Zenodo", + "keywords": [ + "bakta", + "annotation", + "fasta", + "bacteria", + "database", + "download" + ], + "tools": [ + { + "bakta": { + "description": "Rapid & standardized annotation of bacterial genomes, MAGs & plasmids", + "homepage": "https://github.com/oschwengers/bakta", + "documentation": "https://github.com/oschwengers/bakta", + "tool_dev_url": "https://github.com/oschwengers/bakta", + "doi": "10.1099/mgen.0.000685", + "licence": [ + "GPL v3" + ] + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "db": { + "type": "directory", + "description": "BAKTA database directory", + "pattern": "db*/" + } + } + ], + "authors": [ + "@jfy133", + "@jasmezz" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "bamaligncleaner", + "path": "modules/nf-core/bamaligncleaner/meta.yml", + "type": "module", + "meta": { + "name": "bamaligncleaner", + "description": "removes unused references from header of sorted BAM/CRAM files.", + "keywords": [ + "bam" + ], + "tools": [ + { + "bamaligncleaner": { + "description": "Removes unaligned references in aligned BAM alignment file", + "homepage": "https://github.com/maxibor/bamAlignCleaner", + "documentation": "https://github.com/maxibor/bamAlignCleaner", + "tool_dev_url": "https://github.com/maxibor/bamAlignCleaner", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "bamcmp", + "path": "modules/nf-core/bamcmp/meta.yml", + "type": "module", + "meta": { + "name": "bamcmp", + "description": "Bamcmp (Bam Compare) is a tool for assigning reads between a primary genome and a contamination genome. For instance, filtering out mouse reads from patient derived xenograft mouse models (PDX).", + "keywords": [ + "filter", + "xenograft", + "host", + "graft", + "contamination", + "mouse" + ], + "tools": [ + { + "bamcmp": { + "description": "Bamcmp is a tool for deconvolving host and graft reads, using two bam files. Reads should be mapped to two genomes, and the mapped, sorted bam files supplied to the tool. It is highly recommended to use the \"-s as\" option not the \"-s mapq\" option, else reads which multimap to the contamination genome will be spuriously kept.", + "homepage": "https://github.com/CRUKMI-ComputationalBiology/bamcmp", + "documentation": "https://github.com/CRUKMI-ComputationalBiology/bamcmp", + "tool_dev_url": "https://github.com/CRUKMI-ComputationalBiology/bamcmp", + "doi": "10.1158/1541-7786.MCR-16-0431", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "sample": { + "type": "file", + "description": "BAM/CRAM/SAM file with the reads aligned to the primary genome (the one you want to keep)", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "contaminant": { + "type": "file", + "description": "BAM/CRAM/SAM file with the reads aligned to the contaminant genome (the one you want to filter out)", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Bam file containing the reads which align better to the primary genome.", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "bam": { + "type": "file", + "description": "Bam file containing the reads which align better to the contaminant genome.", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "authors": [ + "@kmurat1", + "@sppearce" + ] + } + }, + { + "name": "bamtools_convert", + "path": "modules/nf-core/bamtools/convert/meta.yml", + "type": "module", + "meta": { + "name": "bamtools_convert", + "description": "BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files.", + "keywords": [ + "bamtools", + "bamtools/convert", + "bam", + "convert", + "bed", + "fasta", + "fastq", + "json", + "pileup", + "sam", + "yaml" + ], + "tools": [ + { + "bamtools": { + "description": "C++ API & command-line toolkit for working with BAM data", + "homepage": "http://github.com/pezmaster31/bamtools", + "documentation": "https://github.com/pezmaster31/bamtools/wiki", + "tool_dev_url": "http://github.com/pezmaster31/bamtools", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "out": { + "type": "file", + "description": "The data in the asked format (bed, fasta, fastq, json, pileup, sam, yaml)", + "pattern": "*.{bed,fasta,fastq,json,pileup,sam,yaml}" + } + } + ], + "authors": [ + "@sguizard" + ] + }, + "pipelines": [ + { + "name": "isoseq", + "version": "1.1.4" + } + ] + }, + { + "name": "bamtools_split", + "path": "modules/nf-core/bamtools/split/meta.yml", + "type": "module", + "meta": { + "name": "bamtools_split", + "description": "BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files.", + "keywords": [ + "bamtools", + "bamtools/split", + "bam", + "split", + "chunk" + ], + "tools": [ + { + "bamtools": { + "description": "C++ API & command-line toolkit for working with BAM data", + "homepage": "http://github.com/pezmaster31/bamtools", + "documentation": "https://github.com/pezmaster31/bamtools/wiki", + "tool_dev_url": "http://github.com/pezmaster31/bamtools", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "A list of one or more BAM files to merge and then split", + "pattern": "*.bam" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Several Bam files", + "pattern": "*.bam" + } + } + ], + "authors": [ + "@sguizard", + "@matthdsm" + ] + } + }, + { + "name": "bamtools_stats", + "path": "modules/nf-core/bamtools/stats/meta.yml", + "type": "module", + "meta": { + "name": "bamtools_stats", + "description": "BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files.", + "keywords": [ + "bamtools", + "stats", + "bam" + ], + "tools": [ + { + "bamtools": { + "description": "C++ API & command-line toolkit for working with BAM data", + "homepage": "http://github.com/pezmaster31/bamtools", + "documentation": "https://github.com/pezmaster31/bamtools/wiki", + "tool_dev_url": "http://github.com/pezmaster31/bamtools", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "stats": { + "type": "file", + "description": "File containing alignment statistics", + "pattern": "*.stats" + } + } + ], + "authors": [ + "@lescai" + ] + }, + "pipelines": [ + { + "name": "hgtseq", + "version": "1.1.0" + } + ] + }, + { + "name": "bamutil_trimbam", + "path": "modules/nf-core/bamutil/trimbam/meta.yml", + "type": "module", + "meta": { + "name": "bamutil_trimbam", + "description": "trims the end of reads in a SAM/BAM file, changing read ends to ‘N’ and quality to ‘!’, or by soft clipping", + "keywords": [ + "bam", + "trim", + "clipping", + "bamUtil", + "trimBam" + ], + "tools": [ + { + "bamutil": { + "description": "Programs that perform operations on SAM/BAM files, all built into a single executable, bam.", + "homepage": "https://genome.sph.umich.edu/wiki/BamUtil", + "documentation": "https://genome.sph.umich.edu/wiki/BamUtil:_trimBam", + "tool_dev_url": "https://github.com/statgen/bamUtil", + "doi": "10.1101/gr.176552.114", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + }, + { + "trim_left": { + "type": "integer", + "description": "Number of bases to trim off the right-hand side of a read. Reverse strands are reversed before trimming." + } + }, + { + "trim_right": { + "type": "integer", + "description": "Number of bases to trim off the right-hand side of a read. Reverse strands are reversed before trimming." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Trimmed but unsorted BAM file", + "pattern": "*.bam" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "bandage_image", + "path": "modules/nf-core/bandage/image/meta.yml", + "type": "module", + "meta": { + "name": "bandage_image", + "description": "Render an assembly graph in GFA 1.0 format to PNG and SVG image formats", + "keywords": [ + "gfa", + "graph", + "assembly", + "visualisation" + ], + "tools": [ + { + "bandage": { + "description": "Bandage - a Bioinformatics Application for Navigating De novo Assembly Graphs Easily\n", + "homepage": "https://github.com/rrwick/Bandage", + "documentation": "https://github.com/rrwick/Bandage", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gfa": { + "type": "file", + "description": "Assembly graph in GFA 1.0 format", + "pattern": "*.gfa" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "png": { + "type": "file", + "description": "Bandage image in PNG format", + "pattern": "*.png" + } + }, + { + "svg": { + "type": "file", + "description": "Bandage image in SVG format", + "pattern": "*.svg" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@heuermh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bases2fastq", + "path": "modules/nf-core/bases2fastq/meta.yml", + "type": "module", + "meta": { + "name": "bases2fastq", + "description": "Demultiplex Element Biosciences bases files", + "keywords": [ + "demultiplex", + "element", + "fastq" + ], + "tools": [ + { + "bases2fastq": { + "description": "Demultiplexes sequencing data and converts base calls into FASTQ files for secondary analysis", + "homepage": "https://go.elementbiosciences.com/bases2fastq-download", + "documentation": "https://www.elementbiosciences.com/resources/user-guides/workflow/bases2fastq", + "licence": "http://go.elembio.link/eula" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "run_manifest": { + "type": "file", + "description": "RunManifest file", + "pattern": "*.{csv}" + } + }, + { + "run_dir": { + "type": "directory", + "description": "Input run directory containing optionally containing a RunManifest.json if run_manifest is not supplied" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sample_fastq": { + "type": "file", + "description": "Demultiplexed sample FASTQ files", + "pattern": "output/Samples/*/*_R*.fastq.gz" + } + }, + { + "sample_json": { + "type": "file", + "description": "Demultiplexed sample stats", + "pattern": "output/Samples/*/*.json" + } + }, + { + "qc_report": { + "type": "file", + "description": "QC HTML report", + "pattern": "output/*.html" + } + }, + { + "run_stats": { + "type": "file", + "description": "QC HTML report", + "pattern": "output/*.html" + } + }, + { + "generated_run_manifest": { + "type": "file", + "description": "Updated Run Manifest JSON from the run_manifest csv", + "pattern": "output/RunManifest.json" + } + }, + { + "metrics": { + "type": "file", + "description": "Sample metrics", + "pattern": "output/Metrics.csv" + } + }, + { + "unassigned": { + "type": "file", + "description": "Unassigned Sequences", + "pattern": "output/UnassignedSequences.csv" + } + } + ], + "authors": [ + "@Emiller88" + ] + }, + "pipelines": [ + { + "name": "demultiplex", + "version": "1.3.2" + } + ] + }, + { + "name": "basicpy", + "path": "modules/nf-core/basicpy/meta.yml", + "type": "module", + "meta": { + "name": "basicpy", + "description": "BaSiCPy is a python package for background and shading correction of optical microscopy images. It is developed based on the Matlab version of BaSiC tool with major improvements in the algorithm.", + "keywords": [ + "illumiation_correction", + "background_correction", + "microscopy", + "imaging" + ], + "tools": [ + { + "basicpy": { + "description": "BaSiCPy is a python package for background and shading correction of optical microscopy images. It is developed based on the Matlab version of BaSiC tool with major improvements in the algorithm. The container of this tool needs to be initialized with an empty Entrypoint. See the nextflow.config of the tests for details.", + "homepage": "https://github.com/peng-lab/BaSiCPy", + "documentation": "https://basicpy.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/peng-lab/BaSiCPy", + "doi": "10.1038/ncomms14836", + "licence": "MIT License" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "image": { + "type": "file", + "description": "Tiff file to be used for dark and flat field illumination correction", + "pattern": "*.{tiff,tif}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fields": { + "type": "file", + "description": "Tiff fields for dark and flat field illumination correction", + "pattern": "*.{tiff,tif}" + } + } + ], + "authors": [ + "@FloWuenne" + ] + } + }, + { + "name": "bbmap_align", + "path": "modules/nf-core/bbmap/align/meta.yml", + "type": "module", + "meta": { + "name": "bbmap_align", + "description": "Align short or PacBio reads to a reference genome using BBMap", + "keywords": [ + "align", + "map", + "fasta", + "fastq", + "genome", + "reference" + ], + "tools": [ + { + "bbmap": { + "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", + "homepage": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", + "documentation": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", + "licence": [ + "UC-LBL license (see package)" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "ref": { + "type": "file", + "description": "Either \"ref\" a directory containing an index, the name of another directory\nwith a \"ref\" subdirectory containing an index or the name of a fasta formatted\nnucleotide file containg the reference to map to.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.{bam}" + } + } + ], + "authors": [ + "@erikrikarddaniel" + ] + }, + "pipelines": [ + { + "name": "metatdenovo", + "version": "dev" + } + ] + }, + { + "name": "bbmap_bbduk", + "path": "modules/nf-core/bbmap/bbduk/meta.yml", + "type": "module", + "meta": { + "name": "bbmap_bbduk", + "description": "Adapter and quality trimming of sequencing reads", + "keywords": [ + "trimming", + "adapter trimming", + "quality trimming", + "fastq" + ], + "tools": [ + { + "bbmap": { + "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", + "homepage": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", + "documentation": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", + "licence": [ + "UC-LBL license (see package)" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "contaminants": { + "type": "file", + "description": "Reference files containing adapter and/or contaminant sequences for sequence kmer matching\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "The trimmed/modified fastq reads", + "pattern": "*fastq.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "log": { + "type": "file", + "description": "Bbduk log file", + "pattern": "*bbduk.log" + } + } + ], + "authors": [ + "@MGordon09" + ] + }, + "pipelines": [ + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "bbmap_bbnorm", + "path": "modules/nf-core/bbmap/bbnorm/meta.yml", + "type": "module", + "meta": { + "name": "bbmap_bbnorm", + "description": "BBNorm is designed to normalize coverage by down-sampling reads over high-depth areas of a genome, to result in a flat coverage distribution.", + "keywords": [ + "normalization", + "assembly", + "coverage" + ], + "tools": [ + { + "bbmap": { + "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", + "homepage": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", + "documentation": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", + "tool_dev_url": "https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/bbnorm-guide/", + "licence": "BBMap - Bushnell B. - sourceforge.net/projects/bbmap/" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "fastq file", + "pattern": "*.{fastq,fq}(.gz)?" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fastq": { + "type": "file", + "description": "fastq file", + "pattern": "*.{fastq, fq}.gz" + } + } + ], + "authors": [ + "@danilodileo" + ] + }, + "pipelines": [ + { + "name": "metatdenovo", + "version": "dev" + } + ] + }, + { + "name": "bbmap_bbsplit", + "path": "modules/nf-core/bbmap/bbsplit/meta.yml", + "type": "module", + "meta": { + "name": "bbmap_bbsplit", + "description": "Split sequencing reads by mapping them to multiple references simultaneously", + "keywords": [ + "align", + "map", + "fastq", + "genome", + "reference" + ], + "tools": [ + { + "bbmap": { + "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", + "homepage": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", + "documentation": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", + "licence": [ + "UC-LBL license (see package)" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "index": { + "type": "directory", + "description": "Directory to place generated index", + "pattern": "*" + } + }, + { + "primary_ref": { + "type": "file", + "description": "Path to the primary reference", + "pattern": "*" + } + }, + { + "other_ref_names": { + "type": "list", + "description": "List of other reference ids apart from the primary" + } + }, + { + "other_ref_paths": { + "type": "list", + "description": "Path to other references paths corresponding to \"other_ref_names\"" + } + }, + { + "only_build_index": { + "type": "string", + "description": "true = only build index; false = mapping" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "index": { + "type": "directory", + "description": "Directory with index files", + "pattern": "bbsplit" + } + }, + { + "primary_fastq": { + "type": "file", + "description": "Output reads that map to the primary reference", + "pattern": "*primary*fastq.gz" + } + }, + { + "all_fastq": { + "type": "file", + "description": "All reads mapping to any of the references", + "pattern": "*fastq.gz" + } + }, + { + "stats": { + "type": "file", + "description": "Tab-delimited text file containing mapping statistics", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "bbmap_clumpify", + "path": "modules/nf-core/bbmap/clumpify/meta.yml", + "type": "module", + "meta": { + "name": "bbmap_clumpify", + "description": "Create 30% Smaller, Faster Gzipped Fastq Files. And remove duplicates", + "keywords": [ + "clumping fastqs", + "smaller fastqs", + "deduping", + "fastq" + ], + "tools": [ + { + "bbmap": { + "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", + "homepage": "https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/clumpify-guide/", + "documentation": "https://www.biostars.org/p/225338/", + "licence": [ + "UC-LBL license (see package)" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "The reordered/clumped (and if necessary deduped) fastq reads", + "pattern": "*.clumped.fastq.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "log": { + "type": "file", + "description": "Clumpify log file", + "pattern": "*clumpify.log" + } + } + ], + "authors": [ + "@tamuanand" + ] + } + }, + { + "name": "bbmap_index", + "path": "modules/nf-core/bbmap/index/meta.yml", + "type": "module", + "meta": { + "name": "bbmap_index", + "description": "Creates an index from a fasta file, ready to be used by bbmap.sh in mapping mode.", + "keywords": [ + "map", + "index", + "fasta" + ], + "tools": [ + { + "bbmap": { + "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", + "homepage": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", + "documentation": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", + "licence": [ + "UC-LBL license (see package)" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "fasta", + "description": "fasta formatted file with nucleotide sequences", + "pattern": "*.{fna,fa,fasta}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "db": { + "type": "directory", + "description": "Directory with index files", + "pattern": "ref" + } + } + ], + "authors": [ + "@daniellundin" + ] + }, + "pipelines": [ + { + "name": "metatdenovo", + "version": "dev" + } + ] + }, + { + "name": "bbmap_pileup", + "path": "modules/nf-core/bbmap/pileup/meta.yml", + "type": "module", + "meta": { + "name": "bbmap_pileup", + "description": "Calculates per-scaffold or per-base coverage information from an unsorted sam or bam file.", + "keywords": [ + "fasta", + "genome", + "coverage" + ], + "tools": [ + { + "bbmap": { + "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", + "homepage": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", + "documentation": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", + "tool_dev_url": "https://github.com/BioInfoTools/BBMap/blob/master/sh/pileup.sh", + "licence": [ + "UC-LBL license (see package)" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "stats": { + "type": "file", + "description": "Per-scaffold coverage info", + "pattern": "*.stats.txt" + } + }, + { + "hist": { + "type": "file", + "description": "Histogram of # occurrences of each depth level", + "pattern": "*.hist.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Emiller88" + ] + }, + "pipelines": [ + { + "name": "nascent", + "version": "2.1.1" + } + ] + }, + { + "name": "bbmap_sendsketch", + "path": "modules/nf-core/bbmap/sendsketch/meta.yml", + "type": "module", + "meta": { + "name": "bbmap_sendsketch", + "description": "Compares query sketches to reference sketches hosted on a remote server via the Internet.", + "keywords": [ + "taxonomy", + "classification", + "sketch", + "query", + "fastq", + "fasta" + ], + "tools": [ + { + "bbmap": { + "description": "BBMap is a short read aligner, as well as various other bioinformatic tools.", + "homepage": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", + "documentation": "https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/", + "licence": "['UC-LBL license (see package)']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "file": { + "type": "file", + "description": "file with nucleotide sequences", + "pattern": "*.{fna, fa, fasta, fa.gz, fasta.gz, fna.gz, fastq.gz, fastq, fq.gz, fq}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "hits": { + "type": "txt", + "description": ".txt file containing hits from a query seuqnce to various reference sequences output", + "pattern": "*.{txt}" + } + } + ], + "authors": [ + "@phanhung2" + ] + } + }, + { + "name": "bcftools_annotate", + "path": "modules/nf-core/bcftools/annotate/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_annotate", + "description": "Add or remove annotations.", + "keywords": [ + "bcftools", + "annotate", + "vcf", + "remove", + "add" + ], + "tools": [ + { + "annotate": { + "description": "Add or remove annotations.", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "https://samtools.github.io/bcftools/bcftools.html#annotate", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "Query VCF or BCF file, can be either uncompressed or compressed" + } + }, + { + "index": { + "type": "file", + "description": "Index of the query VCF or BCF file" + } + }, + { + "annotations": { + "type": "file", + "description": "Bgzip-compressed file with annotations" + } + }, + { + "annotations_index": { + "type": "file", + "description": "Index of the annotations file" + } + }, + { + "header_lines": { + "type": "file", + "description": "Contains lines to append to the output VCF header" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed annotated VCF file", + "pattern": "*{vcf,vcf.gz,bcf,bcf.gz}" + } + } + ], + "authors": [ + "@projectoriented", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "bcftools_call", + "path": "modules/nf-core/bcftools/call/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_call", + "description": "This command replaces the former bcftools view caller.\nSome of the original functionality has been temporarily lost in the process of transition under htslib, but will be added back on popular demand.\nThe original calling model can be invoked with the -c option.\n", + "keywords": [ + "variant calling", + "view", + "bcftools", + "VCF" + ], + "tools": [ + { + "view": { + "description": "View, subset and filter VCF or BCF files by position and filtering expression. Convert between VCF and BCF\n", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "The vcf file to be inspected.\ne.g. 'file.vcf'\n" + } + }, + { + "index": { + "type": "file", + "description": "The tab index for the VCF file to be inspected.\ne.g. 'file.tbi'\n" + } + }, + { + "regions": { + "type": "file", + "description": "Optionally, restrict the operation to regions listed in this file.\ne.g. 'file.vcf'\n" + } + }, + { + "targets": { + "type": "file", + "description": "Optionally, restrict the operation to regions listed in this file (doesn't rely upon index files)\ne.g. 'file.vcf'\n" + } + }, + { + "samples": { + "type": "file", + "description": "Optional, file of sample names to be included or excluded.\ne.g. 'file.tsv'\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF normalized output file", + "pattern": "*.{vcf.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@abhi18av", + "@LouisLeNezet" + ] + } + }, + { + "name": "bcftools_concat", + "path": "modules/nf-core/bcftools/concat/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_concat", + "description": "Concatenate VCF files", + "keywords": [ + "variant calling", + "concat", + "bcftools", + "VCF" + ], + "tools": [ + { + "concat": { + "description": "Concatenate VCF files.\n", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcfs": { + "type": "files", + "description": "List containing 2 or more vcf files\ne.g. [ 'file1.vcf', 'file2.vcf' ]\n" + } + }, + { + "tbi": { + "type": "files", + "description": "List containing 2 or more index files (optional)\ne.g. [ 'file1.tbi', 'file2.tbi' ]\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF concatenated output file", + "pattern": "*.{vcf.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@abhi18av", + "@nvnieuwk" + ] + }, + "pipelines": [ + { + "name": "radseq", + "version": "dev" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "bcftools_consensus", + "path": "modules/nf-core/bcftools/consensus/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_consensus", + "description": "Compresses VCF files", + "keywords": [ + "variant calling", + "consensus", + "VCF" + ], + "tools": [ + { + "consensus": { + "description": "Create consensus sequence by applying VCF variants to a reference fasta file.\n", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf}" + } + }, + { + "tbi": { + "type": "file", + "description": "tabix index file", + "pattern": "*.{tbi}" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA reference file", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA reference consensus file", + "pattern": "*.{fasta,fa}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bcftools_convert", + "path": "modules/nf-core/bcftools/convert/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_convert", + "description": "Converts certain output formats to VCF", + "keywords": [ + "bcftools", + "convert", + "vcf", + "gvcf" + ], + "tools": [ + { + "bcftools": { + "description": "BCFtools is a set of utilities that manipulate variant calls in the Variant Call Format (VCF) and its binary counterpart BCF. All commands work transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed. Most commands accept VCF, bgzipped VCF and BCF with filetype detected automatically even when streaming from a pipe. Indexed VCF and BCF will work in all situations. Un-indexed VCF and BCF and streams will work in most, but not all situations.", + "homepage": "https://samtools.github.io/bcftools/bcftools.html", + "documentation": "https://samtools.github.io/bcftools/bcftools.html#convert", + "tool_dev_url": "https://github.com/samtools/bcftools", + "doi": "10.1093/gigascience/giab008", + "licence": "['GPL']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "The input format. Each format needs a seperate parameter to be specified in the `args`:\n- GEN/SAMPLE file: `--gensample2vcf`\n- gVCF file: `--gvcf2vcf`\n- HAP/SAMPLE file: `--hapsample2vcf`\n- HAP/LEGEND/SAMPLE file: `--haplegendsample2vcf`\n- TSV file: `--tsv2vcf`\n", + "pattern": "*.{gen,sample,g.vcf,hap,legend}{.gz,}" + } + }, + { + "input_index": { + "type": "file", + "description": "(Optional) The index for the input files, if needed", + "pattern": "*.bed" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "(Optional) The reference fasta, only needed for gVCF conversion", + "pattern": "*.{fa,fasta}" + } + }, + { + "bed": { + "type": "file", + "description": "(Optional) The BED file containing the regions for the VCF file", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf_gz": { + "type": "file", + "description": "VCF merged output file (bgzipped) => when `--output-type z` is used", + "pattern": "*.vcf.gz" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF merged output file => when `--output-type v` is used", + "pattern": "*.vcf" + } + }, + { + "bcf_gz": { + "type": "file", + "description": "BCF merged output file (bgzipped) => when `--output-type b` is used", + "pattern": "*.bcf.gz" + } + }, + { + "bcf": { + "type": "file", + "description": "BCF merged output file => when `--output-type u` is used", + "pattern": "*.bcf" + } + } + ], + "authors": [ + "@nvnieuwk", + "@ramprasadn" + ] + } + }, + { + "name": "bcftools_filter", + "path": "modules/nf-core/bcftools/filter/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_filter", + "description": "Filters VCF files", + "keywords": [ + "variant calling", + "filtering", + "VCF" + ], + "tools": [ + { + "filter": { + "description": "Apply fixed-threshold filters to VCF files.\n", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF input file", + "pattern": "*.{vcf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF filtered output file", + "pattern": "*.{vcf}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bcftools_index", + "path": "modules/nf-core/bcftools/index/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_index", + "description": "Index VCF tools", + "keywords": [ + "vcf", + "index", + "bcftools", + "csi", + "tbi" + ], + "tools": [ + { + "bcftools": { + "description": "BCFtools is a set of utilities that manipulate variant calls in the Variant Call Format (VCF) and its binary counterpart BCF. All commands work transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed. Most commands accept VCF, bgzipped VCF and BCF with filetype detected automatically even when streaming from a pipe. Indexed VCF and BCF will work in all situations. Un-indexed VCF and BCF and streams will work in most, but not all situations.", + "homepage": "https://samtools.github.io/bcftools/", + "documentation": "https://samtools.github.io/bcftools/howtos/index.html", + "tool_dev_url": "https://github.com/samtools/bcftools", + "doi": "10.1093/gigascience/giab008", + "licence": [ + "MIT", + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "VCF": { + "type": "file", + "description": "VCF file (optionally GZIPPED)", + "pattern": "*.{vcf,vcf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "version": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + }, + { + "csi": { + "type": "file", + "description": "Default VCF file index file", + "pattern": "*.csi" + } + }, + { + "tbi": { + "type": "file", + "description": "Alternative VCF file index file for larger files (activated with -t parameter)", + "pattern": "*.tbi" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "bcftools_isec", + "path": "modules/nf-core/bcftools/isec/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_isec", + "description": "Apply set operations to VCF files", + "keywords": [ + "variant calling", + "intersect", + "union", + "complement", + "VCF" + ], + "tools": [ + { + "isec": { + "description": "Computes intersections, unions and complements of VCF files.\n", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcfs": { + "type": "files", + "description": "List containing 2 or more vcf files\ne.g. [ 'file1.vcf', 'file2.vcf' ]\n" + } + }, + { + "tbis": { + "type": "files", + "description": "List containing the tbi index files corresponding to the vcfs input files\ne.g. [ 'file1.vcf.tbi', 'file2.vcf.tbi' ]\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "results": { + "type": "directory", + "description": "Folder containing the set operations results perform on the vcf files", + "pattern": "${prefix}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + } + }, + { + "name": "bcftools_merge", + "path": "modules/nf-core/bcftools/merge/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_merge", + "description": "Merge VCF files", + "keywords": [ + "variant calling", + "merge", + "VCF" + ], + "tools": [ + { + "merge": { + "description": "Merge VCF files.\n", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcfs": { + "type": "file", + "description": "List containing 2 or more vcf files\ne.g. [ 'file1.vcf', 'file2.vcf' ]\n" + } + }, + { + "tbis": { + "type": "file", + "description": "List containing the tbi index files corresponding to the vcfs input files\ne.g. [ 'file1.vcf.tbi', 'file2.vcf.tbi' ]\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "(Optional) The fasta reference file (only necessary for the `--gvcf FILE` parameter)", + "pattern": "*.{fasta,fa}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "(Optional) The fasta reference file index (only necessary for the `--gvcf FILE` parameter)", + "pattern": "*.fai" + } + }, + { + "bed": { + "type": "file", + "description": "(Optional) The bed regions to merge on", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf_gz": { + "type": "file", + "description": "VCF merged output file (bgzipped) => when `--output-type z` is used", + "pattern": "*.vcf.gz" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF merged output file => when `--output-type v` is used", + "pattern": "*.vcf" + } + }, + { + "bcf_gz": { + "type": "file", + "description": "BCF merged output file (bgzipped) => when `--output-type b` is used", + "pattern": "*.bcf.gz" + } + }, + { + "bcf": { + "type": "file", + "description": "BCF merged output file => when `--output-type u` is used", + "pattern": "*.bcf" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh", + "@nvnieuwk", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "bcftools_mpileup", + "path": "modules/nf-core/bcftools/mpileup/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_mpileup", + "description": "Compresses VCF files", + "keywords": [ + "variant calling", + "mpileup", + "VCF" + ], + "tools": [ + { + "mpileup": { + "description": "Generates genotype likelihoods at each genomic position with coverage.\n", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Input BAM file", + "pattern": "*.{bam}" + } + }, + { + "intervals": { + "type": "file", + "description": "Input intervals file. A file (commonly '.bed') containing regions to subset" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA reference file", + "pattern": "*.{fasta,fa}" + } + }, + { + "save_mpileup": { + "type": "boolean", + "description": "Save mpileup file generated by bcftools mpileup" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF gzipped output file", + "pattern": "*.{vcf.gz}" + } + }, + { + "tbi": { + "type": "file", + "description": "tabix index file", + "pattern": "*.{vcf.gz.tbi}" + } + }, + { + "stats": { + "type": "file", + "description": "Text output file containing stats", + "pattern": "*{stats.txt}" + } + }, + { + "mpileup": { + "type": "file", + "description": "mpileup gzipped output for all positions", + "pattern": "{*.mpileup.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bcftools_norm", + "path": "modules/nf-core/bcftools/norm/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_norm", + "description": "Normalize VCF file", + "keywords": [ + "normalize", + "norm", + "variant calling", + "VCF" + ], + "tools": [ + { + "norm": { + "description": "Normalize VCF files.\n", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "The vcf file to be normalized\ne.g. 'file1.vcf'\n", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "tbi": { + "type": "file", + "description": "An optional index of the VCF file (for when the VCF is compressed)\n", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA reference file", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "One of uncompressed VCF (.vcf), compressed VCF (.vcf.gz), compressed BCF (.bcf.gz) or uncompressed BCF (.bcf) normalized output file", + "pattern": "*.{vcf,vcf.gz,bcf,bcf.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@abhi18av", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "variantcatalogue", + "version": "dev" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bcftools_pluginscatter", + "path": "modules/nf-core/bcftools/pluginscatter/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_pluginscatter", + "description": "Split VCF by chunks or regions, creating multiple VCFs.", + "keywords": [ + "scatter", + "vcf", + "bcf", + "genomics" + ], + "tools": [ + { + "pluginscatter": { + "description": "Split VCF by chunks or regions, creating multiple VCFs.\n", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://samtools.github.io/bcftools/bcftools.html#reheader", + "doi": "10.1093/gigascience/giab008", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "The input VCF to scatter", + "pattern": "*.{vcf,vcf.gz,bcf,bcf.gz}" + } + }, + { + "tbi": { + "type": "file", + "description": "Optional index of the input VCF", + "pattern": "*.tbi" + } + }, + { + "sites_per_chunk": { + "type": "integer", + "description": "How many variants should be in each output file\nEither this or `scatter` or `scatter_file` have to be given\n" + } + }, + { + "scatter": { + "type": "string", + "description": "A comma delimited list of regions to scatter into\nEither this or `sites_per_chunk` or `scatter_file` have to be given\n" + } + }, + { + "scatter_file": { + "type": "file", + "description": "A file containing a region on each line with an optional second column containing the filename\nEither this or `sites_per_chunk` or `scatter` have to be given\n" + } + }, + { + "regions": { + "type": "file", + "description": "Optional file containing the regions to work on", + "pattern": "*.bed" + } + }, + { + "targets": { + "type": "file", + "description": "Optional file containing the regions to work on (but streams instead of index-jumping)", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "scatter": { + "type": "file", + "description": "The resulting files of the scattering", + "pattern": "*.{vcf,vcf.gz,bcf,bcf.gz}" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "bcftools_pluginsplit", + "path": "modules/nf-core/bcftools/pluginsplit/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_pluginsplit", + "description": "Split VCF by sample, creating single- or multi-sample VCFs.", + "keywords": [ + "split", + "vcf", + "genomics" + ], + "tools": [ + { + "pluginsplit": { + "description": "Split VCF by sample, creating single- or multi-sample VCFs.\n", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "The VCF file to split", + "pattern": "*.{vcf,vcf.gz,bcf,bcf.gz}" + } + }, + { + "tbi": { + "type": "file", + "description": "OPTIONAL - The index of the input VCF/BCF", + "pattern": "*.tbi" + } + }, + { + "samples": { + "type": "file", + "description": "A tab-separated file determining which samples should be in which output file\ncolumn 1: The sample name(s) in the input file\ncolumn 2: The sample name(s) to use in the output file (use `-` to keep the original name)\ncolumn 3: The name of the output file\nEither this or a groups file should be given\n", + "pattern": "*" + } + }, + { + "groups": { + "type": "file", + "description": "A tab-separated file determining which samples should be in which output file(s)\ncolumn 1: The sample name(s) in the input file\ncolumn 2: The sample name(s) to use in the output file (use `-` to keep the original name)\ncolumn 3: The name of the output file(s)\nEither this or a samples file should be given\n", + "pattern": "*" + } + }, + { + "regions": { + "type": "file", + "description": "A BED file containing regions to use", + "pattern": "*.bed" + } + }, + { + "targets": { + "type": "file", + "description": "A BED file containing regions to use (but streams rather than index-jumps)", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "The resulting VCF files from the split", + "pattern": "*.{vcf,vcf.gz,bcf,bcf.gz}" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "bcftools_query", + "path": "modules/nf-core/bcftools/query/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_query", + "description": "Extracts fields from VCF or BCF files and outputs them in user-defined format.", + "keywords": [ + "query", + "variant calling", + "bcftools", + "VCF" + ], + "tools": [ + { + "query": { + "description": "Extracts fields from VCF or BCF files and outputs them in user-defined format.\n", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "The vcf file to be qeuried.\n", + "pattern": "*.{vcf.gz, vcf}" + } + }, + { + "tbi": { + "type": "file", + "description": "The tab index for the VCF file to be inspected.\n", + "pattern": "*.tbi" + } + }, + { + "regions": { + "type": "file", + "description": "Optionally, restrict the operation to regions listed in this file.\n" + } + }, + { + "targets": { + "type": "file", + "description": "Optionally, restrict the operation to regions listed in this file (doesn't rely upon index files)\n" + } + }, + { + "samples": { + "type": "file", + "description": "Optional, file of sample names to be included or excluded.\ne.g. 'file.tsv'\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "output": { + "type": "file", + "description": "BCFTools query output file" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@abhi18av", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bcftools_reheader", + "path": "modules/nf-core/bcftools/reheader/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_reheader", + "description": "Reheader a VCF file", + "keywords": [ + "reheader", + "vcf", + "update header" + ], + "tools": [ + { + "reheader": { + "description": "Modify header of VCF/BCF files, change sample names.\n", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://samtools.github.io/bcftools/bcftools.html#reheader", + "doi": "10.1093/gigascience/giab008", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF/BCF file", + "pattern": "*.{vcf.gz,vcf,bcf}" + } + }, + { + "header": { + "type": "file", + "description": "New header to add to the VCF", + "pattern": "*.{header.txt}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Fasta index to update header sequences with", + "pattern": "*.{fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF with updated header, bgzipped per default", + "pattern": "*.{vcf,vcf.gz,bcf,bcf.gz}" + } + } + ], + "authors": [ + "@bjohnnyd", + "@jemten", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "bcftools_roh", + "path": "modules/nf-core/bcftools/roh/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_roh", + "description": "A program for detecting runs of homo/autozygosity. Only bi-allelic sites are considered.", + "keywords": [ + "roh" + ], + "tools": [ + { + "roh": { + "description": "A program for detecting runs of homo/autozygosity. Only bi-allelic sites are considered.", + "homepage": "https://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf,.vcf.gz}" + } + }, + { + "af_file": { + "type": "file", + "description": "Read allele frequencies from a tab-delimited file containing the columns: CHROM\tPOS\tREF,ALT\tAF." + } + }, + { + "af_file_tbi": { + "type": "file", + "description": "tbi index of af_file." + } + }, + { + "genetic_map": { + "type": "file", + "description": "Genetic map in the format required also by IMPUTE2." + } + }, + { + "regions_file": { + "type": "file", + "description": "Regions can be specified either on command line or in a VCF, BED, or tab-delimited file (the default)." + } + }, + { + "samples_file": { + "type": "file", + "description": "File of sample names to include or exclude if prefixed with '^'." + } + }, + { + "targets_file": { + "type": "file", + "description": "Targets can be specified either on command line or in a VCF, BED, or tab-delimited file (the default)." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "roh": { + "type": "file", + "description": "Contains site-specific and/or per-region runs of homo/autozygosity calls.", + "pattern": "*.{roh}" + } + } + ], + "authors": [ + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "bcftools_sort", + "path": "modules/nf-core/bcftools/sort/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_sort", + "description": "Sorts VCF files", + "keywords": [ + "sorting", + "VCF", + "variant calling" + ], + "tools": [ + { + "sort": { + "description": "Sort VCF files by coordinates.", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "tool_dev_url": "https://github.com/samtools/bcftools", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "The VCF/BCF file to be sorted", + "pattern": "*.{vcf.gz,vcf,bcf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Sorted VCF file", + "pattern": "*.{vcf.gz}" + } + } + ], + "authors": [ + "@Gwennid" + ] + }, + "pipelines": [ + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bcftools_split", + "path": "modules/nf-core/bcftools/split/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_split", + "description": "Split a vcf file into files per chromosome", + "keywords": [ + "vcf", + "split", + "genomics" + ], + "tools": [ + { + "bcftools": { + "description": "Sort VCF files by coordinates.", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "tool_dev_url": "https://github.com/samtools/bcftools", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed vcf file", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Compressed vcf file index", + "pattern": "*.{tbi,csi}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "split_vcf": { + "type": "file", + "description": "Compressed vcf files per chromosome", + "pattern": "*.vcf.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@matthdsm", + "@atrigila" + ] + } + }, + { + "name": "bcftools_stats", + "path": "modules/nf-core/bcftools/stats/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_stats", + "description": "Generates stats from VCF files", + "keywords": [ + "variant calling", + "stats", + "VCF" + ], + "tools": [ + { + "stats": { + "description": "Parses VCF or BCF and produces text file stats which is suitable for\nmachine processing and can be plotted using plot-vcfstats.\n", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF input file", + "pattern": "*.{vcf}" + } + }, + { + "tbi": { + "type": "file", + "description": "The tab index for the VCF file to be inspected. Optional: only required when parameter regions is chosen.\n", + "pattern": "*.tbi" + } + }, + { + "regions": { + "type": "file", + "description": "Optionally, restrict the operation to regions listed in this file. (VCF, BED or tab-delimited)\n" + } + }, + { + "targets": { + "type": "file", + "description": "Optionally, restrict the operation to regions listed in this file (doesn't rely upon tbi index files)\n" + } + }, + { + "samples": { + "type": "file", + "description": "Optional, file of sample names to be included or excluded.\ne.g. 'file.tsv'\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "stats": { + "type": "file", + "description": "Text output file containing stats", + "pattern": "*_{stats.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh", + "@SusiJo" + ] + }, + "pipelines": [ + { + "name": "radseq", + "version": "dev" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bcftools_view", + "path": "modules/nf-core/bcftools/view/meta.yml", + "type": "module", + "meta": { + "name": "bcftools_view", + "description": "View, subset and filter VCF or BCF files by position and filtering expression. Convert between VCF and BCF", + "keywords": [ + "variant calling", + "view", + "bcftools", + "VCF" + ], + "tools": [ + { + "view": { + "description": "View, subset and filter VCF or BCF files by position and filtering expression. Convert between VCF and BCF\n", + "homepage": "http://samtools.github.io/bcftools/bcftools.html", + "documentation": "http://www.htslib.org/doc/bcftools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "The vcf file to be inspected.\ne.g. 'file.vcf'\n" + } + }, + { + "index": { + "type": "file", + "description": "The tab index for the VCF file to be inspected.\ne.g. 'file.tbi'\n" + } + }, + { + "regions": { + "type": "file", + "description": "Optionally, restrict the operation to regions listed in this file.\ne.g. 'file.vcf'\n" + } + }, + { + "targets": { + "type": "file", + "description": "Optionally, restrict the operation to regions listed in this file (doesn't rely upon index files)\ne.g. 'file.vcf'\n" + } + }, + { + "samples": { + "type": "file", + "description": "Optional, file of sample names to be included or excluded.\ne.g. 'file.tsv'\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF normalized output file", + "pattern": "*.{vcf.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@abhi18av" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + }, + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "bcl2fastq", + "path": "modules/nf-core/bcl2fastq/meta.yml", + "type": "module", + "meta": { + "name": "bcl2fastq", + "description": "Demultiplex Illumina BCL files", + "keywords": [ + "demultiplex", + "illumina", + "fastq" + ], + "tools": [ + { + "bcl2fastq": { + "description": "Demultiplex Illumina BCL files", + "homepage": "https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software", + "documentation": "https://support.illumina.com/content/dam/illumina-support/documents/documentation/software_documentation/bcl2fastq/bcl2fastq2-v2-20-software-guide-15051736-03.pdf", + "licence": "ILLUMINA" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "samplesheet": { + "type": "file", + "description": "Input samplesheet", + "pattern": "*.{csv}" + } + }, + { + "run_dir": { + "type": "file", + "description": "Input run directory containing RunInfo.xml and BCL data\nCould be a directory or a tar of the directory\n" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fastq": { + "type": "file", + "description": "Demultiplexed sample FASTQ files", + "pattern": "**_S*_L00?_R?_00?.fastq.gz" + } + }, + { + "fastq_idx": { + "type": "file", + "description": "Optional demultiplexed index FASTQ files", + "pattern": "**_S*_L00?_I?_00?.fastq.gz" + } + }, + { + "undetermined": { + "type": "file", + "description": "Optional undetermined sample FASTQ files", + "pattern": "Undetermined_S0_L00?_R?_00?.fastq.gz" + } + }, + { + "undetermined_idx": { + "type": "file", + "description": "Optional undetermined index FASTQ files", + "pattern": "Undetermined_S0_L00?_I?_00?.fastq.gz" + } + }, + { + "reports": { + "type": "file", + "description": "Demultiplexing Reports", + "pattern": "Reports/*" + } + }, + { + "stats": { + "type": "file", + "description": "Statistics files", + "pattern": "Stats/*" + } + }, + { + "interop": { + "type": "file", + "description": "Interop files", + "pattern": "*.{bin}" + } + } + ], + "authors": [ + "@matthdsm" + ] + }, + "subworkflows": [ + "bcl_demultiplex" + ], + "pipelines": [ + { + "name": "demultiplex", + "version": "1.3.2" + } + ] + }, + { + "name": "bclconvert", + "path": "modules/nf-core/bclconvert/meta.yml", + "type": "module", + "meta": { + "name": "bclconvert", + "description": "Demultiplex Illumina BCL files", + "keywords": [ + "demultiplex", + "illumina", + "fastq" + ], + "tools": [ + { + "bclconvert": { + "description": "Demultiplex Illumina BCL files", + "homepage": "https://support.illumina.com/sequencing/sequencing_software/bcl-convert.html", + "documentation": "https://support-docs.illumina.com/SW/BCL_Convert/Content/SW/FrontPages/BCL_Convert.htm", + "licence": "ILLUMINA" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "samplesheet": { + "type": "file", + "description": "Input samplesheet", + "pattern": "*.{csv}" + } + }, + { + "run_dir": { + "type": "file", + "description": "Input run directory containing RunInfo.xml and BCL data\nCould be a directory or a tar of the directory\n" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fastq": { + "type": "file", + "description": "Demultiplexed sample FASTQ files", + "pattern": "**_S*_L00?_R?_00?.fastq.gz" + } + }, + { + "fastq_idx": { + "type": "file", + "description": "Optional demultiplexed index FASTQ files", + "pattern": "**_S*_L00?_I?_00?.fastq.gz" + } + }, + { + "undetermined": { + "type": "file", + "description": "Optional undetermined sample FASTQ files", + "pattern": "Undetermined_S0_L00?_R?_00?.fastq.gz" + } + }, + { + "undetermined_idx": { + "type": "file", + "description": "Optional undetermined index FASTQ files", + "pattern": "Undetermined_S0_L00?_I?_00?.fastq.gz" + } + }, + { + "reports": { + "type": "file", + "description": "Demultiplexing Reports", + "pattern": "Reports/*.{csv,xml}" + } + }, + { + "logs": { + "type": "file", + "description": "Log files", + "pattern": "Logs/*.{log,txt}" + } + }, + { + "interop": { + "type": "file", + "description": "Interop files", + "pattern": "*.{bin}" + } + } + ], + "authors": [ + "@matthdsm" + ] + }, + "subworkflows": [ + "bcl_demultiplex" + ], + "pipelines": [ + { + "name": "demultiplex", + "version": "1.3.2" + } + ] + }, + { + "name": "beagle5_beagle", + "path": "modules/nf-core/beagle5/beagle/meta.yml", + "type": "module", + "meta": { + "name": "beagle5_beagle", + "description": "Beagle v5.2 is a software package for phasing genotypes and for imputing ungenotyped markers.", + "keywords": [ + "phasing", + "imputation" + ], + "tools": [ + { + "beagle5": { + "description": "Beagle is a software package for phasing genotypes and for imputing ungenotyped markers.", + "homepage": "https://faculty.washington.edu/browning/beagle/b5_2.html", + "documentation": "https://faculty.washington.edu/browning/beagle/beagle_5.2_13Oct21.pdf", + "doi": "10.1016/j.ajhg.2021.08.005; doi:10.1016/j.ajhg.2018.07.015", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "target VCF input file to be imputed and or phased", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "ref": { + "type": "file", + "description": "reference panel in bref3 or VCF format", + "pattern": "*.{vcf,vcf.gz,bref3}" + } + }, + { + "genmap": { + "type": "file", + "description": "a PLINK format genetic map with cM units", + "pattern": "*.{map,map.gz,map.zip}" + } + }, + { + "exclsamples": { + "type": "file", + "description": "text file containing samples one sample per line to be excluded from the analysis", + "pattern": "*.*" + } + }, + { + "exclmarkers": { + "type": "file", + "description": "text file containing markers one marker per line to be excluded from the analysis", + "pattern": "*.*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "bgzip compressed VCF file that contains phased non missing genotypes for all non reference samples", + "pattern": "*.vcf.gz" + } + }, + { + "log": { + "type": "file", + "description": "a summary of the analysis that includes the Beagle version, the command line arguments, and compute time.", + "pattern": "*.log" + } + } + ], + "authors": [ + "@ashotmarg" + ] + } + }, + { + "name": "bedtools_bamtobed", + "path": "modules/nf-core/bedtools/bamtobed/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_bamtobed", + "description": "Converts a bam file to a bed12 file.", + "keywords": [ + "bam", + "bed", + "bedtools", + "bamtobed", + "converter" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/complement.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Input BAM file", + "pattern": "*.{bam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Bed file containing genomic intervals.", + "pattern": "*.{bed}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@yuukiiwa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "ssds", + "version": "dev" + } + ] + }, + { + "name": "bedtools_closest", + "path": "modules/nf-core/bedtools/closest/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_closest", + "description": "For each feature in A, finds the closest feature (upstream or downstream) in B.", + "keywords": [ + "bedtools", + "closest", + "bed", + "vcf", + "gff" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/closest.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_1": { + "type": "file", + "description": "The file to find the closest features of", + "pattern": "*.{bed,vcf,gff}(.gz)?" + } + }, + { + "input_2": { + "type": "file(s)", + "description": "The input file(s) to find the closest features from", + "pattern": "*.{bed,vcf,gff}(.gz)?" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the FASTA reference. Needed when the argument `--sorted` is used", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "file", + "description": "The resulting BED file containing the closest features", + "pattern": "*.{bed,vcf,gff}" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "bedtools_complement", + "path": "modules/nf-core/bedtools/complement/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_complement", + "description": "Returns all intervals in a genome that are not covered by at least one interval in the input BED/GFF/VCF file.", + "keywords": [ + "bed", + "complement" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/complement.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Input BED file", + "pattern": "*.{bed}" + } + }, + { + "sizes": { + "type": "file", + "description": "File which defines the chromosome lengths for a given genome", + "pattern": "*.{sizes}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Bed file with all genomic intervals that are not covered by at least one record from the input file.", + "pattern": "*.{bed}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Emiller88", + "@sruthipsuresh", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "cutandrun", + "version": "3.1" + } + ] + }, + { + "name": "bedtools_coverage", + "path": "modules/nf-core/bedtools/coverage/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_coverage", + "description": "computes both the depth and breadth of coverage of features in file B on the features in file A", + "keywords": [ + "bedtools", + "coverage", + "bam", + "bed", + "gff", + "vcf", + "histogram" + ], + "tools": [ + { + "bedtools": { + "description": "A powerful toolset for genome arithmetic", + "homepage": "https://bedtools.readthedocs.io/en/latest/index.html", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/bedtools-suite.html", + "tool_dev_url": "https://github.com/arq5x/bedtools2", + "doi": "10.1093/bioinformatics/btq033", + "licence": "['GPL v2', 'MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_A": { + "type": "file", + "description": "BAM/BED/GFF/VCF file", + "pattern": "*.{bam,bed,gff,vcf}" + } + }, + { + "input_B": { + "type": "file", + "description": "One or more BAM/BED/GFF/VCF file", + "pattern": "*.{bam,bed,gff,vcf}" + } + }, + { + "genome_file": { + "type": "file", + "description": "Optional reference genome 2 column file that defines the expected chromosome order\nin the input files for use with the -sorted option.\nWhen `genome_file` is provided, `-sorted` option is added to the command.\n", + "pattern": "*.{fai,txt,chromsizes}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "File containing coverage of sequence alignments", + "pattern": "*.bed" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@priyanka-surana" + ] + }, + "pipelines": [ + { + "name": "radseq", + "version": "dev" + } + ] + }, + { + "name": "bedtools_genomecov", + "path": "modules/nf-core/bedtools/genomecov/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_genomecov", + "description": "Computes histograms (default), per-base reports (-d) and BEDGRAPH (-bg) summaries of feature coverage (e.g., aligned sequences) for a given genome.", + "keywords": [ + "bed", + "bam", + "genomecov", + "bedtools", + "histogram" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/genomecov.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "intervals": { + "type": "file", + "description": "BAM/BED/GFF/VCF", + "pattern": "*.{bam|bed|gff|vcf}" + } + }, + { + "scale": { + "type": "integer", + "description": "Number containing the scale factor for the output. Set to 1 to disable. Setting to a value other than 1 will also get the -bg bedgraph output format as this is required for this command switch" + } + }, + { + "sizes": { + "type": "file", + "description": "Tab-delimited table of chromosome names in the first column and chromosome sizes in the second column" + } + }, + { + "extension": { + "type": "string", + "description": "Extension of the output file (e. g., \".bg\", \".bedgraph\", \".txt\", \".tab\", etc.) It is set arbitrarily by the user and corresponds to the file format which depends on arguments." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "genomecov": { + "type": "file", + "description": "Computed genome coverage file", + "pattern": "*.${extension}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Emiller88", + "@sruthipsuresh", + "@drpatelh", + "@sidorov-si", + "@chris-cheshire" + ] + }, + "pipelines": [ + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "nascent", + "version": "2.1.1" + } + ] + }, + { + "name": "bedtools_getfasta", + "path": "modules/nf-core/bedtools/getfasta/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_getfasta", + "description": "extract sequences in a FASTA file based on intervals defined in a feature file.", + "keywords": [ + "bed", + "fasta", + "getfasta" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/intersect.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "bed": { + "type": "file", + "description": "Bed feature file", + "pattern": "*.{bed}" + } + }, + { + "fasta": { + "type": "file", + "description": "Input fasta file", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "fasta": { + "type": "file", + "description": "Output fasta file with extracted sequences", + "pattern": "*.{fa}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bedtools_intersect", + "path": "modules/nf-core/bedtools/intersect/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_intersect", + "description": "Allows one to screen for overlaps between two sets of genomic features.", + "keywords": [ + "bed", + "intersect", + "overlap" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/intersect.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "intervals1": { + "type": "file", + "description": "BAM/BED/GFF/VCF", + "pattern": "*.{bam|bed|gff|vcf}" + } + }, + { + "intervals2": { + "type": "file", + "description": "BAM/BED/GFF/VCF", + "pattern": "*.{bam|bed|gff|vcf}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference chromosome sizes\ne.g. [ id:'test' ]\n" + } + }, + { + "chrom_sizes": { + "type": "file", + "description": "Chromosome sizes file", + "pattern": "*{.sizes,.txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "intersect": { + "type": "file", + "description": "File containing the description of overlaps found between the two features", + "pattern": "*.${extension}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Emiller88", + "@sruthipsuresh", + "@drpatelh", + "@sidorov-si" + ] + }, + "pipelines": [ + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "radseq", + "version": "dev" + } + ] + }, + { + "name": "bedtools_jaccard", + "path": "modules/nf-core/bedtools/jaccard/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_jaccard", + "description": "Calculate Jaccard statistic b/w two feature files.", + "keywords": [ + "vcf", + "gff", + "bed", + "jaccard", + "intersection", + "union", + "statistics" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/intersect.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_a": { + "type": "file", + "description": "VCF,GFF or BED file to use with the `-a` option", + "pattern": "*.{vcf,vcf.gz,bed,bed.gz,gff}" + } + }, + { + "input_b": { + "type": "file", + "description": "VCF,GFF or BED file to use with the `-b` option", + "pattern": "*.{vcf,vcf.gz,bed,bed.gz,gff}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing genome file information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "genome_file": { + "type": "file", + "description": "A file containing all the contigs of the genome used to create the input files", + "pattern": "*.{txt,sizes,fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "TSV file containing the results", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "bedtools_makewindows", + "path": "modules/nf-core/bedtools/makewindows/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_makewindows", + "description": "Makes adjacent or sliding windows across a genome or BED file.", + "keywords": [ + "bed", + "windows", + "fai", + "chunking" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.", + "homepage": "https://bedtools.readthedocs.io", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/makewindows.html", + "doi": "10.1093/bioinformatics/btq033", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "regions": { + "type": "file", + "description": "BED file OR Genome details file ()", + "pattern": "*.{bed,tab,fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "BED file containing the windows", + "pattern": "*.bed" + } + } + ], + "authors": [ + "@kevbrick", + "@nvnieuwk" + ] + }, + "pipelines": [ + { + "name": "radseq", + "version": "dev" + }, + { + "name": "ssds", + "version": "dev" + } + ] + }, + { + "name": "bedtools_map", + "path": "modules/nf-core/bedtools/map/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_map", + "description": "Allows one to screen for overlaps between two sets of genomic features.", + "keywords": [ + "bed", + "vcf", + "gff", + "map", + "bedtools" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/map.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "intervals1": { + "type": "file", + "description": "BAM/BED/GFF/VCF", + "pattern": "*.{bed|gff|vcf}" + } + }, + { + "intervals2": { + "type": "file", + "description": "BAM/BED/GFF/VCF", + "pattern": "*.{bed|gff|vcf}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference chromosome sizes\ne.g. [ id:'test' ]\n" + } + }, + { + "chrom_sizes": { + "type": "file", + "description": "Chromosome sizes file", + "pattern": "*{.sizes,.txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "map": { + "type": "file", + "description": "File containing the description of overlaps found between the features in A and the features in B, with statistics", + "pattern": "*.${extension}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ekushele" + ] + } + }, + { + "name": "bedtools_maskfasta", + "path": "modules/nf-core/bedtools/maskfasta/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_maskfasta", + "description": "masks sequences in a FASTA file based on intervals defined in a feature file.", + "keywords": [ + "bed", + "fasta", + "maskfasta" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/intersect.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Bed feature file", + "pattern": "*.{bed}" + } + }, + { + "fasta": { + "type": "file", + "description": "Input fasta file", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Output masked fasta file", + "pattern": "*.{fa}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bedtools_merge", + "path": "modules/nf-core/bedtools/merge/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_merge", + "description": "combines overlapping or “book-ended” features in an interval file into a single feature which spans all of the combined features.", + "keywords": [ + "bed", + "merge", + "bedtools", + "overlapped bed" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/merge.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Input BED file", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Overlapped bed file with combined features", + "pattern": "*.{bed}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Emiller88", + "@sruthipsuresh", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bedtools_multiinter", + "path": "modules/nf-core/bedtools/multiinter/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_multiinter", + "description": "Identifies common intervals among multiple (and subsets thereof) sorted BED/GFF/VCF files.", + "keywords": [ + "bedtools", + "multinterval", + "bed", + "vcf", + "gff" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/multiinter.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "beds": { + "type": "list", + "description": "List of files to be merged", + "pattern": "*.{bed,vcf,gff}" + } + }, + { + "chrom_sizes": { + "type": "file", + "description": "Chromosome sizes file", + "pattern": "*{.sizes,.txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "Common interval bed", + "pattern": "*.{bed}" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "bedtools_shift", + "path": "modules/nf-core/bedtools/shift/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_shift", + "description": "Shifts each feature by specific number of bases", + "keywords": [ + "bed", + "shiftBed", + "region", + "fai", + "sizes", + "genome", + "bases" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/slop.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Input BED file", + "pattern": "*.{bed}" + } + }, + { + "chrom_sizes": { + "type": "file", + "description": "Chromosome sizes file", + "pattern": "*{.sizes,.txt,.fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Shift BED file", + "pattern": "*.{bed}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ekushele" + ] + } + }, + { + "name": "bedtools_slop", + "path": "modules/nf-core/bedtools/slop/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_slop", + "description": "Adds a specified number of bases in each direction (unique values may be specified for either -l or -r)", + "keywords": [ + "bed", + "slopBed", + "bedtools" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/slop.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Input BED file", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Slopped BED file", + "pattern": "*.{bed}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Emiller88", + "@sruthipsuresh", + "@drpatelh" + ] + } + }, + { + "name": "bedtools_sort", + "path": "modules/nf-core/bedtools/sort/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_sort", + "description": "Sorts a feature file by chromosome and other criteria.", + "keywords": [ + "bed", + "sort", + "bedtools", + "chromosome" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/sort.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "intervals": { + "type": "file", + "description": "BED/BEDGRAPH", + "pattern": "*.{bed|bedGraph}" + } + }, + { + "genome_file": { + "type": "file", + "description": "Optional reference genome 2 column file that defines the expected chromosome order.\n", + "pattern": "*.{fai,txt,chromsizes}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sorted": { + "type": "file", + "description": "Sorted output file", + "pattern": "*.${extension}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Emiller88", + "@sruthipsuresh", + "@drpatelh", + "@chris-cheshire", + "@adamrtalbot" + ] + }, + "pipelines": [ + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "ssds", + "version": "dev" + } + ] + }, + { + "name": "bedtools_split", + "path": "modules/nf-core/bedtools/split/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_split", + "description": "Split BED files into several smaller BED files", + "keywords": [ + "bedtools", + "split", + "bed" + ], + "tools": [ + { + "bedtools": { + "description": "A powerful toolset for genome arithmetic", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/sort.html", + "licence": "['MIT', 'GPL v2']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "BED file", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "beds": { + "type": "file", + "description": "list of split BED files", + "pattern": "*.bed" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "bedtools_subtract", + "path": "modules/nf-core/bedtools/subtract/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_subtract", + "description": "Finds overlaps between two sets of regions (A and B), removes the overlaps from A and reports the remaining portion of A.", + "keywords": [ + "bed", + "gff", + "vcf", + "subtract" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/subtract.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "intervals1": { + "type": "file", + "description": "BED/GFF/VCF", + "pattern": "*.{bed|gff|vcf}" + } + }, + { + "intervals2": { + "type": "file", + "description": "BED/GFF/VCF", + "pattern": "*.{bed|gff|vcf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "File containing the difference between the two sets of features", + "patters": "*.bed" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sidorov-si" + ] + } + }, + { + "name": "bedtools_unionbedg", + "path": "modules/nf-core/bedtools/unionbedg/meta.yml", + "type": "module", + "meta": { + "name": "bedtools_unionbedg", + "description": "Combines multiple BedGraph files into a single file", + "keywords": [ + "bed", + "unionBedGraphs", + "bedGraph", + "comparisons", + "combine" + ], + "tools": [ + { + "bedtools": { + "description": "A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types.\n", + "documentation": "https://bedtools.readthedocs.io/en/latest/content/tools/slop.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bedgraph": { + "type": "file", + "description": "Input BedGraph file: four column BED format, with 4th column with numerical values: integer or real, positive or negative\n", + "pattern": "*.{bedGraph,bedgraph}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing meta information for the reference chromosome sizes\ne.g. [ id:'test' ]\n" + } + }, + { + "chrom_sizes": { + "type": "file", + "description": "Chromosome sizes file", + "pattern": "*{.sizes,.txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Combined BED file with values from all bedGraph files", + "pattern": "*.{bed}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ekushele" + ] + } + }, + { + "name": "bioawk", + "path": "modules/nf-core/bioawk/meta.yml", + "type": "module", + "meta": { + "name": "bioawk", + "description": "Bioawk is an extension to Brian Kernighan's awk, adding the support of several common biological data formats.", + "keywords": [ + "bioawk", + "fastq", + "fasta", + "sam", + "file manipulation", + "awk" + ], + "tools": [ + { + "bioawk": { + "description": "BWK awk modified for biological data", + "homepage": "https://github.com/lh3/bioawk", + "documentation": "https://github.com/lh3/bioawk", + "tool_dev_url": "https://github.com/lh3/bioawk", + "licence": "['Free software license (https://github.com/lh3/bioawk/blob/master/README.awk#L1)']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "Input sequence biological sequence file (optionally gzipped) to be manipulated via program specified in `$args`.", + "pattern": "*.{bed,gff,sam,vcf,fastq,fasta,tab,bed.gz,gff.gz,sam.gz,vcf.gz,fastq.gz,fasta.gz,tab.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "file", + "description": "Manipulated and gzipped version of input sequence file following program specified in `args`.\nFile name will be what is specified in `$prefix`. Do not include `.gz` suffix in `$prefix`! Output files` will be gzipped for you!\n", + "pattern": "*.gz" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "biobambam_bammarkduplicates2", + "path": "modules/nf-core/biobambam/bammarkduplicates2/meta.yml", + "type": "module", + "meta": { + "name": "biobambam_bammarkduplicates2", + "description": "Locate and tag duplicate reads in a BAM file", + "keywords": [ + "markduplicates", + "bam", + "cram" + ], + "tools": [ + { + "biobambam": { + "description": "biobambam is a set of tools for early stage alignment file processing.\n", + "homepage": "https://gitlab.com/german.tischler/biobambam2", + "documentation": "https://gitlab.com/german.tischler/biobambam2/-/blob/master/README.md", + "doi": "10.1186/1751-0473-9-13", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file with duplicate reads marked/removed", + "pattern": "*.{bam}" + } + }, + { + "metrics": { + "type": "file", + "description": "Duplicate metrics file generated by biobambam", + "pattern": "*.{metrics.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@muffato" + ] + } + }, + { + "name": "biobambam_bammerge", + "path": "modules/nf-core/biobambam/bammerge/meta.yml", + "type": "module", + "meta": { + "name": "biobambam_bammerge", + "description": "Merge a list of sorted bam files", + "keywords": [ + "merge", + "bam" + ], + "tools": [ + { + "biobambam": { + "description": "biobambam is a set of tools for early stage alignment file processing.\n", + "homepage": "https://gitlab.com/german.tischler/biobambam2", + "documentation": "https://gitlab.com/german.tischler/biobambam2/-/blob/master/README.md", + "doi": "10.1186/1751-0473-9-13", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "List containing 1 or more bam files" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Merged BAM file", + "pattern": "*.bam" + } + }, + { + "bam_index": { + "type": "file", + "description": "BAM index file", + "pattern": "*" + } + }, + { + "checksum": { + "type": "file", + "description": "Checksum file", + "pattern": "*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "biobambam_bamsormadup", + "path": "modules/nf-core/biobambam/bamsormadup/meta.yml", + "type": "module", + "meta": { + "name": "biobambam_bamsormadup", + "description": "Parallel sorting and duplicate marking", + "keywords": [ + "markduplicates", + "sort", + "bam", + "cram" + ], + "tools": [ + { + "biobambam": { + "description": "biobambam is a set of tools for early stage alignment file processing.\n", + "homepage": "https://gitlab.com/german.tischler/biobambam2", + "documentation": "https://gitlab.com/german.tischler/biobambam2/-/blob/master/README.md", + "doi": "10.1186/1751-0473-9-13", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bams": { + "type": "file", + "description": "List containing 1 or more bam files" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome in FASTA format (optional)", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM file with duplicate reads marked/removed", + "pattern": "*.{bam,cram}" + } + }, + { + "bam_index": { + "type": "file", + "description": "BAM index file", + "pattern": "*.{bai}" + } + }, + { + "metrics": { + "type": "file", + "description": "Duplicate metrics file generated by biobambam", + "pattern": "*.{metrics.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "biohansel", + "path": "modules/nf-core/biohansel/meta.yml", + "type": "module", + "meta": { + "name": "biohansel", + "description": "Use k-mers to rapidly subtype S. enterica genomes", + "keywords": [ + "Salmonella enterica", + "subtyping", + "prokaryote" + ], + "tools": [ + { + "biohansel": { + "description": "Subtype Salmonella enterica genomes using 33bp k-mer typing schemes.", + "homepage": "https://github.com/phac-nml/biohansel", + "documentation": "https://github.com/phac-nml/biohansel", + "tool_dev_url": "https://github.com/phac-nml/biohansel", + "doi": "10.1101/2020.01.10.902056", + "licence": "['Apache-2.0 license']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "seqs": { + "type": "file", + "description": "FASTA or FASTQ", + "pattern": "*.{fasta.gz,fa.gz,fna.gz,fastq.gz,fq.gz}" + } + }, + { + "scheme_metadata": { + "type": "file", + "description": "Scheme subtype metadata table", + "pattern": "*.{tab,tsv,txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "summary": { + "type": "file", + "description": "Tab-delimited subtyping summary output", + "pattern": "*summary.txt" + } + }, + { + "kmer_results": { + "type": "file", + "description": "Tab-delimited subtyping kmer matching output", + "pattern": "*kmer-results.txt" + } + }, + { + "simple_summary": { + "type": "file", + "description": "A simple version of summary output", + "pattern": "*simple-summary.txt" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "biscuit_align", + "path": "modules/nf-core/biscuit/align/meta.yml", + "type": "module", + "meta": { + "name": "biscuit_align", + "description": "Aligns single- or paired-end reads from bisulfite-converted libraries to a reference genome using Biscuit.", + "keywords": [ + "biscuit", + "DNA methylation", + "WGBS", + "scWGBS", + "bisulfite sequencing", + "aligner", + "bam" + ], + "tools": [ + { + "biscuit": { + "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", + "homepage": "https://huishenlab.github.io/biscuit/", + "documentation": "https://huishenlab.github.io/biscuit/docs/alignment", + "tool_dev_url": "https://github.com/huishenlab/biscuit", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input fastq files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "index": { + "type": "directory", + "description": "Biscuit genome index directory (generated with 'biscuit index')", + "pattern": "BiscuitIndex" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Output BAM file containing read alignments", + "pattern": "*.{bam}" + } + }, + { + "bai": { + "type": "file", + "description": "Output BAM index", + "pattern": "*.{bai}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@njspix" + ] + } + }, + { + "name": "biscuit_biscuitblaster", + "path": "modules/nf-core/biscuit/biscuitblaster/meta.yml", + "type": "module", + "meta": { + "name": "biscuit_blaster", + "description": "A fast, compact one-liner to produce duplicate-marked, sorted, and indexed BAM files using Biscuit", + "keywords": [ + "biscuit", + "DNA methylation", + "WGBS", + "scWGBS", + "bisulfite sequencing", + "aligner", + "bam" + ], + "tools": [ + { + "biscuit": { + "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", + "homepage": "https://huishenlab.github.io/biscuit/", + "documentation": "https://huishenlab.github.io/biscuit/biscuitblaster/", + "tool_dev_url": "https://github.com/huishenlab/biscuit", + "licence": [ + "MIT" + ] + } + }, + { + "samblaster": { + "description": "samblaster is a fast and flexible program for marking duplicates in read-id grouped paired-end SAM files.\nIt can also optionally output discordant read pairs and/or split read mappings to separate SAM files,\nand/or unmapped/clipped reads to a separate FASTQ file.\nBy default, samblaster reads SAM input from stdin and writes SAM to stdout.\n", + "documentation": "https://github.com/GregoryFaust/samblaster", + "tool_dev_url": "https://github.com/GregoryFaust/samblaster", + "doi": "10.1093/bioinformatics/btu314", + "licence": [ + "MIT" + ] + } + }, + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input fastq files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "index": { + "type": "directory", + "description": "Biscuit genome index directory (generated with 'biscuit index')", + "pattern": "BiscuitIndex" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Output BAM file containing read alignments", + "pattern": "*.{bam}" + } + }, + { + "bai": { + "type": "file", + "description": "Output BAM index", + "pattern": "*.{bai}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@njspix" + ] + } + }, + { + "name": "biscuit_bsconv", + "path": "modules/nf-core/biscuit/bsconv/meta.yml", + "type": "module", + "meta": { + "name": "biscuit_bsconv", + "description": "Summarize and/or filter reads based on bisulfite conversion rate", + "keywords": [ + "biscuit", + "DNA methylation", + "WGBS", + "scWGBS", + "bisulfite sequencing", + "aligner", + "bam", + "filter" + ], + "tools": [ + { + "biscuit": { + "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", + "homepage": "https://huishenlab.github.io/biscuit/", + "documentation": "https://huishenlab.github.io/biscuit/docs/subcommand_help.html#biscuit-bsconv", + "tool_dev_url": "https://github.com/huishenlab/biscuit", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file contained mapped reads" + } + }, + { + "bai": { + "type": "file", + "description": "BAM file index" + } + }, + { + "index": { + "type": "dir", + "description": "Biscuit genome index directory (generated with 'biscuit index')", + "pattern": "BiscuitIndex" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bsconv_bam": { + "type": "file", + "description": "Output BAM file containing filtered read alignments", + "pattern": "*.{bam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@njspix" + ] + } + }, + { + "name": "biscuit_epiread", + "path": "modules/nf-core/biscuit/epiread/meta.yml", + "type": "module", + "meta": { + "name": "biscuit_epiread", + "description": "Summarizes read-level methylation (and optionally SNV) information from a\nBiscuit BAM file in a standard-compliant BED format.\n", + "keywords": [ + "biscuit", + "DNA methylation", + "WGBS", + "scWGBS", + "bisulfite sequencing", + "aligner", + "bam" + ], + "tools": [ + { + "biscuit": { + "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", + "homepage": "https://huishenlab.github.io/biscuit/", + "documentation": "https://huishenlab.github.io/biscuit/epiread_format/", + "tool_dev_url": "https://github.com/huishenlab/biscuit", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Biscuit BAM file" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index" + } + }, + { + "snp_bed": { + "type": "file", + "description": "BED file containing SNP information (optional)" + } + }, + { + "index": { + "type": "directory", + "description": "Biscuit genome index directory (generated with 'biscuit index')", + "pattern": "BiscuitIndex" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "epiread_bed": { + "type": "file", + "description": "Gzipped BED file with methylation (and optionally SNV) information", + "pattern": "*.{epiread.bed.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@njspix" + ] + } + }, + { + "name": "biscuit_index", + "path": "modules/nf-core/biscuit/index/meta.yml", + "type": "module", + "meta": { + "name": "biscuit_index", + "description": "Indexes a reference genome for use with Biscuit", + "keywords": [ + "biscuit", + "DNA methylation", + "WGBS", + "scWGBS", + "bisulfite sequencing", + "index", + "reference", + "fasta" + ], + "tools": [ + { + "biscuit": { + "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", + "homepage": "https://huishenlab.github.io/biscuit/", + "documentation": "https://huishenlab.github.io/biscuit/docs/alignment", + "tool_dev_url": "https://github.com/huishenlab/biscuit", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Input genome fasta file" + } + } + ], + "output": [ + { + "index": { + "type": "dir", + "description": "Biscuit genome index directory", + "pattern": "BiscuitIndex" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@njspix" + ] + } + }, + { + "name": "biscuit_mergecg", + "path": "modules/nf-core/biscuit/mergecg/meta.yml", + "type": "module", + "meta": { + "name": "biscuit_mergecg", + "description": "Merges methylation information for opposite-strand C's in a CpG context", + "keywords": [ + "biscuit", + "DNA methylation", + "WGBS", + "scWGBS", + "bisulfite sequencing", + "aligner", + "bed" + ], + "tools": [ + { + "biscuit": { + "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", + "homepage": "https://huishenlab.github.io/biscuit/", + "documentation": "https://huishenlab.github.io/biscuit/docs/methylextraction.html", + "tool_dev_url": "https://github.com/huishenlab/biscuit", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Biscuit BED file (output of biscuit vcf2bed)\n" + } + }, + { + "index": { + "type": "directory", + "description": "Biscuit genome index directory (generated with 'biscuit index')", + "pattern": "BiscuitIndex" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "mergecg_bed": { + "type": "file", + "description": "Gzipped BED file with merged methylation information", + "pattern": "*.bed.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@njspix" + ] + } + }, + { + "name": "biscuit_pileup", + "path": "modules/nf-core/biscuit/pileup/meta.yml", + "type": "module", + "meta": { + "name": "biscuit_pileup", + "description": "Computes cytosine methylation and callable SNV mutations, optionally in reference to a germline BAM to call somatic variants", + "keywords": [ + "bisulfite", + "DNA methylation", + "pileup", + "variant calling", + "WGBS", + "scWGBS", + "bam", + "vcf" + ], + "tools": [ + { + "biscuit": { + "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", + "homepage": "https://huishenlab.github.io/biscuit/", + "documentation": "https://huishenlab.github.io/biscuit/docs/pileup.html", + "tool_dev_url": "https://github.com/huishenlab/biscuit", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "normal_bams": { + "type": "file", + "description": "BAM files to be analyzed. If no tumor_bam file is provided, any number of \"normal\" BAMs may be provided\n(\"normal\" here is just a semantic issue, these BAMs could be from tumor or any other kind of tissue). If a\ntumor BAM file is provided, exactly one normal (germline) BAM must be provided.\n", + "pattern": "*.{bam}" + } + }, + { + "normal_bais": { + "type": "file", + "description": "BAM index file or files corresponding to the provided normal_bams", + "pattern": "*.{bai}" + } + }, + { + "tumor_bam": { + "type": "file", + "description": "Optional. If a tumor BAM file is provided, pileup will run in \"somatic\" mode and will annotate variants with\ntheir somatic state (present in tumor only, present in normal only, present in both, etc). Note that if a\ntumor BAM file is provided, exactly one normal BAM must be provided.\n", + "pattern": "*.{bam}" + } + }, + { + "tumor_bai": { + "type": "file", + "description": "Optional. BAM index file corresponding to provided tumor_bam", + "pattern": "*.{bai}" + } + }, + { + "index": { + "type": "directory", + "description": "Biscuit genome index directory (generated with 'biscuit index')", + "pattern": "BiscuitIndex" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "vcf file with methylation information", + "pattern": "*.{vcf.gz}" + } + } + ], + "authors": [ + "@njspix" + ] + } + }, + { + "name": "biscuit_qc", + "path": "modules/nf-core/biscuit/qc/meta.yml", + "type": "module", + "meta": { + "name": "biscuit_qc", + "description": "Perform basic quality control on a BAM file generated with Biscuit", + "keywords": [ + "biscuit", + "DNA methylation", + "WGBS", + "scWGBS", + "bisulfite sequencing", + "index", + "BAM", + "quality control" + ], + "tools": [ + { + "biscuit": { + "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", + "homepage": "https://huishenlab.github.io/biscuit/", + "documentation": "https://huishenlab.github.io/biscuit/docs/subcommand_help.html#biscuit-qc", + "tool_dev_url": "https://github.com/huishenlab/biscuit", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file produced using Biscuit" + } + } + ], + "output": [ + { + "biscuit_qc_reports": { + "type": "file", + "description": "Summary files containing the following information:\n - CpG retention by position in read\n - CpH retention by position in read\n - Read duplication statistics\n - Insert size distribution\n - Distribution of mapping qualities\n - Proportion of reads mapping to each strand\n - Read-averaged cytosine conversion rate for CpA, CpC, CpG, and CpT\n", + "pattern": "*.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@njspix" + ] + } + }, + { + "name": "biscuit_vcf2bed", + "path": "modules/nf-core/biscuit/vcf2bed/meta.yml", + "type": "module", + "meta": { + "name": "biscuit_vcf2bed", + "description": "Summarizes methylation or SNV information from a Biscuit VCF in a\nstandard-compliant BED file.\n", + "keywords": [ + "biscuit", + "DNA methylation", + "WGBS", + "scWGBS", + "bisulfite sequencing", + "aligner", + "vcf" + ], + "tools": [ + { + "biscuit": { + "description": "A utility for analyzing sodium bisulfite conversion-based DNA methylation/modification data", + "homepage": "https://huishenlab.github.io/biscuit/", + "documentation": "https://huishenlab.github.io/biscuit/docs/methylextraction.html", + "tool_dev_url": "https://github.com/huishenlab/biscuit", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Biscuit vcf file (output of biscuit pileup)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Gzipped BED file with methylation or SNV information", + "pattern": "*.{bed.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@njspix" + ] + } + }, + { + "name": "bismark_align", + "path": "modules/nf-core/bismark/align/meta.yml", + "type": "module", + "meta": { + "name": "bismark_align", + "description": "Performs alignment of BS-Seq reads using bismark", + "keywords": [ + "bismark", + "3-letter genome", + "map", + "methylation", + "5mC", + "methylseq", + "bisulphite", + "bisulfite", + "bam" + ], + "tools": [ + { + "bismark": { + "description": "Bismark is a tool to map bisulfite treated sequencing reads\nand perform methylation calling in a quick and easy-to-use fashion.\n", + "homepage": "https://github.com/FelixKrueger/Bismark", + "documentation": "https://github.com/FelixKrueger/Bismark/tree/master/Docs", + "doi": "10.1093/bioinformatics/btr167", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "index": { + "type": "dir", + "description": "Bismark genome index directory", + "pattern": "BismarkIndex" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Output BAM file containing read alignments", + "pattern": "*.{bam}" + } + }, + { + "unmapped": { + "type": "file", + "description": "Output FastQ file(s) containing unmapped reads", + "pattern": "*.{fq.gz}" + } + }, + { + "report": { + "type": "file", + "description": "Bismark alignment reports", + "pattern": "*{report.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@phue" + ] + }, + "pipelines": [ + { + "name": "methylseq", + "version": "2.4.0" + } + ] + }, + { + "name": "bismark_coverage2cytosine", + "path": "modules/nf-core/bismark/coverage2cytosine/meta.yml", + "type": "module", + "meta": { + "name": "bismark_coverage2cytosine", + "description": "Relates methylation calls back to genomic cytosine contexts.", + "keywords": [ + "bismark", + "consensus", + "map", + "methylation", + "5mC", + "methylseq", + "bisulphite", + "bisulfite", + "bam", + "bedGraph" + ], + "tools": [ + { + "bismark": { + "description": "Bismark is a tool to map bisulfite treated sequencing reads\nand perform methylation calling in a quick and easy-to-use fashion.\n", + "homepage": "https://github.com/FelixKrueger/Bismark", + "documentation": "https://github.com/FelixKrueger/Bismark/tree/master/Docs", + "doi": "10.1093/bioinformatics/btr167", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "coverage_file": { + "type": "file", + "description": "A file containing methylation calls per position, in the format produced by bismark_methylation_extractor.\n" + } + }, + { + "index": { + "type": "dir", + "description": "Bismark genome index directory", + "pattern": "BismarkIndex" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "coverage": { + "type": "file", + "description": "A file containing methylation calls per position.", + "pattern": "*.cov.gz" + } + }, + { + "report": { + "type": "file", + "description": "Genomic cytosine context results.", + "pattern": "*report.txt.gz" + } + }, + { + "summary": { + "type": "file", + "description": "Cyotosine context summary report.", + "pattern": "*cytosine_context_summary.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ewels" + ] + }, + "pipelines": [ + { + "name": "methylseq", + "version": "2.4.0" + } + ] + }, + { + "name": "bismark_deduplicate", + "path": "modules/nf-core/bismark/deduplicate/meta.yml", + "type": "module", + "meta": { + "name": "bismark_deduplicate", + "description": "Removes alignments to the same position in the genome\nfrom the Bismark mapping output.\n", + "keywords": [ + "bismark", + "3-letter genome", + "map", + "methylation", + "5mC", + "methylseq", + "bisulphite", + "bisulfite", + "bam" + ], + "tools": [ + { + "bismark": { + "description": "Bismark is a tool to map bisulfite treated sequencing reads\nand perform methylation calling in a quick and easy-to-use fashion.\n", + "homepage": "https://github.com/FelixKrueger/Bismark", + "documentation": "https://github.com/FelixKrueger/Bismark/tree/master/Docs", + "doi": "10.1093/bioinformatics/btr167", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file containing read alignments", + "pattern": "*.{bam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Deduplicated output BAM file containing read alignments", + "pattern": "*.{deduplicated.bam}" + } + }, + { + "report": { + "type": "file", + "description": "Bismark deduplication reports", + "pattern": "*.{deduplication_report.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@phue" + ] + }, + "pipelines": [ + { + "name": "methylseq", + "version": "2.4.0" + } + ] + }, + { + "name": "bismark_genomepreparation", + "path": "modules/nf-core/bismark/genomepreparation/meta.yml", + "type": "module", + "meta": { + "name": "bismark_genomepreparation", + "description": "Converts a specified reference genome into two different bisulfite\nconverted versions and indexes them for alignments.\n", + "keywords": [ + "bismark", + "3-letter genome", + "index", + "methylation", + "5mC", + "methylseq", + "bisulphite", + "bisulfite", + "fasta" + ], + "tools": [ + { + "bismark": { + "description": "Bismark is a tool to map bisulfite treated sequencing reads\nand perform methylation calling in a quick and easy-to-use fashion.\n", + "homepage": "https://github.com/FelixKrueger/Bismark", + "documentation": "https://github.com/FelixKrueger/Bismark/tree/master/Docs", + "doi": "10.1093/bioinformatics/btr167", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Input genome fasta file" + } + } + ], + "output": [ + { + "index": { + "type": "dir", + "description": "Bismark genome index directory", + "pattern": "BismarkIndex" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@phue" + ] + }, + "pipelines": [ + { + "name": "methylseq", + "version": "2.4.0" + } + ] + }, + { + "name": "bismark_methylationextractor", + "path": "modules/nf-core/bismark/methylationextractor/meta.yml", + "type": "module", + "meta": { + "name": "bismark_methylationextractor", + "description": "Extracts methylation information for individual cytosines from alignments.", + "keywords": [ + "bismark", + "consensus", + "map", + "methylation", + "5mC", + "methylseq", + "bisulphite", + "bisulfite", + "bam", + "bedGraph" + ], + "tools": [ + { + "bismark": { + "description": "Bismark is a tool to map bisulfite treated sequencing reads\nand perform methylation calling in a quick and easy-to-use fashion.\n", + "homepage": "https://github.com/FelixKrueger/Bismark", + "documentation": "https://github.com/FelixKrueger/Bismark/tree/master/Docs", + "doi": "10.1093/bioinformatics/btr167", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file containing read alignments", + "pattern": "*.{bam}" + } + }, + { + "index": { + "type": "dir", + "description": "Bismark genome index directory", + "pattern": "BismarkIndex" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bedgraph": { + "type": "file", + "description": "Bismark output file containing coverage and methylation metrics", + "pattern": "*.{bedGraph.gz}" + } + }, + { + "methylation_calls": { + "type": "file", + "description": "Bismark output file containing strand-specific methylation calls", + "pattern": "*.{txt.gz}" + } + }, + { + "coverage": { + "type": "file", + "description": "Bismark output file containing coverage metrics", + "pattern": "*.{cov.gz}" + } + }, + { + "report": { + "type": "file", + "description": "Bismark splitting reports", + "pattern": "*_{splitting_report.txt}" + } + }, + { + "mbias": { + "type": "file", + "description": "Text file containing methylation bias information", + "pattern": "*.{M-bias.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@phue" + ] + }, + "pipelines": [ + { + "name": "methylseq", + "version": "2.4.0" + } + ] + }, + { + "name": "bismark_report", + "path": "modules/nf-core/bismark/report/meta.yml", + "type": "module", + "meta": { + "name": "bismark_report", + "description": "Collects bismark alignment reports", + "keywords": [ + "bismark", + "qc", + "methylation", + "5mC", + "methylseq", + "bisulphite", + "bisulfite", + "report" + ], + "tools": [ + { + "bismark": { + "description": "Bismark is a tool to map bisulfite treated sequencing reads\nand perform methylation calling in a quick and easy-to-use fashion.\n", + "homepage": "https://github.com/FelixKrueger/Bismark", + "documentation": "https://github.com/FelixKrueger/Bismark/tree/master/Docs", + "doi": "10.1093/bioinformatics/btr167", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "align_report": { + "type": "file", + "description": "Bismark alignment reports", + "pattern": "*{report.txt}" + } + }, + { + "splitting_report": { + "type": "file", + "description": "Bismark splitting reports", + "pattern": "*{splitting_report.txt}" + } + }, + { + "dedup_report": { + "type": "file", + "description": "Bismark deduplication reports", + "pattern": "*.{deduplication_report.txt}" + } + }, + { + "mbias": { + "type": "file", + "description": "Text file containing methylation bias information", + "pattern": "*.{txt}" + } + }, + { + "fasta": { + "type": "file", + "description": "Input genome fasta file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "report": { + "type": "file", + "description": "Bismark reports", + "pattern": "*.{html,txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@phue" + ] + }, + "pipelines": [ + { + "name": "methylseq", + "version": "2.4.0" + } + ] + }, + { + "name": "bismark_summary", + "path": "modules/nf-core/bismark/summary/meta.yml", + "type": "module", + "meta": { + "name": "bismark_summary", + "description": "Uses Bismark report files of several samples in a run folder\nto generate a graphical summary HTML report.\n", + "keywords": [ + "bismark", + "qc", + "methylation", + "5mC", + "methylseq", + "bisulphite", + "bisulfite", + "report", + "summary" + ], + "tools": [ + { + "bismark": { + "description": "Bismark is a tool to map bisulfite treated sequencing reads\nand perform methylation calling in a quick and easy-to-use fashion.\n", + "homepage": "https://github.com/FelixKrueger/Bismark", + "documentation": "https://github.com/FelixKrueger/Bismark/tree/master/Docs", + "doi": "10.1093/bioinformatics/btr167", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "bam": { + "type": "value", + "description": "Array of Bismark alignment BAM filenames", + "pattern": "*.bam" + } + }, + { + "align_report": { + "type": "file", + "description": "Bismark alignment reports", + "pattern": "*report.txt" + } + }, + { + "dedup_report": { + "type": "file", + "description": "Bismark deduplication reports", + "pattern": "*.deduplication_report.txt" + } + }, + { + "splitting_report": { + "type": "file", + "description": "Bismark splitting reports", + "pattern": "*splitting_report.txt" + } + }, + { + "mbias": { + "type": "file", + "description": "Text file containing methylation bias information", + "pattern": "*.txt" + } + } + ], + "output": [ + { + "summary": { + "type": "file", + "description": "Bismark summary", + "pattern": "*.{html,txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@phue" + ] + }, + "pipelines": [ + { + "name": "methylseq", + "version": "2.4.0" + } + ] + }, + { + "name": "blast_blastn", + "path": "modules/nf-core/blast/blastn/meta.yml", + "type": "module", + "meta": { + "name": "blast_blastn", + "description": "Queries a BLAST DNA database", + "keywords": [ + "fasta", + "blast", + "blastn", + "DNA sequence" + ], + "tools": [ + { + "blast": { + "description": "BLAST finds regions of similarity between biological sequences.\n", + "homepage": "https://blast.ncbi.nlm.nih.gov/Blast.cgi", + "documentation": "https://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=Web&PAGE_TYPE=Blastdocs", + "doi": "10.1016/S0022-2836(05)80360-2", + "licence": [ + "US-Government-Work" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input fasta file containing queries sequences", + "pattern": "*.{fa,fasta}" + } + }, + { + "db": { + "type": "directory", + "description": "Directory containing blast database", + "pattern": "*" + } + } + ], + "output": [ + { + "txt": { + "type": "file", + "description": "File containing blastn hits", + "pattern": "*.{blastn.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "blast_makeblastdb", + "path": "modules/nf-core/blast/makeblastdb/meta.yml", + "type": "module", + "meta": { + "name": "blast_makeblastdb", + "description": "Builds a BLAST database", + "keywords": [ + "fasta", + "blast", + "database" + ], + "tools": [ + { + "blast": { + "description": "BLAST finds regions of similarity between biological sequences.\n", + "homepage": "https://blast.ncbi.nlm.nih.gov/Blast.cgi", + "documentation": "https://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=Web&PAGE_TYPE=Blastdocs", + "doi": "10.1016/S0022-2836(05)80360-2", + "licence": [ + "US-Government-Work" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Input fasta file", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "db": { + "type": "directory", + "description": "Output directory containing blast database files", + "pattern": "*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "blast_tblastn", + "path": "modules/nf-core/blast/tblastn/meta.yml", + "type": "module", + "meta": { + "name": "blast_tblastn", + "description": "Queries a BLAST DNA database", + "keywords": [ + "fasta", + "blast", + "tblastn", + "DNA sequence" + ], + "tools": [ + { + "blast": { + "description": "Protein to Translated Nucleotide BLAST.\n", + "homepage": "https://blast.ncbi.nlm.nih.gov/Blast.cgi", + "documentation": "https://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=Web&PAGE_TYPE=Blastdocs", + "doi": "10.1016/S0022-2836(05)80360-2", + "licence": [ + "US-Government-Work" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input fasta file containing queries sequences", + "pattern": "*.{fa,fasta}" + } + }, + { + "db": { + "type": "directory", + "description": "Directory containing blast database", + "pattern": "*" + } + } + ], + "output": [ + { + "txt": { + "type": "file", + "description": "File containing blastn hits", + "pattern": "*.{tblastn.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@yumisims", + "@gq2" + ] + } + }, + { + "name": "bowtie2_align", + "path": "modules/nf-core/bowtie2/align/meta.yml", + "type": "module", + "meta": { + "name": "bowtie2_align", + "description": "Align reads to a reference genome using bowtie2", + "keywords": [ + "align", + "map", + "fasta", + "fastq", + "genome", + "reference" + ], + "tools": [ + { + "bowtie2": { + "description": "Bowtie 2 is an ultrafast and memory-efficient tool for aligning\nsequencing reads to long reference sequences.\n", + "homepage": "http://bowtie-bio.sourceforge.net/bowtie2/index.shtml", + "documentation": "http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml", + "doi": "10.1038/nmeth.1923", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "file", + "description": "Bowtie2 genome index files", + "pattern": "*.ebwt" + } + }, + { + "save_unaligned": { + "type": "boolean", + "description": "Save reads that do not map to the reference (true) or discard them (false)\n(default: false)\n" + } + }, + { + "sort_bam": { + "type": "boolean", + "description": "use samtools sort (true) or samtools view (false)", + "pattern": "true or false" + } + } + ], + "output": [ + { + "aligned": { + "type": "file", + "description": "Output BAM/SAM file containing read alignments", + "pattern": "*.{bam,sam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fastq": { + "type": "file", + "description": "Unaligned FastQ files", + "pattern": "*.fastq.gz" + } + }, + { + "log": { + "type": "file", + "description": "Aligment log", + "pattern": "*.log" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "crisprseq", + "version": "2.0.0" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "hic", + "version": "2.1.0" + }, + { + "name": "marsseq", + "version": "1.0.3" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bowtie2_build", + "path": "modules/nf-core/bowtie2/build/meta.yml", + "type": "module", + "meta": { + "name": "bowtie2_build", + "description": "Builds bowtie index for reference genome", + "keywords": [ + "build", + "index", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "bowtie2": { + "description": "Bowtie 2 is an ultrafast and memory-efficient tool for aligning\nsequencing reads to long reference sequences.\n", + "homepage": "http://bowtie-bio.sourceforge.net/bowtie2/index.shtml", + "documentation": "http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml", + "doi": "10.1038/nmeth.1923", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input genome fasta file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "file", + "description": "Bowtie2 genome index files", + "pattern": "*.bt2" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "crisprseq", + "version": "2.0.0" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "hic", + "version": "2.1.0" + }, + { + "name": "marsseq", + "version": "1.0.3" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bowtie_align", + "path": "modules/nf-core/bowtie/align/meta.yml", + "type": "module", + "meta": { + "name": "bowtie_align", + "description": "Align reads to a reference genome using bowtie", + "keywords": [ + "align", + "map", + "fastq", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "bowtie": { + "description": "bowtie is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", + "homepage": "http://bowtie-bio.sourceforge.net/index.shtml", + "documentation": "http://bowtie-bio.sourceforge.net/manual.shtml", + "arxiv": "arXiv:1303.3997", + "licence": [ + "Artistic-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "index": { + "type": "file", + "description": "Bowtie genome index files", + "pattern": "*.ebwt" + } + } + ], + "output": [ + { + "bam": { + "type": "file", + "description": "Output BAM file containing read alignments", + "pattern": "*.{bam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fastq": { + "type": "file", + "description": "Unaligned FastQ files", + "pattern": "*.fastq.gz" + } + } + ], + "authors": [ + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "circrna", + "version": "dev" + } + ] + }, + { + "name": "bowtie_build", + "path": "modules/nf-core/bowtie/build/meta.yml", + "type": "module", + "meta": { + "name": "bowtie_build", + "description": "Create bowtie index for reference genome", + "keywords": [ + "index", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "bowtie": { + "description": "bowtie is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", + "homepage": "http://bowtie-bio.sourceforge.net/index.shtml", + "documentation": "http://bowtie-bio.sourceforge.net/manual.shtml", + "arxiv": "arXiv:1303.3997", + "licence": [ + "Artistic-2.0" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Input genome fasta file" + } + } + ], + "output": [ + { + "index": { + "type": "file", + "description": "Bowtie genome index files", + "pattern": "*.ebwt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kevinmenden", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "circrna", + "version": "dev" + } + ] + }, + { + "name": "bracken_bracken", + "path": "modules/nf-core/bracken/bracken/meta.yml", + "type": "module", + "meta": { + "name": "bracken_bracken", + "description": "Re-estimate taxonomic abundance of metagenomic samples analyzed by kraken.", + "keywords": [ + "bracken", + "metagenomics", + "abundance", + "kraken2" + ], + "tools": [ + { + "bracken": { + "description": "Bracken (Bayesian Reestimation of Abundance with KrakEN) is a highly accurate statistical method that computes the abundance of species in DNA sequences from a metagenomics sample.", + "homepage": "https://ccb.jhu.edu/software/bracken/", + "documentation": "https://ccb.jhu.edu/software/bracken/index.shtml?t=manual", + "tool_dev_url": "https://github.com/jenniferlu717/Bracken", + "doi": "10.7717/peerj-cs.104", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "kraken_report": { + "type": "file", + "description": "TSV file with six columns coming from kraken2 output", + "pattern": "*.{tsv}" + } + }, + { + "database": { + "type": "file", + "description": "Directory containing the kraken2/Bracken files for analysis", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "reports": { + "type": "file", + "description": "TSV output report of the re-estimated abundances", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@Midnighter" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "bracken_combinebrackenoutputs", + "path": "modules/nf-core/bracken/combinebrackenoutputs/meta.yml", + "type": "module", + "meta": { + "name": "bracken_combinebrackenoutputs", + "description": "Combine output of metagenomic samples analyzed by bracken.", + "keywords": [ + "sort" + ], + "tools": [ + { + "bracken": { + "description": "Bracken (Bayesian Reestimation of Abundance with KrakEN) is a highly accurate statistical method that computes the abundance of species in DNA sequences from a metagenomics sample.", + "homepage": "https://ccb.jhu.edu/software/bracken/", + "documentation": "https://ccb.jhu.edu/software/bracken/index.shtml?t=manual", + "tool_dev_url": "https://github.com/jenniferlu717/Bracken", + "doi": "10.7717/peerj-cs.104", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "List of output files from bracken", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "Combined output in table format", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "busco", + "path": "modules/nf-core/busco/meta.yml", + "type": "module", + "meta": { + "name": "busco", + "description": "Benchmarking Universal Single Copy Orthologs", + "keywords": [ + "quality control", + "genome", + "transcriptome", + "proteome" + ], + "tools": [ + { + "busco": { + "description": "BUSCO provides measures for quantitative assessment of genome assembly, gene set, and transcriptome completeness based on evolutionarily informed expectations of gene content from near-universal single-copy orthologs selected from OrthoDB.", + "homepage": "https://busco.ezlab.org/", + "documentation": "https://busco.ezlab.org/busco_userguide.html", + "tool_dev_url": "https://gitlab.com/ezlab/busco", + "doi": "10.1007/978-1-4939-9173-0_14", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Nucleic or amino acid sequence file in FASTA format.", + "pattern": "*.{fasta,fna,fa,fasta.gz,fna.gz,fa.gz}" + } + }, + { + "lineage": { + "type": "string", + "description": "The BUSCO lineage to use, or \"auto\" to automatically select lineage" + } + }, + { + "busco_lineages_path": { + "type": "directory", + "description": "Path to local BUSCO lineages directory." + } + }, + { + "config_file": { + "type": "file", + "description": "Path to BUSCO config file." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "batch_summary": { + "type": "file", + "description": "Summary of all sequence files analyzed", + "pattern": "*-busco.batch_summary.txt" + } + }, + { + "short_summaries_txt": { + "type": "file", + "description": "Short Busco summary in plain text format", + "pattern": "short_summary.*.txt" + } + }, + { + "short_summaries_json": { + "type": "file", + "description": "Short Busco summary in JSON format", + "pattern": "short_summary.*.json" + } + }, + { + "busco_dir": { + "type": "directory", + "description": "BUSCO lineage specific output", + "pattern": "*-busco" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@priyanka-surana", + "@charles-plessy", + "@mahesh-panchal", + "@muffato", + "@jvhagey" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "bwa_aln", + "path": "modules/nf-core/bwa/aln/meta.yml", + "type": "module", + "meta": { + "name": "bwa_aln", + "description": "Find SA coordinates of the input reads for bwa short-read mapping", + "keywords": [ + "bwa", + "aln", + "short-read", + "align", + "reference", + "fasta", + "map", + "fastq" + ], + "tools": [ + { + "bwa": { + "description": "BWA is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", + "homepage": "http://bio-bwa.sourceforge.net/", + "documentation": "http://bio-bwa.sourceforge.net/", + "doi": "10.1093/bioinformatics/btp324", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "file", + "description": "BWA genome index files", + "pattern": "Directory containing BWA index *.{amb,ann,bwt,pac,sa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sai": { + "type": "file", + "description": "Single or paired SA coordinate files", + "pattern": "*.sai" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + } + ] + }, + { + "name": "bwa_index", + "path": "modules/nf-core/bwa/index/meta.yml", + "type": "module", + "meta": { + "name": "bwa_index", + "description": "Create BWA index for reference genome", + "keywords": [ + "index", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "bwa": { + "description": "BWA is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", + "homepage": "http://bio-bwa.sourceforge.net/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "arxiv": "arXiv:1303.3997", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input genome fasta file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "file", + "description": "BWA genome index files", + "pattern": "*.{amb,ann,bwt,pac,sa}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "crisprseq", + "version": "2.0.0" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "ssds", + "version": "dev" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "bwa_mem", + "path": "modules/nf-core/bwa/mem/meta.yml", + "type": "module", + "meta": { + "name": "bwa_mem", + "description": "Performs fastq alignment to a fasta reference using BWA", + "keywords": [ + "mem", + "bwa", + "alignment", + "map", + "fastq", + "bam", + "sam" + ], + "tools": [ + { + "bwa": { + "description": "BWA is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", + "homepage": "http://bio-bwa.sourceforge.net/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "arxiv": "arXiv:1303.3997", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "file", + "description": "BWA genome index files", + "pattern": "Directory containing BWA index *.{amb,ann,bwt,pac,sa}" + } + }, + { + "sort_bam": { + "type": "boolean", + "description": "use samtools sort (true) or samtools view (false)", + "pattern": "true or false" + } + } + ], + "output": [ + { + "bam": { + "type": "file", + "description": "Output BAM file containing read alignments", + "pattern": "*.{bam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@jeremy1805" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "crisprseq", + "version": "2.0.0" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "ssds", + "version": "dev" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "bwa_sampe", + "path": "modules/nf-core/bwa/sampe/meta.yml", + "type": "module", + "meta": { + "name": "bwa_sampe", + "description": "Convert paired-end bwa SA coordinate files to SAM format", + "keywords": [ + "bwa", + "aln", + "short-read", + "align", + "reference", + "fasta", + "map", + "sam", + "bam" + ], + "tools": [ + { + "bwa": { + "description": "BWA is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", + "homepage": "http://bio-bwa.sourceforge.net/", + "documentation": "http://bio-bwa.sourceforge.net/", + "doi": "10.1093/bioinformatics/btp324", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "FASTQ files specified alongside meta in input channel.", + "pattern": "*.{fastq,fq}.gz" + } + }, + { + "sai": { + "type": "file", + "description": "SAI file specified alongside meta and reads in input channel.", + "pattern": "*.sai" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "directory", + "description": "Directory containing BWA index files (amb,ann,bwt,pac,sa) from BWA_INDEX", + "pattern": "bwa/" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + } + ] + }, + { + "name": "bwa_samse", + "path": "modules/nf-core/bwa/samse/meta.yml", + "type": "module", + "meta": { + "name": "bwa_samse", + "description": "Convert bwa SA coordinate file to SAM format", + "keywords": [ + "bwa", + "aln", + "short-read", + "align", + "reference", + "fasta", + "map", + "sam", + "bam" + ], + "tools": [ + { + "bwa": { + "description": "BWA is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", + "homepage": "http://bio-bwa.sourceforge.net/", + "documentation": "http://bio-bwa.sourceforge.net/", + "doi": "10.1093/bioinformatics/btp324", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "FASTQ files specified alongside meta in input channel.", + "pattern": "*.{fastq,fq}.gz" + } + }, + { + "sai": { + "type": "file", + "description": "SAI file specified alongside meta and reads in input channel.", + "pattern": "*.sai" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "directory", + "description": "Directory containing BWA index files (amb,ann,bwt,pac,sa) from BWA_INDEX", + "pattern": "bwa/" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + } + ] + }, + { + "name": "bwamem2_index", + "path": "modules/nf-core/bwamem2/index/meta.yml", + "type": "module", + "meta": { + "name": "bwamem2_index", + "description": "Create BWA-mem2 index for reference genome", + "keywords": [ + "index", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "bwamem2": { + "description": "BWA-mem2 is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", + "homepage": "https://github.com/bwa-mem2/bwa-mem2", + "documentation": "https://github.com/bwa-mem2/bwa-mem2#usage", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input genome fasta file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "file", + "description": "BWA genome index files", + "pattern": "*.{0123,amb,ann,bwt.2bit.64,pac}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "bwamem2_mem", + "path": "modules/nf-core/bwamem2/mem/meta.yml", + "type": "module", + "meta": { + "name": "bwamem2_mem", + "description": "Performs fastq alignment to a fasta reference using BWA", + "keywords": [ + "mem", + "bwa", + "alignment", + "map", + "fastq", + "bam", + "sam" + ], + "tools": [ + { + "bwa": { + "description": "BWA-mem2 is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", + "homepage": "https://github.com/bwa-mem2/bwa-mem2", + "documentation": "http://www.htslib.org/doc/samtools.html", + "arxiv": "arXiv:1303.3997", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference/index information\ne.g. [ id:'test' ]\n" + } + }, + { + "index": { + "type": "file", + "description": "BWA genome index files", + "pattern": "Directory containing BWA index *.{0132,amb,ann,bwt.2bit.64,pac}" + } + }, + { + "sort_bam": { + "type": "boolean", + "description": "use samtools sort (true) or samtools view (false)", + "pattern": "true or false" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Output BAM file containing read alignments", + "pattern": "*.{bam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "bwameth_align", + "path": "modules/nf-core/bwameth/align/meta.yml", + "type": "module", + "meta": { + "name": "bwameth_align", + "description": "Performs alignment of BS-Seq reads using bwameth", + "keywords": [ + "bwameth", + "alignment", + "3-letter genome", + "map", + "methylation", + "5mC", + "methylseq", + "bisulphite", + "bisulfite", + "fastq", + "bam" + ], + "tools": [ + { + "bwameth": { + "description": "Fast and accurate alignment of BS-Seq reads\nusing bwa-mem and a 3-letter genome.\n", + "homepage": "https://github.com/brentp/bwa-meth", + "documentation": "https://github.com/brentp/bwa-meth", + "arxiv": "arXiv:1401.1129", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "index": { + "type": "dir", + "description": "Directory containing bwameth genome index" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Output BAM file containing read alignments", + "pattern": "*.{bam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@phue" + ] + }, + "pipelines": [ + { + "name": "methylseq", + "version": "2.4.0" + } + ] + }, + { + "name": "bwameth_index", + "path": "modules/nf-core/bwameth/index/meta.yml", + "type": "module", + "meta": { + "name": "bwameth_index", + "description": "Performs indexing of c2t converted reference genome", + "keywords": [ + "bwameth", + "3-letter genome", + "index", + "methylseq", + "bisulphite", + "bisulfite", + "fasta" + ], + "tools": [ + { + "bwameth": { + "description": "Fast and accurate alignment of BS-Seq reads\nusing bwa-mem and a 3-letter genome.\n", + "homepage": "https://github.com/brentp/bwa-meth", + "documentation": "https://github.com/brentp/bwa-meth", + "arxiv": "arXiv:1401.1129", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Input genome fasta file" + } + } + ], + "output": [ + { + "index": { + "type": "dir", + "description": "Directory containing bwameth genome index", + "pattern": "index" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@phue" + ] + }, + "pipelines": [ + { + "name": "methylseq", + "version": "2.4.0" + } + ] + }, + { + "name": "cadd", + "path": "modules/nf-core/cadd/meta.yml", + "type": "module", + "meta": { + "name": "cadd", + "description": "CADD is a tool for scoring the deleteriousness of single nucleotide variants as well as insertion/deletions variants in the human genome.", + "keywords": [ + "cadd", + "annotate", + "variants" + ], + "tools": [ + { + "cadd": { + "description": "CADD scripts release for offline scoring", + "homepage": "https://cadd.gs.washington.edu/", + "documentation": "https://github.com/kircherlab/CADD-scripts/blob/master/README.md", + "tool_dev_url": "https://github.com/kircherlab/CADD-scripts/", + "doi": "10.1093/nar/gky1016", + "licence": "['Restricted. Free for non-commercial users.']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Input file for annotation in vcf or vcf.gz format", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "annotation_dir": { + "type": "file", + "description": "Path to folder containing the vcf files with precomputed CADD scores.\nThis folder contains the uncompressed files that would otherwise be in data/annotation folder as described in https://github.com/kircherlab/CADD-scripts/#manual-installation.\n", + "pattern": "*.{vcf,vcf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "Annotated tsv file", + "pattern": "*.{tsv,tsv.gz}" + } + } + ], + "authors": [ + "@ramprasadn" + ] + } + }, + { + "name": "calder2", + "path": "modules/nf-core/calder2/meta.yml", + "type": "module", + "meta": { + "name": "calder2", + "description": "Hierarchical Hi-C compartment computation", + "keywords": [ + "calder2", + "genome", + "topology", + "compartments", + "domains", + "hi-c" + ], + "tools": [ + { + "calder2": { + "description": "Hierarchical Hi-C compartment computation", + "homepage": "https://github.com/CSOgroup/CALDER2", + "documentation": "https://github.com/CSOgroup/CALDER2", + "tool_dev_url": "https://github.com/CSOgroup/CALDER2", + "doi": "10.1038/s41467-021-22666-3", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information. E.g. [ id:'test', single_end:false ]" + } + }, + { + "input": { + "type": "file", + "description": "Path to COOL file", + "pattern": "*.{cool.mcool}" + } + }, + { + "resolution": { + "type": "value", + "description": "In case a .mcool file is provided, which resolution level to use for the analysis" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information. E.g. [ id:'test', single_end:false ]" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "directory", + "description": "Output folder containing sub-compartment (.tsv/.bed) and domain boundaries calls (.bed)" + } + }, + { + "intermediate_data": { + "type": "directory", + "description": "Output folder containing intermediate data produced during the computation" + } + } + ], + "authors": [ + "@lucananni93" + ] + } + }, + { + "name": "canu", + "path": "modules/nf-core/canu/meta.yml", + "type": "module", + "meta": { + "name": "canu", + "description": "Accurate assembly of segmental duplications, satellites, and allelic variants from high-fidelity long reads.", + "keywords": [ + "Assembly", + "pacbio", + "hifi", + "nanopore" + ], + "tools": [ + { + "canu": { + "description": "Canu is a fork of the Celera Assembler designed for high-noise single-molecule sequencing.", + "homepage": "https://canu.readthedocs.io/en/latest/index.html#", + "documentation": "https://canu.readthedocs.io/en/latest/tutorial.html", + "tool_dev_url": "https://github.com/marbl/canu", + "doi": "10.1101/gr.215087.116", + "licence": "['GPL v2 and others']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:true ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "fasta/fastq file", + "pattern": "*.{fasta,fastq}" + } + }, + { + "mode": { + "type": "value", + "description": "Canu mode depending on the input data (source and error rate)", + "pattern": "-pacbio|-nanopore|-pacbio-hifi" + } + }, + { + "genomesize": { + "type": "value", + "description": "An estimate of the size of the genome. Common suffices are allowed, for example, 3.7m or 2.8g", + "pattern": "[g|m|k]" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "report": { + "type": "file", + "description": "Most of the analysis reported during assembly", + "pattern": "*.report" + } + }, + { + "assembly": { + "type": "file", + "description": "Everything which could be assembled and is the full assembly, including both unique, repetitive, and bubble elements.", + "pattern": "*.contigs.fasta" + } + }, + { + "contigs": { + "type": "file", + "description": "Reads and low-coverage contigs which could not be incorporated into the primary assembly.", + "pattern": "*.unassembled.fasta" + } + }, + { + "corrected_reads": { + "type": "file", + "description": "The reads after correction.", + "pattern": "*.correctedReads.fasta.gz" + } + }, + { + "corrected_trimmed_reads": { + "type": "file", + "description": "The corrected reads after overlap based trimming", + "pattern": "*.trimmedReads.fasta.gz" + } + }, + { + "metadata": { + "type": "file", + "description": "(undocumented)", + "pattern": "*.contigs.layout" + } + }, + { + "contig_position": { + "type": "file", + "description": "The position of each read in a contig", + "pattern": "*.contigs.layout.readToTig" + } + }, + { + "contig_info": { + "type": "file", + "description": "A list of the contigs, lengths, coverage, number of reads and other metadata. Essentially the same information provided in the FASTA header line.", + "pattern": "*.contigs.layout.tigInfo" + } + } + ], + "authors": [ + "@scorreard" + ] + } + }, + { + "name": "cat_cat", + "path": "modules/nf-core/cat/cat/meta.yml", + "type": "module", + "meta": { + "name": "cat_cat", + "description": "A module for concatenation of gzipped or uncompressed files", + "keywords": [ + "concatenate", + "gzip", + "cat" + ], + "tools": [ + { + "cat": { + "description": "Just concatenation", + "documentation": "https://man7.org/linux/man-pages/man1/cat.1.html", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "files_in": { + "type": "file", + "description": "List of compressed / uncompressed files", + "pattern": "*" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "file_out": { + "type": "file", + "description": "Concatenated file. Will be gzipped if file_out ends with \".gz\"", + "pattern": "${file_out}" + } + } + ], + "authors": [ + "@erikrikarddaniel", + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "marsseq", + "version": "1.0.3" + }, + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "cat_fastq", + "path": "modules/nf-core/cat/fastq/meta.yml", + "type": "module", + "meta": { + "name": "cat_fastq", + "description": "Concatenates fastq files", + "keywords": [ + "cat", + "fastq", + "concatenate" + ], + "tools": [ + { + "cat": { + "description": "The cat utility reads files sequentially, writing them to the standard output.\n", + "documentation": "https://www.gnu.org/software/coreutils/manual/html_node/cat-invocation.html", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files to be concatenated.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Merged fastq file", + "pattern": "*.{merged.fastq.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "bamtofastq", + "version": "2.0.0" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "crisprseq", + "version": "2.0.0" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "genomeannotator", + "version": "dev" + }, + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "methylseq", + "version": "2.4.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "smrnaseq", + "version": "2.2.1" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "cdhit_cdhit", + "path": "modules/nf-core/cdhit/cdhit/meta.yml", + "type": "module", + "meta": { + "name": "cdhit_cdhit", + "description": "Cluster protein sequences using sequence similarity", + "keywords": [ + "cluster", + "protein", + "alignment", + "fasta" + ], + "tools": [ + { + "cdhit": { + "description": "Clusters and compares protein or nucleotide sequences", + "homepage": "https://sites.google.com/view/cd-hit/home", + "documentation": "https://github.com/weizhongli/cdhit/wiki", + "tool_dev_url": "https://github.com/weizhongli/cdhit", + "doi": "10.1093/bioinformatics/btl158", + "licence": "['GPL v2']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sequences": { + "type": "file", + "description": "fasta file of sequences to be clustered", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fasta": { + "type": "file", + "description": "fasta file of the representative sequences for each cluster", + "pattern": "*.{fasta}" + } + }, + { + "clusters": { + "type": "file", + "description": "List of clusters", + "pattern": "*.{clstr}" + } + } + ], + "authors": [ + "@timslittle" + ] + }, + "pipelines": [ + { + "name": "radseq", + "version": "dev" + } + ] + }, + { + "name": "cdhit_cdhitest", + "path": "modules/nf-core/cdhit/cdhitest/meta.yml", + "type": "module", + "meta": { + "name": "cdhit_cdhitest", + "description": "Cluster nucleotide sequences using sequence similarity", + "keywords": [ + "cluster", + "nucleotide", + "alignment", + "fasta" + ], + "tools": [ + { + "cdhit": { + "description": "Clusters and compares protein or nucleotide sequences", + "homepage": "https://sites.google.com/view/cd-hit/home", + "documentation": "https://github.com/weizhongli/cdhit/wiki", + "tool_dev_url": "https://github.com/weizhongli/cdhit", + "doi": "10.1093/bioinformatics/btl158", + "licence": "['GPL v2']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sequences": { + "type": "file", + "description": "fasta or fastq file of sequences to be clustered", + "pattern": "*.{fasta,fastq}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fasta": { + "type": "file", + "description": "fasta or fastq file of the representative sequences for each cluster", + "pattern": "*.{fasta,fastq}" + } + }, + { + "clusters": { + "type": "file", + "description": "List of clusters", + "pattern": "*.{clstr}" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "cellpose", + "path": "modules/nf-core/cellpose/meta.yml", + "type": "module", + "meta": { + "name": "cellpose", + "description": "cellpose segments cells in images", + "keywords": [ + "segmentation", + "image", + "cellpose" + ], + "tools": [ + { + "cellpose": { + "description": "cellpose is an anatomical segmentation algorithm written in Python 3 by Carsen Stringer and Marius Pachitariu", + "homepage": "https://github.com/MouseLand/cellpose", + "documentation": "https://cellpose.readthedocs.io/en/latest/command.html", + "tool_dev_url": "https://github.com/MouseLand/cellpose", + "doi": "10.1038/s41592-022-01663-4", + "licence": "BSD 3-Clause" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\n(sample id)\n" + } + }, + { + "image": { + "type": "file", + "description": "tif file for ready for segmentation", + "pattern": "*.{tif,tiff}" + } + }, + { + "model": { + "type": "file", + "description": "Optional input file. Cellpose 2 model trained by user using human-in-the-loop approach." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\n[sample id]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "mask": { + "type": "file", + "description": "labelled mask output from cellpose in tif format", + "pattern": "*.{tif, tiff}" + } + } + ], + "authors": [ + "@josenimo" + ] + } + }, + { + "name": "cellranger_count", + "path": "modules/nf-core/cellranger/count/meta.yml", + "type": "module", + "meta": { + "name": "cellranger_count", + "description": "Module to use Cell Ranger's pipelines analyze sequencing data produced from Chromium Single Cell Gene Expression.", + "keywords": [ + "align", + "count", + "reference" + ], + "tools": [ + { + "cellranger": { + "description": "Cell Ranger by 10x Genomics is a set of analysis pipelines that process Chromium single-cell data to align reads, generate feature-barcode matrices, perform clustering and other secondary analysis, and more.", + "homepage": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger", + "documentation": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", + "tool_dev_url": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", + "licence": "10x Genomics EULA" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files. The order of the input files MUST be [\"sample1 R1\", \"sample1 R2\", \"sample2, R1\",\n\"sample2, R2\", ...]. This can usually be achieved by sorting the input files by file name.\n\nBackground: 10x data is always paired-end with R1 containing cell barcode and UMI\nand R2 containing the actual read sequence. Cell Ranger requires files to adhere to the following file-name\nconvention: `${Sample_Name}_S1_L00${Lane_Number}_${R1,R2}_001.fastq.gz`. This module automatically\nrenames files to match this convention based on the order of input files to avoid various\nissues (see https://github.com/nf-core/scrnaseq/issues/241). To avoid mistakes, the module\nthrows an error if a pair of R1 and R2 fastq files does not have the same filename except for the \"_R1\"/\"_R2\" part.\nRenaming the files does not affect the results (see README.md for detailed tests).\n", + "pattern": "*{R1,R2}*.fastq.gz" + } + }, + { + "reference": { + "type": "directory", + "description": "Folder containing all the reference indices needed by Cell Ranger" + } + } + ], + "output": [ + { + "outs": { + "type": "file", + "description": "Files containing the outputs of Cell Ranger, see official 10X Genomics documentation for a complete list", + "pattern": "${meta.id}/outs/*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ggabernet", + "@Emiller88" + ] + }, + "pipelines": [ + { + "name": "scrnaseq", + "version": "2.3.2" + } + ] + }, + { + "name": "cellranger_mkfastq", + "path": "modules/nf-core/cellranger/mkfastq/meta.yml", + "type": "module", + "meta": { + "name": "cellranger_mkfastq", + "description": "Module to create FASTQs needed by the 10x Genomics Cell Ranger tool. Uses the cellranger mkfastq command.", + "keywords": [ + "reference", + "mkfastq", + "fastq", + "illumina", + "bcl2fastq" + ], + "tools": [ + { + "cellranger": { + "description": "Cell Ranger by 10x Genomics is a set of analysis pipelines that process Chromium single-cell data to align reads, generate feature-barcode matrices, perform clustering and other secondary analysis, and more.", + "homepage": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger", + "documentation": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", + "tool_dev_url": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", + "licence": "10x Genomics EULA" + } + } + ], + "input": [ + { + "bcl": { + "type": "file", + "description": "Base call files", + "pattern": "*.bcl.bgzf" + } + }, + { + "csv": { + "type": "file", + "description": "Sample sheet", + "pattern": "*.csv" + } + } + ], + "output": [ + { + "fastq": { + "type": "file", + "description": "Unaligned FastQ files", + "pattern": "*.fastq.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ggabernet", + "@Emiller88", + "@RHReynolds" + ] + } + }, + { + "name": "cellranger_mkgtf", + "path": "modules/nf-core/cellranger/mkgtf/meta.yml", + "type": "module", + "meta": { + "name": "cellranger_mkgtf", + "description": "Module to build a filtered GTF needed by the 10x Genomics Cell Ranger tool. Uses the cellranger mkgtf command.", + "keywords": [ + "reference", + "mkref", + "index" + ], + "tools": [ + { + "cellranger": { + "description": "Cell Ranger by 10x Genomics is a set of analysis pipelines that process Chromium single-cell data to align reads, generate feature-barcode matrices, perform clustering and other secondary analysis, and more.", + "homepage": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger", + "documentation": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", + "tool_dev_url": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", + "licence": "10x Genomics EULA" + } + } + ], + "input": [ + { + "gtf": { + "type": "file", + "description": "The reference GTF transcriptome file", + "pattern": "*.gtf" + } + } + ], + "output": [ + { + "gtf": { + "type": "directory", + "description": "The filtered GTF transcriptome file", + "pattern": "*.filtered.gtf" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ggabernet", + "@Emiller88" + ] + }, + "pipelines": [ + { + "name": "scrnaseq", + "version": "2.3.2" + } + ] + }, + { + "name": "cellranger_mkref", + "path": "modules/nf-core/cellranger/mkref/meta.yml", + "type": "module", + "meta": { + "name": "cellranger_mkref", + "description": "Module to build the reference needed by the 10x Genomics Cell Ranger tool. Uses the cellranger mkref command.", + "keywords": [ + "reference", + "mkref", + "index" + ], + "tools": [ + { + "cellranger": { + "description": "Cell Ranger by 10x Genomics is a set of analysis pipelines that process Chromium single-cell data to align reads, generate feature-barcode matrices, perform clustering and other secondary analysis, and more.", + "homepage": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger", + "documentation": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", + "tool_dev_url": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_ov", + "licence": "10x Genomics EULA" + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Reference genome FASTA file", + "pattern": "*.{fasta,fa}" + } + }, + { + "gtf": { + "type": "file", + "description": "Reference transcriptome GTF file", + "pattern": "*.gtf" + } + }, + { + "reference_name": { + "type": "string", + "description": "The name to give the new reference folder", + "pattern": "str" + } + } + ], + "output": [ + { + "reference": { + "type": "directory", + "description": "Folder containing all the reference indices needed by Cell Ranger" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ggabernet" + ] + }, + "pipelines": [ + { + "name": "scrnaseq", + "version": "2.3.2" + } + ] + }, + { + "name": "cellranger_mkvdjref", + "path": "modules/nf-core/cellranger/mkvdjref/meta.yml", + "type": "module", + "meta": { + "name": "cellranger_mkvdjref", + "description": "Module to build the VDJ reference needed by the 10x Genomics Cell Ranger tool. Uses the cellranger mkvdjref command.", + "keywords": [ + "reference", + "mkvdjref", + "index", + "immunoprofiling", + "single-cell", + "cellranger" + ], + "tools": [ + { + "cellranger": { + "description": "Cell Ranger processes data from 10X Genomics Chromium kits. `cellranger vdj` takes FASTQ files from `cellranger mkfastq` or `bcl2fastq` for V(D)J libraries and performs sequence assembly and paired clonotype calling. It uses the Chromium cellular barcodes and UMIs to assemble V(D)J transcripts per cell. Clonotypes and CDR3 sequences are output as a `.vloupe` file which can be loaded into Loupe V(D)J Browser.", + "homepage": "https://support.10xgenomics.com/single-cell-vdj/software/pipelines/latest/what-is-cell-ranger", + "documentation": "https://support.10xgenomics.com/single-cell-vdj/software/pipelines/latest/advanced/references", + "tool_dev_url": "https://support.10xgenomics.com/single-cell-vdj/software/pipelines/latest/advanced/references", + "licence": "10x Genomics EULA" + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Reference genome FASTA file", + "pattern": "*.{fasta,fa}" + } + }, + { + "genes": { + "type": "file", + "description": "Reference transcriptome GTF file", + "pattern": "*.gtf" + } + }, + { + "genome": { + "type": "string", + "description": "The name to give the new reference folder, e.g. `my_vdj_ref`", + "pattern": "str" + } + } + ], + "output": [ + { + "reference": { + "type": "directory", + "description": "Folder containing all the reference indices needed by Cell Ranger" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ggabernet", + "@klkeys" + ] + } + }, + { + "name": "cellranger_multi", + "path": "modules/nf-core/cellranger/multi/meta.yml", + "type": "module", + "meta": { + "name": "cellranger_multi", + "description": "Module to use Cell Ranger's pipelines to analyze sequencing data produced from various Chromium technologies, including Single Cell Gene Expression, Single Cell Immune Profiling, Feature Barcoding, and Cell Multiplexing.", + "keywords": [ + "align", + "reference", + "cellranger", + "multiomics", + "gene expression", + "vdj", + "antigen capture", + "antibody capture", + "crispr" + ], + "tools": [ + { + "cellranger": { + "description": "Cell Ranger by 10x Genomics is a set of analysis pipelines that process Chromium single-cell data to align reads, generate feature-barcode matrices, perform clustering and other secondary analysis, and more.", + "homepage": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger", + "documentation": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_cp", + "tool_dev_url": "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_cp", + "licence": "10X Genomics EULA" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "csv": { + "type": "file", + "description": "Cell Ranger config file, in modified CSV format", + "pattern": "*.csv" + } + } + ], + "output": [ + { + "outs": { + "type": "file", + "description": "Files containing the outputs of Cell Ranger", + "pattern": "${meta.id}/outs/*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@klkeys" + ] + } + }, + { + "name": "cellranger_vdj", + "path": "modules/nf-core/cellranger/vdj/meta.yml", + "type": "module", + "meta": { + "name": "cellranger_vdj", + "description": "Module to use Cell Ranger's pipelines analyze sequencing data produced from Chromium Single Cell Immune Profiling.", + "keywords": [ + "align", + "vdj", + "reference", + "immunoprofiling", + "single-cell", + "cellranger" + ], + "tools": [ + { + "cellranger": { + "description": "Cell Ranger processes data from 10X Genomics Chromium kits. `cellranger vdj` takes FASTQ files from `cellranger mkfastq` or `bcl2fastq` for V(D)J libraries and performs sequence assembly and paired clonotype calling. It uses the Chromium cellular barcodes and UMIs to assemble V(D)J transcripts per cell. Clonotypes and CDR3 sequences are output as a `.vloupe` file which can be loaded into Loupe V(D)J Browser.", + "homepage": "https://support.10xgenomics.com/single-cell-vdj/software/pipelines/latest/what-is-cell-ranger", + "documentation": "https://support.10xgenomics.com/single-cell-vdj/software/pipelines/latest/tutorial/tutorial-vdj", + "tool_dev_url": "https://support.10xgenomics.com/single-cell-vdj/software/pipelines/latest/tutorial/tutorial-vdj", + "licence": "10x Genomics EULA" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n", + "pattern": "${Sample_Name}_S1_L00${Lane_Number}_${I1,I2,R1,R2}_001.fastq.gz" + } + }, + { + "reference": { + "type": "directory", + "description": "Folder containing all the reference indices needed by Cell Ranger" + } + } + ], + "output": [ + { + "outs": { + "type": "file", + "description": "Files containing the outputs of Cell Ranger, see official 10X Genomics documentation for a complete list", + "pattern": "${meta.id}/outs/*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ggabernet", + "@Emiller88", + "@klkeys" + ] + } + }, + { + "name": "centrifuge_centrifuge", + "path": "modules/nf-core/centrifuge/centrifuge/meta.yml", + "type": "module", + "meta": { + "name": "centrifuge_centrifuge", + "description": "Classifies metagenomic sequence data", + "keywords": [ + "classify", + "metagenomics", + "fastq", + "db" + ], + "tools": [ + { + "centrifuge": { + "description": "Centrifuge is a classifier for metagenomic sequences.", + "homepage": "https://ccb.jhu.edu/software/centrifuge/", + "documentation": "https://ccb.jhu.edu/software/centrifuge/manual.shtml", + "doi": "10.1101/gr.210641.116", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "db": { + "type": "directory", + "description": "Path to directory containing centrifuge database files" + } + }, + { + "save_unaligned": { + "type": "value", + "description": "If true unmapped fastq files are saved" + } + }, + { + "save_aligned": { + "type": "value", + "description": "If true mapped fastq files are saved" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "report": { + "type": "file", + "description": "File containing a classification summary\n", + "pattern": "*.{report.txt}" + } + }, + { + "results": { + "type": "file", + "description": "File containing classification results\n", + "pattern": "*.{results.txt}" + } + }, + { + "fastq_unmapped": { + "type": "file", + "description": "Unmapped fastq files", + "pattern": "*.unmapped.fastq.gz" + } + }, + { + "fastq_mapped": { + "type": "file", + "description": "Mapped fastq files", + "pattern": "*.mapped.fastq.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sofstam", + "@jfy133", + "@sateeshperi" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "centrifuge_kreport", + "path": "modules/nf-core/centrifuge/kreport/meta.yml", + "type": "module", + "meta": { + "name": "centrifuge_kreport", + "description": "Creates Kraken-style reports from centrifuge out files", + "keywords": [ + "metagenomics" + ], + "tools": [ + { + "centrifuge": { + "description": "Centrifuge is a classifier for metagenomic sequences.", + "homepage": "https://ccb.jhu.edu/software/centrifuge/", + "documentation": "https://ccb.jhu.edu/software/centrifuge/manual.shtml", + "doi": "10.1101/gr.210641.116", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "report": { + "type": "file", + "description": "File containing the centrifuge classification report", + "pattern": "*.{txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "kreport": { + "type": "file", + "description": "File containing kraken-style report from centrifuge\nout files.\n", + "pattern": "*.{txt}" + } + } + ], + "authors": [ + "@sofstam", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "checkm_lineagewf", + "path": "modules/nf-core/checkm/lineagewf/meta.yml", + "type": "module", + "meta": { + "name": "checkm_lineagewf", + "description": "CheckM provides a set of tools for assessing the quality of genomes recovered from isolates, single cells, or metagenomes.", + "keywords": [ + "checkm", + "mag", + "metagenome", + "quality", + "isolates", + "microbes", + "single cells", + "completeness", + "contamination", + "bins", + "genome bins" + ], + "tools": [ + { + "checkm": { + "description": "Assess the quality of microbial genomes recovered from isolates, single cells, and metagenomes.", + "homepage": "https://ecogenomics.github.io/CheckM/", + "documentation": "https://github.com/Ecogenomics/CheckM/wiki", + "tool_dev_url": "https://github.com/Ecogenomics/CheckM", + "doi": "10.1101/gr.186072.114", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "One or a list of multiple FASTA files of each bin, with extension defined with the fasta_ext value", + "pattern": "*.{$fasta_ext}" + } + }, + { + "fasta_ext": { + "type": "value", + "description": "The file-type extension suffix of the input FASTA files (e.g., fasta, fna, fa, fas)" + } + }, + { + "db": { + "type": "directory", + "description": "Optional directory pointing to checkM database to prevent re-downloading" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'sample', bin:'1' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "checkm_output": { + "type": "directory", + "description": "CheckM output directory", + "pattern": "*/" + } + }, + { + "checkm_output": { + "type": "file", + "description": "Lineage markfer file", + "pattern": "lineage.ms" + } + }, + { + "checkm_tsv": { + "type": "file", + "description": "CheckM summary completeness statistics table", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "checkm_qa", + "path": "modules/nf-core/checkm/qa/meta.yml", + "type": "module", + "meta": { + "name": "checkm_qa", + "description": "CheckM provides a set of tools for assessing the quality of genomes recovered from isolates, single cells, or metagenomes.", + "keywords": [ + "checkm", + "mag", + "metagenome", + "quality", + "isolates", + "microbes", + "single cells", + "completeness", + "contamination", + "bins", + "genome bins", + "qa", + "quality assurnce" + ], + "tools": [ + { + "checkm": { + "description": "Assess the quality of microbial genomes recovered from isolates, single cells, and metagenomes.", + "homepage": "https://ecogenomics.github.io/CheckM/", + "documentation": "https://github.com/Ecogenomics/CheckM/wiki", + "tool_dev_url": "https://github.com/Ecogenomics/CheckM", + "doi": "10.1101/gr.186072.114", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "analysis_dir": { + "type": "file", + "description": "Directory containing output of checkm/analyze or checkm/lineage_wf etc.", + "pattern": "*" + } + }, + { + "marker_file": { + "type": "file", + "description": "Marker file specified during checkm/analyze or produced by checkm/{lineage,taxonomy}_wf", + "pattern": "*.ms" + } + }, + { + "coverage_file": { + "type": "file", + "description": "File containing coverage of each sequence (generated by checkm coverage)" + } + }, + { + "exclude_marker_file": { + "type": "file", + "description": "File specifying markers to exclude from marker sets" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "file", + "description": "Default completeness statistics in various formats, as specified with --out_format (excluding option: 9)", + "pattern": "*.txt" + } + }, + { + "fasta": { + "type": "file", + "description": "Output in fasta format (only if --out_format 9)", + "pattern": "*.fasta" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "checkv_downloaddatabase", + "path": "modules/nf-core/checkv/downloaddatabase/meta.yml", + "type": "module", + "meta": { + "name": "checkv_downloaddatabase", + "description": "Construct the database necessary for checkv's quality assessment", + "keywords": [ + "checkv", + "checkm", + "mag", + "metagenome", + "quality", + "isolates", + "virus", + "completeness", + "contamination", + "download", + "database" + ], + "tools": [ + { + "checkv": { + "description": "Assess the quality of metagenome-assembled viral genomes.", + "homepage": "https://bitbucket.org/berkeleylab/checkv/src/master/", + "documentation": "https://bitbucket.org/berkeleylab/checkv/src/master/", + "tool_dev_url": "https://bitbucket.org/berkeleylab/checkv/src/master/", + "doi": "10.1038/s41587-020-00774-7", + "licence": "['BSD License']" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "checkv_db": { + "type": "directory", + "description": "directory pointing to database", + "pattern": "${prefix}/" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "checkv_endtoend", + "path": "modules/nf-core/checkv/endtoend/meta.yml", + "type": "module", + "meta": { + "name": "checkv_endtoend", + "description": "Assess the quality of metagenome-assembled viral genomes.", + "keywords": [ + "checkv", + "checkm", + "mag", + "metagenome", + "quality", + "isolates", + "virus", + "completeness", + "contamination" + ], + "tools": [ + { + "checkv": { + "description": "Assess the quality of metagenome-assembled viral genomes.", + "homepage": "https://bitbucket.org/berkeleylab/checkv/src/master/", + "documentation": "https://bitbucket.org/berkeleylab/checkv/src/master/", + "tool_dev_url": "https://bitbucket.org/berkeleylab/checkv/src/master/", + "doi": "10.1038/s41587-020-00774-7", + "licence": "['BSD License']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "fasta file", + "pattern": "*.{fasta,fna,fa}" + } + }, + { + "db": { + "type": "directory", + "description": "Directory pointing to checkV database" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'sample', bin:'1' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "quality_summary": { + "type": "file", + "description": "CheckV's main output containing integrated results from the three main modules (contamination, completeness, complete genomes) with overall quality of contigs", + "pattern": "${prefix}/quality_summary.tsv" + } + }, + { + "completeness": { + "type": "file", + "description": "CheckV's detailed overview table on estimating completeness", + "pattern": "${prefix}/completeness.tsv" + } + }, + { + "contamination": { + "type": "file", + "description": "CheckV's detailed overview table on estimating contamination", + "pattern": "${prefix}/contamination.tsv" + } + }, + { + "complete_genomes": { + "type": "file", + "description": "CheckV's detailed overview table on the identified putative complete genomes", + "pattern": "${prefix}/complete_genomes.tsv" + } + }, + { + "proviruses": { + "type": "file", + "description": "CheckV's extracted proviruses contigs", + "pattern": "${prefix}/proviruses.fna" + } + }, + { + "viruses": { + "type": "file", + "description": "CheckV's extracted virus contigs", + "pattern": "${prefix}/viruses.fna" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "checkv_updatedatabase", + "path": "modules/nf-core/checkv/updatedatabase/meta.yml", + "type": "module", + "meta": { + "name": "checkv_updatedatabase", + "description": "Construct the database necessary for checkv's quality assessment", + "keywords": [ + "checkv", + "checkm", + "mag", + "metagenome", + "quality", + "isolates", + "virus", + "completeness", + "contamination" + ], + "tools": [ + { + "checkv": { + "description": "Assess the quality of metagenome-assembled viral genomes.", + "homepage": "https://bitbucket.org/berkeleylab/checkv/src/master/", + "documentation": "https://bitbucket.org/berkeleylab/checkv/src/master/", + "tool_dev_url": "https://bitbucket.org/berkeleylab/checkv/src/master/", + "doi": "10.1038/s41587-020-00774-7", + "licence": "['BSD License']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'sample', bin:'1' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "fasta file containing additional sequences for the existing checkv database", + "pattern": "*.{fasta,fna,fa}" + } + }, + { + "db": { + "type": "directory", + "description": "directory pointing to existing checkV database to avoid redownloading the database" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'sample', bin:'1' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "checkv_db": { + "type": "directory", + "description": "directory pointing to database" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "chopper", + "path": "modules/nf-core/chopper/meta.yml", + "type": "module", + "meta": { + "name": "chopper", + "description": "Filter and trim long read data.", + "keywords": [ + "filter", + "trimming", + "fastq", + "nanopore", + "qc" + ], + "tools": [ + { + "zcat": { + "description": "zcat uncompresses either a list of files on the command line or its standard input and writes the uncompressed data on standard output.", + "documentation": "https://linux.die.net/man/1/zcat", + "args_id": "$args" + } + }, + { + "chopper": { + "description": "A rust command line for filtering and trimming long reads.", + "homepage": "https://github.com/wdecoster/chopper", + "documentation": "https://github.com/wdecoster/chopper", + "tool_dev_url": "https://github.com/wdecoster/chopper", + "doi": "10.1093/bioinformatics/bty149", + "licence": "['MIT']", + "args_id": "$args2" + } + }, + { + "gzip": { + "description": "Gzip reduces the size of the named files using Lempel-Ziv coding (LZ77).", + "documentation": "https://linux.die.net/man/1/gzip", + "args_id": "$args3" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "FastQ with reads from long read sequencing e.g. PacBio or ONT", + "pattern": "*.{fastq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fastq": { + "type": "file", + "description": "Filtered and trimmed FastQ file", + "pattern": "*.{fastq.gz}" + } + } + ], + "authors": [ + "@FynnFreyer" + ] + } + }, + { + "name": "chromap_chromap", + "path": "modules/nf-core/chromap/chromap/meta.yml", + "type": "module", + "meta": { + "name": "chromap_chromap", + "description": "Performs preprocessing and alignment of chromatin fastq files to\nfasta reference files using chromap.\n", + "keywords": [ + "chromap", + "alignment", + "map", + "fastq", + "bam", + "sam", + "hi-c", + "atac-seq", + "chip-seq", + "trimming", + "duplicate removal" + ], + "tools": [ + { + "chromap": { + "description": "Fast alignment and preprocessing of chromatin profiles", + "homepage": "https://github.com/haowenz/chromap", + "documentation": "https://github.com/haowenz/chromap", + "tool_dev_url": "https://github.com/haowenz/chromap", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing information for the fasta\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The fasta reference file.\n" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing information for the index\ne.g. [ id:'test' ]\n" + } + }, + { + "index": { + "type": "file", + "description": "Chromap genome index files (*.index)\n" + } + }, + { + "barcodes": { + "type": "file", + "description": "Cell barcode files\n" + } + }, + { + "whitelist": { + "type": "file", + "description": "Cell barcode whitelist file\n" + } + }, + { + "chr_order": { + "type": "file", + "description": "Custom chromosome order\n" + } + }, + { + "pairs_chr_order": { + "type": "file", + "description": "Natural chromosome order for pairs flipping\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "BED file", + "pattern": "*.bed.gz" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + }, + { + "tagAlign": { + "type": "file", + "description": "tagAlign file", + "pattern": "*.tagAlign.gz" + } + }, + { + "pairs": { + "type": "file", + "description": "pairs file", + "pattern": "*.pairs.gz" + } + } + ], + "authors": [ + "@mahesh-panchal", + "@joseespinosa" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + } + ] + }, + { + "name": "chromap_index", + "path": "modules/nf-core/chromap/index/meta.yml", + "type": "module", + "meta": { + "name": "chromap_index", + "description": "Indexes a fasta reference genome ready for chromatin profiling.", + "keywords": [ + "index", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "chromap": { + "description": "Fast alignment and preprocessing of chromatin profiles", + "homepage": "https://github.com/haowenz/chromap", + "documentation": "https://github.com/haowenz/chromap", + "tool_dev_url": "https://github.com/haowenz/chromap", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Fasta reference file." + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "index": { + "type": "file", + "description": "Index file of the reference genome", + "pattern": "*.{index}" + } + } + ], + "authors": [ + "@mahesh-panchal", + "@joseespinosa" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + } + ] + }, + { + "name": "chromograph", + "path": "modules/nf-core/chromograph/meta.yml", + "type": "module", + "meta": { + "name": "chromograph", + "description": "Chromograph is a python package to create PNG images from genetics data such as BED and WIG files.", + "keywords": [ + "chromosome_visualization", + "bed", + "wig", + "png" + ], + "tools": [ + { + "chromograph": { + "description": "Chromograph is a python package to create PNG images from genetics data such as BED and WIG files.", + "homepage": "https://github.com/Clinical-Genomics/chromograph", + "documentation": "https://github.com/Clinical-Genomics/chromograph/blob/master/README.md", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "meta5": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "meta6": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "meta7": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "autozyg": { + "type": "file", + "description": "Bed file containing the regions of autozygosity" + } + }, + { + "coverage": { + "type": "file", + "description": "Wig file containing the coverage information" + } + }, + { + "exome": { + "type": "file", + "description": "Bed file containing the coverage for exome." + } + }, + { + "fracsnp": { + "type": "file", + "description": "Wig file containing the fraction of homozygous SNPs" + } + }, + { + "ideogram": { + "type": "file", + "description": "Bed file containing information necessary for ideogram plots.\nFormat ['chrom', 'start', 'end', 'name', 'gStain']\n" + } + }, + { + "regions": { + "type": "file", + "description": "Bed file containing UPD regions" + } + }, + { + "sites": { + "type": "file", + "description": "Bed file containing UPD sites" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "plots": { + "type": "file", + "description": "Directory containing the plots in png format", + "pattern": "*.png" + } + } + ], + "authors": [ + "@ramprasadn" + ] + } + }, + { + "name": "circexplorer2_annotate", + "path": "modules/nf-core/circexplorer2/annotate/meta.yml", + "type": "module", + "meta": { + "name": "circexplorer2_annotate", + "description": "Annotate circRNAs detected in the output from CIRCexplorer2 parse", + "keywords": [ + "circrna", + "annotate" + ], + "tools": [ + { + "circexplorer2": { + "description": "Circular RNA analysis toolkits", + "homepage": "https://github.com/YangLab/CIRCexplorer2/", + "documentation": "https://circexplorer2.readthedocs.io/en/latest/", + "doi": "10.1101/gr.202895.115", + "licence": "['MIT License']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "junctions": { + "type": "file", + "description": "Reformatted junctions file", + "pattern": "*.{junction}" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome FASTA file", + "pattern": "*.{fa,fasta}" + } + }, + { + "gene_annotation": { + "type": "file", + "description": "Reformatted GTF file for CIRCexplorer2", + "pattern": "*.{txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "txt": { + "type": "file", + "description": "Annotated circRNA TXT file", + "pattern": "*.{txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@BarryDigby" + ] + }, + "pipelines": [ + { + "name": "circrna", + "version": "dev" + } + ] + }, + { + "name": "circexplorer2_parse", + "path": "modules/nf-core/circexplorer2/parse/meta.yml", + "type": "module", + "meta": { + "name": "circexplorer2_parse", + "description": "CIRCexplorer2 parses fusion junction files from multiple aligners to prepare them for CIRCexplorer2 annotate.", + "keywords": [ + "parse", + "circrna", + "splice" + ], + "tools": [ + { + "circexplorer2": { + "description": "Circular RNA analysis toolkit", + "homepage": "https://github.com/YangLab/CIRCexplorer2/", + "documentation": "https://circexplorer2.readthedocs.io/en/latest/", + "doi": "10.1101/gr.202895.115", + "licence": "['MIT License']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fusions": { + "type": "file", + "description": "BAM (BWA), BED (Segemehl), TXT (MapSplice), or Junction (STAR) file. Aligner will be autodetected based on file suffix.", + "pattern": "*.{bam,junction,bed,txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Standardized fusion junction file suitable for CIRCexplorer2 annotate module.", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@BarryDigby" + ] + }, + "pipelines": [ + { + "name": "circrna", + "version": "dev" + } + ] + }, + { + "name": "clippy", + "path": "modules/nf-core/clippy/meta.yml", + "type": "module", + "meta": { + "name": "clippy", + "description": "Runs the Clippy CLIP peak caller", + "keywords": [ + "iCLIP", + "eCLIP", + "CLIP" + ], + "tools": [ + { + "clippy": { + "description": "An intuitive and interactive peak caller for CLIP data", + "homepage": "https://github.com/ulelab/clippy", + "documentation": "https://github.com/ulelab/clippy", + "tool_dev_url": "https://github.com/ulelab/clippy", + "doi": "10.7554/eLife.84034", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "BED file of crosslinks", + "pattern": "*.{bed,bed.gz}" + } + }, + { + "gtf": { + "type": "file", + "description": "A GTF file of genes to call peaks on", + "pattern": "*.{gtf}" + } + }, + { + "fai": { + "type": "file", + "description": "FAI file corresponding to the reference sequence", + "pattern": "*.{fai}" + } + } + ], + "output": [ + { + "peaks": { + "type": "file", + "description": "BED file of peaks called by Clippy", + "pattern": "*_broadPeaks.bed.gz" + } + }, + { + "summits": { + "type": "file", + "description": "BED file of peak summits called by Clippy", + "pattern": "*[0-9].bed.gz" + } + }, + { + "version": { + "type": "file", + "description": "File containing software version", + "pattern": "*.{version.txt}" + } + } + ], + "authors": [ + "@marc-jones", + "@CharlotteAnne" + ] + } + }, + { + "name": "clonalframeml", + "path": "modules/nf-core/clonalframeml/meta.yml", + "type": "module", + "meta": { + "name": "clonalframeml", + "description": "Predict recomination events in bacterial genomes", + "keywords": [ + "fasta", + "multiple sequence alignment", + "recombination" + ], + "tools": [ + { + "clonalframeml": { + "description": "Efficient inferencing of recombination in bacterial genomes", + "homepage": "https://github.com/xavierdidelot/ClonalFrameML", + "documentation": "https://github.com/xavierdidelot/clonalframeml/wiki", + "tool_dev_url": "https://github.com/xavierdidelot/ClonalFrameML", + "doi": "10.1371/journal.pcbi.1004041", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "msa": { + "type": "file", + "description": "A multiple seqeunce alignmnet in FASTA format", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" + } + }, + { + "newick": { + "type": "file", + "description": "A Newick formated tree based on multiple sequence alignment", + "pattern": "*.{newick,treefile,dnd}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "emsim": { + "type": "file", + "description": "Bootstrapped values for the three parameters R/theta, nu and delta", + "pattern": "*.emsim.txt" + } + }, + { + "em": { + "type": "file", + "description": "Point estimates for R/theta, nu, delta and the branch lengths", + "pattern": "*.em.txt" + } + }, + { + "fasta": { + "type": "file", + "description": "Sequence reconstructed by maximum likelihood", + "pattern": "*.ML_sequence.fasta" + } + }, + { + "newick": { + "type": "file", + "description": "Tree with all nodes labelled", + "pattern": "*.labelled_tree.newick" + } + }, + { + "pos_ref": { + "type": "file", + "description": "CSV mapping input sequence files to the sequences in the *.ML_sequence.fasta", + "pattern": "*.position_cross_reference.txt" + } + }, + { + "status": { + "type": "file", + "description": "List of reconstructed recombination events", + "pattern": "*.importation_status.txt" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "cmseq_polymut", + "path": "modules/nf-core/cmseq/polymut/meta.yml", + "type": "module", + "meta": { + "name": "cmseq_polymut", + "description": "Calculates polymorphic site rates over protein coding genes", + "keywords": [ + "polymut", + "polymorphic", + "mags", + "assembly", + "polymorphic sites", + "estimation", + "protein coding genes", + "cmseq", + "bam", + "coverage" + ], + "tools": [ + { + "cmseq": { + "description": "Set of utilities on sequences and BAM files", + "homepage": "https://github.com/SegataLab/cmseq", + "documentation": "https://github.com/SegataLab/cmseq", + "tool_dev_url": "https://github.com/SegataLab/cmseq", + "licence": [ + "MIT License" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file", + "pattern": "*.bai" + } + }, + { + "gff": { + "type": "file", + "description": "GFF file used to extract protein-coding genes", + "pattern": "*.gff" + } + }, + { + "fasta": { + "type": "file", + "description": "Optional fasta file to run on a subset of references in the BAM file.", + "pattern": ".{fa,fasta,fas,fna}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "polymut": { + "type": "file", + "description": "Polymut report in `.txt` format.", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@maxibor" + ] + } + }, + { + "name": "cnvkit_access", + "path": "modules/nf-core/cnvkit/access/meta.yml", + "type": "module", + "meta": { + "name": "cnvkit_access", + "description": "Calculate the sequence-accessible coordinates in chromosomes from the given reference genome, output as a BED file.", + "keywords": [ + "cvnkit", + "access", + "fasta", + "copy number" + ], + "tools": [ + { + "cnvkit": { + "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data.\nIt is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", + "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", + "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", + "tool_dev_url": "https://github.com/etal/cnvkit", + "doi": "10.1371/journal.pcbi.1004873", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome FASTA.", + "pattern": "*.fasta" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "exclude_bed": { + "type": "file", + "description": "Additional regions to exclude, in BED format. Can be used multiple times." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "File containing accessible regions.", + "pattern": "*.{bed}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@adamrtalbot" + ] + } + }, + { + "name": "cnvkit_antitarget", + "path": "modules/nf-core/cnvkit/antitarget/meta.yml", + "type": "module", + "meta": { + "name": "cnvkit_antitarget", + "description": "Derive off-target (“antitarget”) bins from target regions.", + "keywords": [ + "cvnkit", + "antitarget", + "cnv", + "copy number" + ], + "tools": [ + { + "cnvkit": { + "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data.\nIt is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", + "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", + "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", + "tool_dev_url": "https://github.com/etal/cnvkit", + "doi": "10.1371/journal.pcbi.1004873", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "targets": { + "type": "file", + "description": "File containing genomic regions", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "File containing off-target regions", + "pattern": "*.{bed}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@SusiJo" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "cnvkit_batch", + "path": "modules/nf-core/cnvkit/batch/meta.yml", + "type": "module", + "meta": { + "name": "cnvkit_batch", + "description": "Copy number variant detection from high-throughput sequencing data", + "keywords": [ + "cnvkit", + "bam", + "fasta", + "copy number" + ], + "tools": [ + { + "cnvkit": { + "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data. It is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", + "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", + "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tumour": { + "type": "file", + "description": "Input tumour sample bam file (or cram)\n" + } + }, + { + "normal": { + "type": "file", + "description": "Input normal sample bam file (or cram)\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input reference genome fasta file (only needed for cram_input and/or when normal_samples are provided)\n" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "Input reference genome fasta index (optional, but recommended for cram_input)\n" + } + }, + { + "targetfile": { + "type": "file", + "description": "Input target bed file\n" + } + }, + { + "reference": { + "type": "file", + "description": "Input reference cnn-file (only for germline and tumor-only running)\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "File containing genomic regions", + "pattern": "*.{bed}" + } + }, + { + "cnn": { + "type": "file", + "description": "File containing coverage information", + "pattern": "*.{cnn}" + } + }, + { + "cnr": { + "type": "file", + "description": "File containing copy number ratio information", + "pattern": "*.{cnr}" + } + }, + { + "cns": { + "type": "file", + "description": "File containing copy number segment information", + "pattern": "*.{cns}" + } + }, + { + "pdf": { + "type": "file", + "description": "File with plot of copy numbers or segments on chromosomes", + "pattern": "*.{pdf}" + } + }, + { + "png": { + "type": "file", + "description": "File with plot of bin-level log2 coverages and segmentation calls", + "pattern": "*.{png}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kaurravneet4123", + "@KevinMenden", + "@MaxUlysse", + "@drpatelh", + "@fbdtemme", + "@lassefolkersen", + "@SusiJo" + ] + }, + "pipelines": [ + { + "name": "createpanelrefs", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "cnvkit_call", + "path": "modules/nf-core/cnvkit/call/meta.yml", + "type": "module", + "meta": { + "name": "cnvkit_call", + "description": "Given segmented log2 ratio estimates (.cns), derive each segment’s absolute integer copy number", + "keywords": [ + "cnvkit", + "copy number" + ], + "tools": [ + { + "cnvkit": { + "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data. It is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", + "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", + "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "cns": { + "type": "file", + "description": "CNVKit CNS file.", + "pattern": "*.cns" + } + }, + { + "vcf": { + "type": "file", + "description": "Germline VCF file for BAF.", + "pattern": "*.vcf{,.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "file", + "description": "File containing copy number information in new format.", + "pattern": "*.{bed,vcf,cdt,jtv,seg,interval_count}" + } + } + ], + "authors": [ + "@adamrtalbot" + ] + } + }, + { + "name": "cnvkit_export", + "path": "modules/nf-core/cnvkit/export/meta.yml", + "type": "module", + "meta": { + "name": "cnvkit_export", + "description": "Convert copy number ratio tables (.cnr files) or segments (.cns) to another format.", + "keywords": [ + "cnvkit", + "copy number", + "export" + ], + "tools": [ + { + "cnvkit": { + "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data. It is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", + "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", + "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "cns": { + "type": "file", + "description": "CNVKit CNS file.", + "pattern": "*.cns" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "cns": { + "type": "file", + "description": "File containing copy number segment information", + "pattern": "*.{cns}" + } + } + ], + "authors": [ + "@adamrtalbot" + ] + } + }, + { + "name": "cnvkit_genemetrics", + "path": "modules/nf-core/cnvkit/genemetrics/meta.yml", + "type": "module", + "meta": { + "name": "cnvkit_genemetrics", + "description": "Copy number variant detection from high-throughput sequencing data", + "keywords": [ + "cnvkit", + "genemetrics" + ], + "tools": [ + { + "cnvkit": { + "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data. It is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", + "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", + "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "cnr": { + "type": "file", + "description": "CNR file", + "pattern": "*.cnr" + } + }, + { + "cns": { + "type": "file", + "description": "CNS file [Optional]", + "pattern": "*.cns" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "txt": { + "type": "file", + "description": "TXT file", + "pattern": "*.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@marrip" + ] + } + }, + { + "name": "cnvkit_reference", + "path": "modules/nf-core/cnvkit/reference/meta.yml", + "type": "module", + "meta": { + "name": "cnvkit_reference", + "description": "Compile a coverage reference from the given files (normal samples).", + "keywords": [ + "cnvkit", + "reference", + "cnv", + "copy number" + ], + "tools": [ + { + "cnvkit": { + "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data.\nIt is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", + "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", + "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", + "tool_dev_url": "https://github.com/etal/cnvkit", + "doi": "10.1371/journal.pcbi.1004873", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "File containing reference genome", + "pattern": "*.{fasta}" + } + }, + { + "targets": { + "type": "file", + "description": "File containing genomic regions", + "pattern": "*.{bed}" + } + }, + { + "antitargets": { + "type": "file", + "description": "File containing off-target genomic regions", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reference": { + "type": "file", + "description": "File containing a copy-number reference (required for CNV calling in tumor_only mode)", + "pattern": "*.{cnn}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@SusiJo" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "cnvkit_target", + "path": "modules/nf-core/cnvkit/target/meta.yml", + "type": "module", + "meta": { + "name": "cnvkit_target", + "description": "Transform bait intervals into targets more suitable for CNVkit.", + "keywords": [ + "cnvkit", + "target", + "cnv", + "copy number" + ], + "tools": [ + { + "cnvkit": { + "description": "CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data.\nIt is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent.\n", + "homepage": "https://cnvkit.readthedocs.io/en/stable/index.html", + "documentation": "https://cnvkit.readthedocs.io/en/stable/index.html", + "tool_dev_url": "https://github.com/etal/cnvkit", + "doi": "10.1371/journal.pcbi.1004873", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "baits": { + "type": "file", + "description": "BED or interval file listing the targeted regions.", + "pattern": "*.{bed}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "annotation": { + "type": "file", + "description": "Use gene models from this file to assign names to the target regions.", + "pattern": "*.{txt,bed,gff3,pil}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "File containing target regions", + "pattern": "*.{bed}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@adamrtalbot" + ] + } + }, + { + "name": "cnvpytor_callcnvs", + "path": "modules/nf-core/cnvpytor/callcnvs/meta.yml", + "type": "module", + "meta": { + "name": "cnvpytor_callcnvs", + "description": "command line tool for calling CNVs in whole genome sequencing data", + "keywords": [ + "CNV calling" + ], + "tools": [ + { + "cnvpytor": { + "description": "calling CNVs using read depth", + "homepage": "https://github.com/abyzovlab/CNVpytor", + "documentation": "https://github.com/abyzovlab/CNVpytor", + "tool_dev_url": "https://github.com/abyzovlab/CNVpytor", + "doi": "10.1101/2021.01.27.428472v1", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "pytor": { + "type": "file", + "description": "pytor file containing partitions of read depth histograms using mean-shift method", + "pattern": "*.{pytor}" + } + }, + { + "bin_sizes": { + "type": "string", + "description": "list of binsizes separated by space e.g. \"1000 10000\" and \"1000\"" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "pytor": { + "type": "file", + "description": "pytor files containing cnv calls", + "pattern": "*.{pytor}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sima-r" + ] + } + }, + { + "name": "cnvpytor_histogram", + "path": "modules/nf-core/cnvpytor/histogram/meta.yml", + "type": "module", + "meta": { + "name": "cnvpytor_histogram", + "description": "calculates read depth histograms", + "keywords": [ + "cnv calling", + "histogram" + ], + "tools": [ + { + "cnvpytor": { + "description": "calling CNVs using read depth", + "homepage": "https://github.com/abyzovlab/CNVpytor", + "documentation": "https://github.com/abyzovlab/CNVpytor", + "tool_dev_url": "https://github.com/abyzovlab/CNVpytor", + "doi": "10.1101/2021.01.27.428472v1", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "pytor": { + "type": "file", + "description": "pytor file containing read depth data", + "pattern": "*.{pytor}" + } + }, + { + "bin_sizes": { + "type": "string", + "description": "list of binsizes separated by space e.g. \"1000 10000\" and \"1000\"" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "pytor": { + "type": "file", + "description": "pytor file containing read depth histograms binned based on given bin size(s)", + "pattern": "*.{pytor}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sima-r", + "@ramprasadn" + ] + } + }, + { + "name": "cnvpytor_importreaddepth", + "path": "modules/nf-core/cnvpytor/importreaddepth/meta.yml", + "type": "module", + "meta": { + "name": "cnvpytor_importreaddepth", + "description": "command line tool for CNV/CNA analysis. This step imports the read depth data into a root pytor file.", + "keywords": [ + "read depth", + "cnv calling" + ], + "tools": [ + { + "cnvpytor -rd": { + "description": "calling CNVs using read depth", + "homepage": "https://github.com/abyzovlab/CNVpytor", + "documentation": "https://github.com/abyzovlab/CNVpytor", + "tool_dev_url": "https://github.com/abyzovlab/CNVpytor", + "doi": "10.1101/2021.01.27.428472v1", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "input_file": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "index": { + "type": "file", + "description": "bam file index", + "pattern": "*.{bai,crai}" + } + }, + { + "fasta": { + "type": "file", + "description": "specifies reference genome file (only for cram file without reference genome)", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz}" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "pytor": { + "type": "file", + "description": "read depth root file in which read depth data binned to 100 base pair bins will be stored.", + "pattern": "*.{pytor}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sima-r", + "@ramprasadn" + ] + } + }, + { + "name": "cnvpytor_partition", + "path": "modules/nf-core/cnvpytor/partition/meta.yml", + "type": "module", + "meta": { + "name": "cnvpytor_partition", + "description": "partitioning read depth histograms", + "keywords": [ + "cnv calling", + "partition histograms" + ], + "tools": [ + { + "cnvpytor": { + "description": "calling CNVs using read depth", + "homepage": "https://github.com/abyzovlab/CNVpytor", + "documentation": "https://github.com/abyzovlab/CNVpytor", + "tool_dev_url": "https://github.com/abyzovlab/CNVpytor", + "doi": "10.1101/2021.01.27.428472v1", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "pytor": { + "type": "file", + "description": "pytor file containing read depth data", + "pattern": "*.{pytor}" + } + }, + { + "bin_sizes": { + "type": "string", + "description": "list of binsizes separated by space e.g. \"1000 10000\" and \"1000\"" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "partitions": { + "type": "file", + "description": "pytor file containing partitions of read depth histograms using mean-shift method", + "pattern": "*.{pytor}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sima-r", + "@ramprasadn" + ] + } + }, + { + "name": "cnvpytor_view", + "path": "modules/nf-core/cnvpytor/view/meta.yml", + "type": "module", + "meta": { + "name": "cnvpytor_view", + "description": "view function to generate vcfs", + "keywords": [ + "cnv calling" + ], + "tools": [ + { + "cnvpytor": { + "description": "calling CNVs using read depth", + "homepage": "https://github.com/abyzovlab/CNVpytor", + "documentation": "https://github.com/abyzovlab/CNVpytor", + "tool_dev_url": "https://github.com/abyzovlab/CNVpytor", + "doi": "10.1101/2021.01.27.428472v1", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "pytor_files": { + "type": "file", + "description": "pytor file containing cnv calls. To merge calls from multiple samples use a list of files.", + "pattern": "*.{pytor}" + } + }, + { + "bin_sizes": { + "type": "string", + "description": "list of binsizes separated by space e.g. \"1000 10000\" and \"1000\"" + } + }, + { + "output_format": { + "type": "string", + "description": "output format of the cnv calls. Valid entries are \"tsv\", \"vcf\", and \"xls\"" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "tsv": { + "type": "file", + "description": "tsv file containing cnv calls", + "pattern": "*.{tsv}" + } + }, + { + "vcf": { + "type": "file", + "description": "vcf file containing cnv calls", + "pattern": "*.{vcf}" + } + }, + { + "xls": { + "type": "file", + "description": "xls file containing cnv calls", + "pattern": "*.{xls}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sima-r", + "@ramprasadn" + ] + } + }, + { + "name": "concoct_concoct", + "path": "modules/nf-core/concoct/concoct/meta.yml", + "type": "module", + "meta": { + "name": "concoct_concoct", + "description": "Unsupervised binning of metagenomic contigs by using nucleotide composition - kmer frequencies - and coverage data for multiple samples", + "keywords": [ + "contigs", + "fragment", + "mags", + "binning", + "concoct", + "kmer", + "nucleotide composition", + "metagenomics", + "bins" + ], + "tools": [ + { + "concoct": { + "description": "Clustering cONtigs with COverage and ComposiTion", + "homepage": "https://concoct.readthedocs.io/en/latest/index.html", + "documentation": "https://concoct.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/BinPro/CONCOCT", + "doi": "10.1038/nmeth.3103", + "licence": "['FreeBSD']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "coverage": { + "type": "file", + "description": "Subcontig coverage TSV table (typically generated with concoct_coverage_table.py)", + "pattern": "*.tsv" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file containing subcontigs (typically generated with cutup_fasta.py)", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "args_txt": { + "type": "file", + "description": "File containing execution parameters", + "pattern": "*_args.txt" + } + }, + { + "clustering_csv": { + "type": "file", + "description": "CSV containing information which subcontig is assigned to which cluster", + "pattern": "*_clustering_gt1000.csv" + } + }, + { + "log_txt": { + "type": "file", + "description": "Log file of tool execution", + "pattern": "*_log.txt" + } + }, + { + "original_data_csv": { + "type": "file", + "description": "Original CONCOCT GT1000 output", + "pattern": "*_original_data_gt1000.csv" + } + }, + { + "pca_components_csv": { + "type": "file", + "description": "Untransformed PCA component values", + "pattern": "*_PCA_components_data_gt1000.csv" + } + }, + { + "pca_transformed_csv": { + "type": "file", + "description": "Transformed PCA compontent values", + "pattern": "*_PCA_transformed_data_gt1000.csv" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "concoct_concoctcoveragetable", + "path": "modules/nf-core/concoct/concoctcoveragetable/meta.yml", + "type": "module", + "meta": { + "name": "concoct_concoctcoveragetable", + "description": "Generate the input coverage table for CONCOCT using a BEDFile", + "keywords": [ + "contigs", + "fragment", + "mags", + "binning", + "bed", + "bam", + "subcontigs", + "coverage" + ], + "tools": [ + { + "concoct": { + "description": "Clustering cONtigs with COverage and ComposiTion", + "homepage": "https://concoct.readthedocs.io/en/latest/index.html", + "documentation": "https://concoct.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/BinPro/CONCOCT", + "doi": "10.1038/nmeth.3103", + "licence": "['FreeBSD']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "BED file describing where each contig was cut up (typically output from CONCOCT's cut_up_fasta.py)", + "pattern": "*.bed" + } + }, + { + "bamfiles": { + "type": "file", + "description": "A single or list of BAM files of reads mapped back to original contigs (prior cutting up)", + "pattern": "*.bam" + } + }, + { + "baifiles": { + "type": "file", + "description": "A single or list of BAM index files (.bai) corresponding to BAM", + "pattern": "*.bam" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "Contig coverage table", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "concoct_cutupfasta", + "path": "modules/nf-core/concoct/cutupfasta/meta.yml", + "type": "module", + "meta": { + "name": "concoct_cutupfasta", + "description": "Cut up fasta file in non-overlapping or overlapping parts of equal length.", + "keywords": [ + "contigs", + "fragment", + "mags", + "binning", + "fasta", + "cut", + "cut up" + ], + "tools": [ + { + "concoct": { + "description": "Clustering cONtigs with COverage and ComposiTion", + "homepage": "https://concoct.readthedocs.io/en/latest/index.html", + "documentation": "https://concoct.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/BinPro/CONCOCT", + "doi": "10.1038/nmeth.3103", + "licence": "['FreeBSD']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "(Uncompressed) FASTA file containing contigs", + "pattern": "*.{fasta,fna,fa,fas}" + } + }, + { + "bed": { + "type": "boolean", + "description": "Specify whether to generate a BED file describing where each contig was cut up" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fasta": { + "type": "file", + "description": "Cut up fasta file in non-overlapping or overlapping parts of equal length.", + "pattern": "*.fasta" + } + }, + { + "bed": { + "type": "file", + "description": "Optional BED File containing locations on original contigs where they were cut up.", + "pattern": "*.bed" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "concoct_extractfastabins", + "path": "modules/nf-core/concoct/extractfastabins/meta.yml", + "type": "module", + "meta": { + "name": "concoct_extractfastabins", + "description": "Creates a FASTA file for each new cluster assigned by CONCOCT", + "keywords": [ + "contigs", + "fragment", + "mags", + "binning", + "fasta", + "cut", + "cut up", + "bins", + "merge" + ], + "tools": [ + { + "concoct": { + "description": "Clustering cONtigs with COverage and ComposiTion", + "homepage": "https://concoct.readthedocs.io/en/latest/index.html", + "documentation": "https://concoct.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/BinPro/CONCOCT", + "doi": "10.1038/nmeth.3103", + "licence": "['FreeBSD']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "original_fasta": { + "type": "file", + "description": "Original input FASTA file to CONOCT cut_up_fasta", + "pattern": "*.{fasta,fna,fa,fas}" + } + }, + { + "csv": { + "type": "boolean", + "description": "Output table of merge_cutup_clustering with new cluster assignments", + "pattern": ".csv" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA files containing CONCOCT predicted bin clusters, named numerically by CONCOCT cluster ID in a directory called `fasta_bins`", + "pattern": "*.fa.gz" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "concoct_mergecutupclustering", + "path": "modules/nf-core/concoct/mergecutupclustering/meta.yml", + "type": "module", + "meta": { + "name": "concoct_mergecutupclustering", + "description": "Merge consecutive parts of the original contigs original cut up by cut_up_fasta.py", + "keywords": [ + "contigs", + "fragment", + "mags", + "binning", + "fasta", + "cut", + "cut up", + "merge" + ], + "tools": [ + { + "concoct": { + "description": "Clustering cONtigs with COverage and ComposiTion", + "homepage": "https://concoct.readthedocs.io/en/latest/index.html", + "documentation": "https://concoct.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/BinPro/CONCOCT", + "doi": "10.1038/nmeth.3103", + "licence": "['FreeBSD']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "clustering_csv": { + "type": "file", + "description": "Input cutup clustering result. Typically *_gt1000.csv from concoct", + "pattern": "*.csv" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "csv": { + "type": "file", + "description": "Cluster assignments per contig part with concensus cluster", + "pattern": "*.csv" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "controlfreec_assesssignificance", + "path": "modules/nf-core/controlfreec/assesssignificance/meta.yml", + "type": "module", + "meta": { + "name": "controlfreec_assesssignificance", + "description": "Add both Wilcoxon test and Kolmogorov-Smirnov test p-values to each CNV output of FREEC", + "keywords": [ + "cna", + "cnv", + "somatic", + "single", + "tumor-only" + ], + "tools": [ + { + "controlfreec/assesssignificance": { + "description": "Copy number and genotype annotation from whole genome and whole exome sequencing data.", + "homepage": "http://boevalab.inf.ethz.ch/FREEC", + "documentation": "http://boevalab.inf.ethz.ch/FREEC/tutorial.html", + "tool_dev_url": "https://github.com/BoevaLab/FREEC/", + "doi": "10.1093/bioinformatics/btq635", + "licence": [ + "GPL >=2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "cnvs": { + "type": "file", + "description": "_CNVs file generated by FREEC", + "pattern": "*._CNVs" + } + }, + { + "ratio": { + "type": "file", + "description": "ratio file generated by FREEC", + "pattern": "*.ratio.txt" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "p_value_txt": { + "type": "file", + "description": "CNV file containing p_values for each call", + "pattern": "*.p.value.txt" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "controlfreec_freec", + "path": "modules/nf-core/controlfreec/freec/meta.yml", + "type": "module", + "meta": { + "name": "controlfreec_freec", + "description": "Copy number and genotype annotation from whole genome and whole exome sequencing data", + "keywords": [ + "cna", + "cnv", + "somatic", + "single", + "tumor-only" + ], + "tools": [ + { + "controlfreec/freec": { + "description": "Copy number and genotype annotation from whole genome and whole exome sequencing data.", + "homepage": "http://boevalab.inf.ethz.ch/FREEC", + "documentation": "http://boevalab.inf.ethz.ch/FREEC/tutorial.html", + "tool_dev_url": "https://github.com/BoevaLab/FREEC/", + "doi": "10.1093/bioinformatics/btq635", + "licence": [ + "GPL >=2" + ] + } + } + ], + "input": [ + { + "args": { + "type": "map", + "description": "Groovy Map containing tool parameters. MUST follow the structure/keywords below and be provided via modules.config.\nParameters marked as (optional) can be removed from the map, if they are not set. All values must be surrounded by quotes, meta map parameters can be set with, i.e. `sex = meta.sex`:\nFor default values, please check the documentation above.\n\n```\n{\n [\n \"general\" :[\n \"bedgraphoutput\": (optional),\n \"breakpointthreshold\": (optional),\n \"breakpointtype\": (optional),\n \"coefficientofvariation\": (optional),\n \"contamination\": (optional),\n \"contaminationadjustment\": (optional),\n \"degree\": (optional),\n \"forcegccontentnormalization\": (optional),\n \"gccontentprofile\": (optional),\n \"intercept\": (optional),\n \"mincnalength\": (optional),\n \"minmappabilityperwindow\": (optional),\n \"minexpectedgc\": (optional),\n \"maxexpectedgc\": (optional),\n \"minimalsubclonepresence\": (optional),\n \"noisydata\": (optional),\n \"ploidy\": (optional),\n \"printNA\": (optional),\n \"readcountthreshold\": (optional),\n \"sex\": (optional),\n \"step\": (optional),\n \"telocentromeric\": (optional),\n \"uniquematch\": (optional),\n \"window\": (optional)\n ],\n \"control\":[\n \"inputformat\": (required),\n \"mateorientation\": (optional),\n ],\n \"sample\":[\n \"inputformat\": (required),\n \"mateorientation\": (optional),\n ],\n \"BAF\":[\n \"minimalcoverageperposition\": (optional),\n \"minimalqualityperposition\": (optional),\n \"shiftinquality\": (optional)\n ]\n ]\n}\n```\n" + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "mateFile_normal": { + "type": "file", + "description": "File with mapped reads", + "pattern": "*.{sam,bam,pileup(.gz),bowtie(.gz),eland(.gz),arachne(.gz),psl(.gz),bed(.gz)}" + } + }, + { + "mateFile_tumor": { + "type": "file", + "description": "File with mapped reads", + "pattern": "*.{sam,bam,pileup(.gz),bowtie(.gz),eland(.gz),arachne(.gz),psl(.gz),bed(.gz)}" + } + }, + { + "cpn_normal": { + "type": "file", + "description": "Raw copy number profiles (optional)", + "pattern": "*.cpn" + } + }, + { + "cpn_tumor": { + "type": "file", + "description": "Raw copy number profiles (optional)", + "pattern": "*.cpn" + } + }, + { + "minipileup_normal": { + "type": "file", + "description": "miniPileup file from previous run (optional)", + "pattern": "*.pileup" + } + }, + { + "minipileup_tumor": { + "type": "file", + "description": "miniPileup file from previous run (optional)", + "pattern": "*.pileup" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference file (optional; required if args 'makePileup' is set)", + "pattern": "*.{fasta,fna,fa}" + } + }, + { + "fai": { + "type": "file", + "description": "Fasta index", + "pattern": "*.fai" + } + }, + { + "snp_position": { + "type": "file", + "description": "Path to a BED or VCF file with SNP positions to create a mini pileup file from the initial BAM file provided in mateFile (optional)", + "pattern": "*.{bed,vcf}" + } + }, + { + "known_snps": { + "type": "file", + "description": "File with known SNPs", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "known_snps_tbi": { + "type": "file", + "description": "Index of known_snps", + "pattern": "*.tbi" + } + }, + { + "chr_directory": { + "type": "file", + "description": "Path to directory with chromosome fasta files (optional, required if gccontentprofile is not provided)", + "pattern": "*/" + } + }, + { + "mappability": { + "type": "file", + "description": "Contains information of mappable positions (optional)", + "pattern": "*.gem" + } + }, + { + "target_bed": { + "type": "file", + "description": "Sorted bed file containing capture regions (optional)", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bedgraph": { + "type": "file", + "description": "Bedgraph format for the UCSC genome browser", + "pattern": ".bedgraph" + } + }, + { + "control_cpn": { + "type": "file", + "description": "files with raw copy number profiles", + "pattern": "*_control.cpn" + } + }, + { + "sample_cpn": { + "type": "file", + "description": "files with raw copy number profiles", + "pattern": "*_sample.cpn" + } + }, + { + "gcprofile_cpn": { + "type": "file", + "description": "file with GC-content profile.", + "pattern": "GC_profile.*.cpn" + } + }, + { + "BAF": { + "type": "file", + "description": "file B-allele frequencies for each possibly heterozygous SNP position", + "pattern": "*_BAF.txt" + } + }, + { + "CNV": { + "type": "file", + "description": "file with coordinates of predicted copy number alterations.", + "pattern": "*_CNVs" + } + }, + { + "info": { + "type": "file", + "description": "parsable file with information about FREEC run", + "pattern": "*_info.txt" + } + }, + { + "ratio": { + "type": "file", + "description": "file with ratios and predicted copy number alterations for each window", + "pattern": "*_ratio.txt" + } + }, + { + "config": { + "type": "file", + "description": "Config file used to run Control-FREEC", + "pattern": "config.txt" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "controlfreec_freec2bed", + "path": "modules/nf-core/controlfreec/freec2bed/meta.yml", + "type": "module", + "meta": { + "name": "controlfreec_freec2bed", + "description": "Plot Freec output", + "keywords": [ + "cna", + "cnv", + "somatic", + "single", + "tumor-only" + ], + "tools": [ + { + "controlfreec": { + "description": "Copy number and genotype annotation from whole genome and whole exome sequencing data.", + "homepage": "http://boevalab.inf.ethz.ch/FREEC", + "documentation": "http://boevalab.inf.ethz.ch/FREEC/tutorial.html", + "tool_dev_url": "https://github.com/BoevaLab/FREEC/", + "doi": "10.1093/bioinformatics/btq635", + "licence": [ + "GPL >=2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ratio": { + "type": "file", + "description": "ratio file generated by FREEC", + "pattern": "*.ratio.txt" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "Bed file", + "pattern": "*.bed" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "controlfreec_freec2circos", + "path": "modules/nf-core/controlfreec/freec2circos/meta.yml", + "type": "module", + "meta": { + "name": "controlfreec_freec2circos", + "description": "Format Freec output to circos input format", + "keywords": [ + "cna", + "cnv", + "somatic", + "single", + "tumor-only" + ], + "tools": [ + { + "controlfreec": { + "description": "Copy number and genotype annotation from whole genome and whole exome sequencing data.", + "homepage": "http://boevalab.inf.ethz.ch/FREEC", + "documentation": "http://boevalab.inf.ethz.ch/FREEC/tutorial.html", + "tool_dev_url": "https://github.com/BoevaLab/FREEC/", + "doi": "10.1093/bioinformatics/btq635", + "licence": [ + "GPL >=2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ratio": { + "type": "file", + "description": "ratio file generated by FREEC", + "pattern": "*.ratio.txt" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "circos": { + "type": "file", + "description": "Txt file", + "pattern": "*.circos.txt" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "controlfreec_makegraph", + "path": "modules/nf-core/controlfreec/makegraph/meta.yml", + "type": "module", + "meta": { + "name": "controlfreec_makegraph", + "description": "Plot Freec output", + "keywords": [ + "cna", + "cnv", + "somatic", + "single", + "tumor-only" + ], + "tools": [ + { + "controlfreec": { + "description": "Copy number and genotype annotation from whole genome and whole exome sequencing data.", + "homepage": "http://boevalab.inf.ethz.ch/FREEC", + "documentation": "http://boevalab.inf.ethz.ch/FREEC/tutorial.html", + "tool_dev_url": "https://github.com/BoevaLab/FREEC/", + "doi": "10.1093/bioinformatics/btq635", + "licence": [ + "GPL >=2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ratio": { + "type": "file", + "description": "ratio file generated by FREEC", + "pattern": "*.ratio.txt" + } + }, + { + "baf": { + "type": "file", + "description": ".BAF file generated by FREEC", + "pattern": "*.BAF" + } + }, + { + "ploidy": { + "type": "integer", + "description": "Ploidy value for which graph should be created" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "png_baf": { + "type": "file", + "description": "Image of BAF plot", + "pattern": "*_BAF.png" + } + }, + { + "png_ratio_log2": { + "type": "file", + "description": "Image of ratio log2 plot", + "pattern": "*_ratio.log2.png" + } + }, + { + "png_ratio": { + "type": "file", + "description": "Image of ratio plot", + "pattern": "*_ratio.png" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "cooler_balance", + "path": "modules/nf-core/cooler/balance/meta.yml", + "type": "module", + "meta": { + "name": "cooler_balance", + "description": "Run matrix balancing on a cool file", + "keywords": [ + "cooler/balance", + "cooler", + "cool", + "cooler" + ], + "tools": [ + { + "cooler": { + "description": "Sparse binary format for genomic interaction matrices", + "homepage": "https://open2c.github.io/cooler/", + "documentation": "https://cooler.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/open2c/cooler", + "doi": "10.1093/bioinformatics/btz540", + "licence": [ + "BSD-3-Clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "cool": { + "type": "file", + "description": "Path to COOL file", + "pattern": "*.{cool,mcool}" + } + }, + { + "resolution": { + "type": "integer", + "description": "Resolution" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "cool": { + "type": "file", + "description": "Output COOL file balancing weigths", + "pattern": "*.cool" + } + } + ], + "authors": [ + "@nservant", + "@muffato" + ] + }, + "pipelines": [ + { + "name": "hic", + "version": "2.1.0" + } + ] + }, + { + "name": "cooler_cload", + "path": "modules/nf-core/cooler/cload/meta.yml", + "type": "module", + "meta": { + "name": "cooler_cload", + "description": "Create a cooler from genomic pairs and bins", + "keywords": [ + "cool", + "cooler", + "cload", + "hic" + ], + "tools": [ + { + "cooler": { + "description": "Sparse binary format for genomic interaction matrices", + "homepage": "https://open2c.github.io/cooler/", + "documentation": "https://cooler.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/open2c/cooler", + "doi": "10.1093/bioinformatics/btz540", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "pairs": { + "type": "file", + "description": "Path to contacts (i.e. read pairs) file." + } + }, + { + "index": { + "type": "file", + "description": "Path to index file of the contacts." + } + }, + { + "cool_bin": { + "type": "integer", + "description": "Bins size in bp" + } + }, + { + "chromsizes": { + "type": "file", + "description": "Path to a chromsizes file." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "version": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + }, + { + "cool": { + "type": "file", + "description": "Output COOL file path", + "pattern": "*.cool" + } + }, + { + "cool_bin": { + "type": "integer", + "description": "Bins size in bp" + } + } + ], + "authors": [ + "@jianhong", + "@muffato" + ] + }, + "pipelines": [ + { + "name": "hic", + "version": "2.1.0" + } + ] + }, + { + "name": "cooler_digest", + "path": "modules/nf-core/cooler/digest/meta.yml", + "type": "module", + "meta": { + "name": "cooler_digest", + "description": "Generate fragment-delimited genomic bins", + "keywords": [ + "digest", + "enzyme", + "cooler" + ], + "tools": [ + { + "cooler": { + "description": "Sparse binary format for genomic interaction matrices", + "homepage": "https://open2c.github.io/cooler/", + "documentation": "https://cooler.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/open2c/cooler", + "doi": "10.1093/bioinformatics/btz540", + "licence": [ + "BSD-3-Clause" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Genome assembly FASTA file or folder containing FASTA files (uncompressed).", + "pattern": "*.{fasta,fa}" + } + }, + { + "chromsizes": { + "type": "file", + "description": "Path to a chromsizes file." + } + }, + { + "enzyme": { + "type": "string", + "description": "Name of restriction enzyme. e.g. CviQI.", + "documentation": "http://biopython.org/DIST/docs/cookbook/Restriction.html" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "A genome segmentation of restriction fragments as a BED file.", + "pattern": "*.{bed}" + } + } + ], + "authors": [ + "@jianhong" + ] + }, + "pipelines": [ + { + "name": "hicar", + "version": "1.0.0" + } + ] + }, + { + "name": "cooler_dump", + "path": "modules/nf-core/cooler/dump/meta.yml", + "type": "module", + "meta": { + "name": "cooler_dump", + "description": "Dump a cooler’s data to a text stream.", + "keywords": [ + "dump", + "text", + "cooler" + ], + "tools": [ + { + "cooler": { + "description": "Sparse binary format for genomic interaction matrices", + "homepage": "https://open2c.github.io/cooler/", + "documentation": "https://cooler.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/open2c/cooler", + "doi": "10.1093/bioinformatics/btz540", + "licence": [ + "BSD-3-Clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "cool": { + "type": "file", + "description": "Path to COOL file", + "pattern": "*.{cool,mcool}" + } + }, + { + "resolution": { + "type": "integer", + "description": "Resolution" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bedpe": { + "type": "file", + "description": "Output text file", + "pattern": "*.bedpe" + } + } + ], + "authors": [ + "@jianhong", + "@muffato" + ] + }, + "pipelines": [ + { + "name": "hic", + "version": "2.1.0" + }, + { + "name": "hicar", + "version": "1.0.0" + } + ] + }, + { + "name": "cooler_makebins", + "path": "modules/nf-core/cooler/makebins/meta.yml", + "type": "module", + "meta": { + "name": "cooler_makebins", + "description": "Generate fixed-width genomic bins", + "keywords": [ + "makebins", + "cooler", + "genomic bins" + ], + "tools": [ + { + "cooler": { + "description": "Sparse binary format for genomic interaction matrices", + "homepage": "https://open2c.github.io/cooler/", + "documentation": "https://cooler.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/open2c/cooler", + "doi": "10.1093/bioinformatics/btz540", + "licence": [ + "BSD-3-Clause" + ] + } + } + ], + "input": [ + { + "chromsize": { + "type": "file", + "description": "Path to chromosome size file" + } + }, + { + "cool_bin": { + "type": "integer", + "description": "Resolution (bin size) in base pairs" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "Genome segmentation at a fixed resolution as a BED file.", + "pattern": "*.bed" + } + } + ], + "authors": [ + "@nservant", + "@muffato" + ] + }, + "pipelines": [ + { + "name": "hic", + "version": "2.1.0" + } + ] + }, + { + "name": "cooler_merge", + "path": "modules/nf-core/cooler/merge/meta.yml", + "type": "module", + "meta": { + "name": "cooler_merge", + "description": "Merge multiple coolers with identical axes", + "keywords": [ + "merge", + "cooler", + "hic" + ], + "tools": [ + { + "cooler": { + "description": "Sparse binary format for genomic interaction matrices", + "homepage": "https://open2c.github.io/cooler/", + "documentation": "https://cooler.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/open2c/cooler", + "doi": "10.1093/bioinformatics/btz540", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "cool": { + "type": "file", + "description": "Path to COOL file", + "pattern": "*.{cool,mcool}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + }, + { + "cool": { + "type": "file", + "description": "Path to COOL file", + "pattern": "*.cool" + } + } + ], + "authors": [ + "@jianhong" + ] + } + }, + { + "name": "cooler_zoomify", + "path": "modules/nf-core/cooler/zoomify/meta.yml", + "type": "module", + "meta": { + "name": "cooler_zoomify", + "description": "Generate a multi-resolution cooler file by coarsening", + "keywords": [ + "mcool", + "cool", + "cooler" + ], + "tools": [ + { + "cooler": { + "description": "Sparse binary format for genomic interaction matrices", + "homepage": "https://open2c.github.io/cooler/", + "documentation": "https://cooler.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/open2c/cooler", + "doi": "10.1093/bioinformatics/btz540", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "cool": { + "type": "file", + "description": "Path to COOL file", + "pattern": "*.{cool,mcool}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "mcool": { + "type": "file", + "description": "Output mcool file", + "pattern": "*.mcool" + } + } + ], + "authors": [ + "@jianhong" + ] + }, + "pipelines": [ + { + "name": "hic", + "version": "2.1.0" + } + ] + }, + { + "name": "coreograph", + "path": "modules/nf-core/coreograph/meta.yml", + "type": "module", + "meta": { + "name": "coreograph", + "description": "Great....yet another TMA dearray program. What does this one do? Coreograph uses UNet, a deep learning model, to identify complete/incomplete tissue cores on a tissue microarray. It has been trained on 9 TMA slides of different sizes and tissue types.", + "keywords": [ + "UNet", + "TMA dearray", + "Segmentation", + "Cores" + ], + "tools": [ + { + "coreograph": { + "description": "A TMA dearray porgram that uses UNet, a deep learning model, to identify complete/incomplete tissue cores on a tissue microarray.", + "homepage": "https://mcmicro.org/parameters/core.html#coreograph", + "documentation": "https://mcmicro.org/troubleshooting/tuning/coreograph.html", + "tool_dev_url": "https://github.com/HMS-IDAC/UNetCoreograph", + "doi": "10.1038/s41592-021-01308-y", + "licence": "MIT License" + } + } + ], + "input": [ + { + "image": { + "type": "file", + "description": "ome.tif/tif file", + "pattern": "*.{ome.tif,tif}" + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\n" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "cores": { + "type": "file", + "description": "Complete/Incomplete tissue cores", + "pattern": "*.{tif}" + } + }, + { + "masks": { + "type": "file", + "description": "Binary masks for the Complete/Incomplete tissue cores", + "pattern": "./masks/*.{tif}" + } + }, + { + "tma_map": { + "type": "file", + "description": "A TMA map showing labels and outlines", + "pattern": "TMA_MAP.tif" + } + }, + { + "centroids": { + "type": "file", + "description": "A text file listing centroids of each core in format Y, X", + "pattern": "centroidsY-X.txt" + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\n" + } + } + ], + "authors": [ + "@arozhada", + "@MargotCh" + ] + } + }, + { + "name": "crisprcleanr_normalize", + "path": "modules/nf-core/crisprcleanr/normalize/meta.yml", + "type": "module", + "meta": { + "name": "crisprcleanr_normalize", + "description": "remove false positives of functional crispr genomics due to CNVs", + "keywords": [ + "sort", + "CNV", + "correction", + "CRISPR" + ], + "tools": [ + { + "crisprcleanr": { + "description": "Analysis of CRISPR functional genomics, remove false positive due to CNVs.", + "homepage": "https://github.com/francescojm/CRISPRcleanR", + "documentation": "https://github.com/francescojm/CRISPRcleanR/blob/master/Quick_start.pdf", + "tool_dev_url": "https://github.com/francescojm/CRISPRcleanR/tree/v3.0.0", + "doi": "10.1186/s12864-018-4989-y", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "count_file": { + "type": "file", + "description": "sgRNA raw counts", + "pattern": "*.tsv" + } + }, + { + "library_file": { + "type": "file", + "description": "sgRNA library", + "pattern": "*.tsv" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "norm_count_file": { + "type": "file", + "description": "normalized count file", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@LaurenceKuhl" + ] + }, + "pipelines": [ + { + "name": "crisprseq", + "version": "2.0.0" + } + ] + }, + { + "name": "crumble", + "path": "modules/nf-core/crumble/meta.yml", + "type": "module", + "meta": { + "name": "crumble", + "description": "Controllable lossy compression of BAM/CRAM files", + "keywords": [ + "compress", + "bam", + "sam", + "cram" + ], + "tools": [ + { + "crumble": { + "description": "Controllable lossy compression of BAM/CRAM files", + "homepage": "https://github.com/jkbonfield/crumble", + "documentation": "https://github.com/jkbonfield/crumble", + "tool_dev_url": "https://github.com/jkbonfield/crumble", + "doi": "10.1093/bioinformatics/bty608", + "licence": "['multiple BSD style licenses']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "keepbed": { + "type": "file", + "description": "BED file defining regions to keep quality" + } + }, + { + "bedout": { + "type": "boolean", + "description": "set to true to ouput suspicious regions to a BED file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "optional filtered/compressed BAM file", + "pattern": "*.{bam}" + } + }, + { + "cram": { + "type": "file", + "description": "optional filtered/compressed CRAM file", + "pattern": "*.{cram}" + } + }, + { + "sam": { + "type": "file", + "description": "optional filtered/compressed SAM file", + "pattern": "*.{sam}" + } + }, + { + "bed": { + "type": "file", + "description": "optional suspicious regions BED file", + "pattern": "*{bed}" + } + } + ], + "authors": [ + "@priyanka-surana" + ] + } + }, + { + "name": "csvtk_concat", + "path": "modules/nf-core/csvtk/concat/meta.yml", + "type": "module", + "meta": { + "name": "csvtk_concat", + "description": "Concatenate two or more CSV (or TSV) tables into a single table", + "keywords": [ + "concatenate", + "tsv", + "csv" + ], + "tools": [ + { + "csvtk": { + "description": "A cross-platform, efficient, practical CSV/TSV toolkit", + "homepage": "http://bioinf.shenwei.me/csvtk", + "documentation": "http://bioinf.shenwei.me/csvtk", + "tool_dev_url": "https://github.com/shenwei356/csvtk", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "csv": { + "type": "file", + "description": "CSV/TSV formatted files", + "pattern": "*.{csv,tsv}" + } + }, + { + "in_format": { + "type": "string", + "description": "Input format (csv, tab, or a delimiting character)", + "pattern": "*" + } + }, + { + "out_format": { + "type": "string", + "description": "Output format (csv, tab, or a delimiting character)", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "version.yml" + } + }, + { + "csv": { + "type": "file", + "description": "Concatenated CSV/TSV file", + "pattern": "*.{csv,tsv}" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "csvtk_split", + "path": "modules/nf-core/csvtk/split/meta.yml", + "type": "module", + "meta": { + "name": "csvtk_split", + "description": "Splits CSV/TSV into multiple files according to column values", + "keywords": [ + "split", + "csv", + "tsv" + ], + "tools": [ + { + "csvtk": { + "description": "CSVTK is a cross-platform, efficient and practical CSV/TSV toolkit that allows rapid data investigation and manipulation.", + "homepage": "https://bioinf.shenwei.me/csvtk/", + "documentation": "https://bioinf.shenwei.me/csvtk/", + "tool_dev_url": "https://github.com/shenwei356/csvtk", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "csv": { + "type": "file", + "description": "CSV/TSV file", + "pattern": "*.{csv,tsv}" + } + }, + { + "in_format": { + "type": "string", + "description": "Input format (csv, tab, or a delimiting character)", + "pattern": "*" + } + }, + { + "out_format": { + "type": "string", + "description": "Output format (csv, tab, or a delimiting character)", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "split_csv": { + "type": "file", + "description": "Split CSV/TSV file", + "pattern": "*.{csv,tsv}" + } + } + ], + "authors": [ + "@SusiJo" + ] + } + }, + { + "name": "custom_dumpsoftwareversions", + "path": "modules/nf-core/custom/dumpsoftwareversions/meta.yml", + "type": "module", + "meta": { + "name": "custom_dumpsoftwareversions", + "description": "Custom module used to dump software versions within the nf-core pipeline template", + "keywords": [ + "custom", + "dump", + "version" + ], + "tools": [ + { + "custom": { + "description": "Custom module used to dump software versions within the nf-core pipeline template", + "homepage": "https://github.com/nf-core/tools", + "documentation": "https://github.com/nf-core/tools", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "versions": { + "type": "file", + "description": "YML file containing software versions", + "pattern": "*.yml" + } + } + ], + "output": [ + { + "yml": { + "type": "file", + "description": "Standard YML file containing software versions", + "pattern": "software_versions.yml" + } + }, + { + "mqc_yml": { + "type": "file", + "description": "MultiQC custom content YML file containing software versions", + "pattern": "software_versions_mqc.yml" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@grst" + ] + }, + "pipelines": [ + { + "name": "airrflow", + "version": "3.1.0" + }, + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "bamtofastq", + "version": "2.0.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "createpanelrefs", + "version": "dev" + }, + { + "name": "crisprseq", + "version": "2.0.0" + }, + { + "name": "demultiplex", + "version": "1.3.2" + }, + { + "name": "differentialabundance", + "version": "1.2.0" + }, + { + "name": "epitopeprediction", + "version": "2.2.1" + }, + { + "name": "fastquorum", + "version": "dev" + }, + { + "name": "fetchngs", + "version": "1.10.0" + }, + { + "name": "funcscan", + "version": "1.1.2" + }, + { + "name": "genomeannotator", + "version": "dev" + }, + { + "name": "genomeassembler", + "version": "dev" + }, + { + "name": "genomeskim", + "version": "dev" + }, + { + "name": "gwas", + "version": "dev" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "hic", + "version": "2.1.0" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "hlatyping", + "version": "2.0.0" + }, + { + "name": "isoseq", + "version": "1.1.4" + }, + { + "name": "mag", + "version": "2.3.2" + }, + { + "name": "marsseq", + "version": "1.0.3" + }, + { + "name": "mcmicro", + "version": "dev" + }, + { + "name": "metapep", + "version": "dev" + }, + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "methylseq", + "version": "2.4.0" + }, + { + "name": "mhcquant", + "version": "2.4.1" + }, + { + "name": "molkart", + "version": "dev" + }, + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "nanostring", + "version": "1.1.1" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "pangenome", + "version": "dev" + }, + { + "name": "phageannotator", + "version": "dev" + }, + { + "name": "phyloplace", + "version": "1.0.0" + }, + { + "name": "proteinfold", + "version": "1.0.0" + }, + { + "name": "quantms", + "version": "1.1.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "scrnaseq", + "version": "2.3.2" + }, + { + "name": "smrnaseq", + "version": "2.2.1" + }, + { + "name": "spatialtranscriptomics", + "version": "dev" + }, + { + "name": "spinningjenny", + "version": "dev" + }, + { + "name": "ssds", + "version": "dev" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + }, + { + "name": "variantcatalogue", + "version": "dev" + }, + { + "name": "viralintegration", + "version": "0.1.1" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "custom_getchromsizes", + "path": "modules/nf-core/custom/getchromsizes/meta.yml", + "type": "module", + "meta": { + "name": "custom_getchromsizes", + "description": "Generates a FASTA file of chromosome sizes and a fasta index file", + "keywords": [ + "fasta", + "chromosome", + "indexing" + ], + "tools": [ + { + "samtools": { + "description": "Tools for dealing with SAM, BAM and CRAM files", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "tool_dev_url": "https://github.com/samtools/samtools", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file", + "pattern": "*.{fa,fasta,fna,fas}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sizes": { + "type": "file", + "description": "File containing chromosome lengths", + "pattern": "*.{sizes}" + } + }, + { + "fai": { + "type": "file", + "description": "FASTA index file", + "pattern": "*.{fai}" + } + }, + { + "gzi": { + "type": "file", + "description": "Optional gzip index file for compressed inputs", + "pattern": "*.gzi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@tamara-hodgetts", + "@chris-cheshire", + "@muffato" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "hic", + "version": "2.1.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "custom_matrixfilter", + "path": "modules/nf-core/custom/matrixfilter/meta.yml", + "type": "module", + "meta": { + "name": "custom_matrixfilter", + "description": "filter a matrix based on a minimum value and numbers of samples that must pass.", + "keywords": [ + "matrix", + "filter" + ], + "tools": [ + { + "matrixfilter": { + "description": "filter a matrix based on a minimum value and numbers of samples", + "tool_dev_url": "https://github.com/nf-core/modules/blob/master/modules/nf-core/custom/matrixfilter/main.nf" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing information on matrix to be filtered, at a\nminimum an id. e.g. [ id:'test' ]\n" + } + }, + { + "abundance": { + "type": "file", + "description": "Raw TSV or CSV format abundance matrix with features (e.g.\ngenes) by row and observations (e.g. samples) by column. All rownames\nfrom the sample sheet should be present in the columns.\n" + } + }, + { + "samplesheet_meta": { + "type": "map", + "description": "Where samplesheet is provided, aroovy Map containing information on\nsample sheet, at a minimum an id. e.g. [ id:'test' ]\n" + } + }, + { + "samplesheet": { + "type": "file", + "description": "Optional CSV or TSV format sample sheet with sample metadata. If\nprovided this is used to infer minimum passing samples from group sizes\npresent (see grouping_variable), but also to validate matrix columns.\nIf not provided, all numeric columns are selected.\n" + } + }, + { + "minimum_abundance": { + "type": "numeric", + "description": "Minimum abundance value, supplied via task.ext.args as --minimum_abundance\n", + "default": 1 + } + }, + { + "minimum_samples": { + "type": "numeric", + "description": "Minimum observations that must pass the threshold to retain\nthe row/ feature (e.g. gene). Supplied via task.ext.args as\n--minimum_samples\n", + "default": 1 + } + }, + { + "minimum_proportion": { + "type": "numeric", + "description": "A minimum proportion of observations that must pass the threshold.\nSupplied via task.ext.args as --minimum_proportion. Overrides\nminimum_samples\n", + "default": 0 + } + }, + { + "grouping_variable": { + "type": "optional string", + "description": "Optionally supply a variable from the sample sheet that can be used to\ndefine groups and derive a minimum group size upon which to base\nminimum observation numbers. The rationale being to allow retention of\nfeatures that might be present in only one group. Supplied via\ntask.ext.args as --grouping_variable\n" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing information on experiment.\ne.g. [ id:'test' ]\n" + } + }, + { + "filtered": { + "type": "file", + "description": "Filtered version of input matrix", + "pattern": "*.filtered.tsv" + } + } + ], + "authors": [ + "@pinin4fjords" + ] + }, + "pipelines": [ + { + "name": "differentialabundance", + "version": "1.2.0" + } + ] + }, + { + "name": "custom_sratoolsncbisettings", + "path": "modules/nf-core/custom/sratoolsncbisettings/meta.yml", + "type": "module", + "meta": { + "name": "sratoolsncbisettings", + "description": "Test for the presence of suitable NCBI settings or create them on the fly.", + "keywords": [ + "NCBI", + "settings", + "sra-tools", + "prefetch", + "fasterq-dump" + ], + "tools": [ + { + "sratools": { + "description": "SRA Toolkit and SDK from NCBI", + "homepage": "https://github.com/ncbi/sra-tools", + "documentation": "https://github.com/ncbi/sra-tools/wiki", + "tool_dev_url": "https://github.com/ncbi/sra-tools", + "licence": "['Public Domain']" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "ncbi_settings": { + "type": "file", + "description": "An NCBI user settings file.", + "pattern": "*.mkfg" + } + } + ], + "authors": [ + "@Midnighter" + ] + }, + "pipelines": [ + { + "name": "fetchngs", + "version": "1.10.0" + } + ] + }, + { + "name": "custom_tabulartogseacls", + "path": "modules/nf-core/custom/tabulartogseacls/meta.yml", + "type": "module", + "meta": { + "name": "custom_tabulartogseacls", + "description": "Make a GSEA class file (.cls) from tabular inputs", + "keywords": [ + "gsea", + "cls", + "convert", + "tabular" + ], + "tools": [ + { + "custom": { + "description": "Make a GSEA class file (.cls) from tabular inputs", + "tool_dev_url": "https://github.com/nf-core/modules/blob/master/modules/nf-core/custom/tabulartogseacls/main.nf" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing metadata including an id, the sample sheet column\nused to define groups, and optionally a separator to override defaults e.g. [\n id:'test', variable:'treatment', separator:',' ]. The way these values are\npassed to the associated module parameters is then defined via an ext.args\nspecification for the process from the workflow, like: ext.args = { [\n \"separator\": \"\\t\", \"variable\": \"$meta.variable\" ] } ('variable' is\ncompulsory here).\n" + } + }, + { + "samples": { + "type": "file", + "description": "Tabular (e.g. TSV/CSV) samples file with sample IDs by row and variables by column.", + "pattern": "*.{csv,tsv}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing metadata e.g. [ id:'test', variable:'treatment',\nseparator:',' ]\n" + } + }, + { + "cls": { + "type": "file", + "description": "A categorical class format file (.cls) as defined by the Broad\ndocumentation at\nhttps://software.broadinstitute.org/cancer/software/gsea/wiki/index.php/Data_formats\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@pinin4fjords" + ] + }, + "pipelines": [ + { + "name": "differentialabundance", + "version": "1.2.0" + } + ] + }, + { + "name": "custom_tabulartogseagct", + "path": "modules/nf-core/custom/tabulartogseagct/meta.yml", + "type": "module", + "meta": { + "name": "custom_tabulartogseagct", + "description": "Convert a TSV or CSV with features by row and observations by column to a GCT format file as consumed by GSEA", + "keywords": [ + "gsea", + "gct", + "tabular" + ], + "tools": [ + { + "tabulartogseagct": { + "description": "Convert a TSV or CSV with features by row and observations by column to a GCT format file as consumed by GSEA", + "tool_dev_url": "https://github.com/nf-core/modules/blob/master/modules/nf-core/custom/tabulartogseagct/main.nf" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing matrix information\ne.g. [ id:'test' ]\n" + } + }, + { + "tabular": { + "type": "file", + "description": "Tabular (e.g. TSV or CSV file) containing a numeric matrix with features (e.g. genes) by row and samples by column.", + "pattern": "*.{tsv,csv}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing matrix information\ne.g. [ id:'test' ]\n" + } + }, + { + "gct": { + "type": "file", + "description": "GCT format version of input TSV", + "pattern": "*.{gct}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@pinin4fjords" + ] + }, + "pipelines": [ + { + "name": "differentialabundance", + "version": "1.2.0" + } + ] + }, + { + "name": "cutadapt", + "path": "modules/nf-core/cutadapt/meta.yml", + "type": "module", + "meta": { + "name": "cutadapt", + "description": "Perform adapter/quality trimming on sequencing reads", + "keywords": [ + "trimming", + "adapter trimming", + "adapters", + "quality trimming" + ], + "tools": [ + { + "cuatadapt": { + "description": "Cutadapt finds and removes adapter sequences, primers, poly-A tails and other types of unwanted sequence from your high-throughput sequencing reads.\n", + "documentation": "https://cutadapt.readthedocs.io/en/stable/index.html", + "doi": "10.14806/ej.17.1.200", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "The trimmed/modified fastq reads", + "pattern": "*fastq.gz" + } + }, + { + "log": { + "type": "file", + "description": "cuatadapt log file", + "pattern": "*cutadapt.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "crisprseq", + "version": "2.0.0" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "marsseq", + "version": "1.0.3" + } + ] + }, + { + "name": "cutesv", + "path": "modules/nf-core/cutesv/meta.yml", + "type": "module", + "meta": { + "name": "cutesv", + "description": "structural-variant calling with cutesv", + "keywords": [ + "cutesv", + "structural-variant calling" + ], + "tools": [ + { + "cutesv": { + "description": "a clustering-and-refinement method to analyze the signatures to implement sensitive SV detection.", + "homepage": "https://github.com/tjiangHIT/cuteSV", + "documentation": "https://github.com/tjiangHIT/cuteSV#readme", + "tool_dev_url": "https://github.com/tjiangHIT/cuteSV", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "Index of BAM file", + "pattern": "*.bai" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'fasta' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference database in FASTA format\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file containing called variants from CuteSV", + "pattern": "*.vcf" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@christopher-hakkaart", + "@yuukiiwa" + ] + } + }, + { + "name": "damageprofiler", + "path": "modules/nf-core/damageprofiler/meta.yml", + "type": "module", + "meta": { + "name": "damageprofiler", + "description": "A Java based tool to determine damage patterns on ancient DNA as a replacement for mapDamage", + "keywords": [ + "damage", + "deamination", + "miscoding lesions", + "C to T", + "ancient DNA", + "aDNA", + "palaeogenomics", + "archaeogenomics", + "palaeogenetics", + "archaeogenetics" + ], + "tools": [ + { + "damageprofiler": { + "description": "A Java based tool to determine damage patterns on ancient DNA as a replacement for mapDamage", + "homepage": "https://github.com/Integrative-Transcriptomics/DamageProfiler", + "documentation": "https://damageprofiler.readthedocs.io/", + "tool_dev_url": "https://github.com/Integrative-Transcriptomics/DamageProfiler", + "doi": "10.1093/bioinformatics/btab190", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "fasta": { + "type": "file", + "description": "OPTIONAL FASTA reference file", + "pattern": "*.{fasta,fna,fa}" + } + }, + { + "fai": { + "type": "file", + "description": "OPTIONAL FASTA index file from samtools faidx", + "pattern": "*.{fai}" + } + }, + { + "specieslist": { + "type": "file", + "description": "OPTIONAL text file with list of target reference headers", + "pattern": "*.{txt}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "results": { + "type": "dir", + "description": "DamageProfiler results directory", + "pattern": "*/*" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "dastool_dastool", + "path": "modules/nf-core/dastool/dastool/meta.yml", + "type": "module", + "meta": { + "name": "dastool_dastool", + "description": "DAS Tool binning step.", + "keywords": [ + "binning", + "das tool", + "table", + "de novo", + "bins", + "contigs", + "assembly", + "das_tool" + ], + "tools": [ + { + "dastool": { + "description": "DAS Tool is an automated method that integrates the results\nof a flexible number of binning algorithms to calculate an optimized, non-redundant\nset of bins from a single assembly.\n", + "homepage": "https://github.com/cmks/DAS_Tool", + "documentation": "https://github.com/cmks/DAS_Tool", + "tool_dev_url": "https://github.com/cmks/DAS_Tool", + "doi": "10.1038/s41564-018-0171-1", + "licence": [ + "BSD" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "contigs": { + "type": "file", + "description": "fasta file", + "pattern": "*.{fa.gz,fas.gz,fasta.gz}" + } + }, + { + "bins": { + "type": "file", + "description": "FastaToContig2Bin tabular file generated with dastool/fastatocontig2bin", + "pattern": "*.tsv" + } + }, + { + "proteins": { + "type": "file", + "description": "Predicted proteins in prodigal fasta format (>scaffoldID_geneNo)", + "pattern": "*.{fa.gz,fas.gz,fasta.gz}" + } + }, + { + "db_directory": { + "type": "file", + "description": "(optional) Directory of single copy gene database." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "version": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + }, + { + "log": { + "type": "file", + "description": "Log file of the run", + "pattern": "*.log" + } + }, + { + "summary": { + "type": "file", + "description": "Summary of output bins including quality and completeness estimates", + "pattern": "*summary.txt" + } + }, + { + "contig2bin": { + "type": "file", + "description": "Scaffolds to bin file of output bins", + "pattern": "*.contig2bin.txt" + } + }, + { + "eval": { + "type": "file", + "description": "Quality and completeness estimates of input bin sets", + "pattern": "*.eval" + } + }, + { + "bins": { + "type": "file", + "description": "Final refined bins in fasta format", + "pattern": "*.fa" + } + }, + { + "pdfs": { + "type": "file", + "description": "Plots showing the amount of high quality bins and score distribution of bins per method", + "pattern": "*.pdf" + } + }, + { + "fasta_proteins": { + "type": "file", + "description": "Output from prodigal if not already supplied", + "pattern": "*.proteins.faa" + } + }, + { + "fasta_archaea_scg": { + "type": "file", + "description": "Results of archaeal single-copy-gene prediction", + "pattern": "*.archaea.scg" + } + }, + { + "fasta_bacteria_scg": { + "type": "file", + "description": "Results of bacterial single-copy-gene prediction", + "pattern": "*.bacteria.scg" + } + }, + { + "b6": { + "type": "file", + "description": "Results in b6 format", + "pattern": "*.b6" + } + }, + { + "seqlength": { + "type": "file", + "description": "Summary of contig lengths", + "pattern": "*.seqlength" + } + } + ], + "authors": [ + "@maxibor", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "dastool_fastatocontig2bin", + "path": "modules/nf-core/dastool/fastatocontig2bin/meta.yml", + "type": "module", + "meta": { + "name": "dastool_fastatocontig2bin", + "description": "Helper script to convert a set of bins in fasta format to tabular scaffolds2bin format", + "keywords": [ + "binning", + "das tool", + "table", + "de novo", + "bins", + "contigs", + "assembly", + "das_tool" + ], + "tools": [ + { + "dastool": { + "description": "DAS Tool is an automated method that integrates the results\nof a flexible number of binning algorithms to calculate an optimized, non-redundant\nset of bins from a single assembly.\n", + "homepage": "https://github.com/cmks/DAS_Tool", + "documentation": "https://github.com/cmks/DAS_Tool", + "tool_dev_url": "https://github.com/cmks/DAS_Tool", + "doi": "10.1038/s41564-018-0171-1", + "licence": [ + "BSD" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Fasta of list of fasta files recommended to be gathered via with .collect() of bins", + "pattern": "*.{fa,fa.gz,fas,fas.gz,fna,fna.gz,fasta,fasta.gz}" + } + }, + { + "extension": { + "type": "val", + "description": "Fasta file extension (fa | fas | fasta | ...), without .gz suffix, if gzipped input." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fastatocontig2bin": { + "type": "file", + "description": "tabular contig2bin file for DAS tool input", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@maxibor", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "dastool_scaffolds2bin", + "path": "modules/nf-core/dastool/scaffolds2bin/meta.yml", + "type": "module", + "meta": { + "name": "dastool_scaffolds2bin", + "description": "Helper script to convert a set of bins in fasta format to tabular scaffolds2bin format", + "keywords": [ + "binning", + "das tool", + "table", + "de novo", + "bins", + "contigs", + "assembly", + "das_tool" + ], + "tools": [ + { + "dastool": { + "description": "DAS Tool is an automated method that integrates the results\nof a flexible number of binning algorithms to calculate an optimized, non-redundant\nset of bins from a single assembly.\n", + "homepage": "https://github.com/cmks/DAS_Tool", + "documentation": "https://github.com/cmks/DAS_Tool", + "tool_dev_url": "https://github.com/cmks/DAS_Tool", + "doi": "10.1038/s41564-018-0171-1", + "licence": [ + "BSD" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Fasta or list of fasta files recommended to be gathered via with .collect() of bins", + "pattern": "*.{fa,fa.gz,fas,fas.gz,fna,fna.gz,fasta,fasta.gz}" + } + }, + { + "extension": { + "type": "val", + "description": "Fasta file extension (fa | fas | fasta | ...), but without .gz suffix, even if gzipped input." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "scaffolds2bin": { + "type": "file", + "description": "tabular scaffolds2bin file for DAS tool input", + "pattern": "*.scaffolds2bin.tsv" + } + } + ], + "authors": [ + "@maxibor" + ] + } + }, + { + "name": "dedup", + "path": "modules/nf-core/dedup/meta.yml", + "type": "module", + "meta": { + "name": "dedup", + "description": "DeDup is a tool for read deduplication in paired-end read merging (e.g. for ancient DNA experiments).", + "keywords": [ + "dedup", + "deduplication", + "pcr duplicates", + "ancient DNA", + "paired-end", + "bam" + ], + "tools": [ + { + "dedup": { + "description": "DeDup is a tool for read deduplication in paired-end read merging (e.g. for ancient DNA experiments).", + "homepage": "https://github.com/apeltzer/DeDup", + "documentation": "https://dedup.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/apeltzer/DeDup", + "doi": "10.1186/s13059-016-0918-z", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/SAM file", + "pattern": "*.{bam,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Deduplicated BAM file", + "pattern": "*_rmdup.bam" + } + }, + { + "json": { + "type": "file", + "description": "JSON file for MultiQC", + "pattern": "*.json" + } + }, + { + "hist": { + "type": "file", + "description": "Histogram data of amount of deduplication", + "pattern": "*.hist" + } + }, + { + "log": { + "type": "file", + "description": "Dedup log information", + "pattern": "*log" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "deeparg_downloaddata", + "path": "modules/nf-core/deeparg/downloaddata/meta.yml", + "type": "module", + "meta": { + "name": "deeparg_downloaddata", + "description": "A deep learning based approach to predict Antibiotic Resistance Genes (ARGs) from metagenomes", + "keywords": [ + "download", + "database", + "deeparg", + "antimicrobial resistance genes", + "deep learning", + "prediction" + ], + "tools": [ + { + "deeparg": { + "description": "A deep learning based approach to predict Antibiotic Resistance Genes (ARGs) from metagenomes", + "homepage": "https://bench.cs.vt.edu/deeparg", + "documentation": "https://bitbucket.org/gusphdproj/deeparg-ss/src/master/", + "tool_dev_url": "https://bitbucket.org/gusphdproj/deeparg-ss/src/master/", + "doi": "10.1186/s40168-018-0401-z", + "licence": [ + "MIT" + ] + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "db": { + "type": "directory", + "description": "Directory containing database required for deepARG.", + "pattern": "db/" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "deeparg_predict", + "path": "modules/nf-core/deeparg/predict/meta.yml", + "type": "module", + "meta": { + "name": "deeparg_predict", + "description": "A deep learning based approach to predict Antibiotic Resistance Genes (ARGs) from metagenomes", + "keywords": [ + "deeparg", + "antimicrobial resistance", + "antimicrobial resistance genes", + "arg", + "deep learning", + "prediction", + "contigs", + "metagenomes" + ], + "tools": [ + { + "deeparg": { + "description": "A deep learning based approach to predict Antibiotic Resistance Genes (ARGs) from metagenomes", + "homepage": "https://bench.cs.vt.edu/deeparg", + "documentation": "https://bitbucket.org/gusphdproj/deeparg-ss/src/master/", + "tool_dev_url": "https://bitbucket.org/gusphdproj/deeparg-ss/src/master/", + "doi": "10.1186/s40168-018-0401-z", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file containing gene-like sequences", + "pattern": "*.{fasta,fa,fna}" + } + }, + { + "model": { + "type": "string", + "description": "Which model to use, depending on input data. Either 'LS' or 'SS' for long or short sequences respectively", + "pattern": "LS|LS" + } + }, + { + "db": { + "type": "directory", + "description": "Path to a directory containing the deepARG pre-built models", + "pattern": "*/" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "daa": { + "type": "file", + "description": "Sequences of ARG-like sequences from DIAMOND alignment", + "pattern": "*.align.daa" + } + }, + { + "daa_tsv": { + "type": "file", + "description": "Alignments scores against ARG-like sequences from DIAMOND alignment", + "pattern": "*.align.daa.tsv" + } + }, + { + "arg": { + "type": "file", + "description": "Table containing sequences with an ARG-like probability of more than specified thresholds", + "pattern": "*.mapping.ARG" + } + }, + { + "potential_arg": { + "type": "file", + "description": "Table containing sequences with an ARG-like probability of less than specified thresholds, and requires manual inspection", + "pattern": "*.mapping.potential.ARG" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "deepbgc_download", + "path": "modules/nf-core/deepbgc/download/meta.yml", + "type": "module", + "meta": { + "name": "deepbgc_download", + "description": "Database download module for DeepBGC which detects BGCs in bacterial and fungal genomes using deep learning.", + "keywords": [ + "database", + "download", + "BGC", + "biosynthetic gene cluster", + "deep learning", + "neural network", + "random forest", + "genomes", + "bacteria", + "fungi" + ], + "tools": [ + { + "deepbgc": { + "description": "DeepBGC - Biosynthetic Gene Cluster detection and classification", + "homepage": "https://github.com/Merck/deepbgc", + "documentation": "https://github.com/Merck/deepbgc", + "tool_dev_url": "https://github.com/Merck/deepbgc", + "doi": "10.1093/nar/gkz654", + "licence": "['MIT']" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "deepbgc_db": { + "type": "directory", + "description": "Contains reference database files", + "pattern": "deepbgc_db" + } + } + ], + "authors": [ + "@louperelo" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "deepbgc_pipeline", + "path": "modules/nf-core/deepbgc/pipeline/meta.yml", + "type": "module", + "meta": { + "name": "deepbgc_pipeline", + "description": "DeepBGC detects BGCs in bacterial and fungal genomes using deep learning.", + "keywords": [ + "BGC", + "biosynthetic gene cluster", + "deep learning", + "neural network", + "random forest", + "genomes", + "bacteria", + "fungi" + ], + "tools": [ + { + "deepbgc": { + "description": "DeepBGC - Biosynthetic Gene Cluster detection and classification", + "homepage": "https://github.com/Merck/deepbgc", + "documentation": "https://github.com/Merck/deepbgc", + "tool_dev_url": "https://github.com/Merck/deepbgc", + "doi": "10.1093/nar/gkz654", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "genome": { + "type": "file", + "description": "FASTA/GenBank/Pfam CSV file", + "pattern": "*.{fasta,fa,fna,gbk,csv}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "readme": { + "type": "file", + "description": "txt file containing description of output files", + "pattern": "*.{txt}" + } + }, + { + "log": { + "type": "file", + "description": "Log output of DeepBGC", + "pattern": "*.{txt}" + } + }, + { + "json": { + "type": "file", + "description": "AntiSMASH JSON file for sideloading", + "pattern": "*.{json}" + } + }, + { + "bgc_gbk": { + "type": "file", + "description": "Sequences and features of all detected BGCs in GenBank format", + "pattern": "*.{bgc.gbk}" + } + }, + { + "bgc_tsv": { + "type": "file", + "description": "Table of detected BGCs and their properties", + "pattern": "*.{bgc.tsv}" + } + }, + { + "full_gbk": { + "type": "file", + "description": "Fully annotated input sequence with proteins, Pfam domains (PFAM_domain features) and BGCs (cluster features)", + "pattern": "*.{full.gbk}" + } + }, + { + "pfam_tsv": { + "type": "file", + "description": "Table of Pfam domains (pfam_id) from given sequence (sequence_id) in genomic order, with BGC detection scores", + "pattern": "*.{pfam.tsv}" + } + }, + { + "bgc_png": { + "type": "file", + "description": "Detected BGCs plotted by their nucleotide coordinates", + "pattern": "*.{bgc.png}" + } + }, + { + "pr_png": { + "type": "file", + "description": "Precision-Recall curve based on predicted per-Pfam BGC scores", + "pattern": "*.{pr.png}" + } + }, + { + "roc_png": { + "type": "file", + "description": "ROC curve based on predicted per-Pfam BGC scores", + "pattern": "*.{roc.png}" + } + }, + { + "score_png": { + "type": "file", + "description": "BGC detection scores of each Pfam domain in genomic order", + "pattern": "*.{score.png}" + } + } + ], + "authors": [ + "@louperelo", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "deepcell_mesmer", + "path": "modules/nf-core/deepcell/mesmer/meta.yml", + "type": "module", + "meta": { + "name": "deepcell_mesmer", + "description": "Deepcell/mesmer segmentation for whole-cell", + "keywords": [ + "imaging", + "spatial_omics", + "segmentation" + ], + "tools": [ + { + "mesmer": { + "description": "Deep cell is a collection of tools to segment imaging data", + "homepage": "https://github.com/vanvalenlab/deepcell-tf", + "documentation": "https://github.com/vanvalenlab/intro-to-deepcell/tree/master/pretrained_models", + "tool_dev_url": "https://githu/b.com/vanvalenlab/deepcell-tf", + "doi": "10.1038/s41587-021-01094-0", + "licence": "APACHE2" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "img": { + "type": "file", + "description": "Multichannel image file", + "pattern": "*.{tiff,tif,h5,hdf5}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "mask": { + "type": "file", + "description": "File containing the mask.", + "pattern": "*.{tif, tiff}" + } + } + ], + "authors": [ + "@migueLib", + "@chiarasch" + ] + } + }, + { + "name": "deeptools_bamcoverage", + "path": "modules/nf-core/deeptools/bamcoverage/meta.yml", + "type": "module", + "meta": { + "name": "deeptools_bamcoverage", + "description": "This tool takes an alignment of reads or fragments as input (BAM file) and generates a coverage track (bigWig or bedGraph) as output.", + "keywords": [ + "coverage", + "depth", + "track" + ], + "tools": [ + { + "deeptools": { + "description": "A set of user-friendly tools for normalization and visualzation of deep-sequencing data", + "homepage": "https://deeptools.readthedocs.io/en/develop/content/tools/bamCoverage.html", + "documentation": "https://deeptools.readthedocs.io/en/develop/content/tools/bamCoverage.html", + "tool_dev_url": "https://github.com/deeptools/deepTools/", + "doi": "10.1093/nar/gkw257", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAM/CRAM index file", + "pattern": "*.{bai,crai}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference file the CRAM file was created with (required with CRAM input)", + "pattern": "*.{fasta,fa}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "Index of the reference file (optional, but recommended)", + "pattern": "*.{fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bigWig": { + "type": "file", + "description": "BigWig file", + "pattern": "*.bigWig" + } + }, + { + "bedgraph": { + "type": "file", + "description": "Bedgraph file", + "pattern": "*.bedgraph" + } + } + ], + "authors": [ + "@FriederikeHanssen", + "@SusiJo" + ] + }, + "pipelines": [ + { + "name": "nascent", + "version": "2.1.1" + } + ] + }, + { + "name": "deeptools_computematrix", + "path": "modules/nf-core/deeptools/computematrix/meta.yml", + "type": "module", + "meta": { + "name": "deeptools_computematrix", + "description": "calculates scores per genome regions for other deeptools plotting utilities", + "keywords": [ + "genome", + "regions", + "scores", + "matrix" + ], + "tools": [ + { + "deeptools": { + "description": "A set of user-friendly tools for normalization and visualization of deep-sequencing data", + "documentation": "https://deeptools.readthedocs.io/en/develop/index.html", + "tool_dev_url": "https://github.com/deeptools/deepTools", + "doi": "10.1093/nar/gku365", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bigwig": { + "type": "file", + "description": "bigwig file containing genomic scores", + "pattern": "*.{bw,bigwig}" + } + }, + { + "bed": { + "type": "file", + "description": "bed file containing genomic regions", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "matrix": { + "type": "file", + "description": "gzipped matrix file needed by the plotHeatmap and plotProfile\ndeeptools utilities\n", + "pattern": "*.{computeMatrix.mat.gz}" + } + }, + { + "table": { + "type": "file", + "description": "tabular file containing the scores of the generated matrix\n", + "pattern": "*.{computeMatrix.vals.mat.tab}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@jeremy1805", + "@emiller88", + "@drpatelh", + "@joseespinosa" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "cutandrun", + "version": "3.1" + } + ] + }, + { + "name": "deeptools_multibamsummary", + "path": "modules/nf-core/deeptools/multibamsummary/meta.yml", + "type": "module", + "meta": { + "name": "deeptools_multibamsummary", + "description": "Computes read coverage for genomic regions (bins) across the entire genome.", + "keywords": [ + "bam", + "coverage" + ], + "tools": [ + { + "deeptools": { + "description": "A set of user-friendly tools for normalization and visualization of deep-sequencing data", + "documentation": "https://deeptools.readthedocs.io/en/develop/index.html", + "tool_dev_url": "https://github.com/deeptools/deepTools", + "doi": "10.1093/nar/gku365", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "One or more BAM files", + "pattern": "*.{bam}" + } + }, + { + "bais": { + "type": "file", + "description": "Corresponding BAM file indexes", + "pattern": "*.bam.bai" + } + }, + { + "labels": { + "type": "string", + "description": "User specified labels instead of default labels (file names)." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "matrix": { + "type": "file", + "description": "compressed numpy array of read coverage data used by plotCorrelation and plotPCA\ndeeptool utilities\n", + "pattern": "all_bam.bamSummary.npz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@tamara-hodgetts", + "@chris-cheshire" + ] + }, + "pipelines": [ + { + "name": "cutandrun", + "version": "3.1" + } + ] + }, + { + "name": "deeptools_plotcorrelation", + "path": "modules/nf-core/deeptools/plotcorrelation/meta.yml", + "type": "module", + "meta": { + "name": "deeptools_plotcorrelation", + "description": "Visualises sample correlations using a compressed matrix generated by mutlibamsummary or multibigwigsummary as input.", + "keywords": [ + "corrrelation", + "matrix", + "heatmap", + "scatterplot" + ], + "tools": [ + { + "deeptools": { + "description": "A set of user-friendly tools for normalization and visualization of deep-sequencing data", + "documentation": "https://deeptools.readthedocs.io/en/develop/index.html", + "tool_dev_url": "https://github.com/deeptools/deepTools", + "doi": "10.1093/nar/gku365", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "matrix": { + "type": "file", + "description": "compressed matrix file produced by\nmutlibamsummary or multibigwigsummary\n", + "pattern": "*.{npz}" + } + }, + { + "method": { + "type": "value", + "description": "Correlation coefficient to use for heatmap or scatterplot generation\n", + "pattern": "{spearman,pearson}" + } + }, + { + "plot_type": { + "type": "value", + "description": "Type of output plot to display sample correlation\n", + "pattern": "{heatmap,scatterplot}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "pdf": { + "type": "file", + "description": "Output figure containing resulting plot\n", + "pattern": "*.{plotCorrelation.pdf}" + } + }, + { + "matrix": { + "type": "file", + "description": "Tab-separated file containing a matrix of pairwise correlations\n", + "pattern": "*.{plotCorrelation.mat.tab}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@tamara-hodgetts", + "@chris-cheshire" + ] + }, + "pipelines": [ + { + "name": "cutandrun", + "version": "3.1" + } + ] + }, + { + "name": "deeptools_plotfingerprint", + "path": "modules/nf-core/deeptools/plotfingerprint/meta.yml", + "type": "module", + "meta": { + "name": "deeptools_plotfingerprint", + "description": "plots cumulative reads coverages by BAM file", + "keywords": [ + "plot", + "fingerprint", + "cumulative coverage", + "bam" + ], + "tools": [ + { + "deeptools": { + "description": "A set of user-friendly tools for normalization and visualization of deep-sequencing data", + "documentation": "https://deeptools.readthedocs.io/en/develop/index.html", + "tool_dev_url": "https://github.com/deeptools/deepTools", + "doi": "10.1093/nar/gku365", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "One or more BAM files", + "pattern": "*.{bam}" + } + }, + { + "bais": { + "type": "file", + "description": "Corresponding BAM file indexes", + "pattern": "*.bam.bai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "pdf": { + "type": "file", + "description": "Output figure containing resulting plot\n", + "pattern": "*.{plotFingerprint.pdf}" + } + }, + { + "matrix": { + "type": "file", + "description": "Output file summarizing the read counts per bin\n", + "pattern": "*.{plotFingerprint.raw.txt}" + } + }, + { + "metrics": { + "type": "file", + "description": "file containing BAM file quality metrics\n", + "pattern": "*.{qcmetrics.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@emiller88", + "@drpatelh", + "@joseespinosa" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "ssds", + "version": "dev" + } + ] + }, + { + "name": "deeptools_plotheatmap", + "path": "modules/nf-core/deeptools/plotheatmap/meta.yml", + "type": "module", + "meta": { + "name": "deeptools_plotheatmap", + "description": "plots values produced by deeptools_computematrix as a heatmap", + "keywords": [ + "plot", + "heatmap", + "scores", + "matrix" + ], + "tools": [ + { + "deeptools": { + "description": "A set of user-friendly tools for normalization and visualization of deep-sequencing data", + "documentation": "https://deeptools.readthedocs.io/en/develop/index.html", + "tool_dev_url": "https://github.com/deeptools/deepTools", + "doi": "10.1093/nar/gku365", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "matrix": { + "type": "file", + "description": "gzipped matrix file produced by deeptools_\ncomputematrix deeptools utility\n", + "pattern": "*.{mat.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "pdf": { + "type": "file", + "description": "Output figure containing resulting plot\n", + "pattern": "*.{plotHeatmap.pdf}" + } + }, + { + "matrix": { + "type": "file", + "description": "File containing the matrix of values\nused to generate the heatmap\n", + "pattern": "*.{plotHeatmap.mat.tab}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@emiller88", + "@drpatelh", + "@joseespinosa" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "cutandrun", + "version": "3.1" + } + ] + }, + { + "name": "deeptools_plotpca", + "path": "modules/nf-core/deeptools/plotpca/meta.yml", + "type": "module", + "meta": { + "name": "deeptools_plotpca", + "description": "Generates principal component analysis (PCA) plot using a compressed matrix generated by mutlibamsummary or multibigwigsummary as input.", + "keywords": [ + "PCA", + "matrix" + ], + "tools": [ + { + "deeptools": { + "description": "A set of user-friendly tools for normalization and visualization of deep-sequencing data", + "documentation": "https://deeptools.readthedocs.io/en/develop/index.html", + "tool_dev_url": "https://github.com/deeptools/deepTools", + "doi": "10.1093/nar/gku365", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "matrix": { + "type": "file", + "description": "compressed matrix file produced by\nmutlibamsummary or multibigwigsummary\n", + "pattern": "*.{npz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "pdf": { + "type": "file", + "description": "Output figure containing resulting plot\n", + "pattern": "*.{plotPCA.pdf}" + } + }, + { + "tab": { + "type": "file", + "description": "Tab file containing data used to generate the PCA plot\n", + "pattern": "*.{plotPCA.tab}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@tamara-hodgetts", + "@chris-cheshire" + ] + }, + "pipelines": [ + { + "name": "cutandrun", + "version": "3.1" + } + ] + }, + { + "name": "deeptools_plotprofile", + "path": "modules/nf-core/deeptools/plotprofile/meta.yml", + "type": "module", + "meta": { + "name": "deeptools_plotprofile", + "description": "plots values produced by deeptools_computematrix as a profile plot", + "keywords": [ + "plot", + "profile", + "scores", + "matrix" + ], + "tools": [ + { + "deeptools": { + "description": "A set of user-friendly tools for normalization and visualization of deep-sequencing data", + "documentation": "https://deeptools.readthedocs.io/en/develop/index.html", + "tool_dev_url": "https://github.com/deeptools/deepTools", + "doi": "10.1093/nar/gku365", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "matrix": { + "type": "file", + "description": "gzipped matrix file produced by deeptools_\ncomputematrix deeptools utility\n", + "pattern": "*.{mat.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "pdf": { + "type": "file", + "description": "Output figure containing resulting plot\n", + "pattern": "*.{plotProfile.pdf}" + } + }, + { + "matrix": { + "type": "file", + "description": "File containing the matrix of values\nused to generate the profile\n", + "pattern": "*.{plotProfile.mat.tab}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@emiller88", + "@drpatelh", + "@joseespinosa" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + } + ] + }, + { + "name": "deepvariant", + "path": "modules/nf-core/deepvariant/meta.yml", + "type": "module", + "meta": { + "name": "deepvariant", + "description": "DeepVariant is an analysis pipeline that uses a deep neural network to call genetic variants from next-generation DNA sequencing data", + "keywords": [ + "variant calling", + "machine learning", + "neural network" + ], + "tools": [ + { + "deepvariant": { + "description": "DeepVariant is an analysis pipeline that uses a deep neural network to call genetic variants from next-generation DNA sequencing data", + "homepage": "https://github.com/google/deepvariant", + "documentation": "https://github.com/google/deepvariant", + "tool_dev_url": "https://github.com/google/deepvariant", + "doi": "10.1038/nbt.4235", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.bam/cram" + } + }, + { + "index": { + "type": "file", + "description": "Index of BAM/CRAM file", + "pattern": "*.bai/crai" + } + }, + { + "interval": { + "type": "file", + "description": "Interval file for targeted regions", + "pattern": "*.bed" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fai" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "gzi": { + "type": "file", + "description": "GZI index of reference fasta file", + "pattern": "*.gzi" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "gvcf": { + "type": "file", + "description": "Compressed GVCF file", + "pattern": "*.g.vcf.gz" + } + }, + { + "version": { + "type": "file", + "description": "File containing software version", + "pattern": "*.{version.txt}" + } + } + ], + "authors": [ + "@abhi18av", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "delly_call", + "path": "modules/nf-core/delly/call/meta.yml", + "type": "module", + "meta": { + "name": "delly_call", + "description": "Call structural variants", + "keywords": [ + "genome", + "structural", + "variants", + "bcf" + ], + "tools": [ + { + "delly": { + "description": "Structural variant discovery by integrated paired-end and split-read analysis", + "homepage": "https://github.com/dellytools/delly", + "documentation": "https://github.com/dellytools/delly/blob/master/README.md", + "doi": "10.1093/bioinformatics/bts378", + "licence": [ + "BSD-3-Clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file from alignment must be sorted, indexed, and duplicate marked", + "pattern": "*.{bam,cram}" + } + }, + { + "input_index": { + "type": "file", + "description": "Index of the BAM/CRAM file", + "pattern": "*.{bai,crai}" + } + }, + { + "vcf": { + "type": "file", + "description": "A BCF/VCF file to genotype with Delly. If this is supplied, the variant calling will be skipped", + "pattern": "*.{vcf.gz,bcf}" + } + }, + { + "vcf_index": { + "type": "file", + "description": "The index of the BCF/VCF file", + "pattern": "*.{tbi,csi}" + } + }, + { + "exclude_bed": { + "type": "file", + "description": "An optional bed file containing regions to exclude from the called VCF", + "pattern": "*.bed" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file to identify split-reads", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bcf": { + "type": "file", + "description": "Called variants in BCF/VCF format. Specify either \"bcf\" or \"vcf\" in ext.suffix to define the output type", + "pattern": "*.{bcf,vcf.gz}" + } + }, + { + "csi": { + "type": "file", + "description": "A generated csi index that matches the bcf output (not generated for vcf files)", + "pattern": "*.{bcf.csi}" + } + } + ], + "authors": [ + "@projectoriented", + "@nvnieuwk" + ] + } + }, + { + "name": "deseq2_differential", + "path": "modules/nf-core/deseq2/differential/meta.yml", + "type": "module", + "meta": { + "name": "deseq2_differential", + "description": "runs a differential expression analysis with DESeq2", + "keywords": [ + "differential", + "expression", + "rna-seq", + "deseq2" + ], + "tools": [ + { + "deseq2": { + "description": "Differential gene expression analysis based on the negative binomial distribution", + "homepage": "https://bioconductor.org/packages/release/bioc/html/DESeq2.html", + "documentation": "https://bioconductor.org/packages/release/bioc/vignettes/DESeq2/inst/doc/DESeq2.html", + "tool_dev_url": "https://github.com/mikelove/DESeq2", + "doi": "10.1186/s13059-014-0550-8", + "licence": "['LGPL >=3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing contrast information. This can be used at the\nworkflow level to pass optional parameters to the module, e.g.\n[ id:'contrast1', blocking:'patient' ] passed in as ext.args like:\n'--blocking_variable $meta.blocking'.\n" + } + }, + { + "contrast_variable": { + "type": "string", + "description": "The column in the sample sheet that should be used to define groups for\ncomparison\n" + } + }, + { + "reference": { + "type": "string", + "description": "The value within the contrast_variable column of the sample sheet that\nshould be used to derive the reference samples\n" + } + }, + { + "target": { + "type": "string", + "description": "The value within the contrast_variable column of the sample sheet that\nshould be used to derive the target samples\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy map containing study-wide metadata related to the sample sheet\nand matrix\n" + } + }, + { + "sample": { + "type": "file", + "description": "CSV or TSV format sample sheet with sample metadata\n" + } + }, + { + "counts": { + "type": "file", + "description": "Raw TSV or CSV format expression matrix as output from the nf-core\nRNA-seq workflow\n" + } + }, + { + "control_genes": { + "type": "file", + "description": "Text file listing control genes, one per line\n" + } + }, + { + "control_genes_meta": { + "type": "file", + "description": "Meta map describing control genes, e.g. [ id: 'ERCC' ]\n" + } + }, + { + "sizefactors_from_controls": { + "type": "boolean", + "description": "Specify if any supplied control genes should just be stripped to\nprevent bias in conventional normalisation (default), or used to\ngenerate the size factors (supplied via task.ext.args like\n'--sizefactors_from_controls TRUE').\n" + } + } + ], + "output": [ + { + "results": { + "type": "file", + "description": "TSV-format table of differential expression information as output by DESeq2", + "pattern": "deseq2.results.tsv" + } + }, + { + "dispersion_plot": { + "type": "file", + "description": "DESeq2 dispersion plot", + "pattern": "deseq2.dispersion.png" + } + }, + { + "rdata": { + "type": "file", + "description": "Serialised DESeq2 object", + "pattern": "dds.rld.rds" + } + }, + { + "sizefactors": { + "type": "file", + "description": "Size factors", + "pattern": "deseq2.sizefactors.tsv" + } + }, + { + "normalised_counts": { + "type": "file", + "description": "TSV-format counts matrix, normalised to size factors", + "pattern": "normalised_counts.tsv" + } + }, + { + "variance_stabilised_counts": { + "type": "file", + "description": "TSV-format counts matrix, normalised to size factors, with variance stabilisation applied", + "pattern": "variance_stabilised_counts.tsv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@pinin4fjords" + ] + }, + "pipelines": [ + { + "name": "differentialabundance", + "version": "1.2.0" + } + ] + }, + { + "name": "diamond_blastp", + "path": "modules/nf-core/diamond/blastp/meta.yml", + "type": "module", + "meta": { + "name": "diamond_blastp", + "description": "Queries a DIAMOND database using blastp mode", + "keywords": [ + "fasta", + "diamond", + "blastp", + "DNA sequence" + ], + "tools": [ + { + "diamond": { + "description": "Accelerated BLAST compatible local sequence aligner", + "homepage": "https://github.com/bbuchfink/diamond", + "documentation": "https://github.com/bbuchfink/diamond/wiki", + "tool_dev_url": "https://github.com/bbuchfink/diamond", + "doi": "10.1038/s41592-021-01101-x", + "licence": [ + "GPL v3.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input fasta file containing query sequences", + "pattern": "*.{fa,fasta}" + } + }, + { + "db": { + "type": "directory", + "description": "Directory containing the protein blast database", + "pattern": "*" + } + }, + { + "out_ext": { + "type": "string", + "description": "Specify the type of output file to be generated. `blast` corresponds to\nBLAST pairwise format. `xml` corresponds to BLAST xml format.\n`txt` corresponds to to BLAST tabular format. `tsv` corresponds to\ntaxonomic classification format.\n", + "pattern": "blast|xml|txt|daa|sam|tsv|paf" + } + }, + { + "blast_columns": { + "type": "string", + "description": "Optional space separated list of DIAMOND tabular BLAST output keywords\nused for in conjunction with the 'txt' out_ext option (--outfmt 6). See\nDIAMOND documnetation for more information.\n" + } + } + ], + "output": [ + { + "blast": { + "type": "file", + "description": "File containing blastp hits", + "pattern": "*.{blast}" + } + }, + { + "xml": { + "type": "file", + "description": "File containing blastp hits", + "pattern": "*.{xml}" + } + }, + { + "txt": { + "type": "file", + "description": "File containing hits in tabular BLAST format.", + "pattern": "*.{txt}" + } + }, + { + "daa": { + "type": "file", + "description": "File containing hits DAA format", + "pattern": "*.{daa}" + } + }, + { + "sam": { + "type": "file", + "description": "File containing aligned reads in SAM format", + "pattern": "*.{sam}" + } + }, + { + "tsv": { + "type": "file", + "description": "Tab separated file containing taxonomic classification of hits", + "pattern": "*.{tsv}" + } + }, + { + "paf": { + "type": "file", + "description": "File containing aligned reads in pairwise mapping format format", + "pattern": "*.{paf}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@spficklin", + "@jfy133" + ] + } + }, + { + "name": "diamond_blastx", + "path": "modules/nf-core/diamond/blastx/meta.yml", + "type": "module", + "meta": { + "name": "diamond_blastx", + "description": "Queries a DIAMOND database using blastx mode", + "keywords": [ + "fasta", + "diamond", + "blastx", + "DNA sequence" + ], + "tools": [ + { + "diamond": { + "description": "Accelerated BLAST compatible local sequence aligner", + "homepage": "https://github.com/bbuchfink/diamond", + "documentation": "https://github.com/bbuchfink/diamond/wiki", + "tool_dev_url": "https://github.com/bbuchfink/diamond", + "doi": "10.1038/s41592-021-01101-x", + "licence": [ + "GPL v3.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input fasta file containing query sequences", + "pattern": "*.{fa,fasta}" + } + }, + { + "db": { + "type": "directory", + "description": "Directory containing the nucelotide blast database", + "pattern": "*" + } + }, + { + "out_ext": { + "type": "string", + "description": "Specify the type of output file to be generated. `blast` corresponds to\nBLAST pairwise format. `xml` corresponds to BLAST xml format.\n`txt` corresponds to to BLAST tabular format. `tsv` corresponds to\ntaxonomic classification format.\n", + "pattern": "blast|xml|txt|daa|sam|tsv|paf" + } + } + ], + "output": [ + { + "blast": { + "type": "file", + "description": "File containing blastp hits", + "pattern": "*.{blast}" + } + }, + { + "xml": { + "type": "file", + "description": "File containing blastp hits", + "pattern": "*.{xml}" + } + }, + { + "txt": { + "type": "file", + "description": "File containing hits in tabular BLAST format.", + "pattern": "*.{txt}" + } + }, + { + "daa": { + "type": "file", + "description": "File containing hits DAA format", + "pattern": "*.{daa}" + } + }, + { + "sam": { + "type": "file", + "description": "File containing aligned reads in SAM format", + "pattern": "*.{sam}" + } + }, + { + "tsv": { + "type": "file", + "description": "Tab separated file containing taxonomic classification of hits", + "pattern": "*.{tsv}" + } + }, + { + "paf": { + "type": "file", + "description": "File containing aligned reads in pairwise mapping format format", + "pattern": "*.{paf}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "log": { + "type": "file", + "description": "Log file containing stdout information", + "pattern": "*.{log}" + } + } + ], + "authors": [ + "@spficklin", + "@jfy133", + "@mjamy" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "diamond_makedb", + "path": "modules/nf-core/diamond/makedb/meta.yml", + "type": "module", + "meta": { + "name": "diamond_makedb", + "description": "Builds a DIAMOND database", + "keywords": [ + "fasta", + "diamond", + "index", + "database" + ], + "tools": [ + { + "diamond": { + "description": "Accelerated BLAST compatible local sequence aligner", + "homepage": "https://github.com/bbuchfink/diamond", + "documentation": "https://github.com/bbuchfink/diamond/wiki", + "tool_dev_url": "https://github.com/bbuchfink/diamond", + "doi": "10.1038/s41592-021-01101-x", + "licence": [ + "GPL v3.0" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Input fasta file", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "db": { + "type": "file", + "description": "File of the indexed DIAMOND database", + "pattern": "*.{dmnd}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@spficklin" + ] + } + }, + { + "name": "dragmap_align", + "path": "modules/nf-core/dragmap/align/meta.yml", + "type": "module", + "meta": { + "name": "dragmap_align", + "description": "Performs fastq alignment to a reference using DRAGMAP", + "keywords": [ + "alignment", + "map", + "fastq", + "bam", + "sam" + ], + "tools": [ + { + "dragmap": { + "description": "Dragmap is the Dragen mapper/aligner Open Source Software.", + "homepage": "https://github.com/Illumina/dragmap", + "documentation": "https://github.com/Illumina/dragmap", + "tool_dev_url": "https://github.com/Illumina/dragmap#basic-command-line-usage", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "hashmap": { + "type": "file", + "description": "DRAGMAP hash table", + "pattern": "Directory containing DRAGMAP hash table *.{cmp,.bin,.txt}" + } + } + ], + "output": [ + { + "bam": { + "type": "file", + "description": "Output BAM file containing read alignments", + "pattern": "*.{bam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Emiller88" + ] + }, + "pipelines": [ + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "dragmap_hashtable", + "path": "modules/nf-core/dragmap/hashtable/meta.yml", + "type": "module", + "meta": { + "name": "dragmap_hashtable", + "description": "Create DRAGEN hashtable for reference genome", + "keywords": [ + "index", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "dragmap": { + "description": "Dragmap is the Dragen mapper/aligner Open Source Software.", + "homepage": "https://github.com/Illumina/dragmap", + "documentation": "https://github.com/Illumina/dragmap", + "tool_dev_url": "https://github.com/Illumina/dragmap#basic-command-line-usage", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input genome fasta file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "hashmap": { + "type": "file", + "description": "DRAGMAP hash table", + "pattern": "*.{cmp,.bin,.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Emiller88" + ] + }, + "pipelines": [ + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "dragonflye", + "path": "modules/nf-core/dragonflye/meta.yml", + "type": "module", + "meta": { + "name": "dragonflye", + "description": "Assemble bacterial isolate genomes from Nanopore reads", + "keywords": [ + "bacterial", + "assembly", + "nanopore" + ], + "tools": [ + { + "dragonflye": { + "description": "Microbial assembly pipeline for Nanopore reads", + "homepage": "https://github.com/rpetit3/dragonflye", + "documentation": "https://github.com/rpetit3/dragonflye/blob/main/README.md", + "licence": [ + "GPL v2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Input Nanopore FASTQ file", + "pattern": "*.fastq.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "contigs": { + "type": "file", + "description": "The final assembly produced by Dragonflye", + "pattern": "contigs.fa" + } + }, + { + "log": { + "type": "file", + "description": "Full log file for bug reporting", + "pattern": "dragonflye.log" + } + }, + { + "raw_contigs": { + "type": "file", + "description": "Raw assembly produced by the assembler (Flye, Miniasm, or Raven)", + "pattern": "{flye,miniasm,raven}.fasta" + } + }, + { + "txt": { + "type": "file", + "description": "Assembly information output by Flye", + "pattern": "flye-info.txt" + } + }, + { + "gfa": { + "type": "file", + "description": "Assembly graph produced by Miniasm, or Raven", + "pattern": "{miniasm,raven}-unpolished.gfa" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "dshbio_exportsegments", + "path": "modules/nf-core/dshbio/exportsegments/meta.yml", + "type": "module", + "meta": { + "name": "dshbio_exportsegments", + "description": "Export assembly segment sequences in GFA 1.0 format to FASTA format", + "keywords": [ + "gfa", + "assembly", + "segment" + ], + "tools": [ + { + "dshbio": { + "description": "Reads, features, variants, assemblies, alignments, genomic range trees, pangenome\ngraphs, and a bunch of random command line tools for bioinformatics. LGPL version 3\nor later.\n", + "homepage": "https://github.com/heuermh/dishevelled-bio", + "documentation": "https://github.com/heuermh/dishevelled-bio", + "licence": [ + "LGPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gfa": { + "type": "file", + "description": "Assembly segments in uncompressed or compressed GFA 1.0 format", + "pattern": "*.{gfa|gfa.bgz|gfa.gz|gfa.zst}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Assembly segment sequences in gzipped FASTA format", + "pattern": "*.{fa.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@heuermh" + ] + } + }, + { + "name": "dshbio_filterbed", + "path": "modules/nf-core/dshbio/filterbed/meta.yml", + "type": "module", + "meta": { + "name": "dshbio_filterbed", + "description": "Filter features in gzipped BED format", + "keywords": [ + "bed" + ], + "tools": [ + { + "dshbio": { + "description": "Reads, features, variants, assemblies, alignments, genomic range trees, pangenome\ngraphs, and a bunch of random command line tools for bioinformatics. LGPL version 3\nor later.\n", + "homepage": "https://github.com/heuermh/dishevelled-bio", + "documentation": "https://github.com/heuermh/dishevelled-bio", + "licence": [ + "LGPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Features in gzipped BED format", + "pattern": "*.{bed.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Features in gzipped BED format", + "pattern": "*.{bed.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@heuermh" + ] + } + }, + { + "name": "dshbio_filtergff3", + "path": "modules/nf-core/dshbio/filtergff3/meta.yml", + "type": "module", + "meta": { + "name": "dshbio_filtergff3", + "description": "Filter features in gzipped GFF3 format", + "keywords": [ + "gff3" + ], + "tools": [ + { + "dshbio": { + "description": "Reads, features, variants, assemblies, alignments, genomic range trees, pangenome\ngraphs, and a bunch of random command line tools for bioinformatics. LGPL version 3\nor later.\n", + "homepage": "https://github.com/heuermh/dishevelled-bio", + "documentation": "https://github.com/heuermh/dishevelled-bio", + "licence": [ + "LGPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gff3": { + "type": "file", + "description": "Features in gzipped GFF3 format", + "pattern": "*.{gff3.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gff3": { + "type": "file", + "description": "Features in gzipped GFF3 format", + "pattern": "*.{gff3.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@heuermh" + ] + } + }, + { + "name": "dshbio_splitbed", + "path": "modules/nf-core/dshbio/splitbed/meta.yml", + "type": "module", + "meta": { + "name": "dshbio_splitbed", + "description": "Split features in gzipped BED format", + "keywords": [ + "bed" + ], + "tools": [ + { + "dshbio": { + "description": "Reads, features, variants, assemblies, alignments, genomic range trees, pangenome\ngraphs, and a bunch of random command line tools for bioinformatics. LGPL version 3\nor later.\n", + "homepage": "https://github.com/heuermh/dishevelled-bio", + "documentation": "https://github.com/heuermh/dishevelled-bio", + "licence": [ + "LGPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Features in gzipped BED format to split", + "pattern": "*.{bed.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Features in split gzipped BED formatted files", + "pattern": "*.{bed.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@heuermh" + ] + } + }, + { + "name": "dshbio_splitgff3", + "path": "modules/nf-core/dshbio/splitgff3/meta.yml", + "type": "module", + "meta": { + "name": "dshbio_splitgff3", + "description": "Split features in gzipped GFF3 format", + "keywords": [ + "gff3" + ], + "tools": [ + { + "dshbio": { + "description": "Reads, features, variants, assemblies, alignments, genomic range trees, pangenome\ngraphs, and a bunch of random command line tools for bioinformatics. LGPL version 3\nor later.\n", + "homepage": "https://github.com/heuermh/dishevelled-bio", + "documentation": "https://github.com/heuermh/dishevelled-bio", + "licence": [ + "LGPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gff3": { + "type": "file", + "description": "Features in gzipped GFF3 format to split", + "pattern": "*.{gff3.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gff3": { + "type": "file", + "description": "Features in split gzipped GFF3 formatted files", + "pattern": "*.{gff3.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@heuermh" + ] + } + }, + { + "name": "duphold", + "path": "modules/nf-core/duphold/meta.yml", + "type": "module", + "meta": { + "name": "duphold", + "description": "SV callers like lumpy look at split-reads and pair distances to find structural variants. This tool is a fast way to add depth information to those calls. This can be used as additional information for filtering variants; for example we will be skeptical of deletion calls that do not have lower than average coverage compared to regions with similar gc-content.", + "keywords": [ + "sort" + ], + "tools": [ + { + "duphold": { + "description": "SV callers like lumpy look at split-reads and pair distances to find structural variants. This tool is a fast way to add depth information to those calls.", + "homepage": "https://github.com/brentp/duphold", + "documentation": "https://github.com/brentp/duphold", + "tool_dev_url": "https://github.com/brentp/duphold", + "doi": "10.1093/gigascience/giz040", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "aligment_file": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "aligment_file_index": { + "type": "file", + "description": "Index of the BAM/CRAM file", + "pattern": "*.{bai,crai}" + } + }, + { + "sv_variants": { + "type": "file", + "description": "A variants file containing structural variants", + "pattern": "*.{vcf,bcf}(.gz)?" + } + }, + { + "snp_variants": { + "type": "file", + "description": "A variants file containing SNPs", + "pattern": "*.{vcf,bcf}(.gz)?" + } + }, + { + "snp_variants": { + "type": "file", + "description": "The index of the variants file containing SNPs", + "pattern": "*.tbi" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "The output VCF", + "pattern": "*.vcf.gz" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "ectyper", + "path": "modules/nf-core/ectyper/meta.yml", + "type": "module", + "meta": { + "name": "ectyper", + "description": "In silico prediction of E. coli serotype", + "keywords": [ + "escherichia coli", + "fasta", + "serotype" + ], + "tools": [ + { + "ectyper": { + "description": "ECtyper is a python program for serotyping E. coli genomes", + "homepage": "https://github.com/phac-nml/ecoli_serotyping", + "documentation": "https://github.com/phac-nml/ecoli_serotyping", + "tool_dev_url": "https://github.com/phac-nml/ecoli_serotyping", + "licence": [ + "Apache 2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA formatted assembly file", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "log": { + "type": "file", + "description": "ectyper log output", + "pattern": "*.log" + } + }, + { + "tsv": { + "type": "file", + "description": "ectyper serotyping results in TSV format", + "pattern": "*.tsv" + } + }, + { + "txt": { + "type": "file", + "description": "Allele report generated from BLAST results", + "pattern": "*.tst" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "eido_convert", + "path": "modules/nf-core/eido/convert/meta.yml", + "type": "module", + "meta": { + "name": "eido_convert", + "description": "Convert any PEP project or Nextflow samplesheet to any format", + "keywords": [ + "eido", + "convert", + "PEP", + "format", + "samplesheet" + ], + "tools": [ + { + "eido": { + "description": "Convert any PEP project or Nextflow samplesheet to any format", + "homepage": "http://eido.databio.org/en/latest/", + "documentation": "http://eido.databio.org/en/latest/", + "doi": "10.1093/gigascience/giab077", + "licence": "BSD-2-Clause" + } + } + ], + "input": [ + { + "samplesheet": { + "type": "file", + "description": "Nextflow samplesheet or PEP project", + "pattern": "*.{yaml,yml,csv}" + } + }, + { + "format": { + "type": "string", + "description": "Extension of an output file" + } + }, + { + "pep_input_base_dir": { + "type": "file", + "description": "Optional path to the directory where files specified in a PEP config file are stored. Any paths specified in the config will need to be relative to this base directory." + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "samplesheet_converted": { + "type": "file", + "description": "PEP project or samplesheet converted to csv file" + } + } + ], + "authors": [ + "@rafalstepien" + ] + } + }, + { + "name": "eido_validate", + "path": "modules/nf-core/eido/validate/meta.yml", + "type": "module", + "meta": { + "name": "eido_validate", + "description": "Validate samplesheet or PEP config against a schema", + "keywords": [ + "eido", + "validate", + "schema", + "format", + "pep" + ], + "tools": [ + { + "validate": { + "description": "Validate samplesheet or PEP config against a schema.", + "homepage": "http://eido.databio.org/en/latest/", + "documentation": "http://eido.databio.org/en/latest/", + "doi": "10.1093/gigascience/giab077", + "licence": "BSD-2-Clause" + } + } + ], + "input": [ + { + "samplesheet": { + "type": "file", + "description": "Samplesheet or PEP file to be validated", + "pattern": "*.{yaml,yml,csv}" + } + }, + { + "schema": { + "type": "file", + "description": "Schema that the samplesheet will be validated against", + "pattern": "*.{yaml,yml}" + } + }, + { + "pep_input_base_dir": { + "type": "file", + "description": "Optional path to the directory where files specified in a PEP config file are stored. Any paths specified in the config will need to be relative to this base directory." + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "log": { + "type": "file", + "description": "File containing validation log.", + "pattern": "*.log" + } + } + ], + "authors": [ + "@rafalstepien" + ] + } + }, + { + "name": "eigenstratdatabasetools_eigenstratsnpcoverage", + "path": "modules/nf-core/eigenstratdatabasetools/eigenstratsnpcoverage/meta.yml", + "type": "module", + "meta": { + "name": "eigenstratdatabasetools_eigenstratsnpcoverage", + "description": "Provide the SNP coverage of each individual in an eigenstrat formatted dataset.", + "keywords": [ + "coverage", + "eigenstrat", + "eigenstratdatabasetools", + "snp", + "snps" + ], + "tools": [ + { + "eigenstratdatabasetools": { + "description": "A set of tools to compare and manipulate the contents of EingenStrat databases, and to calculate SNP coverage statistics in such databases.", + "documentation": "https://github.com/TCLamnidis/EigenStratDatabaseTools/README.md", + "tool_dev_url": "https://github.com/TCLamnidis/EigenStratDatabaseTools", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "geno": { + "type": "file", + "description": "An Eigenstrat formatted genotype file", + "pattern": "*.{geno}" + } + }, + { + "snp": { + "type": "file", + "description": "An Eigenstrat formatted snp file", + "pattern": "*.{snp}" + } + }, + { + "ind": { + "type": "file", + "description": "An Eigenstrat formatted individual file", + "pattern": "*.{ind}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "A TSV table with the number of covered SNPs per individual.", + "pattern": "*.{tsv}" + } + }, + { + "json": { + "type": "file", + "description": "A json table with the number of covered SNPs per individual.", + "pattern": "*.{json}" + } + } + ], + "authors": [ + "@TCLamnidis" + ] + } + }, + { + "name": "eklipse", + "path": "modules/nf-core/eklipse/meta.yml", + "type": "module", + "meta": { + "name": "eklipse", + "description": "tool for detection and quantification of large mtDNA rearrangements.", + "keywords": [ + "eklipse", + "mitochondria", + "mtDNA", + "circos", + "deletion", + "SV" + ], + "tools": [ + { + "eklipse": { + "description": "tool for detection and quantification of large mtDNA rearrangements.", + "homepage": "https://github.com/dooguypapua/eKLIPse/tree/master", + "documentation": "https://github.com/dooguypapua/eKLIPse/tree/master", + "tool_dev_url": "https://github.com/dooguypapua/eKLIPse/tree/master", + "doi": "10.1038/s41436-018-0350-8", + "licence": [ + "GNU General Public v3 or later (GPL v3+)" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "MT BAM/SAM file", + "pattern": "*.{bam,sam}" + } + }, + { + "bai": { + "type": "file", + "description": "MT BAM/SAM index file", + "pattern": "*.{bai,sai}" + } + }, + { + "ref_gb": { + "type": "file", + "description": "mtDNA reference genome in Genbank format, optional if empty NC_012920.1.gb will be used", + "pattern": "*.{gb}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "csv": { + "type": "file", + "description": "csv file containing deletions", + "pattern": "*.{csv}" + } + }, + { + "circos": { + "type": "file", + "description": "png file with circos plot of mt", + "pattern": "*.{png}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Lucpen" + ] + } + }, + { + "name": "elprep_filter", + "path": "modules/nf-core/elprep/filter/meta.yml", + "type": "module", + "meta": { + "name": "elprep_filter", + "description": "Filter, sort and markdup sam/bam files, with optional BQSR and variant calling.", + "keywords": [ + "sort", + "bam", + "sam", + "filter", + "variant calling" + ], + "tools": [ + { + "elprep": { + "description": "elPrep is a high-performance tool for preparing .sam/.bam files for variant calling in sequencing pipelines. It can be used as a drop-in replacement for SAMtools/Picard/GATK4.", + "homepage": "https://github.com/ExaScience/elprep", + "documentation": "https://github.com/ExaScience/elprep", + "tool_dev_url": "https://github.com/ExaScience/elprep", + "doi": "10.1371/journal.pone.0244471", + "licence": "['AGPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Input SAM/BAM file", + "pattern": "*.{bam,sam}" + } + }, + { + "run_haplotypecaller": { + "type": "boolean", + "description": "Run variant calling on the input files. Needed to generate gvcf output." + } + }, + { + "run_bqsr": { + "type": "boolean", + "description": "Run BQSR on the input files. Needed to generate recall metrics." + } + }, + { + "reference_sequences": { + "type": "file", + "description": "Optional SAM header to replace existing header.", + "pattern": "*.sam" + } + }, + { + "filter_regions_bed": { + "type": "file", + "description": "Optional BED file containing regions to filter.", + "pattern": "*.bed" + } + }, + { + "reference_elfasta": { + "type": "file", + "description": "Elfasta file, required for BQSR and variant calling.", + "pattern": "*.elfasta" + } + }, + { + "known_sites": { + "type": "file", + "description": "Optional elsites file containing known SNPs for BQSR.", + "pattern": "*.elsites" + } + }, + { + "target_regions_bed": { + "type": "file", + "description": "Optional BED file containing target regions for BQSR and variant calling.", + "pattern": "*.bed" + } + }, + { + "intermediate_bqsr_tables": { + "type": "file", + "description": "Optional list of BQSR tables, used when parsing files created by `elprep split`", + "pattern": "*.table" + } + }, + { + "bqsr_tables_only": { + "type": "boolean", + "description": "Write intermediate BQSR tables, used when parsing files created by `elprep split`." + } + }, + { + "get_activity_profile": { + "type": "boolean", + "description": "Get the activity profile calculated by the haplotypecaller to the given file in IGV format." + } + }, + { + "get_assembly_regions": { + "type": "boolean", + "description": "Get the assembly regions calculated by haplotypecaller to the speficied file in IGV format." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted, markdup, optionally BQSR BAM/SAM file", + "pattern": "*.{bam,sam}" + } + }, + { + "metrics": { + "type": "file", + "description": "Optional duplicate metrics file generated by elprep", + "pattern": "*.{metrics.txt}" + } + }, + { + "recall": { + "type": "file", + "description": "Optional recall metrics file generated by elprep", + "pattern": "*.{recall}" + } + }, + { + "gvcf": { + "type": "file", + "description": "Optional GVCF output file", + "pattern": "*.{vcf.gz}" + } + }, + { + "table": { + "type": "file", + "description": "Optional intermediate BQSR table output file", + "pattern": "*.{table}" + } + }, + { + "activity_profile": { + "type": "file", + "description": "Optional activity profile output file", + "pattern": "*.{activity_profile.igv}" + } + }, + { + "assembly_regions": { + "type": "file", + "description": "Optional activity regions output file", + "pattern": "*.{assembly_regions.igv}" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "elprep_merge", + "path": "modules/nf-core/elprep/merge/meta.yml", + "type": "module", + "meta": { + "name": "elprep_merge", + "description": "Merge split bam/sam chunks in one file", + "keywords": [ + "bam", + "sam", + "merge" + ], + "tools": [ + { + "elprep": { + "description": "elPrep is a high-performance tool for preparing .sam/.bam files for variant calling in sequencing pipelines. It can be used as a drop-in replacement for SAMtools/Picard/GATK4.", + "homepage": "https://github.com/ExaScience/elprep", + "documentation": "https://github.com/ExaScience/elprep", + "tool_dev_url": "https://github.com/ExaScience/elprep", + "doi": "10.1371/journal.pone.0244471", + "licence": "['AGPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "List of BAM/SAM chunks to merge", + "pattern": "*.{bam,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Merged BAM/SAM file", + "pattern": "*.{bam,sam}" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "elprep_split", + "path": "modules/nf-core/elprep/split/meta.yml", + "type": "module", + "meta": { + "name": "elprep_split", + "description": "Split bam file into manageable chunks", + "keywords": [ + "bam", + "split by chromosome" + ], + "tools": [ + { + "elprep": { + "description": "elPrep is a high-performance tool for preparing .sam/.bam files for variant calling in sequencing pipelines. It can be used as a drop-in replacement for SAMtools/Picard/GATK4.", + "homepage": "https://github.com/ExaScience/elprep", + "documentation": "https://github.com/ExaScience/elprep", + "tool_dev_url": "https://github.com/ExaScience/elprep", + "doi": "10.1371/journal.pone.0244471", + "licence": "['AGPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "List of BAM/SAM files", + "pattern": "*.{bam,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "List of split BAM/SAM files", + "pattern": "*.{bam,sam}" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "emboss_cons", + "path": "modules/nf-core/emboss/cons/meta.yml", + "type": "module", + "meta": { + "name": "emboss_cons", + "description": "cons calculates a consensus sequence from a multiple sequence alignment. To obtain the consensus, the sequence weights and a scoring matrix are used to calculate a score for each amino acid residue or nucleotide at each position in the alignment.", + "keywords": [ + "emboss", + "consensus", + "fasta", + "multiple sequence alignment", + "MSA" + ], + "tools": [ + { + "emboss": { + "description": "The European Molecular Biology Open Software Suite", + "homepage": "https://www.ebi.ac.uk/Tools/sfc/emboss_seqret/", + "documentation": "https://emboss.bioinformatics.nl/cgi-bin/emboss/help/seqret", + "tool_dev_url": "http://emboss.open-bio.org/", + "doi": "10.1016/s0168-9525(00)02024-2 ", + "licence": [ + "GPL" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Multiple sequence alignment (unzipped)", + "pattern": "*.{fasta,fa,fas,fsa,seq,mpfa,aln,clustal,clw,msf,phy,phylip,stockholm,sto,msf,afa,afa,a}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "consensus": { + "type": "file", + "description": "Consensus sequence calculated from multiple sequence alignment", + "pattern": "*.fa" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "emboss_seqret", + "path": "modules/nf-core/emboss/seqret/meta.yml", + "type": "module", + "meta": { + "name": "emboss_seqret", + "description": "Reads in one or more sequences, converts, filters, or transforms them and writes them out again", + "keywords": [ + "emboss", + "gff", + "embl", + "genbank", + "fasta", + "convert", + "swissprot" + ], + "tools": [ + { + "emboss": { + "description": "The European Molecular Biology Open Software Suite", + "homepage": "https://www.ebi.ac.uk/Tools/sfc/emboss_seqret/", + "documentation": "https://emboss.bioinformatics.nl/cgi-bin/emboss/help/seqret", + "tool_dev_url": "http://emboss.open-bio.org/", + "doi": "10.1016/s0168-9525(00)02024-2 ", + "licence": [ + "GPL" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sequence": { + "type": "file", + "description": "Input sequence query", + "pattern": "*.{gff,em,gb,refseq,pir,swiss,sw,txt}" + } + }, + { + "out_ext": { + "type": "string", + "description": "File extension of the output file. Unless otherwise set by a flag in `ext.args`, the extension dictates the output file format." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "outseq": { + "type": "file", + "description": "Converted sequence file", + "pattern": "*" + } + } + ], + "authors": [ + "@MillironX" + ] + } + }, + { + "name": "emmtyper", + "path": "modules/nf-core/emmtyper/meta.yml", + "type": "module", + "meta": { + "name": "emmtyper", + "description": "EMM typing of Streptococcus pyogenes assemblies", + "keywords": [ + "fasta", + "Streptococcus pyogenes", + "typing" + ], + "tools": [ + { + "emmtyper": { + "description": "Streptococcus pyogenes in silico EMM typer", + "homepage": "https://github.com/MDU-PHL/emmtyper", + "documentation": "https://github.com/MDU-PHL/emmtyper", + "tool_dev_url": "https://github.com/MDU-PHL/emmtyper", + "licence": [ + "GNU General Public v3 (GPL v3)" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA assembly file", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "Tab-delimited result file", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "endorspy", + "path": "modules/nf-core/endorspy/meta.yml", + "type": "module", + "meta": { + "name": "endorspy", + "description": "endorS.py calculates endogenous DNA from samtools flagstat files and print to screen", + "keywords": [ + "endogenous DNA", + "ancient DNA", + "percent on target", + "statistics" + ], + "tools": [ + { + "endorspy": { + "description": "endorS.py calculates percent on target and/or clonality from samtools flagstat files and print to screen", + "homepage": "https://github.com/aidaanva/endorS.py", + "documentation": "https://github.com/aidaanva/endorS.py", + "tool_dev_url": "https://github.com/aidaanva/endorS.py", + "doi": "10.7717/peerj.10947", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "stats_raw": { + "type": "file", + "description": "output of samtools flagstat in a txt file, assumes no quality filtering nor duplicate removal performed" + } + }, + { + "stats_qualityfiltered": { + "type": "file", + "description": "output of samtools flagstat in a txt file, assumes some form of quality or length filtering has been performed, must be provided with at least one of the options -r or -d" + } + }, + { + "stats_deduplicated": { + "type": "file", + "description": "output of samtools flagstat in a txt file, whereby duplicate removal has been performed on the input reads" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "file with the endogenous DNA calculation tailored for multiQC", + "pattern": "*_mqc.json" + } + } + ], + "authors": [ + "@aidaanva" + ] + } + }, + { + "name": "ensemblvep_download", + "path": "modules/nf-core/ensemblvep/download/meta.yml", + "type": "module", + "meta": { + "name": "ENSEMBLVEP_DOWNLOAD", + "description": "Ensembl Variant Effect Predictor (VEP). The cache downloading options are controlled through `task.ext.args`.", + "keywords": [ + "annotation", + "cache", + "download" + ], + "tools": [ + { + "ensemblvep": { + "description": "VEP determines the effect of your variants (SNPs, insertions, deletions, CNVs\nor structural variants) on genes, transcripts, and protein sequence, as well as regulatory regions.\n", + "homepage": "https://www.ensembl.org/info/docs/tools/vep/index.html", + "documentation": "https://www.ensembl.org/info/docs/tools/vep/script/index.html", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "assembly": { + "type": "string", + "description": "Genome assembly\n" + } + }, + { + "species": { + "type": "string", + "description": "Specie\n" + } + }, + { + "cache_version": { + "type": "string", + "description": "cache version\n" + } + } + ], + "output": [ + { + "cache": { + "type": "file", + "description": "cache", + "pattern": "*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "ensemblvep_vep", + "path": "modules/nf-core/ensemblvep/vep/meta.yml", + "type": "module", + "meta": { + "name": "ENSEMBLVEP_VEP", + "description": "Ensembl Variant Effect Predictor (VEP). The output-file-format is controlled through `task.ext.args`.", + "keywords": [ + "annotation", + "vcf", + "json", + "tab" + ], + "tools": [ + { + "ensemblvep": { + "description": "VEP determines the effect of your variants (SNPs, insertions, deletions, CNVs\nor structural variants) on genes, transcripts, and protein sequence, as well as regulatory regions.\n", + "homepage": "https://www.ensembl.org/info/docs/tools/vep/index.html", + "documentation": "https://www.ensembl.org/info/docs/tools/vep/script/index.html", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "vcf to annotate\n" + } + }, + { + "custom_extra_files": { + "type": "file", + "description": "extra sample-specific files to be used with the `--custom` flag to be configured with ext.args\n(optional)\n" + } + }, + { + "genome": { + "type": "string", + "description": "which genome to annotate with\n" + } + }, + { + "species": { + "type": "string", + "description": "which species to annotate with\n" + } + }, + { + "cache_version": { + "type": "integer", + "description": "which version of the cache to annotate with\n" + } + }, + { + "cache": { + "type": "file", + "description": "path to VEP cache (optional)\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing fasta reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "reference FASTA file (optional)\n", + "pattern": "*.{fasta,fa}" + } + }, + { + "extra_files": { + "type": "file", + "description": "path to file(s) needed for plugins (optional)\n" + } + } + ], + "output": [ + { + "vcf": { + "type": "file", + "description": "annotated vcf (optional)\n", + "pattern": "*.ann.vcf.gz" + } + }, + { + "tab": { + "type": "file", + "description": "tab file with annotated variants (optional)\n", + "pattern": "*.ann.tab.gz" + } + }, + { + "json": { + "type": "file", + "description": "json file with annotated variants (optional)\n", + "pattern": "*.ann.json.gz" + } + }, + { + "report": { + "type": "file", + "description": "VEP report file", + "pattern": "*.html" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@maxulysse", + "@matthdsm", + "@nvnieuwk" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "entrezdirect_esearch", + "path": "modules/nf-core/entrezdirect/esearch/meta.yml", + "type": "module", + "meta": { + "name": "entrezdirect_esearch", + "description": "Searches a term in a public NCBI database", + "keywords": [ + "public datasets", + "entrez", + "search", + "ncbi", + "database" + ], + "tools": [ + { + "entrezdirect": { + "description": "Entrez Direct (EDirect) is a method for accessing the NCBI's set of\ninterconnected databases (publication, sequence, structure, gene,\nvariation, expression, etc.) from a UNIX terminal window. Functions\ntake search terms from command line arguments. Individual operations\nare combined to build multi-step queries. Record retrieval and\nformatting normally complete the process.\n", + "homepage": "https://www.ncbi.nlm.nih.gov/books/NBK179288/", + "documentation": "https://www.ncbi.nlm.nih.gov/books/NBK25501/", + "tool_dev_url": "https://www.ncbi.nlm.nih.gov/books/NBK25498/", + "doi": "10.1016/S0076-6879(96)66012-1", + "licence": [ + "PUBLIC DOMAIN" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "database": { + "type": "value", + "description": "Value must be a valid Entrez database name." + } + }, + { + "term": { + "type": "value", + "description": "Entrez text query. All special characters must be URL encoded.\nSpaces may be replaced by '+' signs.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "result_xml": { + "type": "file", + "description": "Query result text in XML format", + "pattern": "*.xml" + } + } + ], + "authors": [ + "@alxndrdiaz" + ] + } + }, + { + "name": "entrezdirect_esummary", + "path": "modules/nf-core/entrezdirect/esummary/meta.yml", + "type": "module", + "meta": { + "name": "entrezdirect_esummary", + "description": "Queries an NCBI database using Unique Identifier(s)", + "keywords": [ + "public datasets", + "ncbi", + "entrez", + "metadata", + "query", + "database" + ], + "tools": [ + { + "entrezdirect": { + "description": "Entrez Direct (EDirect) is a method for accessing the NCBI's set of\ninterconnected databases (publication, sequence, structure, gene,\nvariation, expression, etc.) from a UNIX terminal window. Functions\ntake search terms from command line arguments. Individual operations\nare combined to build multi-step queries. Record retrieval and\nformatting normally complete the process.\n", + "homepage": "https://www.ncbi.nlm.nih.gov/books/NBK179288/", + "documentation": "https://www.ncbi.nlm.nih.gov/books/NBK25501/", + "tool_dev_url": "https://www.ncbi.nlm.nih.gov/books/NBK25498/", + "doi": "10.1016/S0076-6879(96)66012-1", + "licence": [ + "PUBLIC DOMAIN" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "database": { + "type": "value", + "description": "Value must be a valid Entrez database name ('assembly', etc)." + } + }, + { + "uid": { + "type": "value", + "description": "Unique Identifier (UID) of record in NCBI database. Cannot be used at the same time as uids_file" + } + }, + { + "uids_file": { + "type": "file", + "description": "Text file containing multiple UIDs. Cannot be used at the same time as uid." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "xml": { + "type": "file", + "description": "Query result in XML format", + "pattern": "*.xml" + } + } + ], + "authors": [ + "@alxndrdiaz" + ] + } + }, + { + "name": "entrezdirect_xtract", + "path": "modules/nf-core/entrezdirect/xtract/meta.yml", + "type": "module", + "meta": { + "name": "entrezdirect_xtract", + "description": "Queries an NCBI database using an UID", + "keywords": [ + "public datasets", + "entrez", + "search", + "ncbi", + "database" + ], + "tools": [ + { + "entrezdirect": { + "description": "Entrez Direct (EDirect) is a method for accessing the NCBI's set of\ninterconnected databases (publication, sequence, structure, gene,\nvariation, expression, etc.) from a UNIX terminal window. Functions\ntake search terms from command line arguments. Individual operations\nare combined to build multi-step queries. Record retrieval and\nformatting normally complete the process.\n", + "homepage": "https://www.ncbi.nlm.nih.gov/books/NBK179288/", + "documentation": "https://www.ncbi.nlm.nih.gov/books/NBK25501/", + "tool_dev_url": "https://www.ncbi.nlm.nih.gov/books/NBK25498/", + "doi": "10.1016/S0076-6879(96)66012-1", + "licence": [ + "PUBLIC DOMAIN" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "xml_input": { + "type": "file", + "description": "XML text file containing query results from database." + } + }, + { + "pattern": { + "type": "value", + "description": "String in xml_input that encloses element to search." + } + }, + { + "element": { + "type": "value", + "description": "Space-delimited strings that will be converted to columns." + } + }, + { + "sep": { + "type": "value", + "description": "Separator/delimiter between columns (for instance \",\" or \"\\t\")." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "xtract_table": { + "type": "file", + "description": "TXT file containing columns searched from element.", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@alxndrdiaz" + ] + } + }, + { + "name": "epang_place", + "path": "modules/nf-core/epang/place/meta.yml", + "type": "module", + "meta": { + "name": "epang_place", + "description": "phylogenetic placement of query sequences in a reference tree", + "keywords": [ + "phylogeny", + "phylogenetic placement", + "sequences" + ], + "tools": [ + { + "epang": { + "description": "Massively parallel phylogenetic placement of genetic sequences", + "homepage": "https://github.com/Pbdas/epa-ng", + "documentation": "https://github.com/Pbdas/epa-ng/wiki/Full-Stack-Example", + "tool_dev_url": "https://github.com/Pbdas/epa-ng", + "doi": "10.1093/sysbio/syy054", + "licence": "['GNU Affero General Public License v3.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "queryaln": { + "type": "file", + "description": "aligned query sequences in any supported format including phylip and fasta, may be gzipped", + "pattern": "*" + } + }, + { + "referencealn": { + "type": "file", + "description": "reference alignment in any supported format including phylip and fasta, may be gzipped", + "pattern": "*" + } + }, + { + "referencetree": { + "type": "file", + "description": "newick file containing the reference tree in which query sequences will be placed", + "pattern": "*" + } + }, + { + "bfastfile": { + "type": "file", + "description": "file argument to the --bfast parameter", + "pattern": "*" + } + }, + { + "binaryfile": { + "type": "file", + "description": "file argument to the --binary parameter", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "epang": { + "type": "directory", + "description": "directory in which EPA-NG was run" + } + }, + { + "jplace": { + "type": "file", + "description": "gzipped file with placement information", + "pattern": "*.jplace.gz" + } + }, + { + "log": { + "type": "file", + "description": "log file from placement", + "pattern": "*.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@erikrikarddaniel" + ] + }, + "pipelines": [ + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "phyloplace", + "version": "1.0.0" + } + ] + }, + { + "name": "epang_split", + "path": "modules/nf-core/epang/split/meta.yml", + "type": "module", + "meta": { + "name": "epang_split", + "description": "splits an alignment into reference and query parts", + "keywords": [ + "phylogeny", + "phylogenetic placement", + "sequences" + ], + "tools": [ + { + "epang": { + "description": "Massively parallel phylogenetic placement of genetic sequences", + "homepage": "https://github.com/Pbdas/epa-ng", + "documentation": "https://github.com/Pbdas/epa-ng/wiki/Full-Stack-Example", + "tool_dev_url": "https://github.com/Pbdas/epa-ng", + "doi": "10.1093/sysbio/syy054", + "licence": "['GNU Affero General Public License v3.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "refaln": { + "type": "file", + "description": "reference alignment in any supported format including phylip and fasta, may be gzipped", + "pattern": "*.{faa,fna,fa,fasta,fa,phy,aln,alnfaa,alnfna,alnfa,mfa,faa.gz,fna.gz,fa.gz,fasta.gz,fa.gz,phy.gz,aln.gz,alnfaa.gz,alnfna.gz,alnfa.gz,mfa.gz}" + } + }, + { + "fullaln": { + "type": "file", + "description": "full alignment in any supported format to split into reference and query alignments", + "pattern": "*.{faa,fna,fa,fasta,fa,phy,aln,alnfaa,alnfna,alnfa,mfa,faa.gz,fna.gz,fa.gz,fasta.gz,fa.gz,phy.gz,aln.gz,alnfaa.gz,alnfna.gz,alnfa.gz,mfa.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "query": { + "type": "file", + "description": "query sequence alignment in gzipped fasta format" + } + }, + { + "reference": { + "type": "file", + "description": "reference sequence alignment in gzipped fasta format" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@erikrikarddaniel" + ] + }, + "pipelines": [ + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "phyloplace", + "version": "1.0.0" + } + ] + }, + { + "name": "expansionhunter", + "path": "modules/nf-core/expansionhunter/meta.yml", + "type": "module", + "meta": { + "name": "expansionhunter", + "description": "Estimate repeat sizes using NGS data", + "keywords": [ + "STR", + "repeat_expansions", + "bam", + "cram", + "vcf", + "json" + ], + "tools": [ + { + "expansionhunter": { + "description": "A tool for estimating repeat sizes", + "homepage": "https://github.com/Illumina/ExpansionHunter", + "documentation": "https://github.com/Illumina/ExpansionHunter/blob/master/docs/01_Introduction.md", + "doi": "10.1093/bioinformatics/btz431", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome", + "pattern": "*.{fna,fa,fasta}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome index", + "pattern": "*.fai" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "variant_catalog": { + "type": "file", + "description": "JSON file with repeat expansion sites to genotype", + "pattern": "*.json" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', gender:'female' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF with repeat expansions", + "pattern": "*.vcf.gz" + } + }, + { + "json": { + "type": "file", + "description": "JSON with repeat expansions", + "pattern": "*.json.gz" + } + } + ], + "authors": [ + "@jemten" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "expansionhunterdenovo_merge", + "path": "modules/nf-core/expansionhunterdenovo/merge/meta.yml", + "type": "module", + "meta": { + "name": "expansionhunterdenovo_merge", + "description": "Merge STR profiles into a multi-sample STR profile", + "keywords": [ + "expansionhunterdenovo", + "merge", + "str" + ], + "tools": [ + { + "expansionhunterdenovo": { + "description": "ExpansionHunter Denovo (EHdn) is a suite of tools for detecting novel expansions of short tandem repeats (STRs).", + "homepage": "https://github.com/Illumina/ExpansionHunterDenovo", + "documentation": "https://github.com/Illumina/ExpansionHunterDenovo/blob/master/documentation/00_Introduction.md", + "tool_dev_url": "https://github.com/Illumina/ExpansionHunterDenovo", + "licence": "['Apache License 2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "manifest": { + "type": "file", + "description": "A tab-delimited file containing the sample name, whether it's case or control\nand the paths to the corresponding STR profiles.\nSee here for an example: https://github.com/Illumina/ExpansionHunterDenovo/blob/master/documentation/06_Merging_profiles.md#manifest-files\n", + "pattern": "*.{tsv,txt}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference FASTA file", + "pattern": "*.{fasta,fa}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the reference FASTA file", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "merged_profiles": { + "type": "file", + "description": "The merged STR profiles", + "pattern": "*.multisample_profile.json" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "expansionhunterdenovo_profile", + "path": "modules/nf-core/expansionhunterdenovo/profile/meta.yml", + "type": "module", + "meta": { + "name": "expansionhunterdenovo_profile", + "description": "Compute genome-wide STR profile", + "keywords": [ + "expansionhunterdenovo", + "profile", + "STR", + "genome", + "bam", + "cram" + ], + "tools": [ + { + "expansionhunterdenovo": { + "description": "ExpansionHunter Denovo (EHdn) is a suite of tools for detecting novel expansions of short tandem repeats (STRs).", + "homepage": "https://github.com/Illumina/ExpansionHunterDenovo", + "documentation": "https://github.com/Illumina/ExpansionHunterDenovo/blob/master/documentation/00_Introduction.md", + "tool_dev_url": "https://github.com/Illumina/ExpansionHunterDenovo", + "licence": "['Apache License 2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "alignment_file": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "alignment_index": { + "type": "file", + "description": "Index of the BAM/CRAM file", + "pattern": "*.{bai,crai}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The FASTA reference file", + "pattern": "*.{fasta,fa}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the FASTA reference file", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "locus_tsv": { + "type": "file", + "description": "The locus TSV file", + "pattern": "*.tsv" + } + }, + { + "motif_tsv": { + "type": "file", + "description": "The motif TSV file", + "pattern": "*.tsv" + } + }, + { + "str_profile": { + "type": "file", + "description": "The JSON file containing the STR profile", + "pattern": "*.json" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "falco", + "path": "modules/nf-core/falco/meta.yml", + "type": "module", + "meta": { + "name": "falco", + "description": "Run falco on sequenced reads", + "keywords": [ + "quality control", + "qc", + "adapters", + "fastq" + ], + "tools": [ + { + "fastqc": { + "description": "falco is a drop-in C++ implementation of FastQC to assess the quality of sequence reads.", + "homepage": "https://falco.readthedocs.io/", + "documentation": "https://falco.readthedocs.io/", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "html": { + "type": "file", + "description": "FastQC like report", + "pattern": "*_{fastqc_report.html}" + } + }, + { + "txt": { + "type": "file", + "description": "falco report data", + "pattern": "*_{data.txt}" + } + }, + { + "txt": { + "type": "file", + "description": "falco summary file", + "pattern": "*_{summary.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@lucacozzuto" + ] + }, + "pipelines": [ + { + "name": "demultiplex", + "version": "1.3.2" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "faqcs", + "path": "modules/nf-core/faqcs/meta.yml", + "type": "module", + "meta": { + "name": "faqcs", + "description": "Perform adapter and quality trimming on sequencing reads with reporting", + "keywords": [ + "trimming", + "quality control", + "fastq", + "faqcs" + ], + "tools": [ + { + "faqcs": { + "description": "FaQCs combines several features of currently available applications into a single, user-friendly process, and includes additional unique capabilities such as filtering the PhiX control sequences, conversion of FASTQ formats, and multi-threading. The original data and trimmed summaries are reported within a variety of graphics and reports, providing a simple way to do data quality control and assurance.\n", + "homepage": "https://github.com/LANL-Bioinformatics/FaQCs", + "documentation": "https://github.com/LANL-Bioinformatics/FaQCs", + "tool_dev_url": "https://github.com/LANL-Bioinformatics/FaQCs", + "doi": "10.1186/s12859-014-0366-2", + "licence": [ + "GPLv3 License" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Metadata about the specific run.\nI guess this can be used if you are running many different images in a single nextflow pass?\nI have no clue.\nGroovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "image": { + "type": "image", + "description": "Obtained from cellpose documentation: Inputs\nYou can use tiffs or PNGs or JPEGs. We use the image loader from scikit-image.\nSingle plane images can read into data as nY x nX x channels or channels x nY x nX.\nThen the channels settings will take care of reshaping the input appropriately for the network.\nNote the model also rescales the input for each channel so that 0 = 1st percentile of image values and 1 = 99th percentile.\n" + } + }, + { + "image_metadata": { + "type": "csv", + "description": "This file will let Cellpose know which channels to use for segmentation.\nThe default will be channel 0.\n" + } + }, + { + "Model_to_use": { + "type": "string", + "description": "This will define which model to use.\nThe default will be nuclear.\nAll models from the model zoo should be usable, the exact string has to be passed.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "reads": { + "type": "file", + "description": "The trimmed/modified fastq reads", + "pattern": "*trimmed.fastq.gz" + } + }, + { + "reads_fail": { + "type": "file", + "description": "Reads that failed the preprocessing (Optional with --discard args setting)", + "pattern": "*discard.fastq.gz" + } + }, + { + "reads_unpaired": { + "type": "file", + "description": "Reads without matching mates in paired-end files (Optional)", + "pattern": "*trimmed.unpaired.fastq.gz" + } + }, + { + "stats": { + "type": "file", + "description": "trimming/qc text stats file", + "pattern": "*.stats.txt" + } + }, + { + "txt": { + "type": "file", + "description": "trimming/qc text txt files from --debug option", + "pattern": "*.txt" + } + }, + { + "statspdf": { + "type": "file", + "description": "trimming/qc pdf report file", + "pattern": "*_qc_report.pdf" + } + }, + { + "log": { + "type": "file", + "description": "fastq log file", + "pattern": "*.log" + } + } + ], + "authors": [ + "@mjcipriano", + "@sateeshperi", + "@hseabolt" + ] + } + }, + { + "name": "fargene", + "path": "modules/nf-core/fargene/meta.yml", + "type": "module", + "meta": { + "name": "fargene", + "description": "tool that takes either fragmented metagenomic data or longer sequences as input and predicts and delivers full-length antiobiotic resistance genes as output.", + "keywords": [ + "antibiotic resistance genes", + "ARGs", + "identifier", + "metagenomic", + "contigs" + ], + "tools": [ + { + "fargene": { + "description": "Fragmented Antibiotic Resistance Gene Identifier takes either fragmented metagenomic data or longer sequences as input and predicts and delivers full-length antiobiotic resistance genes as output", + "homepage": "https://github.com/fannyhb/fargene", + "documentation": "https://github.com/fannyhb/fargene", + "tool_dev_url": "https://github.com/fannyhb/fargene", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "uncompressed fasta file or paired-end fastq files containing either genomes or longer contigs as nucleotide or protein sequences (fasta) or fragmented metagenomic reads (fastq)", + "pattern": "*.{fasta}" + } + }, + { + "hmm_model": { + "type": "string", + "description": "name of custom hidden markov model to be used [pre-defined class_a, class_b_1_2, class_b_3, class_c, class_d_1, class_d_2, qnr, tet_efflux, tet_rpg, tet_enzyme]" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "log": { + "type": "file", + "description": "log file", + "pattern": "*.{log}" + } + }, + { + "txt": { + "type": "file", + "description": "analysis summary text file", + "pattern": "*.{txt}" + } + }, + { + "hmm": { + "type": "file", + "description": "output from hmmsearch", + "pattern": "*.{out}" + } + }, + { + "orfs": { + "type": "file", + "description": "open reading frames (ORFs)", + "pattern": "*.{fasta}" + } + }, + { + "orfs_amino": { + "type": "file", + "description": "protein translation of open reading frames (ORFs)", + "pattern": "*.{fasta}" + } + }, + { + "contigs": { + "type": "file", + "description": "(complete) contigs that passed the final full-length classification", + "pattern": "*.{fasta}" + } + }, + { + "contigs_pept": { + "type": "file", + "description": "parts of the contigs that passed the final classification step that aligned with the HMM, as amino acid sequences", + "pattern": "*.{fasta}" + } + }, + { + "filtered": { + "type": "file", + "description": "sequences that passed the final classification step, but only the parts that where predicted by the HMM to be part of the gene", + "pattern": "*.{fasta}" + } + }, + { + "filtered_pept": { + "type": "file", + "description": "sequences from filtered.fasta, translated in the same frame as the gene is predicted to be located", + "pattern": "*.{fasta}" + } + }, + { + "fragments": { + "type": "file", + "description": "All quality controlled retrieved fragments that were classified as positive, together with its read-pair, gathered in two files", + "pattern": "*.{fastq}" + } + }, + { + "trimmed": { + "type": "file", + "description": "The quality controlled retrieved fragments from each input file.", + "pattern": "*.{fasta}" + } + }, + { + "spades": { + "type": "directory", + "description": "The output from the SPAdes assembly", + "pattern": "spades_assembly" + } + }, + { + "metagenome": { + "type": "file", + "description": "The FASTQ to FASTA converted input files from metagenomic reads.", + "pattern": "*.{fasta}" + } + }, + { + "tmp": { + "type": "file", + "description": "The from FASTQ to FASTA converted input files and their translated input sequences. Are only saved if option --store-peptides is used.", + "pattern": "*.{fasta}" + } + } + ], + "authors": [ + "@louperelo" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "fastani", + "path": "modules/nf-core/fastani/meta.yml", + "type": "module", + "meta": { + "name": "fastani", + "description": "Alignment-free computation of average nucleotide Identity (ANI)", + "keywords": [ + "genome", + "fasta", + "ANI" + ], + "tools": [ + { + "fastani": { + "description": "FastANI is developed for fast alignment-free computation of whole-genome Average Nucleotide Identity (ANI).", + "homepage": "https://github.com/ParBLiSS/FastANI", + "documentation": "https://github.com/ParBLiSS/FastANI", + "tool_dev_url": "https://github.com/ParBLiSS/FastANI", + "doi": "10.1038/s41467-018-07641-9", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "query": { + "type": "file", + "description": "Fasta file(s) to be queried", + "pattern": "*.fasta" + } + }, + { + "reference": { + "type": "file", + "description": "Fasta file(s) to be used as reference for the query", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ani": { + "type": "file", + "description": "Results of the query", + "pattern": "*.ani.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@abhi18av" + ] + } + }, + { + "name": "fastawindows", + "path": "modules/nf-core/fastawindows/meta.yml", + "type": "module", + "meta": { + "name": "fastawindows", + "description": "Quickly compute statistics over a fasta file in windows.", + "keywords": [ + "genome", + "fasta", + "tsv", + "bed" + ], + "tools": [ + { + "fastawindows": { + "description": "fasta_windows is a tool written for Darwin Tree of Life chromosomal level genome assemblies. The executable takes a fasta formatted file and calculates some statistics of interest in windows", + "homepage": "https://github.com/tolkit/fasta_windows", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file", + "pattern": "*.{fa,fasta,fna}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "freq": { + "type": "file", + "description": "TSV file with frequencies and statistics", + "pattern": "*.{tsv}" + } + }, + { + "mononuc": { + "type": "file", + "description": "TSV file with mononucleotide counts", + "pattern": "*.{tsv}" + } + }, + { + "dinuc": { + "type": "file", + "description": "TSV file with dinucleotide counts", + "pattern": "*.{tsv}" + } + }, + { + "trinuc": { + "type": "file", + "description": "TSV file with trinucleotide counts", + "pattern": "*.{tsv}" + } + }, + { + "tetranuc": { + "type": "file", + "description": "TSV file with tetranucleotide counts", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@muffato" + ] + } + }, + { + "name": "fastk_fastk", + "path": "modules/nf-core/fastk/fastk/meta.yml", + "type": "module", + "meta": { + "name": "fastk_fastk", + "description": "A fast K-mer counter for high-fidelity shotgun datasets", + "keywords": [ + "k-mer", + "count", + "histogram" + ], + "tools": [ + { + "fastk": { + "description": "A fast K-mer counter for high-fidelity shotgun datasets", + "homepage": "https://github.com/thegenemyers/FASTK", + "tool_dev_url": "https://github.com/thegenemyers/FASTK", + "licence": "https://github.com/thegenemyers/FASTK/blob/master/LICENSE" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "hist": { + "type": "file", + "description": "Histogram of k-mers", + "pattern": "*.hist" + } + }, + { + "ktab": { + "type": "file", + "description": "A sorted table of all canonical k‑mers along with their counts.", + "pattern": "*.ktab" + } + }, + { + "prof": { + "type": "file", + "description": "A k‑mer count profile of each sequence in the input data set.", + "pattern": "*.prof" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "fastk_histex", + "path": "modules/nf-core/fastk/histex/meta.yml", + "type": "module", + "meta": { + "name": "fastk_histex", + "description": "A fast K-mer counter for high-fidelity shotgun datasets", + "keywords": [ + "k-mer", + "histogram" + ], + "tools": [ + { + "fastk": { + "description": "A fast K-mer counter for high-fidelity shotgun datasets", + "homepage": "https://github.com/thegenemyers/FASTK", + "tool_dev_url": "https://github.com/thegenemyers/FASTK", + "licence": "https://github.com/thegenemyers/FASTK/blob/master/LICENSE" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "histogram": { + "type": "file", + "description": "A FastK histogram file", + "pattern": "*.hist" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "hist": { + "type": "file", + "description": "A formatted histogram file", + "pattern": "*.hist" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "fastk_merge", + "path": "modules/nf-core/fastk/merge/meta.yml", + "type": "module", + "meta": { + "name": "fastk_merge", + "description": "A tool to merge FastK histograms", + "keywords": [ + "merge", + "k-mer", + "histogram", + "fastk" + ], + "tools": [ + { + "fastk": { + "description": "A fast K-mer counter for high-fidelity shotgun datasets", + "homepage": "https://github.com/thegenemyers/FASTK", + "tool_dev_url": "https://github.com/thegenemyers/FASTK", + "licence": "https://github.com/thegenemyers/FASTK/blob/master/LICENSE" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastk_hist": { + "type": "file", + "description": "A histogram files from the program FastK", + "pattern": "*.hist" + } + }, + { + "fastk_ktab": { + "type": "file", + "description": "Histogram ktab files from the program FastK (option -t)", + "pattern": "*.ktab*" + } + }, + { + "fastk_prof": { + "type": "file", + "description": "Histogram profile files from the program FastK (option -p)", + "pattern": "*.{prof,pidx}*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fastk_hist": { + "type": "file", + "description": "A histogram files from the program FastK", + "pattern": "*.hist" + } + }, + { + "fastk_ktab": { + "type": "file", + "description": "Histogram ktab files from the program FastK (option -t)", + "pattern": "*.ktab*" + } + }, + { + "fastk_prof": { + "type": "file", + "description": "Histogram profile files from the program FastK (option -p)", + "pattern": "*.{prof,pidx}*" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "fastp", + "path": "modules/nf-core/fastp/meta.yml", + "type": "module", + "meta": { + "name": "fastp", + "description": "Perform adapter/quality trimming on sequencing reads", + "keywords": [ + "trimming", + "quality control", + "fastq" + ], + "tools": [ + { + "fastp": { + "description": "A tool designed to provide fast all-in-one preprocessing for FastQ files. This tool is developed in C++ with multithreading supported to afford high performance.\n", + "documentation": "https://github.com/OpenGene/fastp", + "doi": "10.1093/bioinformatics/bty560", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information. Use 'single_end: true' to specify single ended or interleaved FASTQs. Use 'single_end: false' for paired-end reads.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively. If you wish to run interleaved paired-end data, supply as single-end data\nbut with `--interleaved_in` in your `modules.conf`'s `ext.args` for the module.\n" + } + }, + { + "adapter_fasta": { + "type": "file", + "description": "File in FASTA format containing possible adapters to remove.", + "pattern": "*.{fasta,fna,fas,fa}" + } + }, + { + "save_trimmed_fail": { + "type": "boolean", + "description": "Specify true to save files that failed to pass trimming thresholds ending in `*.fail.fastq.gz`" + } + }, + { + "save_merged": { + "type": "boolean", + "description": "Specify true to save all merged reads to the a file ending in `*.merged.fastq.gz`" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "The trimmed/modified/unmerged fastq reads", + "pattern": "*fastp.fastq.gz" + } + }, + { + "json": { + "type": "file", + "description": "Results in JSON format", + "pattern": "*.json" + } + }, + { + "html": { + "type": "file", + "description": "Results in HTML format", + "pattern": "*.html" + } + }, + { + "log": { + "type": "file", + "description": "fastq log file", + "pattern": "*.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "reads_fail": { + "type": "file", + "description": "Reads the failed the preprocessing", + "pattern": "*fail.fastq.gz" + } + }, + { + "reads_merged": { + "type": "file", + "description": "Reads that were successfully merged", + "pattern": "*.{merged.fastq.gz}" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "subworkflows": [ + "fastq_fastqc_umitools_fastp", + "fastq_trim_fastp_fastqc" + ], + "pipelines": [ + { + "name": "airrflow", + "version": "3.1.0" + }, + { + "name": "demultiplex", + "version": "1.3.2" + }, + { + "name": "mag", + "version": "2.3.2" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "smrnaseq", + "version": "2.2.1" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "fastqc", + "path": "modules/nf-core/fastqc/meta.yml", + "type": "module", + "meta": { + "name": "fastqc", + "description": "Run FastQC on sequenced reads", + "keywords": [ + "quality control", + "qc", + "adapters", + "fastq" + ], + "tools": [ + { + "fastqc": { + "description": "FastQC gives general quality metrics about your reads.\nIt provides information about the quality score distribution\nacross your reads, the per base sequence content (%A/C/G/T).\nYou get information about adapter contamination and other\noverrepresented sequences.\n", + "homepage": "https://www.bioinformatics.babraham.ac.uk/projects/fastqc/", + "documentation": "https://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/", + "licence": [ + "GPL-2.0-only" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "html": { + "type": "file", + "description": "FastQC report", + "pattern": "*_{fastqc.html}" + } + }, + { + "zip": { + "type": "file", + "description": "FastQC report archive", + "pattern": "*_{fastqc.zip}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@grst", + "@ewels", + "@FelixKrueger" + ] + }, + "subworkflows": [ + "fastq_fastqc_umitools_fastp", + "fastq_trim_fastp_fastqc", + "fastq_fastqc_umitools_trimgalore" + ], + "pipelines": [ + { + "name": "airrflow", + "version": "3.1.0" + }, + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "bacass", + "version": "2.0.0" + }, + { + "name": "bamtofastq", + "version": "2.0.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "crisprseq", + "version": "2.0.0" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "fastquorum", + "version": "dev" + }, + { + "name": "funcscan", + "version": "1.1.2" + }, + { + "name": "genomeannotator", + "version": "dev" + }, + { + "name": "genomeassembler", + "version": "dev" + }, + { + "name": "genomeskim", + "version": "dev" + }, + { + "name": "gwas", + "version": "dev" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "hic", + "version": "2.1.0" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "hlatyping", + "version": "2.0.0" + }, + { + "name": "liverctanalysis", + "version": "dev" + }, + { + "name": "mag", + "version": "2.3.2" + }, + { + "name": "marsseq", + "version": "1.0.3" + }, + { + "name": "mcmicro", + "version": "dev" + }, + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "methylseq", + "version": "2.4.0" + }, + { + "name": "molkart", + "version": "dev" + }, + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "phageannotator", + "version": "dev" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "scrnaseq", + "version": "2.3.2" + }, + { + "name": "smrnaseq", + "version": "2.2.1" + }, + { + "name": "spatialtranscriptomics", + "version": "dev" + }, + { + "name": "spinningjenny", + "version": "dev" + }, + { + "name": "ssds", + "version": "dev" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + }, + { + "name": "variantcatalogue", + "version": "dev" + }, + { + "name": "viralintegration", + "version": "0.1.1" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "fastqscan", + "path": "modules/nf-core/fastqscan/meta.yml", + "type": "module", + "meta": { + "name": "fastqscan", + "description": "FASTQ summary statistics in JSON format", + "keywords": [ + "fastq", + "summary", + "statistics" + ], + "tools": [ + { + "fastqscan": { + "description": "FASTQ summary statistics in JSON format", + "homepage": "https://github.com/rpetit3/fastq-scan", + "documentation": "https://github.com/rpetit3/fastq-scan", + "tool_dev_url": "https://github.com/rpetit3/fastq-scan", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "FASTQ file", + "pattern": "*.{fastq.gz,fq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "JSON formatted file of summary statistics", + "pattern": "*.json" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "fasttree", + "path": "modules/nf-core/fasttree/meta.yml", + "type": "module", + "meta": { + "name": "fasttree", + "description": "Produces a Newick format phylogeny from a multiple sequence alignment. Capable of bacterial genome size alignments.", + "keywords": [ + "phylogeny", + "newick" + ], + "tools": [ + { + "fasttree": { + "description": "FastTree infers approximately-maximum-likelihood phylogenetic trees from alignments of nucleotide or protein sequences", + "homepage": "http://www.microbesonline.org/fasttree/", + "documentation": "http://www.microbesonline.org/fasttree/#Usage", + "licence": [ + "GPL v2" + ] + } + } + ], + "input": [ + { + "alignment": { + "type": "file", + "description": "A FASTA format multiple sequence alignment file", + "pattern": "*.{fasta,fas,fa,mfa}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "phylogeny": { + "type": "file", + "description": "A phylogeny in Newick format", + "pattern": "*.{tre}" + } + } + ], + "authors": [ + "@aunderwo" + ] + } + }, + { + "name": "fcs_fcsadaptor", + "path": "modules/nf-core/fcs/fcsadaptor/meta.yml", + "type": "module", + "meta": { + "name": "fcs_fcsadaptor", + "description": "Run NCBI's FCS adaptor on assembled genomes", + "keywords": [ + "assembly", + "genomics", + "quality control", + "contamination", + "NCBI" + ], + "tools": [ + { + "fcs": { + "description": "The Foreign Contamination Screening (FCS) tool rapidly detects contaminants from foreign\norganisms in genome assemblies to prepare your data for submission. Therefore, the\nsubmission process to NCBI is faster and fewer contaminated genomes are submitted.\nThis reduces errors in analyses and conclusions, not just for the original data submitter\nbut for all subsequent users of the assembly.\n", + "homepage": "https://www.ncbi.nlm.nih.gov/data-hub/cgr/data-quality-tools/", + "documentation": "https://github.com/ncbi/fcs/wiki/FCS-adaptor", + "tool_dev_url": "https://github.com/ncbi/fcs", + "licence": "United States Government Work" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "assembly": { + "type": "file", + "description": "assembly fasta file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "cleaned_assembly": { + "type": "file", + "description": "Cleaned assembly in fasta format", + "pattern": "*.{cleaned_sequences.fa.gz}" + } + }, + { + "adaptor_report": { + "type": "file", + "description": "Report of identified adaptors", + "pattern": "*.{fcs_adaptor_report.txt}" + } + }, + { + "log": { + "type": "file", + "description": "Log file", + "pattern": "*.{fcs_adaptor.log}" + } + }, + { + "pipeline_args": { + "type": "file", + "description": "Run arguments", + "pattern": "*.{pipeline_args.yaml}" + } + }, + { + "skipped_trims": { + "type": "file", + "description": "Skipped trim information", + "pattern": "*.{skipped_trims.jsonl}" + } + } + ], + "authors": [ + "@d4straub" + ] + } + }, + { + "name": "fcs_fcsgx", + "path": "modules/nf-core/fcs/fcsgx/meta.yml", + "type": "module", + "meta": { + "name": "fcs_fcsgx", + "description": "Run FCS-GX on assembled genomes. The contigs of the assembly are searched against a reference database excluding the given taxid.", + "keywords": [ + "assembly", + "genomics", + "quality control", + "contamination", + "NCBI" + ], + "tools": [ + { + "fcs": { + "description": "\"The Foreign Contamination Screening (FCS) tool rapidly detects contaminants from foreign\norganisms in genome assemblies to prepare your data for submission. Therefore, the\nsubmission process to NCBI is faster and fewer contaminated genomes are submitted.\nThis reduces errors in analyses and conclusions, not just for the original data submitter\nbut for all subsequent users of the assembly.\"\n", + "homepage": "https://www.ncbi.nlm.nih.gov/data-hub/cgr/data-quality-tools/", + "documentation": "https://github.com/ncbi/fcs/wiki/FCS-GX", + "tool_dev_url": "https://github.com/ncbi/fcs", + "licence": "United States Government Work" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', taxid:'6973' ]\n" + } + }, + { + "assembly": { + "type": "file", + "description": "assembly fasta file" + } + }, + { + "database": { + "type": "file", + "description": "Files of the database downloaded from the ncbi server, https://ftp.ncbi.nlm.nih.gov/genomes/TOOLS/FCS/database/. All files of one db should be downloaded and given to the process as channel.collect(). The link contains 2 databases, test-only and all. Use all for pipeline usage and test-only for tests." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', taxid:'9606' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fcs_gx_report": { + "type": "file", + "description": "Report containing the contig identifier and recommended action (EXCLUDE, TRIM, FIX, REVIEW)", + "pattern": "*.fcs_gx_report.txt" + } + }, + { + "taxonomy_report": { + "type": "file", + "description": "Report containing the contig identifier and mapped contaminant species", + "pattern": "*.taxonomy.rpt" + } + } + ], + "authors": [ + "@tillenglert" + ] + } + }, + { + "name": "ffq", + "path": "modules/nf-core/ffq/meta.yml", + "type": "module", + "meta": { + "name": "ffq", + "description": "A command line tool that makes it easier to find sequencing data from the SRA / GEO / ENA.", + "keywords": [ + "SRA", + "ENA", + "GEO", + "metadata", + "fetch", + "public", + "databases" + ], + "tools": [ + { + "ffq": { + "description": "A command line tool that makes it easier to find sequencing data from the SRA / GEO / ENA.", + "homepage": "https://github.com/pachterlab/ffq", + "documentation": "https://github.com/pachterlab/ffq#usage", + "tool_dev_url": "https://github.com/pachterlab/ffq", + "doi": "10.1101/2022.05.18.492548", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "ids": { + "type": "list", + "description": "List of supported database ids e.g. SRA / GEO / ENA" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "JSON file containing metadata for ids", + "pattern": "*.{json}" + } + } + ], + "authors": [ + "@drpatelh" + ] + } + }, + { + "name": "fgbio_callduplexconsensusreads", + "path": "modules/nf-core/fgbio/callduplexconsensusreads/meta.yml", + "type": "module", + "meta": { + "name": "fgbio_callduplexconsensusreads", + "description": "Uses FGBIO CallDuplexConsensusReads to call duplex consensus sequences from reads generated from the same double-stranded source molecule.", + "keywords": [ + "umi", + "duplex", + "fgbio" + ], + "tools": [ + { + "fgbio": { + "description": "A set of tools for working with genomic and high throughput sequencing data, including UMIs", + "homepage": "http://fulcrumgenomics.github.io/fgbio/", + "documentation": "http://fulcrumgenomics.github.io/fgbio/tools/latest/CallDuplexConsensusReads.html", + "tool_dev_url": "https://github.com/fulcrumgenomics/fgbio", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/SAM file", + "pattern": "*.{bam,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "consensus BAM file", + "pattern": "*.bam" + } + } + ], + "authors": [ + "@lescai" + ] + } + }, + { + "name": "fgbio_callmolecularconsensusreads", + "path": "modules/nf-core/fgbio/callmolecularconsensusreads/meta.yml", + "type": "module", + "meta": { + "name": "fgbio_callmolecularconsensusreads", + "description": "Calls consensus sequences from reads with the same unique molecular tag.", + "keywords": [ + "UMIs", + "consensus sequence", + "bam", + "sam" + ], + "tools": [ + { + "fgbio": { + "description": "Tools for working with genomic and high throughput sequencing data.", + "homepage": "https://github.com/fulcrumgenomics/fgbio", + "documentation": "http://fulcrumgenomics.github.io/fgbio/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false, collapse:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "The input SAM or BAM file.\n", + "pattern": "*.{bam,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Output SAM or BAM file to write consensus reads.\n", + "pattern": "*.{bam,sam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sruthipsuresh" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "fgbio_fastqtobam", + "path": "modules/nf-core/fgbio/fastqtobam/meta.yml", + "type": "module", + "meta": { + "name": "fgbio_fastqtobam", + "description": "Using the fgbio tools, converts FASTQ files sequenced into unaligned BAM or CRAM files possibly moving the UMI barcode into the RX field of the reads\n", + "keywords": [ + "fastqtobam", + "fgbio" + ], + "tools": [ + { + "fgbio": { + "description": "A set of tools for working with genomic and high throughput sequencing data, including UMIs", + "homepage": "http://fulcrumgenomics.github.io/fgbio/", + "documentation": "http://fulcrumgenomics.github.io/fgbio/tools/latest/", + "tool_dev_url": "https://github.com/fulcrumgenomics/fgbio", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "reads": { + "type": "file", + "description": "pair of reads to be converted into BAM file", + "pattern": "*.{fastq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "version": { + "type": "file", + "description": "File containing software version", + "pattern": "*.{version.yml}" + } + }, + { + "bam": { + "type": "file", + "description": "Unaligned, unsorted BAM file", + "pattern": "*.{bam}" + } + }, + { + "cram": { + "type": "file", + "description": "Unaligned, unsorted CRAM file", + "pattern": "*.{cram}" + } + } + ], + "authors": [ + "@lescai", + "@matthdsm" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "fgbio_filterconsensusreads", + "path": "modules/nf-core/fgbio/filterconsensusreads/meta.yml", + "type": "module", + "meta": { + "name": "fgbio_filterconsensusreads", + "description": "Uses FGBIO FilterConsensusReads to filter consensus reads generated by CallMolecularConsensusReads or CallDuplexConsensusReads.", + "keywords": [ + "fgbio", + "filter", + "consensus", + "umi", + "duplexumi" + ], + "tools": [ + { + "fgbio": { + "description": "A set of tools for working with genomic and high throughput sequencing data, including UMIs", + "homepage": "http://fulcrumgenomics.github.io/fgbio/", + "documentation": "http://fulcrumgenomics.github.io/fgbio/tools/latest/FilterConsensusReads.html", + "tool_dev_url": "https://github.com/fulcrumgenomics/fgbio", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Filtered consensus BAM file", + "pattern": "*.bam" + } + } + ], + "authors": [ + "@lescai" + ] + } + }, + { + "name": "fgbio_groupreadsbyumi", + "path": "modules/nf-core/fgbio/groupreadsbyumi/meta.yml", + "type": "module", + "meta": { + "name": "fgbio_groupreadsbyumi", + "description": "Groups reads together that appear to have come from the same original molecule.\nReads are grouped by template, and then templates are sorted by the 5’ mapping positions\nof the reads from the template, used from earliest mapping position to latest.\nReads that have the same end positions are then sub-grouped by UMI sequence.\n(!) Note: the MQ tag is required on reads with mapped mates (!)\nThis can be added using samblaster with the optional argument --addMateTags.\n", + "keywords": [ + "UMI", + "groupreads", + "fgbio" + ], + "tools": [ + { + "fgbio": { + "description": "A set of tools for working with genomic and high throughput sequencing data, including UMIs", + "homepage": "http://fulcrumgenomics.github.io/fgbio/", + "documentation": "http://fulcrumgenomics.github.io/fgbio/tools/latest/", + "tool_dev_url": "https://github.com/fulcrumgenomics/fgbio", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file. Note: the MQ tag is required on reads with mapped mates (!)\n", + "pattern": "*.bam" + } + }, + { + "strategy": { + "type": "value", + "description": "Reguired argument: defines the UMI assignment strategy.\nMust be chosen among: Identity, Edit, Adjacency, Paired.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "UMI-grouped BAM", + "pattern": "*.bam" + } + }, + { + "histogram": { + "type": "file", + "description": "A text file containing the tag family size counts", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@lescai" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "fgbio_sortbam", + "path": "modules/nf-core/fgbio/sortbam/meta.yml", + "type": "module", + "meta": { + "name": "fgbio_sortbam", + "description": "Sorts a SAM or BAM file. Several sort orders are available, including coordinate, queryname, random, and randomquery.", + "keywords": [ + "sort", + "bam", + "sam" + ], + "tools": [ + { + "fgbio": { + "description": "Tools for working with genomic and high throughput sequencing data.", + "homepage": "https://github.com/fulcrumgenomics/fgbio", + "documentation": "http://fulcrumgenomics.github.io/fgbio/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false, collapse:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "The input SAM or BAM file to be sorted.\n", + "pattern": "*.{bam,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Output SAM or BAM file.\n", + "pattern": "*.{bam,sam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sruthipsuresh" + ] + } + }, + { + "name": "fgbio_zipperbams", + "path": "modules/nf-core/fgbio/zipperbams/meta.yml", + "type": "module", + "meta": { + "name": "fgbio_zipperbams", + "description": "FGBIO tool to zip together an unmapped and mapped BAM to transfer metadata into the output BAM", + "keywords": [ + "fgbio", + "zipperbams" + ], + "tools": [ + { + "fgbio": { + "description": "A set of tools for working with genomic and high throughput sequencing data, including UMIs", + "homepage": "http://fulcrumgenomics.github.io/fgbio/", + "documentation": "http://fulcrumgenomics.github.io/fgbio/tools/latest/", + "tool_dev_url": "https://github.com/fulcrumgenomics/fgbio", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "mbam": { + "type": "file", + "description": "mapped BAM/SAM file", + "pattern": "*.{bam,sam}" + } + }, + { + "ubam": { + "type": "file", + "description": "unmapped BAM file", + "pattern": "*.bam" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "authors": [ + "@lescai" + ] + } + }, + { + "name": "filtlong", + "path": "modules/nf-core/filtlong/meta.yml", + "type": "module", + "meta": { + "name": "filtlong", + "description": "Filtlong filters long reads based on quality measures or short read data.", + "keywords": [ + "nanopore", + "quality control", + "QC", + "filtering", + "long reads", + "short reads" + ], + "tools": [ + { + "filtlong": { + "description": "Filtlong is a tool for filtering long reads. It can take a set of long reads and produce a smaller, better subset. It uses both read length (longer is better) and read identity (higher is better) when choosing which reads pass the filter.", + "homepage": "https://anaconda.org/bioconda/filtlong", + "tool_dev_url": "https://github.com/rrwick/Filtlong", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "shortreads": { + "type": "file", + "description": "fastq file", + "pattern": "*.{fq,fastq,fq.gz,fastq.gz}" + } + }, + { + "longreads": { + "type": "file", + "description": "fastq file", + "pattern": "*.{fq,fastq,fq.gz,fastq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "reads": { + "type": "file", + "description": "Filtered (compressed) fastq file", + "pattern": "*.fastq.gz" + } + }, + { + "log": { + "type": "file", + "description": "Standard error logging file containing summary statistics", + "pattern": "*.log" + } + } + ], + "authors": [ + "@d4straub", + "@sofstam" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "flash", + "path": "modules/nf-core/flash/meta.yml", + "type": "module", + "meta": { + "name": "flash", + "description": "Perform merging of mate paired-end sequencing reads", + "keywords": [ + "sort", + "reads merging", + "merge mate pairs" + ], + "tools": [ + { + "flash": { + "description": "Merge mates from fragments that are shorter than twice the read length\n", + "homepage": "https://ccb.jhu.edu/software/FLASH/", + "doi": "10.1093/bioinformatics/btr507", + "licence": [ + "GPL v3+" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 2; i.e., paired-end data.\n", + "pattern": "*fastq.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "The merged fastq reads", + "pattern": "*fastq.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Erkison" + ] + } + }, + { + "name": "flye", + "path": "modules/nf-core/flye/meta.yml", + "type": "module", + "meta": { + "name": "flye", + "description": "De novo assembler for single molecule sequencing reads", + "keywords": [ + "assembly", + "genome", + "de novo", + "genome assembler", + "single molecule" + ], + "tools": [ + { + "flye": { + "description": "Fast and accurate de novo assembler for single molecule sequencing reads", + "homepage": "https://github.com/fenderglass/Flye", + "documentation": "https://github.com/fenderglass/Flye/blob/flye/docs/USAGE.md", + "tool_dev_url": "https://github.com/fenderglass/Flye", + "doi": "10.1038/s41592-020-00971-x", + "licence": "['BSD-3-clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Input reads from Oxford Nanopore or PacBio data in FASTA/FASTQ format.", + "pattern": "*.{fasta,fastq,fasta.gz,fastq.gz,fa,fq,fa.gz,fq.gz}" + } + }, + { + "mode": { + "type": "value", + "description": "Flye mode depending on the input data (source and error rate)", + "pattern": "--pacbio-raw|--pacbio-corr|--pacbio-hifi|--nano-raw|--nano-corr|--nano-hq" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fasta": { + "type": "file", + "description": "Assembled FASTA file", + "pattern": "*.fasta.gz" + } + }, + { + "gfa": { + "type": "file", + "description": "Repeat graph in gfa format", + "pattern": "*.gfa.gz" + } + }, + { + "gv": { + "type": "file", + "description": "Repeat graph in gv format", + "pattern": "*.gv.gz" + } + }, + { + "txt": { + "type": "file", + "description": "Extra information and statistics about resulting contigs", + "pattern": "*.txt" + } + }, + { + "log": { + "type": "file", + "description": "Flye log file", + "pattern": "*.log" + } + }, + { + "json": { + "type": "file", + "description": "Flye parameters", + "pattern": "*.json" + } + } + ], + "authors": [ + "@mirpedrol" + ] + } + }, + { + "name": "fq_generate", + "path": "modules/nf-core/fq/generate/meta.yml", + "type": "module", + "meta": { + "name": "fq_generate", + "description": "fq generate is a FASTQ file pair generator. It creates two reads, formatting names as described by Illumina. While generate creates \"valid\" FASTQ reads, the content of the files are completely random. The sequences do not align to any genome. This requires a seed (--seed) to be supplied in ext.args.\n", + "keywords": [ + "generate", + "fastq" + ], + "tools": [ + { + "fq": { + "description": "fq is a library to generate and validate FASTQ file pairs.", + "homepage": "https://github.com/stjude-rust-labs/fq", + "documentation": "https://github.com/stjude-rust-labs/fq", + "tool_dev_url": "https://github.com/stjude-rust-labs/fq", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "Random generated FASTQ files.", + "pattern": "*_R[12].fastq.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@adamrtalbot" + ] + } + }, + { + "name": "fq_lint", + "path": "modules/nf-core/fq/lint/meta.yml", + "type": "module", + "meta": { + "name": "fq_lint", + "description": "fq lint is a FASTQ file pair validator.", + "keywords": [ + "lint", + "fastq" + ], + "tools": [ + { + "fq": { + "description": "fq is a library to generate and validate FASTQ file pairs.", + "homepage": "https://github.com/stjude-rust-labs/fq", + "documentation": "https://github.com/stjude-rust-labs/fq", + "tool_dev_url": "https://github.com/stjude-rust-labs/fq", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "FASTQ file list", + "pattern": "*.fastq{,.gz}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@adamrtalbot" + ] + } + }, + { + "name": "fq_subsample", + "path": "modules/nf-core/fq/subsample/meta.yml", + "type": "module", + "meta": { + "name": "fq_subsample", + "description": "fq subsample outputs a subset of records from single or paired FASTQ files. This requires a seed (--seed) to be set in ext.args.", + "keywords": [ + "fastq", + "sample" + ], + "tools": [ + { + "fq": { + "description": "fq is a library to generate and validate FASTQ file pairs.", + "homepage": "https://github.com/stjude-rust-labs/fq", + "documentation": "https://github.com/stjude-rust-labs/fq", + "tool_dev_url": "https://github.com/stjude-rust-labs/fq", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "FASTQ file", + "pattern": "*.{fq,fastq}{,.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fastq": { + "type": "file", + "description": "Randomly sampled FASTQ files.", + "pattern": "*_R[12].fastq.gz" + } + } + ], + "authors": [ + "@adamrtalbot" + ] + }, + "pipelines": [ + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "fqtk", + "path": "modules/nf-core/fqtk/meta.yml", + "type": "module", + "meta": { + "name": "fqtk", + "description": "Demultiplex fastq files", + "keywords": [ + "demultiplex", + "fastq", + "rust" + ], + "tools": [ + { + "fqtk": { + "description": "A toolkit for working with FASTQ files, written in Rust.", + "homepage": "https://github.com/fulcrumgenomics/fqtk", + "documentation": "https://github.com/fulcrumgenomics/fqtk", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sample_sheet": { + "type": "file", + "description": "Tsv file, with two columns sample_id and barcode", + "pattern": "*.{tsv}" + } + }, + { + "fastq_readstructure_pairs": { + "type": "map", + "description": "List of lists i.e. [[, , ],...]" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sample_fastq": { + "type": "file", + "description": "Demultiplexed per-sample FASTQ files", + "pattern": "output/*R*.fastq.gz" + } + }, + { + "metrics": { + "type": "file", + "description": "Demultiplexing summary stats; sample_id, barcode templates, frac_templates, ratio_to_mean, ratio_to_best\n", + "pattern": "output/demux-metrics.txt" + } + }, + { + "most_frequent_unmatched": { + "type": "file", + "description": "File containing unmatched fastq records\n", + "pattern": "output/unmatched*.fq.gz" + } + } + ], + "authors": [ + "Samantha White @sam-white04" + ] + }, + "pipelines": [ + { + "name": "demultiplex", + "version": "1.3.2" + } + ] + }, + { + "name": "freebayes", + "path": "modules/nf-core/freebayes/meta.yml", + "type": "module", + "meta": { + "name": "freebayes", + "description": "A haplotype-based variant detector", + "keywords": [ + "variant caller", + "SNP", + "genotyping", + "somatic variant calling", + "germline variant calling", + "bacterial variant calling", + "bayesian" + ], + "tools": [ + { + "freebayes": { + "description": "Bayesian haplotype-based polymorphism discovery and genotyping", + "homepage": "https://github.com/freebayes/freebayes", + "documentation": "https://github.com/freebayes/freebayes", + "tool_dev_url": "https://github.com/freebayes/freebayes", + "doi": "10.48550/arXiv.1207.3907", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai}" + } + }, + { + "target_bed": { + "type": "file", + "description": "Optional - Limit analysis to targets listed in this BED-format FILE.", + "pattern": "*.bed" + } + }, + { + "fasta": { + "type": "file", + "description": "reference fasta file", + "pattern": ".{fa,fa.gz,fasta,fasta.gz}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "reference fasta file index", + "pattern": "*.{fa,fasta}.fai" + } + }, + { + "samples": { + "type": "file", + "description": "Optional - Limit analysis to samples listed (one per line) in the FILE.", + "pattern": "*.txt" + } + }, + { + "populations": { + "type": "file", + "description": "Optional - Each line of FILE should list a sample and a population which it is part of.", + "pattern": "*.txt" + } + }, + { + "cnv": { + "type": "file", + "description": "A copy number map BED file, which has either a sample-level ploidy:\nsample_name copy_number\nor a region-specific format:\nseq_name start end sample_name copy_number\n", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "version": { + "type": "file", + "description": "File containing software version", + "pattern": "*.{version.txt}" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed VCF file", + "pattern": "*.vcf.gz" + } + } + ], + "authors": [ + "@maxibor", + "@FriederikeHanssen", + "@maxulysse" + ] + }, + "subworkflows": [ + "bam_variant_calling_sort_freebayes_bcftools" + ], + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "freyja_boot", + "path": "modules/nf-core/freyja/boot/meta.yml", + "type": "module", + "meta": { + "name": "freyja_boot", + "description": "Bootstrap sample demixing by resampling each site based on a multinomial distribution of read depth across all sites, where the event probabilities were determined by the fraction of the total sample reads found at each site, followed by a secondary resampling at each site according to a multinomial distribution (that is, binomial when there was only one SNV at a site), where event probabilities were determined by the frequencies of each base at the site, and the number of trials is given by the sequencing depth.", + "keywords": [ + "variants", + "fasta", + "deconvolution", + "wastewater", + "bootstrapping" + ], + "tools": [ + { + "freyja": { + "description": "Freyja recovers relative lineage abundances from mixed SARS-CoV-2 samples and provides functionality to analyze lineage dynamics.", + "homepage": "https://github.com/andersen-lab/Freyja", + "documentation": "https://github.com/andersen-lab/Freyja/wiki", + "tool_dev_url": "https://github.com/andersen-lab/Freyja", + "doi": "10.1038/s41586-022-05049-6", + "licence": "['BSD-2-Clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "variants": { + "type": "file", + "description": "File containing identified variants in a gff-like format", + "pattern": "*.variants.tsv" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "depths": { + "type": "file", + "description": "File containing depth of the variants", + "pattern": "*.depth.tsv" + } + }, + { + "repeats": { + "type": "integer", + "description": "Number of bootstrap repeats to perform" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "barcodes": { + "type": "file", + "description": "File containing lineage defining barcodes", + "pattern": "*barcodes.csv" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "lineages_meta": { + "type": "file", + "description": "File containing lineage metadata that correspond to barcodes", + "pattern": "*lineages.json" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "lineages": { + "type": "file", + "description": "a csv file that includes the lineages present and their corresponding abundances", + "pattern": "*lineages.csv" + } + }, + { + "summarized": { + "type": "file", + "description": "a csv file that includes the lineages present but summarized by constellation and their corresponding abundances", + "pattern": "*summarized.csv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "freyja_demix", + "path": "modules/nf-core/freyja/demix/meta.yml", + "type": "module", + "meta": { + "name": "freyja_demix", + "description": "specify the relative abundance of each known haplotype", + "keywords": [ + "variants", + "fasta", + "deconvolution", + "wastewater" + ], + "tools": [ + { + "freyja": { + "description": "Freyja recovers relative lineage abundances from mixed SARS-CoV-2 samples and provides functionality to analyze lineage dynamics.", + "homepage": "https://github.com/andersen-lab/Freyja", + "documentation": "https://github.com/andersen-lab/Freyja/wiki", + "tool_dev_url": "https://github.com/andersen-lab/Freyja", + "doi": "10.1038/s41586-022-05049-6", + "licence": "['BSD-2-Clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "variants": { + "type": "file", + "description": "File containing identified variants in a gff-like format", + "pattern": "*.variants.tsv" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "depths": { + "type": "file", + "description": "File containing depth of the variants", + "pattern": "*.depth.tsv" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "barcodes": { + "type": "file", + "description": "File containing lineage defining barcodes", + "pattern": "*barcodes.csv" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "lineages_meta": { + "type": "file", + "description": "File containing lineage metadata that correspond to barcodes", + "pattern": "*lineages.json" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "demix": { + "type": "file", + "description": "a tsv file that includes the lineages present, their corresponding abundances, and summarization by constellation", + "pattern": "*.demix.tsv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "freyja_update", + "path": "modules/nf-core/freyja/update/meta.yml", + "type": "module", + "meta": { + "name": "freyja_update", + "description": "downloads new versions of the curated SARS-CoV-2 lineage file and barcodes", + "keywords": [ + "database", + "variants", + "UShER" + ], + "tools": [ + { + "freyja": { + "description": "Freyja recovers relative lineage abundances from mixed SARS-CoV-2 samples and provides functionality to analyze lineage dynamics.", + "homepage": "https://github.com/andersen-lab/Freyja", + "documentation": "https://github.com/andersen-lab/Freyja/wiki", + "tool_dev_url": "https://github.com/andersen-lab/Freyja", + "doi": "10.1038/s41586-022-05049-6", + "licence": "['BSD-2-Clause']" + } + } + ], + "input": [ + { + "db_name": { + "type": "string", + "description": "The name of the database directory" + } + } + ], + "output": [ + { + "barcodes": { + "type": "file", + "description": "File containing lineage defining barcodes", + "pattern": "*barcodes.csv" + } + }, + { + "lineages_topology": { + "type": "file", + "description": "File containing the lineage topology", + "pattern": "*lineages.yml" + } + }, + { + "lineages_meta": { + "type": "file", + "description": "File containing lineage metadata that correspond to barcodes", + "pattern": "*lineages.json" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "freyja_variants", + "path": "modules/nf-core/freyja/variants/meta.yml", + "type": "module", + "meta": { + "name": "freyja_variants", + "description": "call variant and sequencing depth information of the variant", + "keywords": [ + "variants", + "fasta", + "wastewater" + ], + "tools": [ + { + "freyja": { + "description": "Freyja recovers relative lineage abundances from mixed SARS-CoV-2 samples and provides functionality to analyze lineage dynamics.", + "homepage": "https://github.com/andersen-lab/Freyja", + "documentation": "https://github.com/andersen-lab/Freyja/wiki", + "tool_dev_url": "https://github.com/andersen-lab/Freyja", + "doi": "10.1038/s41586-022-05049-6", + "licence": "['BSD-2-Clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM file", + "pattern": "*.bam" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference sequence used for mapping and generating the BAM file", + "pattern": "*.fa" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "variants": { + "type": "file", + "description": "File containing identified variants in a gff-like format", + "pattern": "*.variants.tsv" + } + }, + { + "depths": { + "type": "file", + "description": "File containing depth of the variants", + "pattern": "*.depth.tsv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "gamma_gamma", + "path": "modules/nf-core/gamma/gamma/meta.yml", + "type": "module", + "meta": { + "name": "gamma_gamma", + "description": "Gene Allele Mutation Microbial Assessment", + "keywords": [ + "gamma", + "gene-calling" + ], + "tools": [ + { + "gamma": { + "description": "Tool for Gene Allele Mutation Microbial Assessment", + "homepage": "https://github.com/rastanton/GAMMA", + "documentation": "https://github.com/rastanton/GAMMA", + "tool_dev_url": "https://github.com/rastanton/GAMMA", + "doi": "10.1093/bioinformatics/btab607", + "licence": "['Apache License 2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file", + "pattern": "*.{fa,fasta}" + } + }, + { + "db": { + "type": "file", + "description": "Database in FASTA format", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "gamma": { + "type": "file", + "description": "GAMMA file with annotated gene matches", + "pattern": "*.{gamma}" + } + }, + { + "psl": { + "type": "file", + "description": "PSL file with all gene matches found", + "pattern": "*.{psl}" + } + }, + { + "gff": { + "type": "file", + "description": "GFF file", + "pattern": "*.{gff}" + } + }, + { + "fasta": { + "type": "file", + "description": "multifasta file of the gene matches", + "pattern": "*.{fasta}" + } + } + ], + "authors": [ + "@sateeshperi", + "@rastanton", + "@jvhagey" + ] + } + }, + { + "name": "gangstr", + "path": "modules/nf-core/gangstr/meta.yml", + "type": "module", + "meta": { + "name": "gangstr", + "description": "GangSTR is a tool for genome-wide profiling tandem repeats from short reads.", + "keywords": [ + "gangstr", + "STR", + "bam", + "cram", + "vcf" + ], + "tools": [ + { + "gangstr": { + "description": "GangSTR is a tool for genome-wide profiling tandem repeats from short reads.", + "homepage": "https://github.com/gymreklab/GangSTR", + "documentation": "https://github.com/gymreklab/GangSTR", + "tool_dev_url": "https://github.com/gymreklab/GangSTR", + "doi": "10.1093/nar/gkz501", + "licence": "['GPL v3-or-later']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "aligment_files": { + "type": "file", + "description": "One or more sorted BAM/CRAM file(s)", + "pattern": "*.{bam,cram}" + } + }, + { + "alignment_indices": { + "type": "file", + "description": "The index/indices of the BAM/CRAM file(s)", + "pattern": "*.{bai,crai}" + } + }, + { + "ref_regions": { + "type": "file", + "description": "A reference set of regions to genotype in a BED-like format. The file should have following columns:\n1. The name of the chromosome on which the STR is located\n2. The start position of the STR on its chromosome\n3. The end position of the STR on its chromosome\n4. The motif length\n5. The repeat motif\n", + "pattern": "*.bed" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference FASTA file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the reference FASTA file", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "The resulting VCF file containing the genotypes", + "pattern": "*.vcf" + } + }, + { + "samplestats": { + "type": "file", + "description": "A tab-delimited file containing statistics for each sample", + "pattern": "*.tab" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "ganon_buildcustom", + "path": "modules/nf-core/ganon/buildcustom/meta.yml", + "type": "module", + "meta": { + "name": "ganon_buildcustom", + "description": "Build ganon database using custom reference sequences.", + "keywords": [ + "ganon", + "metagenomics", + "profiling", + "taxonomy", + "k-mer", + "database" + ], + "tools": [ + { + "ganon": { + "description": "ganon classifies short DNA sequences against large sets of genomic reference sequences efficiently", + "homepage": "https://github.com/pirovc/ganon", + "documentation": "https://github.com/pirovc/ganon", + "tool_dev_url": "https://github.com/pirovc/ganon", + "doi": "10.1093/bioinformatics/btaa458", + "licence": "['MIT License']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "List of input FASTA files, or a directory containing input FASTA files.\nNote you must supply --input-extension via ext.args if FASTA extensions do not end in the default `fna.gz`.\n", + "pattern": "*" + } + }, + { + "taxonomy_files": { + "type": "file", + "description": "Pre-downloaded taxonomy files of input sequences. See ganon docs for formats" + } + }, + { + "genome_size_files": { + "type": "file", + "description": "Pre-downloaded NCBI or GTDB genome size files of input sequences. See ganon docs for formats", + "pattern": "{species_genome_size.txt.gz,*_metadata.tar.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "db": { + "type": "file", + "description": "ganon database files", + "pattern": "*.{ibf,tax}" + } + }, + { + "info": { + "type": "file", + "description": "Copy of target info generated. Can be used for updating database.", + "pattern": "*info.tsv" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "ganon_classify", + "path": "modules/nf-core/ganon/classify/meta.yml", + "type": "module", + "meta": { + "name": "ganon_classify", + "description": "Classify FASTQ files against ganon database", + "keywords": [ + "ganon", + "metagenomics", + "profiling", + "taxonomy", + "k-mer", + "classification", + "classify" + ], + "tools": [ + { + "ganon": { + "description": "ganon classifies short DNA sequences against large sets of genomic reference sequences efficiently", + "homepage": "https://github.com/pirovc/ganon", + "documentation": "https://github.com/pirovc/ganon", + "tool_dev_url": "https://github.com/pirovc/ganon", + "doi": "10.1093/bioinformatics/btaa458", + "licence": "['MIT License']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastqs": { + "type": "file", + "description": "Single or paired FASTQ files, optionally gzipped", + "pattern": "*.{fq,fq.gz,fastq,fastq.gz}" + } + }, + { + "dbs": { + "type": "file", + "description": "Ganon database files from build or build-custom", + "pattern": "*.{ibf,tax}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tre": { + "type": "file", + "description": "Full ganon report file", + "pattern": "*.tre" + } + }, + { + "report": { + "type": "file", + "description": "Plain ganon report file with only targets with match", + "pattern": "*.rep" + } + }, + { + "lca": { + "type": "file", + "description": "Information about the lowest common ancestor match of a given read", + "pattern": "*.lca" + } + }, + { + "all": { + "type": "file", + "description": "Information of all matches to a given read", + "pattern": "*.all" + } + }, + { + "unc": { + "type": "file", + "description": "List of all reads without a hit", + "pattern": "*.unc" + } + }, + { + "log": { + "type": "file", + "description": "Text file containing console output from ganon classify", + "pattern": "*.log" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "ganon_report", + "path": "modules/nf-core/ganon/report/meta.yml", + "type": "module", + "meta": { + "name": "ganon_report", + "description": "Generate a ganon report file from the output of ganon classify", + "keywords": [ + "ganon", + "metagenomics", + "profiling", + "taxonomy", + "k-mer", + "classification", + "report" + ], + "tools": [ + { + "ganon": { + "description": "ganon classifies short DNA sequences against large sets of genomic reference sequences efficiently", + "homepage": "https://github.com/pirovc/ganon", + "documentation": "https://github.com/pirovc/ganon", + "tool_dev_url": "https://github.com/pirovc/ganon", + "doi": "10.1093/bioinformatics/btaa458", + "licence": "['MIT License']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "rep": { + "type": "file", + "description": "Input 'repo' files from ganon classify", + "pattern": "*.rep" + } + }, + { + "dbs": { + "type": "file", + "description": "Ganon database files from build or build-custom", + "pattern": "*.{ibf,tax}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tre": { + "type": "file", + "description": "Output ganon report containing taxonomic profile information. Formatting of contents depends on --output-format.", + "pattern": "*.tre" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "ganon_table", + "path": "modules/nf-core/ganon/table/meta.yml", + "type": "module", + "meta": { + "name": "ganon_table", + "description": "Generate a multi-sample report file from the output of ganon report runs", + "keywords": [ + "ganon", + "metagenomics", + "profiling", + "taxonomy", + "k-mer", + "classification", + "report", + "table" + ], + "tools": [ + { + "ganon": { + "description": "ganon classifies short DNA sequences against large sets of genomic reference sequences efficiently", + "homepage": "https://github.com/pirovc/ganon", + "documentation": "https://github.com/pirovc/ganon", + "tool_dev_url": "https://github.com/pirovc/ganon", + "doi": "10.1093/bioinformatics/btaa458", + "licence": "['MIT License']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tre": { + "type": "file", + "description": "A list of 'tre' files from ganon report", + "pattern": "*.tre" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "Output ganon table containing taxonomic profile information of multiple samples. Formatting of contents depends on --output-format.", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "gappa_examineassign", + "path": "modules/nf-core/gappa/examineassign/meta.yml", + "type": "module", + "meta": { + "name": "gappa_examineassign", + "description": "assigns taxonomy to query sequences in phylogenetic placement output", + "keywords": [ + "phylogeny", + "phylogenetic placement", + "classification", + "taxonomy" + ], + "tools": [ + { + "gappa": { + "description": "Genesis Applications for Phylogenetic Placement Analysis", + "homepage": "https://github.com/lczech/gappa", + "documentation": "https://github.com/lczech/gappa/wiki", + "tool_dev_url": "https://github.com/lczech/gappa", + "doi": "10.1093/bioinformatics/btaa070", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "jplace": { + "type": "file", + "description": "jplace file output from phylogenetic placement, e.g. EPA-NG, gzipped or not", + "pattern": "*.{jplace,jplace.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "examineassign": { + "type": "directory", + "description": "Execution directory" + } + }, + { + "profile": { + "type": "file", + "description": "profile tsv file", + "pattern": "*profile.tsv" + } + }, + { + "labelled_tree": { + "type": "file", + "description": "labelled tree in newick format", + "pattern": "*labelled_tree.newick" + } + }, + { + "per_query": { + "type": "file", + "description": "per query taxonomy assignments in tsv format", + "pattern": "*per_query.tsv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@erikrikarddaniel" + ] + }, + "pipelines": [ + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "phyloplace", + "version": "1.0.0" + } + ] + }, + { + "name": "gappa_examinegraft", + "path": "modules/nf-core/gappa/examinegraft/meta.yml", + "type": "module", + "meta": { + "name": "gappa_examinegraft", + "description": "grafts query sequences from phylogenetic placement on the reference tree", + "keywords": [ + "sort" + ], + "tools": [ + { + "gappa": { + "description": "Genesis Applications for Phylogenetic Placement Analysis", + "homepage": "https://github.com/lczech/gappa", + "documentation": "https://github.com/lczech/gappa/wiki", + "tool_dev_url": "https://github.com/lczech/gappa", + "doi": "10.1093/bioinformatics/btaa070", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "jplace": { + "type": "file", + "description": "jplace file output from phylogenetic placement, e.g. EPA-NG, gzipped or not", + "pattern": "*.{jplace,jplace.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "newick": { + "type": "file", + "description": "phylogenetic tree file in newick format", + "pattern": "*.newick" + } + } + ], + "authors": [ + "@erikrikarddaniel" + ] + }, + "pipelines": [ + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "phyloplace", + "version": "1.0.0" + } + ] + }, + { + "name": "gappa_examineheattree", + "path": "modules/nf-core/gappa/examineheattree/meta.yml", + "type": "module", + "meta": { + "name": "gappa_examineheattree", + "description": "colours a phylogeny with placement densities", + "keywords": [ + "phylogeny", + "phylogenetic placement", + "heattree", + "visualisation" + ], + "tools": [ + { + "gappa": { + "description": "Genesis Applications for Phylogenetic Placement Analysis", + "homepage": "https://github.com/lczech/gappa", + "documentation": "https://github.com/lczech/gappa/wiki", + "tool_dev_url": "https://github.com/lczech/gappa", + "doi": "10.1093/bioinformatics/btaa070", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "jplace": { + "type": "file", + "description": "jplace file output from phylogenetic placement, e.g. EPA-NG, gzipped or not", + "pattern": "*.{jplace,jplace.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "newick": { + "type": "file", + "description": "phylogenetic tree file in newick format", + "pattern": "*.newick" + } + }, + { + "nexus": { + "type": "file", + "description": "coloured phylogenetic tree file in nexus format", + "pattern": "*.nexus" + } + }, + { + "phyloxml": { + "type": "file", + "description": "coloured phylogenetic tree file in phyloxml format", + "pattern": "*.phyloxml" + } + }, + { + "svg": { + "type": "file", + "description": "coloured phylogenetic tree file in svg format", + "pattern": "*.svg" + } + }, + { + "colours": { + "type": "file", + "description": "colours used in plot", + "pattern": "*.colours.txt" + } + }, + { + "log": { + "type": "file", + "description": "log file from the run", + "pattern": "*.log" + } + } + ], + "authors": [ + "@erikrikarddaniel" + ] + }, + "pipelines": [ + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "phyloplace", + "version": "1.0.0" + } + ] + }, + { + "name": "gatk4_annotateintervals", + "path": "modules/nf-core/gatk4/annotateintervals/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_annotateintervals", + "description": "Annotates intervals with GC content, mappability, and segmental-duplication content", + "keywords": [ + "gatk", + "annotateintervals", + "intervals", + "bed", + "annotation" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "intervals": { + "type": "file(s)", + "description": "One or more interval files to annotate", + "pattern": "*.{interval_list,list,bed}" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference FASTA file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the reference FASTA file", + "pattern": "*.fai" + } + }, + { + "dict": { + "type": "file", + "description": "The sequence dictionary reference FASTA file", + "pattern": "*.dict" + } + }, + { + "mappable_regions": { + "type": "file", + "description": "Optional - Umap single-read mappability track\nThe track should correspond to the appropriate read length and overlapping intervals must be merged\n", + "pattern": "*.bed(.gz)?" + } + }, + { + "mappable_regions_tbi": { + "type": "file", + "description": "Optional - The index of the gzipped umap single-read mappability track", + "pattern": "*.bed.gz.tbi" + } + }, + { + "segmental_duplication_regions": { + "type": "file", + "description": "Optional - Segmental-duplication track", + "pattern": "*.bed(.gz)?" + } + }, + { + "segmental_duplication_regions_tbi": { + "type": "file", + "description": "Optional - The index of the gzipped segmental-duplication track", + "pattern": "*.bed.gz.tbi" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "annotated_intervals": { + "type": "file", + "description": "The output TSV file with a SAM-style header containing the annotated intervals", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gatk4_applybqsr", + "path": "modules/nf-core/gatk4/applybqsr/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_applybqsr", + "description": "Apply base quality score recalibration (BQSR) to a bam file", + "keywords": [ + "bqsr", + "bam", + "base quality score recalibration" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file from alignment", + "pattern": "*.{bam,cram}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAI/CRAI file from alignment", + "pattern": "*.{bai,crai}" + } + }, + { + "bqsr_table": { + "type": "file", + "description": "Recalibration table from gatk4_baserecalibrator" + } + }, + { + "intervals": { + "type": "file", + "description": "Bed file with the genomic regions included in the library (optional)" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Recalibrated BAM file", + "pattern": "*.{bam}" + } + }, + { + "cram": { + "type": "file", + "description": "Recalibrated CRAM file", + "pattern": "*.{cram}" + } + } + ], + "authors": [ + "@yocra3", + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_applybqsrspark", + "path": "modules/nf-core/gatk4/applybqsrspark/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_applybqsr_spark", + "description": "Apply base quality score recalibration (BQSR) to a bam file", + "keywords": [ + "bqsr", + "bam", + "gatk" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file from alignment", + "pattern": "*.{bam,cram}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAI/CRAI file from alignment", + "pattern": "*.{bai,crai}" + } + }, + { + "bqsr_table": { + "type": "file", + "description": "Recalibration table from gatk4_baserecalibrator" + } + }, + { + "intervals": { + "type": "file", + "description": "Bed file with the genomic regions included in the library (optional)" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Recalibrated BAM file", + "pattern": "*.{bam}" + } + }, + { + "cram": { + "type": "file", + "description": "Recalibrated CRAM file", + "pattern": "*.{cram}" + } + } + ], + "authors": [ + "@yocra3", + "@FriederikeHanssen", + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_applyvqsr", + "path": "modules/nf-core/gatk4/applyvqsr/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_applyvqsr", + "description": "Apply a score cutoff to filter variants based on a recalibration table.\nAplyVQSR performs the second pass in a two-stage process called Variant Quality Score Recalibration (VQSR).\nSpecifically, it applies filtering to the input variants based on the recalibration table produced\nin the first step by VariantRecalibrator and a target sensitivity value.\n", + "keywords": [ + "gatk4", + "applyvqsr", + "VQSR" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file to be recalibrated, this should be the same file as used for the first stage VariantRecalibrator.", + "pattern": "*.vcf" + } + }, + { + "vcf_tbi": { + "type": "file", + "description": "tabix index for the input vcf file.", + "pattern": "*.vcf.tbi" + } + }, + { + "recal": { + "type": "file", + "description": "Recalibration file produced when the input vcf was run through VariantRecalibrator in stage 1.", + "pattern": "*.recal" + } + }, + { + "recal_index": { + "type": "file", + "description": "Index file for the recalibration file.", + "pattern": ".recal.idx" + } + }, + { + "tranches": { + "type": "file", + "description": "Tranches file produced when the input vcf was run through VariantRecalibrator in stage 1.", + "pattern": ".tranches" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "vcf": { + "type": "file", + "description": "compressed vcf file containing the recalibrated variants.", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Index of recalibrated vcf file.", + "pattern": "*vcf.gz.tbi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions.", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@GCJMackenzie" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_asereadcounter", + "path": "modules/nf-core/gatk4/asereadcounter/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_asereadcounter", + "description": "Calculates the allele-specific read counts for alle-specific expression analysis of RNAseq data", + "keywords": [ + "asereadcounter", + "gatk4", + "allele-specific" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf.gz}" + } + }, + { + "fasta": { + "type": "file", + "description": "fasta file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fai": { + "type": "file", + "description": "fasta index file", + "pattern": "*.{fai}" + } + }, + { + "dict": { + "type": "file", + "description": "dictionary file", + "pattern": "*.{dict}" + } + }, + { + "intervals": { + "type": "file", + "description": "interval file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "csv": { + "type": "file", + "description": "output file", + "pattern": "*.{csv}" + } + } + ], + "authors": [ + "@Lucpen" + ] + } + }, + { + "name": "gatk4_baserecalibrator", + "path": "modules/nf-core/gatk4/baserecalibrator/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_baserecalibrator", + "description": "Generate recalibration table for Base Quality Score Recalibration (BQSR)", + "keywords": [ + "sort" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file from alignment", + "pattern": "*.{bam,cram}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAI/CRAI file from alignment", + "pattern": "*.{bai,crai}" + } + }, + { + "intervals": { + "type": "file", + "description": "Bed file with the genomic regions included in the library (optional)" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + }, + { + "known_sites": { + "type": "file", + "description": "VCF files with known sites for indels / snps (optional)", + "pattern": "*.vcf.gz" + } + }, + { + "known_sites_tbi": { + "type": "file", + "description": "Tabix index of the known_sites (optional)", + "pattern": "*.vcf.gz.tbi" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "table": { + "type": "file", + "description": "Recalibration table from BaseRecalibrator", + "pattern": "*.{table}" + } + } + ], + "authors": [ + "@yocra3", + "@FriederikeHanssen", + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_baserecalibratorspark", + "path": "modules/nf-core/gatk4/baserecalibratorspark/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_baserecalibrator_spark", + "description": "Generate recalibration table for Base Quality Score Recalibration (BQSR)", + "keywords": [ + "sort", + "bqsr", + "gatk" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file from alignment", + "pattern": "*.{bam,cram}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAI/CRAI file from alignment", + "pattern": "*.{bai,crai}" + } + }, + { + "intervals": { + "type": "file", + "description": "Bed file with the genomic regions included in the library (optional)" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + }, + { + "known_sites": { + "type": "file", + "description": "VCF files with known sites for indels / snps (optional)", + "pattern": "*.vcf.gz" + } + }, + { + "known_sites_tbi": { + "type": "file", + "description": "Tabix index of the known_sites (optional)", + "pattern": "*.vcf.gz.tbi" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "table": { + "type": "file", + "description": "Recalibration table from BaseRecalibrator", + "pattern": "*.{table}" + } + } + ], + "authors": [ + "@yocra3", + "@FriederikeHanssen", + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_bedtointervallist", + "path": "modules/nf-core/gatk4/bedtointervallist/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_bedtointervallist", + "description": "Creates an interval list from a bed file and a reference dict", + "keywords": [ + "bed", + "interval list", + "bedtointervallist" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "bed": { + "type": "file", + "description": "Input bed file", + "pattern": "*.bed" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "dict": { + "type": "file", + "description": "Sequence dictionary", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "interval_list": { + "type": "file", + "description": "gatk interval list file", + "pattern": "*.interval_list" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kevinmenden", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "rnavar", + "version": "1.0.0" + } + ] + }, + { + "name": "gatk4_calculatecontamination", + "path": "modules/nf-core/gatk4/calculatecontamination/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_calculatecontamination", + "description": "Calculates the fraction of reads from cross-sample contamination based on summary tables from getpileupsummaries. Output to be used with filtermutectcalls.\n", + "keywords": [ + "gatk4", + "calculatecontamination", + "cross-samplecontamination", + "getpileupsummaries", + "filtermutectcalls" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "pileup": { + "type": "file", + "description": "File containing the pileups summary table of a tumor sample to be used to calculate contamination.", + "pattern": "*.pileups.table" + } + }, + { + "matched": { + "type": "file", + "description": "File containing the pileups summary table of a normal sample that matches with the tumor sample specified in pileup argument. This is an optional input.", + "pattern": "*.pileups.table" + } + } + ], + "output": [ + { + "contamination": { + "type": "file", + "description": "File containing the contamination table.", + "pattern": "*.contamination.table" + } + }, + { + "segmentation": { + "type": "file", + "description": "output table containing segmentation of tumor minor allele fractions (optional)", + "pattern": "*.segmentation.table" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@GCJMackenzie", + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_calibratedragstrmodel", + "path": "modules/nf-core/gatk4/calibratedragstrmodel/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_calibratedragstrmodel", + "description": "estimates the parameters for the DRAGstr model", + "keywords": [ + "gatk4", + "bam", + "cram", + "sam", + "calibratedragstrmodel" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4). Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360057441571-CalibrateDragstrModel-BETA-", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "bam_index": { + "type": "file", + "description": "index of the BAM/CRAM/SAM file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "intervals": { + "type": "file", + "description": "BED file or interval list containing regions (optional)", + "pattern": "*.{bed,interval_list}" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference FASTA file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the reference FASTA file", + "pattern": "*.fai" + } + }, + { + "dict": { + "type": "file", + "description": "The sequence dictionary of the reference FASTA file", + "pattern": "*.dict" + } + }, + { + "strtablefile": { + "type": "file", + "description": "The StrTableFile zip folder of the reference FASTA file", + "pattern": "*.zip" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "dragstr_model": { + "type": "file", + "description": "The DragSTR model", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gatk4_cnnscorevariants", + "path": "modules/nf-core/gatk4/cnnscorevariants/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_cnnscorevariants", + "description": "Apply a Convolutional Neural Net to filter annotated variants", + "keywords": [ + "gatk4_cnnscorevariants", + "gatk4", + "variants" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "VCF index file", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "aligned_input": { + "type": "file", + "description": "BAM/CRAM file from alignment (optional)", + "pattern": "*.{bam,cram}" + } + }, + { + "intervals": { + "type": "file", + "description": "Bed file with the genomic regions included in the library (optional)" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + }, + { + "architecture": { + "type": "file", + "description": "Neural Net architecture configuration json file (optional)", + "pattern": "*.json" + } + }, + { + "weights": { + "type": "file", + "description": "Keras model HD5 file with neural net weights. (optional)", + "pattern": "*.hd5" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Annotated VCF file", + "pattern": "*.vcf" + } + }, + { + "tbi": { + "type": "file", + "description": "VCF index file", + "pattern": "*.vcf.gz.tbi" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_collectreadcounts", + "path": "modules/nf-core/gatk4/collectreadcounts/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_collectreadcounts", + "description": "Collects read counts at specified intervals. The count for each interval is calculated by counting the number of read starts that lie in the interval.", + "keywords": [ + "bam", + "cram", + "CollectReadCounts", + "gatk", + "gatk4" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4). Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360037593911-CombineGVCFs", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "intervals": { + "type": "file", + "description": "A file containing the specified intervals", + "pattern": "*.{bed,intervals}" + } + }, + { + "fasta": { + "type": "file", + "description": "Optional - Reference FASTA", + "pattern": "*.{fasta,fa}" + } + }, + { + "fai": { + "type": "file", + "description": "Optional - Index of the reference FASTA file", + "pattern": "*.fai" + } + }, + { + "dict": { + "type": "file", + "description": "Optional - Sequence dictionary of the reference FASTA file", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "hdf5": { + "type": "file", + "description": "The read counts in hdf5 format", + "pattern": "*.hdf5" + } + }, + { + "tsv": { + "type": "file", + "description": "The read counts in TSV format", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gatk4_collectsvevidence", + "path": "modules/nf-core/gatk4/collectsvevidence/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_collectsvevidence", + "description": "Gathers paired-end and split read evidence files for use in the GATK-SV pipeline. Output files are a file containing the location of and orientation of read pairs marked as discordant, and a file containing the clipping location of all soft clipped reads and the orientation of the clipping.", + "keywords": [ + "gatk4", + "collectsvevidence", + "structural variants", + "metrics" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4)", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": "['BSD-3-clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "input_index": { + "type": "file", + "description": "Index of the BAM/CRAM/SAM file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "site_depth_vcf": { + "type": "file", + "description": "Optional - input VCF of SNPs marking loci for site depths, needed for the site depths output", + "pattern": "*.vcf.gz" + } + }, + { + "site_depth_vcf_index": { + "type": "file", + "description": "Optional - index of the VCF file, needed for the site depths output", + "pattern": "*.tbi" + } + }, + { + "fasta": { + "type": "file", + "description": "Optional - reference FASTA file needed when the input is a CRAM file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "Optional - index of the reference FASTA file needed when the input is a CRAM file", + "pattern": "*.fai" + } + }, + { + "dict": { + "type": "file", + "description": "Optional - sequence dictionary of the reference FASTA file needed when the input is a CRAM file", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "split_read_evidence": { + "type": "file", + "description": "Output file for split read evidence", + "pattern": "*.sr.txt.gz" + } + }, + { + "split_read_evidence_index": { + "type": "file", + "description": "Index of the output file for split read evidence", + "pattern": "*.sr.txt.gz.tbi" + } + }, + { + "paired_end_evidence": { + "type": "file", + "description": "Output file for paired end evidence", + "pattern": "*.pe.txt.gz" + } + }, + { + "paired_end_evidence_index": { + "type": "file", + "description": "Index of the output file for paired end evidence", + "pattern": "*.pe.txt.gz.tbi" + } + }, + { + "site_depths": { + "type": "file", + "description": "Output file for site depths", + "pattern": "*.sd.txt.gz" + } + }, + { + "site_depths_index": { + "type": "file", + "description": "Index of the output file for site depths", + "pattern": "*.sd.txt.gz.tbi" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gatk4_combinegvcfs", + "path": "modules/nf-core/gatk4/combinegvcfs/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_combinegvcfs", + "description": "Combine per-sample gVCF files produced by HaplotypeCaller into a multi-sample gVCF file", + "keywords": [ + "gvcf", + "gatk4", + "vcf", + "combinegvcfs", + "Short_Variant_Discovery" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4). Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360037593911-CombineGVCFs", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed VCF files", + "pattern": "*.vcf.gz" + } + }, + { + "vcf_idx": { + "type": "file", + "description": "VCF Index file", + "pattern": "*.vcf.gz.idx" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "FASTA index file", + "pattern": "*.fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "FASTA dictionary file", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "gvcf": { + "type": "file", + "description": "Compressed Combined GVCF file", + "pattern": "*.combined.g.vcf.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sateeshperi", + "@mjcipriano", + "@hseabolt", + "@maxulysse" + ] + } + }, + { + "name": "gatk4_composestrtablefile", + "path": "modules/nf-core/gatk4/composestrtablefile/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_composestrtablefile", + "description": "This tool looks for low-complexity STR sequences along the reference that are later used to estimate the Dragstr model during single sample auto calibration CalibrateDragstrModel.", + "keywords": [ + "gatk4", + "composestrtablefile", + "dragstr" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/4405451249819-ComposeSTRTableFile", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "FASTA reference file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "index of the FASTA reference file", + "pattern": "*.fai" + } + }, + { + "dict": { + "type": "file", + "description": "Sequence dictionary of the FASTA reference file", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "str_table": { + "type": "file", + "description": "A zipped folder containing the STR table files", + "pattern": "*.zip" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gatk4_condensedepthevidence", + "path": "modules/nf-core/gatk4/condensedepthevidence/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_condensedepthevidence", + "description": "Merges adjacent DepthEvidence records", + "keywords": [ + "gatk4", + "condensedepthevidence", + "evidence" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4)", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": "['BSD-3-clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "depth_evidence": { + "type": "file", + "description": "The depth evidence file", + "pattern": "*.rd.txt.gz" + } + }, + { + "depth_evidence_index": { + "type": "file", + "description": "The index of the depth evidence file", + "pattern": "*.rd.txt.gz.tbi" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference FASTA file needed when the input is a CRAM file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "Index of the reference FASTA file needed when the input is a CRAM file", + "pattern": "*.fai" + } + }, + { + "dict": { + "type": "file", + "description": "Sequence dictionary of the reference FASTA file needed when the input is a CRAM file", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "condensed_evidence": { + "type": "file", + "description": "The condensed depth evidence", + "pattern": "*.rd.txt.gz" + } + }, + { + "condensed_evidence_index": { + "type": "file", + "description": "The condensed depth evidence", + "pattern": "*.rd.txt.gz.tbi" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gatk4_createsequencedictionary", + "path": "modules/nf-core/gatk4/createsequencedictionary/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_createsequencedictionary", + "description": "Creates a sequence dictionary for a reference sequence", + "keywords": [ + "dictionary", + "fasta", + "createsequencedictionary" + ], + "tools": [ + { + "gatk": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input fasta file", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "dict": { + "type": "file", + "description": "gatk dictionary file", + "pattern": "*.{dict}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@maxulysse", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_createsomaticpanelofnormals", + "path": "modules/nf-core/gatk4/createsomaticpanelofnormals/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_createsomaticpanelofnormals", + "description": "Create a panel of normals contraining germline and artifactual sites for use with mutect2.", + "keywords": [ + "gatk4", + "createsomaticpanelofnormals", + "panelofnormals" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "genoomicsdb": { + "type": "directory", + "description": "genomicsDB workspace that contains the samples to create the somatic panel of normals with.", + "pattern": "*_genomicsDBworkspace" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test']\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test']\n" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test']\n" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "vcf": { + "type": "file", + "description": "panel of normal as compressed vcf file", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Tabix index of vcf file", + "pattern": "*vcf.gz.tbi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@GCJMackenzie" + ] + } + }, + { + "name": "gatk4_determinegermlinecontigploidy", + "path": "modules/nf-core/gatk4/determinegermlinecontigploidy/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_determinegermlinecontigploidy", + "description": "Determines the baseline contig ploidy for germline samples given counts data", + "keywords": [ + "gatk4", + "determinegermlinecontigploidy", + "counts", + "copy number" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "counts": { + "type": "file", + "description": "One or more count TSV files created with gatk/collectreadcounts", + "pattern": "*.tsv" + } + }, + { + "bed": { + "type": "file", + "description": "Optional - A bed file containing the intervals to include in the process", + "pattern": "*.bed" + } + }, + { + "exclude_beds": { + "type": "file", + "description": "Optional - One or more bed files containing intervals to exclude from the process", + "pattern": "*.bed" + } + }, + { + "contig_ploidy_table": { + "type": "file", + "description": "The contig ploidy priors table", + "pattern": "*.tsv" + } + }, + { + "ploidy_model": { + "type": "directory", + "description": "Optional - A folder containing the ploidy model.\nWhen a model is supplied to tool will run in CASE mode.\npattern: '*-model/'\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "calls": { + "type": "directory", + "description": "A folder containing the calls from the input files", + "pattern": "*-calls/" + } + }, + { + "model": { + "type": "directory", + "description": "A folder containing the model from the input files.\nThis will only be created in COHORT mode (when no model is supplied to the process).\n", + "pattern": "*-model/" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gatk4_estimatelibrarycomplexity", + "path": "modules/nf-core/gatk4/estimatelibrarycomplexity/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_estimatelibrarycomplexity", + "description": "Estimates the numbers of unique molecules in a sequencing library.", + "keywords": [ + "gatk4", + "gatk4_estimatelibrarycomplexity", + "duplication_metrics", + "reporting" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4)", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "metrics": { + "type": "file", + "description": "File containing metrics on the input files", + "pattern": "*.{metrics}" + } + } + ], + "authors": [ + "@FriederikeHanssen", + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_fastqtosam", + "path": "modules/nf-core/gatk4/fastqtosam/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_fastqtosam", + "description": "Converts FastQ file to SAM/BAM format", + "keywords": [ + "bam", + "fastq", + "convert" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4) Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data, respectively.", + "pattern": "*.fastq.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Converted BAM file", + "pattern": "*.bam" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ntoda03" + ] + } + }, + { + "name": "gatk4_filterintervals", + "path": "modules/nf-core/gatk4/filterintervals/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_filterintervals", + "description": "Filters intervals based on annotations and/or count statistics.", + "keywords": [ + "gatk4", + "gatk4_filterintervals" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "read_counts": { + "type": "file", + "description": "Read counts input file", + "pattern": "*.{tsv, hdf5}" + } + }, + { + "intervals": { + "type": "file", + "description": "Processed interval list file (processed_intervals.interval_list)", + "pattern": "*.interval_list" + } + }, + { + "annotated_intervals": { + "type": "file", + "description": "Annotated intervals TSV file (annotated_intervals.tsv).", + "pattern": "*.tsv" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "interval_list": { + "type": "file", + "description": "Filtered interval list file", + "pattern": "*.interval_list" + } + } + ], + "authors": [ + "@ryanjameskennedy", + "@ViktorHy" + ] + } + }, + { + "name": "gatk4_filtermutectcalls", + "path": "modules/nf-core/gatk4/filtermutectcalls/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_filtermutectcalls", + "description": "Filters the raw output of mutect2, can optionally use outputs of calculatecontamination and learnreadorientationmodel to improve filtering.\n", + "keywords": [ + "filtermutectcalls", + "mutect2", + "gatk4", + "filtervcf" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "compressed vcf file of mutect2calls", + "pattern": "*.vcf.gz" + } + }, + { + "vcf_tbi": { + "type": "file", + "description": "Tabix index of vcf file", + "pattern": "*vcf.gz.tbi" + } + }, + { + "stats": { + "type": "file", + "description": "Stats file that pairs with output vcf file", + "pattern": "*vcf.gz.stats" + } + }, + { + "orientationbias": { + "type": "file", + "description": "files containing artifact priors for input vcf. Optional input.", + "pattern": "*.artifact-prior.tar.gz" + } + }, + { + "segmentation": { + "type": "file", + "description": "tables containing segmentation information for input vcf. Optional input.", + "pattern": "*.segmentation.table" + } + }, + { + "table": { + "type": "file", + "description": "table(s) containing contamination data for input vcf. Optional input, takes priority over estimate.", + "pattern": "*.contamination.table" + } + }, + { + "estimate": { + "type": "float", + "description": "estimation of contamination value as a double. Optional input, will only be used if table is not specified." + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "vcf": { + "type": "file", + "description": "file containing filtered mutect2 calls.", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "tbi file that pairs with vcf.", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "stats": { + "type": "file", + "description": "file containing statistics of the filtermutectcalls run.", + "pattern": "*.filteringStats.tsv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@GCJMackenzie", + "@maxulysse", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "gatk4_filtervarianttranches", + "path": "modules/nf-core/gatk4/filtervarianttranches/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_filtervarianttranches", + "description": "Apply tranche filtering", + "keywords": [ + "gatk4", + "filtervarianttranches", + "tranche_filtering" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360051308071-FilterVariantTranches", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "a VCF file containing variants, must have info key:CNN_2D", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "tbi file matching with -vcf", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "resources": { + "type": "list", + "description": "resource A VCF containing known SNP and or INDEL sites. Can be supplied as many times as necessary", + "pattern": "*.vcf.gz" + } + }, + { + "resources_index": { + "type": "list", + "description": "Index of resource VCF containing known SNP and or INDEL sites. Can be supplied as many times as necessary", + "pattern": "*.vcf.gz" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": ".dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "VCF index file", + "pattern": "*.vcf.gz.tbi" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_gatherbqsrreports", + "path": "modules/nf-core/gatk4/gatherbqsrreports/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_gatherbqsrreports", + "description": "Gathers scattered BQSR recalibration reports into a single file", + "keywords": [ + "gatk4", + "gatk4_gatherbqsrreports", + "base_recalibration" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4)", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "table": { + "type": "file", + "description": "File(s) containing BQSR table(s)", + "pattern": "*.table" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "table": { + "type": "file", + "description": "File containing joined BQSR table", + "pattern": "*.table" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_gatherpileupsummaries", + "path": "modules/nf-core/gatk4/gatherpileupsummaries/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_gatherpileupsummaries", + "description": "write your description here", + "keywords": [ + "sort" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4)", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "pileup": { + "type": "(list of) file(s)", + "description": "Pileup files from gatk4/getpileupsummaries", + "pattern": "*.pileups.table" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "table": { + "type": "file", + "description": "pileup summaries table file", + "pattern": "*.pileups.table" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@FriederikeHanssen", + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_genomicsdbimport", + "path": "modules/nf-core/gatk4/genomicsdbimport/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_genomicsdbimport", + "description": "merge GVCFs from multiple samples. For use in joint genotyping or somatic panel of normal creation.", + "keywords": [ + "gatk4", + "genomicsdbimport", + "genomicsdb", + "panelofnormalscreation", + "jointgenotyping" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "vcf": { + "type": "list", + "description": "either a list of vcf files to be used to create or update a genomicsdb, or a file that contains a map to vcf files to be used.", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "list", + "description": "list of tbi files that match with the input vcf files", + "pattern": "*.vcf.gz_tbi" + } + }, + { + "wspace": { + "type": "path", + "description": "path to an existing genomicsdb to be used in update db mode or get intervals mode. This WILL NOT specify name of a new genomicsdb in create db mode.", + "pattern": "/path/to/existing/gendb" + } + }, + { + "intervalfile": { + "type": "file", + "description": "file containing the intervals to be used when creating the genomicsdb", + "pattern": "*.interval_list" + } + }, + { + "intervalval": { + "type": "string", + "description": "if an intervals file has not been spcified, the value enetered here will be used as an interval via the \"-L\" argument", + "pattern": "example: chr1:1000-10000" + } + }, + { + "run_intlist": { + "type": "boolean", + "description": "Specify whether to run get interval list mode, this option cannot be specified at the same time as run_updatewspace.", + "pattern": "true/false" + } + }, + { + "run_updatewspace": { + "type": "boolean", + "description": "Specify whether to run update genomicsdb mode, this option takes priority over run_intlist.", + "pattern": "true/false" + } + }, + { + "input_map": { + "type": "boolean", + "description": "Specify whether the vcf input is providing a list of vcf file(s) or a single file containing a map of paths to vcf files to be used to create or update a genomicsdb.", + "pattern": "*.sample_map" + } + } + ], + "output": [ + { + "genomicsdb": { + "type": "directory", + "description": "Directory containing the files that compose the genomicsdb workspace, this is only output for create mode, as update changes an existing db", + "pattern": "*/$prefix" + } + }, + { + "updatedb": { + "type": "directory", + "description": "Directory containing the files that compose the updated genomicsdb workspace, this is only output for update mode, and should be the same path as the input wspace.", + "pattern": "same/path/as/wspace" + } + }, + { + "intervallist": { + "type": "file", + "description": "File containing the intervals used to generate the genomicsdb, only created by get intervals mode.", + "pattern": "*.interval_list" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@GCJMackenzie" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_genotypegvcfs", + "path": "modules/nf-core/gatk4/genotypegvcfs/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_genotypegvcfs", + "description": "Perform joint genotyping on one or more samples pre-called with HaplotypeCaller.\n", + "keywords": [ + "joint genotyping", + "genotype", + "gvcf" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4)", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gvcf": { + "type": "file", + "description": "gVCF(.gz) file or to a GenomicsDB\n", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "gvcf_index": { + "type": "file", + "description": "index of gvcf file, or empty when providing GenomicsDB\n", + "pattern": "*.{idx,tbi}" + } + }, + { + "intervals": { + "type": "file", + "description": "Interval file with the genomic regions included in the library (optional)" + } + }, + { + "intervals_index": { + "type": "file", + "description": "Interval index file (optional)" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Reference fasta index file", + "pattern": "*.fai" + } + }, + { + "dict": { + "type": "file", + "description": "Reference fasta sequence dict file", + "pattern": "*.dict" + } + }, + { + "dbsnp": { + "type": "file", + "description": "dbSNP VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "dbsnp_tbi": { + "type": "file", + "description": "dbSNP VCF index file", + "pattern": "*.tbi" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Genotyped VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Tbi index for VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@santiagorevale", + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_germlinecnvcaller", + "path": "modules/nf-core/gatk4/germlinecnvcaller/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_germlinecnvcaller", + "description": "Calls copy-number variants in germline samples given their counts and the output of DetermineGermlineContigPloidy.", + "keywords": [ + "gatk", + "gatk4_germlinecnvcaller", + "germline contig ploidy" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tsv": { + "type": "file", + "description": "One or more count TSV files created with gatk/collectreadcounts", + "pattern": "*.tsv" + } + }, + { + "intervals": { + "type": "file", + "description": "Optional - A bed file containing the intervals to include in the process", + "pattern": "*.bed" + } + }, + { + "model": { + "type": "directory", + "description": "Optional - directory containing the model produced by germlinecnvcaller cohort mode", + "pattern": "*-cnv-model/*-model" + } + }, + { + "ploidy": { + "type": "file", + "description": "Directory containing ploidy calls produced by determinegermlinecontigploidy case or cohort mode", + "pattern": "*-calls" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "calls": { + "type": "file", + "description": "Tar gzipped directory containing calls produced by germlinecnvcaller case mode", + "pattern": "*-cnv-calls/*-calls" + } + }, + { + "model": { + "type": "directory", + "description": "Optional - Tar gzipped directory containing the model produced by germlinecnvcaller cohort mode", + "pattern": "*-cnv-model/*-model" + } + } + ], + "authors": [ + "@ryanjameskennedy", + "@ViktorHy" + ] + } + }, + { + "name": "gatk4_getpileupsummaries", + "path": "modules/nf-core/gatk4/getpileupsummaries/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_getpileupsummaries", + "description": "Summarizes counts of reads that support reference, alternate and other alleles for given sites. Results can be used with CalculateContamination. Requires a common germline variant sites file, such as from gnomAD.\n", + "keywords": [ + "gatk4", + "getpileupsumaries", + "readcountssummary", + "germlinevariantsites" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file to be summarised.", + "pattern": "*.{bam,cram}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAM/CRAM file index.", + "pattern": "*.{bai,crai}" + } + }, + { + "intervals": { + "type": "file", + "description": "File containing specified sites to be used for the summary. If this option is not specified, variants file is used instead automatically.", + "pattern": "*.interval_list" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + }, + { + "variants": { + "type": "file", + "description": "Population vcf of germline sequencing, containing allele fractions. Is also used as sites file if no separate sites file is specified.", + "pattern": "*.vcf.gz" + } + }, + { + "variants_tbi": { + "type": "file", + "description": "Index file for the germline resource.", + "pattern": "*.vcf.gz.tbi" + } + } + ], + "output": [ + { + "pileup": { + "type": "file", + "description": "File containing the pileup summary table.", + "pattern": "*.pileups.table" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@GCJMackenzie" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_haplotypecaller", + "path": "modules/nf-core/gatk4/haplotypecaller/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_haplotypecaller", + "description": "Call germline SNPs and indels via local re-assembly of haplotypes", + "keywords": [ + "gatk4", + "haplotypecaller", + "haplotype" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file from alignment", + "pattern": "*.{bam,cram}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAI/CRAI file from alignment", + "pattern": "*.{bai,crai}" + } + }, + { + "intervals": { + "type": "file", + "description": "Bed file with the genomic regions included in the library (optional)" + } + }, + { + "dragstr_model": { + "type": "file", + "description": "Text file containing the DragSTR model of the used BAM/CRAM file (optional)", + "pattern": "*.txt" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + }, + { + "dbsnp": { + "type": "file", + "description": "VCF file containing known sites (optional)" + } + }, + { + "dbsnp_tbi": { + "type": "file", + "description": "VCF index of dbsnp (optional)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Index of VCF file", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "bam": { + "type": "file", + "description": "Assembled haplotypes and locally realigned reads", + "pattern": "*.realigned.bam" + } + } + ], + "authors": [ + "@suzannejin", + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_indexfeaturefile", + "path": "modules/nf-core/gatk4/indexfeaturefile/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_indexfeaturefile", + "description": "Creates an index for a feature file, e.g. VCF or BED file.", + "keywords": [ + "index", + "feature" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4)", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "feature_file": { + "type": "file", + "description": "VCF/BED file", + "pattern": "*.{vcf,vcf.gz,bed,bed.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "file", + "description": "Index for VCF/BED file", + "pattern": "*.{tbi,idx}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@santiagorevale" + ] + }, + "pipelines": [ + { + "name": "rnavar", + "version": "1.0.0" + } + ] + }, + { + "name": "gatk4_intervallisttobed", + "path": "modules/nf-core/gatk4/intervallisttobed/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_intervallisttobed", + "description": "Converts an Picard IntervalList file to a BED file.", + "keywords": [ + "interval", + "bed", + "conversion" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4)", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "interval": { + "type": "file", + "description": "Interval list", + "pattern": "*.{interval,interval_list}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "BED file", + "pattern": "*.bed" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_intervallisttools", + "path": "modules/nf-core/gatk4/intervallisttools/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_intervallisttools", + "description": "Splits the interval list file into unique, equally-sized interval files and place it under a directory", + "keywords": [ + "sort", + "bed", + "interval list" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "interval_list": { + "type": "file", + "description": "Interval list file", + "pattern": "*.interval_list" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "interval_list": { + "type": "file", + "description": "Interval list files", + "pattern": "*.interval_list" + } + } + ], + "authors": [ + "@praveenraj2018" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnavar", + "version": "1.0.0" + } + ] + }, + { + "name": "gatk4_learnreadorientationmodel", + "path": "modules/nf-core/gatk4/learnreadorientationmodel/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_learnreadorientationmodel", + "description": "Uses f1r2 counts collected during mutect2 to Learn the prior probability of read orientation artifacts\n", + "keywords": [ + "gatk4", + "learnreadorientationmodel", + "readorientationartifacts", + "mutect2" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "f1r2": { + "type": "list", + "description": "list of f1r2 files to be used as input.", + "pattern": "*.f1r2.tar.gz" + } + } + ], + "output": [ + { + "artifactprior": { + "type": "file", + "description": "file containing artifact-priors to be used by filtermutectcalls", + "pattern": "*.tar.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@GCJMackenzie" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_leftalignandtrimvariants", + "path": "modules/nf-core/gatk4/leftalignandtrimvariants/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_leftalignandtrimvariants", + "description": "Left align and trim variants using GATK4 LeftAlignAndTrimVariants.", + "keywords": [ + "normalize", + "norm", + "vcf" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "The vcf file to be normalized\ne.g. 'file1.vcf.gz'\n" + } + }, + { + "tbi": { + "type": "file", + "description": "Index of the vcf file to be normalized\ne.g. 'file1.vcf.gz.tbi'\n" + } + }, + { + "intervals": { + "type": "file", + "description": "Bed file with the genomic regions included in the library (optional)" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF normalized output file", + "pattern": "*.{vcf.gz}" + } + }, + { + "tbi": { + "type": "file", + "description": "Tbi index for VCF file", + "pattern": "*.tbi" + } + } + ], + "authors": [ + "@adamrtalbot" + ] + }, + "pipelines": [ + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "gatk4_markduplicates", + "path": "modules/nf-core/gatk4/markduplicates/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_markduplicates", + "description": "This tool locates and tags duplicate reads in a BAM or SAM file, where duplicate reads are defined as originating from a single fragment of DNA.", + "keywords": [ + "markduplicates", + "bam", + "sort" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360037052812-MarkDuplicates-Picard-", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM file", + "pattern": "*.{bam}" + } + }, + { + "fasta": { + "type": "file", + "description": "Fasta file", + "pattern": "*.{fasta}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "Fasta index file", + "pattern": "*.{fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Marked duplicates BAM file", + "pattern": "*.{bam}" + } + }, + { + "cram": { + "type": "file", + "description": "Marked duplicates CRAM file", + "pattern": "*.{cram}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file", + "pattern": "*.{bam.bai}" + } + }, + { + "crai": { + "type": "file", + "description": "CRAM index file", + "pattern": "*.{cram.crai}" + } + }, + { + "metrics": { + "type": "file", + "description": "Duplicate metrics file generated by GATK", + "pattern": "*.{metrics.txt}" + } + } + ], + "authors": [ + "@ajodeh-juma", + "@FriederikeHanssen", + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "gatk4_markduplicatesspark", + "path": "modules/nf-core/gatk4/markduplicatesspark/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_markduplicates_spark", + "description": "This tool locates and tags duplicate reads in a BAM or SAM file, where duplicate reads are defined as originating from a single fragment of DNA.", + "keywords": [ + "markduplicates", + "bam", + "sort" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360037052812-MarkDuplicates-Picard-", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM file", + "pattern": "*.{bam}" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "file", + "description": "Marked duplicates BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "bam_index": { + "type": "file", + "description": "Optional BAM index file", + "pattern": "*.bai" + } + } + ], + "authors": [ + "@ajodeh-juma", + "@FriederikeHanssen", + "@maxulysse", + "@SusiJo" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk4_mergebamalignment", + "path": "modules/nf-core/gatk4/mergebamalignment/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_mergebamalignment", + "description": "Merge unmapped with mapped BAM files", + "keywords": [ + "alignment", + "bam", + "merge", + "mergebamalignment" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "aligned": { + "type": "file", + "description": "The aligned bam file", + "pattern": "*.{bam}" + } + }, + { + "unaligned": { + "type": "file", + "description": "The unmaped bam file", + "pattern": "*.{bam}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary" + } + } + ], + "output": [ + { + "bam": { + "type": "file", + "description": "The merged bam file", + "pattern": "*.bam" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kevinmenden", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "gatk4_mergemutectstats", + "path": "modules/nf-core/gatk4/mergemutectstats/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_mergemutectstats", + "description": "Merges mutect2 stats generated on different intervals/regions", + "keywords": [ + "mutectstats", + "merge" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4)", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "stats": { + "type": "(list of) file(s)", + "description": "Stats file", + "pattern": "*.{stats}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "stats": { + "type": "file", + "description": "Stats file", + "pattern": "*.vcf.gz.stats" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "gatk4_mergevcfs", + "path": "modules/nf-core/gatk4/mergevcfs/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_mergevcfs", + "description": "Merges several vcf files", + "keywords": [ + "vcf", + "merge" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "vcf": { + "type": "list", + "description": "Two or more VCF files", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome']\n" + } + }, + { + "ref_dict": { + "type": "file", + "description": "Optional Sequence Dictionary as input", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "vcf": { + "type": "file", + "description": "merged vcf file", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "index files for the merged vcf files", + "pattern": "*.tbi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "gatk4_mutect2", + "path": "modules/nf-core/gatk4/mutect2/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_mutect2", + "description": "Call somatic SNVs and indels via local assembly of haplotypes.", + "keywords": [ + "gatk4", + "mutect2", + "haplotype", + "somatic" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "input": { + "type": "list", + "description": "list of BAM files, also able to take CRAM as an input", + "pattern": "*.{bam/cram}" + } + }, + { + "input_index": { + "type": "list", + "description": "list of BAM file indexes, also able to take CRAM indexes as an input", + "pattern": "*.{bam.bai/cram.crai}" + } + }, + { + "intervals": { + "type": "file", + "description": "Specify region the tools is run on.", + "pattern": ".{bed,interval_list}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + }, + { + "germline_resource": { + "type": "file", + "description": "Population vcf of germline sequencing, containing allele fractions.", + "pattern": "*.vcf.gz" + } + }, + { + "germline_resource_tbi": { + "type": "file", + "description": "Index file for the germline resource.", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "panel_of_normals": { + "type": "file", + "description": "vcf file to be used as a panel of normals.", + "pattern": "*.vcf.gz" + } + }, + { + "panel_of_normals_tbi": { + "type": "file", + "description": "Index for the panel of normals.", + "pattern": "*.vcf.gz.tbi" + } + } + ], + "output": [ + { + "vcf": { + "type": "file", + "description": "compressed vcf file", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Index of vcf file", + "pattern": "*vcf.gz.tbi" + } + }, + { + "stats": { + "type": "file", + "description": "Stats file that pairs with output vcf file", + "pattern": "*vcf.gz.stats" + } + }, + { + "f1r2": { + "type": "file", + "description": "file containing information to be passed to LearnReadOrientationModel (only outputted when tumor_normal_pair mode is run)", + "pattern": "*.f1r2.tar.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@GCJMackenzie", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "gatk4_postprocessgermlinecnvcalls", + "path": "modules/nf-core/gatk4/postprocessgermlinecnvcalls/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_postprocessgermlinecnvcalls", + "description": "Postprocesses the output of GermlineCNVCaller and generates VCFs and denoised copy ratios", + "keywords": [ + "gatk4", + "postprocessgermlinecnvcalls", + "copy number" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360037593411-PostprocessGermlineCNVCalls", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ploidy": { + "type": "directory", + "description": "Optional - A folder containing the ploidy model.\nWhen a model is supplied to tool will run in CASE mode.\n", + "pattern": "*-calls/" + } + }, + { + "calls": { + "type": "directory", + "description": "A folder containing the calls from the input files", + "pattern": "*-cnv-calls/*-calls" + } + }, + { + "model": { + "type": "directory", + "description": "A folder containing the model from the input files.\nThis will only be created in COHORT mode (when no model is supplied to the process).\n", + "pattern": "*-cnv-model/*-model" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "denoised": { + "type": "file", + "description": "Denoised copy ratio file", + "pattern": "*.vcf.gz" + } + }, + { + "segments": { + "type": "file", + "description": "Segments VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "intervals": { + "type": "file", + "description": "Intervals VCF file", + "pattern": "*.vcf.gz" + } + } + ], + "authors": [ + "@ryanjameskennedy" + ] + } + }, + { + "name": "gatk4_preprocessintervals", + "path": "modules/nf-core/gatk4/preprocessintervals/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_preprocessintervals", + "description": "Prepares bins for coverage collection.", + "keywords": [ + "gatk4", + "preprocessintervals", + "interval", + "bed" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "intervals": { + "type": "file", + "description": "Interval file (bed or interval_list) with the genomic regions to be included from the analysis (optional)", + "pattern": "*.{bed,interval_list}" + } + }, + { + "meta5": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "exclude_intervals": { + "type": "file", + "description": "Interval file (bed or interval_list) with the genomic regions to be excluded from the analysis (optional)", + "pattern": "*.{bed,interval_list}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "interval_list": { + "type": "file", + "description": "Processed interval list file", + "pattern": "*.{bed,interval_list}" + } + } + ], + "authors": [ + "@ryanjameskennedy", + "@ViktorHy", + "@ramprasadn" + ] + } + }, + { + "name": "gatk4_printreads", + "path": "modules/nf-core/gatk4/printreads/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_printreads", + "description": "Print reads in the SAM/BAM/CRAM file", + "keywords": [ + "gatk4", + "bam", + "cram", + "sam", + "printreads" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "index": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "reference fasta file", + "pattern": "*.{fa,fasta}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "reference fasta index file", + "pattern": "*.{fai}" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "dict": { + "type": "file", + "description": "reference fasta dictionary file", + "pattern": "*.{dict}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM file", + "pattern": "*.{bam}" + } + }, + { + "cram": { + "type": "file", + "description": "Sorted CRAM file", + "pattern": "*.{cram}" + } + }, + { + "sam": { + "type": "file", + "description": "Sorted SAM file", + "pattern": "*.{sam}" + } + } + ], + "authors": [ + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "gatk4_printsvevidence", + "path": "modules/nf-core/gatk4/printsvevidence/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_printsvevidence", + "description": "WARNING - this tool is still experimental and shouldn't be used in a production setting. Gathers paired-end and split read evidence files for use in the GATK-SV pipeline. Output files are a file containing the location of and orientation of read pairs marked as discordant, and a file containing the clipping location of all soft clipped reads and the orientation of the clipping.", + "keywords": [ + "structural_variants", + "gatk4", + "printsvevidence" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "evidence_files": { + "type": "file", + "description": "The evidence files created by CollectSVEvidence. They all need to be of the same type to print the SV evidence.", + "pattern": "*.{pe,sr,baf,rd}.txt(.gz)" + } + }, + { + "evidence_indices": { + "type": "file", + "description": "The indices of the evidence files created by CollectSVEvidence", + "pattern": "*.{pe,sr,baf,rd}.txt(.gz).tbi" + } + }, + { + "bed": { + "type": "file", + "description": "An optional BED file", + "pattern": "*.bed" + } + }, + { + "fasta": { + "type": "file", + "description": "An optional reference FASTA file", + "pattern": "*.{fa,fasta}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "An optional reference FASTA file index", + "pattern": "*.fai" + } + }, + { + "dict": { + "type": "file", + "description": "The mandatory sequence dictionary file", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "printed_evidence": { + "type": "file", + "description": "The output file containing the discordant read pairs or the soft clipped reads", + "pattern": "*.{pe,sr,baf,rd}.txt.gz" + } + }, + { + "printed_evidence": { + "type": "file", + "description": "The index of the output file containing the discordant read pairs or the soft clipped reads", + "pattern": "*.{pe,sr,baf,rd}.txt.gz.tbi" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gatk4_reblockgvcf", + "path": "modules/nf-core/gatk4/reblockgvcf/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_reblockgvcf", + "description": "Condenses homRef blocks in a single-sample GVCF", + "keywords": [ + "gatk4", + "reblockgvcf", + "gvcf" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gvcf": { + "type": "file", + "description": "GVCF file created using HaplotypeCaller using the '-ERC GVCF' or '-ERC BP_RESOLUTION' mode", + "pattern": "*.{vcf,gvcf}.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Index of the GVCF file", + "pattern": "*.tbi" + } + }, + { + "intervals": { + "type": "file", + "description": "Bed file with the genomic regions included in the library (optional)" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + }, + { + "dbsnp": { + "type": "file", + "description": "VCF file containing known sites (optional)" + } + }, + { + "dbsnp_tbi": { + "type": "file", + "description": "VCF index of dbsnp (optional)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "gvcf": { + "type": "file", + "description": "Filtered GVCF", + "pattern": "*rb.g.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Index of the filtered GVCF", + "pattern": "*rb.g.vcf.gz.tbi" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gatk4_revertsam", + "path": "modules/nf-core/gatk4/revertsam/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_revertsam", + "description": "Reverts SAM or BAM files to a previous state.", + "keywords": [ + "sam", + "revert" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "bam": { + "type": "file", + "description": "The input bam/sam file", + "pattern": "*.{bam,sam}" + } + } + ], + "output": [ + { + "bam": { + "type": "file", + "description": "The reverted bam/sam file", + "pattern": "*.reverted.bam" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "gatk4_samtofastq", + "path": "modules/nf-core/gatk4/samtofastq/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_samtofastq", + "description": "Converts BAM/SAM file to FastQ format", + "keywords": [ + "bed", + "interval list" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "bam": { + "type": "file", + "description": "Input SAM/BAM file", + "pattern": "*.{bam,sam}" + } + } + ], + "output": [ + { + "fastq": { + "type": "file", + "description": "converted fastq file", + "pattern": "*.fastq" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "gatk4_selectvariants", + "path": "modules/nf-core/gatk4/selectvariants/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_selectvariants", + "description": "Select a subset of variants from a VCF file", + "keywords": [ + "gatk", + "gatk4", + "selectvariants", + "vcf" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360036362532-SelectVariants", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "vcf": { + "type": "list", + "description": "VCF(.gz) file", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "vcf_idx": { + "type": "list", + "description": "VCF file index", + "pattern": "*.{idx,tbi}" + } + }, + { + "intervals": { + "type": "file", + "description": "One or more genomic intervals over which to operate", + "pattern": ".intervals" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed VCF file", + "pattern": "*.selectvariants.vcf.gz" + } + }, + { + "vcf_tbi": { + "type": "list", + "description": "VCF file index", + "pattern": "*.{idx,tbi}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@mjcipriano", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "gatk4_shiftfasta", + "path": "modules/nf-core/gatk4/shiftfasta/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_shiftfasta", + "description": "Create a fasta with the bases shifted by offset", + "keywords": [ + "mitochondria", + "shiftfasta", + "shiftchain", + "shiftintervals" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "fasta file", + "pattern": "*.{fa,fasta}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "index for fasta file", + "pattern": "*.{fai}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "dict": { + "type": "file", + "description": "sequence dictionary file", + "pattern": "*.{dict}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing fasta information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "dict": { + "type": "file", + "description": "sequence dictionary file", + "pattern": "*.{dict}" + } + }, + { + "intervals": { + "type": "file", + "description": "Intervals file for the fasta file", + "pattern": "*.{intervals}" + } + }, + { + "shift_back_chain": { + "type": "file", + "description": "The shiftback chain file to use when lifting over", + "pattern": "*.{back_chain}" + } + }, + { + "shift_fa": { + "type": "file", + "description": "Shifted fasta file", + "pattern": "*.{fa,fasta}" + } + }, + { + "shift_intervals": { + "type": "file", + "description": "Intervals file for the shifted fasta file", + "pattern": "*.{shifted.intervals}" + } + } + ], + "authors": [ + "@ramprasadn" + ] + } + }, + { + "name": "gatk4_sitedepthtobaf", + "path": "modules/nf-core/gatk4/sitedepthtobaf/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_sitedepthtobaf", + "description": "EXPERIMENTAL TOOL! Convert SiteDepth to BafEvidence", + "keywords": [ + "gatk4", + "site depth", + "BAF" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4)", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "site_depths": { + "type": "file", + "description": "Files containing site depths", + "pattern": "*.sd.txt.gz" + } + }, + { + "site_depths_indices": { + "type": "file", + "description": "The indices of the site depth files", + "pattern": "*.sd.txt.gz.tbi" + } + }, + { + "vcf": { + "type": "file", + "description": "Input VCF of SNPs marking loci for site depths", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Index of the input VCF of SNPs marking loci for site depths", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference FASTA file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the reference FASTA file", + "pattern": "*.fai" + } + }, + { + "dict": { + "type": "file", + "description": "The sequence dictionary of the reference FASTA file", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "baf": { + "type": "file", + "description": "The created BAF file", + "pattern": "*.baf.txt.gz" + } + }, + { + "baf_tbi": { + "type": "file", + "description": "The index of the created BAF file", + "pattern": "*.baf.txt.gz.tbi" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gatk4_splitcram", + "path": "modules/nf-core/gatk4/splitcram/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_splitcram", + "description": "Splits CRAM files efficiently by taking advantage of their container based structure", + "keywords": [ + "gatk4", + "splitcram", + "split", + "cram" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "cram": { + "type": "file", + "description": "The CRAM file to split", + "pattern": "*.cram" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "split_crams": { + "type": "file", + "description": "A list of split CRAM files", + "pattern": "*.cram" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gatk4_splitintervals", + "path": "modules/nf-core/gatk4/splitintervals/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_splitintervals", + "description": "Split intervals into sub-interval files.", + "keywords": [ + "interval", + "bed", + "splitintervals" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4)", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "interval": { + "type": "file", + "description": "Interval list or BED", + "pattern": "*.{interval,interval_list,bed}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference FASTA", + "pattern": "*.{fa,fasta}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Reference FASTA index", + "pattern": "*.fai" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "dict": { + "type": "file", + "description": "Reference sequence dictionary", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "A list of scattered interval lists", + "pattern": "*.interval_list" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@nvnieuwk", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "gatk4_splitncigarreads", + "path": "modules/nf-core/gatk4/splitncigarreads/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_splitncigarreads", + "description": "Splits reads that contain Ns in their cigar string", + "keywords": [ + "vcf", + "merge" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "bam": { + "type": "list", + "description": "BAM/SAM/CRAM file containing reads", + "pattern": "*.{bam,sam,cram}" + } + }, + { + "bai": { + "type": "list", + "description": "BAI/SAI/CRAI index file (optional)", + "pattern": "*.{bai,sai,crai}" + } + }, + { + "intervals": { + "type": "file", + "description": "Bed file with the genomic regions included in the library (optional)" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "bam": { + "type": "file", + "description": "Output file with split reads (BAM/SAM/CRAM)", + "pattern": "*.{bam,sam,cram}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "rnavar", + "version": "1.0.0" + } + ] + }, + { + "name": "gatk4_svannotate", + "path": "modules/nf-core/gatk4/svannotate/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_svannotate", + "description": "Adds predicted functional consequence, gene overlap, and noncoding element overlap annotations to SV VCF from GATK-SV pipeline. Input files are an SV VCF, a GTF file containing primary or canonical transcripts, and a BED file containing noncoding elements. Output file is an annotated SV VCF.", + "keywords": [ + "gatk4", + "svannotate", + "vcf", + "annotate", + "structural variants" + ], + "tools": [ + { + "gatk4": { + "description": "Genome Analysis Toolkit (GATK4)", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "tool_dev_url": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "A VCF file created with a structural variant caller", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "The index file of the VCF", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "fasta": { + "type": "file", + "description": "Optional - reference FASTA file needed when the input is a CRAM file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "Optional - index of the reference FASTA file needed when the input is a CRAM file", + "pattern": "*.fai" + } + }, + { + "dict": { + "type": "file", + "description": "Optional - sequence dictionary of the reference FASTA file needed when the input is a CRAM file", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "annotated_vcf": { + "type": "file", + "description": "The annotated structural variant VCF", + "pattern": "*.vcf.gz" + } + }, + { + "index": { + "type": "file", + "description": "The index of the VCF", + "pattern": "*.vcf.gz.tbi" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gatk4_svcluster", + "path": "modules/nf-core/gatk4/svcluster/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_svcluster", + "description": "Clusters structural variants based on coordinates, event type, and supporting algorithms", + "keywords": [ + "gatk4", + "svcluster", + "vcf", + "structural_variants" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://github.com/broadinstitute/gatk", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcfs": { + "type": "file", + "description": "One or more VCF files created with a structural variant caller", + "pattern": "*.vcf.gz" + } + }, + { + "indices": { + "type": "file", + "description": "Index files for the VCFs", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "ploidy_table": { + "type": "file", + "description": "The sample ploidy table", + "pattern": "*.tsv" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference FASTA file needed when the input is a CRAM file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "Index of the reference FASTA file needed when the input is a CRAM file", + "pattern": "*.fai" + } + }, + { + "dict": { + "type": "file", + "description": "Sequence dictionary of the reference FASTA file needed when the input is a CRAM file", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "clustered_vcf": { + "type": "file", + "description": "The VCF containing the clustered VCFs", + "pattern": "*.vcf.gz" + } + }, + { + "clustered_vcf_index": { + "type": "file", + "description": "The index of the VCF containing the clustered VCFs", + "pattern": "*.vcf.gz.tbi" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gatk4_variantfiltration", + "path": "modules/nf-core/gatk4/variantfiltration/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_variantfiltration", + "description": "Filter variants", + "keywords": [ + "vcf", + "filter", + "variantfiltration" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "vcf": { + "type": "list", + "description": "List of VCF(.gz) files", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "vcf_tbi": { + "type": "list", + "description": "List of VCF file indexes", + "pattern": "*.{idx,tbi}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Fasta file of reference genome", + "pattern": "*.fasta" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Index of fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "dict": { + "type": "file", + "description": "Sequence dictionary of fastea file", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "vcf": { + "type": "file", + "description": "Compressed VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Index of VCF file", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kevinmenden", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "gatk4_variantrecalibrator", + "path": "modules/nf-core/gatk4/variantrecalibrator/meta.yml", + "type": "module", + "meta": { + "name": "gatk4_variantrecalibrator", + "description": "Build a recalibration model to score variant quality for filtering purposes.\nIt is highly recommended to follow GATK best practices when using this module,\nthe gaussian mixture model requires a large number of samples to be used for the\ntool to produce optimal results. For example, 30 samples for exome data. For more details see\nhttps://gatk.broadinstitute.org/hc/en-us/articles/4402736812443-Which-training-sets-arguments-should-I-use-for-running-VQSR-\n", + "keywords": [ + "VariantRecalibrator", + "gatk4", + "recalibration_model" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "input vcf file containing the variants to be recalibrated", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "tbi file matching with -vcf", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "resource_vcf": { + "type": "file", + "description": "all resource vcf files that are used with the corresponding '--resource' label", + "pattern": "*.vcf.gz" + } + }, + { + "resource_tbi": { + "type": "file", + "description": "all resource tbi files that are used with the corresponding '--resource' label", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "labels": { + "type": "string", + "description": "necessary arguments for GATK VariantRecalibrator. Specified to directly match the resources provided. More information can be found at https://gatk.broadinstitute.org/hc/en-us/articles/5358906115227-VariantRecalibrator" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "recal": { + "type": "file", + "description": "Output recal file used by ApplyVQSR", + "pattern": "*.recal" + } + }, + { + "idx": { + "type": "file", + "description": "Index file for the recal output file", + "pattern": "*.idx" + } + }, + { + "tranches": { + "type": "file", + "description": "Output tranches file used by ApplyVQSR", + "pattern": "*.tranches" + } + }, + { + "plots": { + "type": "file", + "description": "Optional output rscript file to aid in visualization of the input data and learned model.", + "pattern": "*plots.R" + } + }, + { + "version": { + "type": "file", + "description": "File containing software versions", + "pattern": "*.versions.yml" + } + } + ], + "authors": [ + "@GCJMackenzie", + "@nickhsmith" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "gatk_indelrealigner", + "path": "modules/nf-core/gatk/indelrealigner/meta.yml", + "type": "module", + "meta": { + "name": "gatk_indelrealigner", + "description": "Performs local realignment around indels to correct for mapping errors", + "keywords": [ + "bam", + "vcf", + "variant calling", + "indel", + "realignment" + ], + "tools": [ + { + "gatk": { + "description": "The full Genome Analysis Toolkit (GATK) framework, license restricted.", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://github.com/broadinstitute/gatk-docs", + "licence": "['https://software.broadinstitute.org/gatk/download/licensing', 'BSD', 'https://www.broadinstitute.org/gatk/about/#licensing']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted and indexed BAM file", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file", + "pattern": "*.bai" + } + }, + { + "intervals": { + "type": "file", + "description": "Intervals file created by gatk3 RealignerTargetCreator", + "pattern": "*.{intervals,list}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference file used to generate BAM file", + "pattern": ".{fasta,fa,fna}" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference file used to generate BAM file", + "pattern": ".fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK dict file for reference", + "pattern": ".dict" + } + }, + { + "known_vcf": { + "type": "file", + "description": "Optional input VCF file(s) with known indels", + "pattern": ".vcf" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted and indexed BAM file with local realignment around variants", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "Output BAM Index file", + "pattern": "*.bai" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "gatk_realignertargetcreator", + "path": "modules/nf-core/gatk/realignertargetcreator/meta.yml", + "type": "module", + "meta": { + "name": "gatk_realignertargetcreator", + "description": "Generates a list of locations that should be considered for local realignment prior genotyping.", + "keywords": [ + "bam", + "vcf", + "variant calling", + "indel", + "realignment", + "targets" + ], + "tools": [ + { + "gatk": { + "description": "The full Genome Analysis Toolkit (GATK) framework, license restricted.", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://github.com/broadinstitute/gatk-docs", + "licence": "['https://software.broadinstitute.org/gatk/download/licensing', 'BSD', 'https://www.broadinstitute.org/gatk/about/#licensing']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "Sorted and indexed BAM/CRAM/SAM file", + "pattern": "*.bam" + } + }, + { + "index": { + "type": "file", + "description": "BAM index file", + "pattern": "*.bai" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference file used to generate BAM file", + "pattern": ".{fasta,fa,fna}" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference file used to generate BAM file", + "pattern": ".fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK dict file for reference", + "pattern": ".dict" + } + }, + { + "known_vcf": { + "type": "file", + "description": "Optional input VCF file(s) with known indels", + "pattern": ".vcf" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "intervals": { + "type": "file", + "description": "File containg intervals that represent sites of extant and potential indels.", + "pattern": "*.intervals" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "gatk_unifiedgenotyper", + "path": "modules/nf-core/gatk/unifiedgenotyper/meta.yml", + "type": "module", + "meta": { + "name": "gatk_unifiedgenotyper", + "description": "SNP and Indel variant caller on a per-locus basis", + "keywords": [ + "bam", + "vcf", + "variant calling" + ], + "tools": [ + { + "gatk": { + "description": "The full Genome Analysis Toolkit (GATK) framework, license restricted.", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://github.com/broadinstitute/gatk-docs", + "licence": "['https://software.broadinstitute.org/gatk/download/licensing', 'BSD', 'https://www.broadinstitute.org/gatk/about/#licensing']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "Sorted and indexed BAM/CRAM/SAM file", + "pattern": "*.bam" + } + }, + { + "index": { + "type": "file", + "description": "BAM index file", + "pattern": "*.bai" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference file used to generate BAM file", + "pattern": ".{fasta,fa,fna}" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference file used to generate BAM file", + "pattern": ".fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK dict file for reference", + "pattern": ".dict" + } + }, + { + "intervals": { + "type": "file", + "description": "Bed file with the genomic regions included in the library (optional)", + "pattern": "*.intervals" + } + }, + { + "contamination": { + "type": "file", + "description": "Tab-separated file containing fraction of contamination in sequencing data (per sample) to aggressively remove", + "pattern": "*" + } + }, + { + "dbsnps": { + "type": "file", + "description": "VCF file containing known sites (optional)", + "pattern": "*" + } + }, + { + "comp": { + "type": "file", + "description": "Comparison VCF file (optional)", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file containing called variants", + "pattern": "*.vcf.gz" + } + } + ], + "authors": [ + "@ilight1542", + "@jfy133" + ] + } + }, + { + "name": "gawk", + "path": "modules/nf-core/gawk/meta.yml", + "type": "module", + "meta": { + "name": "gawk", + "description": "If you are like many computer users, you would frequently like to make changes in various text files\nwherever certain patterns appear, or extract data from parts of certain lines while discarding the rest.\nThe job is easy with awk, especially the GNU implementation gawk.\n", + "keywords": [ + "gawk", + "awk", + "txt", + "text", + "file parsing" + ], + "tools": [ + { + "gawk": { + "description": "GNU awk", + "homepage": "https://www.gnu.org/software/gawk/", + "documentation": "https://www.gnu.org/software/gawk/manual/", + "tool_dev_url": "https://www.gnu.org/prep/ftp.html", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "The input file - Specify the logic that needs to be executed on this file on the `ext.args2` or in the program file", + "pattern": "*" + } + }, + { + "program_file": { + "type": "file", + "description": "Optional file containing logic for awk to execute. If you don't wish to use a file, you can use `ext.args2` to specify the logic.", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "file", + "description": "The output file - specify the name of this file using `ext.prefix` and the extension using `ext.suffix`", + "pattern": "*" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gecco_run", + "path": "modules/nf-core/gecco/run/meta.yml", + "type": "module", + "meta": { + "name": "gecco_run", + "description": "GECCO is a fast and scalable method for identifying putative novel Biosynthetic Gene Clusters (BGCs) in genomic and metagenomic data using Conditional Random Fields (CRFs).", + "keywords": [ + "bgc", + "detection", + "metagenomics", + "contigs" + ], + "tools": [ + { + "gecco": { + "description": "Biosynthetic Gene Cluster prediction with Conditional Random Fields.", + "homepage": "https://gecco.embl.de", + "documentation": "https://gecco.embl.de", + "tool_dev_url": "https://github.com/zellerlab/GECCO", + "doi": "10.1101/2021.05.03.442509", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "A genomic file containing one or more sequences as input. Input type is any supported by Biopython (fasta, gbk, etc.)", + "pattern": "*" + } + }, + { + "hmm": { + "type": "file", + "description": "Alternative HMM file(s) to use in HMMER format", + "pattern": "*.hmm" + } + }, + { + "model_dir": { + "type": "directory", + "description": "Path to an alternative CRF (Conditional Random Fields) module to use" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "genes": { + "type": "file", + "description": "TSV file containing detected/predicted genes with BGC probability scores. Will not be generated if no hits are found.", + "pattern": "*.genes.tsv" + } + }, + { + "features": { + "type": "file", + "description": "TSV file containing identified domains", + "pattern": "*.features.tsv" + } + }, + { + "clusters": { + "type": "file", + "description": "TSV file containing coordinates of predicted clusters and BGC types. Will not be generated if no hits are found.", + "pattern": "*.clusters.tsv" + } + }, + { + "gbk": { + "type": "file", + "description": "Per cluster GenBank file (if found) containing sequence with annotations. Will not be generated if no hits are found.", + "pattern": "*.gbk" + } + }, + { + "json": { + "type": "file", + "description": "AntiSMASH v6 sideload JSON file (if --antismash-sideload) supplied. Will not be generated if no hits are found.", + "pattern": "*.gbk" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "gem2_gem2bedmappability", + "path": "modules/nf-core/gem2/gem2bedmappability/meta.yml", + "type": "module", + "meta": { + "name": "gem2_gem2bedmappability", + "description": "Convert a mappability file to bedgraph format", + "keywords": [ + "mappability", + "bedgraph", + "index", + "gem" + ], + "tools": [ + { + "gem2": { + "description": "GEM2 is a high-performance mapping tool. It also provide a unique tool to evaluate mappability.", + "homepage": "https://paoloribeca.science/gem", + "licence": "['Custom']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "map": { + "type": "file", + "description": "The mappability file created from the index", + "pattern": "*.mappability" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing index information\n" + } + }, + { + "index": { + "type": "file", + "description": "The index of the reference FASTA", + "pattern": "*.gem" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bedgraph": { + "type": "file", + "description": "The resulting bedgraph file", + "pattern": "*.bg" + } + }, + { + "sizes": { + "type": "file", + "description": "The chromosome sizes", + "pattern": "*.sizes" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gem2_gemindexer", + "path": "modules/nf-core/gem2/gemindexer/meta.yml", + "type": "module", + "meta": { + "name": "gem2_gemindexer", + "description": "Create a GEM index from a FASTA file", + "keywords": [ + "fasta", + "index", + "reference", + "mappability" + ], + "tools": [ + { + "gem2": { + "description": "GEM2 is a high-performance mapping tool. It also provide a unique tool to evaluate mappability.", + "homepage": "https://paoloribeca.science/gem", + "licence": "['Custom']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "A reference FASTA file to index", + "pattern": "*.{fasta,fa,fna}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "gem": { + "type": "file", + "description": "The created index", + "pattern": "*.gem" + } + }, + { + "log": { + "type": "file", + "description": "The execution log", + "pattern": "*.log" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gem2_gemmappability", + "path": "modules/nf-core/gem2/gemmappability/meta.yml", + "type": "module", + "meta": { + "name": "gem2_gemmappability", + "description": "Define the mappability of a reference", + "keywords": [ + "mappability", + "gem", + "index", + "reference" + ], + "tools": [ + { + "gem2": { + "description": "GEM2 is a high-performance mapping tool. It also provide a unique tool to evaluate mappability.", + "homepage": "https://paoloribeca.science/gem", + "licence": "['Custom']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "file", + "description": "The index created with gem-indexer from the reference FASTA", + "pattern": "*.gem" + } + }, + { + "read_length": { + "type": "integer", + "description": "The read length to define the mappability of" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "map": { + "type": "file", + "description": "The resulting mappability file", + "pattern": "*.mappability" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "genescopefk", + "path": "modules/nf-core/genescopefk/meta.yml", + "type": "module", + "meta": { + "name": "genescopefk", + "description": "A derivative of GenomeScope2.0 modified to work with FastK", + "keywords": [ + "k-mer", + "genome profile", + "histogram" + ], + "tools": [ + { + "genescopefk": { + "description": "A derivative of GenomeScope2.0 modified to work with FastK", + "homepage": "https://github.com/thegenemyers/GENESCOPE.FK", + "tool_dev_url": "https://github.com/thegenemyers/GENESCOPE.FK", + "licence": "https://github.com/thegenemyers/GENESCOPE.FK/blob/main/LICENSE" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastk_histex_histogram": { + "type": "file", + "description": "A histogram formatted for GeneScope using the -G parameter from Fastk Histex", + "pattern": "*.hist" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "linear_plot": { + "type": "file", + "description": "A GeneScope linear plot in PNG format", + "pattern": "*_linear_plot.png" + } + }, + { + "transformed_linear_plot": { + "type": "file", + "description": "A GeneScope transformed linear plot in PNG format", + "pattern": "*_transformed_linear_plot.png" + } + }, + { + "log_plot": { + "type": "file", + "description": "A GeneScope log plot in PNG format", + "pattern": "*_log_plot.png" + } + }, + { + "transformed_log_plot": { + "type": "file", + "description": "A GeneScope transformed log plot in PNG format", + "pattern": "*_transformed_log_plot.png" + } + }, + { + "model": { + "type": "file", + "description": "GeneScope model fit summary", + "pattern": "*_model.txt" + } + }, + { + "summary": { + "type": "file", + "description": "GeneScope histogram summary", + "pattern": "*_summary.txt" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "genmap_index", + "path": "modules/nf-core/genmap/index/meta.yml", + "type": "module", + "meta": { + "name": "genmap_index", + "description": "create index file for genmap", + "keywords": [ + "index", + "mappability", + "fasta" + ], + "tools": [ + { + "genmap": { + "description": "Ultra-fast computation of genome mappability.", + "homepage": "https://github.com/cpockrandt/genmap", + "documentation": "https://github.com/cpockrandt/genmap", + "tool_dev_url": "https://github.com/cpockrandt/genmap", + "doi": "10.1093/bioinformatics/btaa222", + "licence": [ + "BSD-3-Clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "fasta file to index", + "pattern": "*.{fasta,fa,fna}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "index": { + "type": "directory", + "description": "Genmap index directory" + } + } + ], + "authors": [ + "@jianhong", + "@nvnieuwk" + ] + }, + "pipelines": [ + { + "name": "hicar", + "version": "1.0.0" + } + ] + }, + { + "name": "genmap_map", + "path": "modules/nf-core/genmap/map/meta.yml", + "type": "module", + "meta": { + "name": "genmap_map", + "description": "create mappability files for a genome", + "keywords": [ + "mappability", + "index", + "fasta", + "bedgraph", + "csv", + "wig" + ], + "tools": [ + { + "genmap": { + "description": "Ultra-fast computation of genome mappability.", + "homepage": "https://github.com/cpockrandt/genmap", + "documentation": "https://github.com/cpockrandt/genmap", + "tool_dev_url": "https://github.com/cpockrandt/genmap", + "doi": "10.1093/bioinformatics/btaa222", + "licence": [ + "BSD-3-Clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "directory", + "description": "index directory" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing regions information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "regions": { + "type": "file", + "description": "optional - a bed file with regions to define the mappability off", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "wig": { + "type": "file", + "description": "genmap wig mappability file", + "pattern": "*.wig" + } + }, + { + "bedgraph": { + "type": "file", + "description": "genmap bedgraph mappability file", + "pattern": "*.bedgraph" + } + }, + { + "txt": { + "type": "file", + "description": "genmap text mappability file", + "pattern": "*.txt" + } + }, + { + "csv": { + "type": "file", + "description": "genmap csv mappability file", + "pattern": "*.csv" + } + } + ], + "authors": [ + "@jianhong", + "@nvnieuwk" + ] + } + }, + { + "name": "genmod_annotate", + "path": "modules/nf-core/genmod/annotate/meta.yml", + "type": "module", + "meta": { + "name": "genmod_annotate", + "description": "for annotating regions, frequencies, cadd scores", + "keywords": [ + "annotate", + "genmod" + ], + "tools": [ + { + "genmod": { + "description": "Annotate genetic inheritance models in variant files", + "homepage": "https://github.com/Clinical-Genomics/genmod", + "documentation": "https://github.com/Clinical-Genomics/genmod", + "tool_dev_url": "https://github.com/moonso", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "vcf", + "description": "Annotated VCF file", + "pattern": "*.{vcf}" + } + } + ], + "authors": [ + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "genmod_compound", + "path": "modules/nf-core/genmod/compound/meta.yml", + "type": "module", + "meta": { + "name": "genmod_compound", + "description": "Score compounds", + "keywords": [ + "compound", + "genmod" + ], + "tools": [ + { + "genmod": { + "description": "Annotate genetic inheritance models in variant files", + "homepage": "https://github.com/Clinical-Genomics/genmod", + "documentation": "https://github.com/Clinical-Genomics/genmod", + "tool_dev_url": "https://github.com/moonso", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ] #\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Output VCF file", + "pattern": "*.{vcf}" + } + } + ], + "authors": [ + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "genmod_models", + "path": "modules/nf-core/genmod/models/meta.yml", + "type": "module", + "meta": { + "name": "genmod_models", + "description": "annotate models of inheritance", + "keywords": [ + "models", + "genmod" + ], + "tools": [ + { + "genmod": { + "description": "Annotate genetic inheritance models in variant files", + "homepage": "https://github.com/Clinical-Genomics/genmod", + "documentation": "https://github.com/Clinical-Genomics/genmod", + "tool_dev_url": "https://github.com/moonso", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_vcf": { + "type": "file", + "description": "vcf file", + "pattern": "*.{vcf}" + } + }, + { + "reduced_penetrance": { + "type": "file", + "description": "file with gene ids that have reduced penetrance", + "pattern": "*.{tsv}" + } + }, + { + "family_file": { + "type": "file", + "description": "ped file", + "pattern": "*.{ped}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Output VCF file", + "pattern": "*.{vcf}" + } + } + ], + "authors": [ + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "genmod_score", + "path": "modules/nf-core/genmod/score/meta.yml", + "type": "module", + "meta": { + "name": "genmod_score", + "description": "Score the variants of a vcf based on their annotation", + "keywords": [ + "score", + "genmod" + ], + "tools": [ + { + "genmod": { + "description": "Annotate genetic inheritance models in variant files", + "homepage": "https://github.com/Clinical-Genomics/genmod", + "documentation": "https://github.com/Clinical-Genomics/genmod", + "tool_dev_url": "https://github.com/moonso", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_vcf": { + "type": "file", + "description": "vcf file", + "pattern": "*.{vcf}" + } + }, + { + "family_file": { + "type": "file", + "description": "ped file", + "pattern": "*.{ped}" + } + }, + { + "score_config": { + "type": "file", + "description": "rank model config file", + "pattern": "*.{ini}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Output VCF file", + "pattern": "*.{vcf}" + } + } + ], + "authors": [ + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "genomad_download", + "path": "modules/nf-core/genomad/download/meta.yml", + "type": "module", + "meta": { + "name": "genomad_download", + "description": "Download geNomad databases and related files", + "keywords": [ + "metagenomics", + "genomad", + "database", + "download", + "phage", + "virus", + "plasmid" + ], + "tools": [ + { + "genomad": { + "description": "Identification of mobile genetic elements", + "homepage": "https://portal.nersc.gov/genomad/", + "documentation": "https://portal.nersc.gov/genomad/", + "tool_dev_url": "https://github.com/apcamargo/genomad/", + "doi": "10.1101/2023.03.05.531206", + "licence": "['Lawrence Berkeley National Labs BSD variant license']" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "genomad_db": { + "type": "directory", + "description": "Directory containing downloaded data with directory being named \"genomad_db\"", + "pattern": "genomad_db" + } + } + ], + "authors": [ + "@CarsonJM" + ] + } + }, + { + "name": "genomad_endtoend", + "path": "modules/nf-core/genomad/endtoend/meta.yml", + "type": "module", + "meta": { + "name": "genomad_endtoend", + "description": "Identify mobile genetic elements present in genomic assemblies", + "keywords": [ + "metagenomics", + "genomad", + "database", + "download", + "phage", + "virus", + "plasmid" + ], + "tools": [ + { + "genomad": { + "description": "Identification of mobile genetic elements", + "homepage": "https://portal.nersc.gov/genomad/", + "documentation": "https://portal.nersc.gov/genomad/", + "tool_dev_url": "https://github.com/apcamargo/genomad/", + "doi": "10.1101/2023.03.05.531206", + "licence": "['Lawrence Berkeley National Labs BSD variant license']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file containing contigs/scaffolds/chromosomes", + "pattern": "*.{fasta,fna,fa}" + } + }, + { + "genomad_db": { + "type": "directory", + "description": "Directory pointing to geNomad database" + } + }, + { + "score_calibration": { + "type": "boolean", + "description": "true/false value to indicate if score calibration should be enabled" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "aggregated_classification": { + "type": "file", + "description": "Combined classification scores for each contig/scaffold/chromosome", + "pattern": "*_aggregated_classification.tsv" + } + }, + { + "taxonomy": { + "type": "file", + "description": "Detailed output of geNomad's marker gene taxonomy analysis", + "pattern": "*_taxonomy.tsv" + } + }, + { + "provirus": { + "type": "file", + "description": "Detailed output of each provirus identified by geNomad's find_proviruses module", + "pattern": "*_provirus.tsv" + } + }, + { + "compositions": { + "type": "file", + "description": "OPTIONAL - Predicted sample composition when `--enable-score-calibration` is used", + "pattern": "*_compositions.tsv" + } + }, + { + "calibrated_classification": { + "type": "file", + "description": "OPTIONAL - Classification scores that have been adjusted based on sample composition when `--enable-score-calibration` is used`", + "pattern": "*_calibrated_aggregated_classification.tsv" + } + }, + { + "plasmid_fasta": { + "type": "file", + "description": "FASTA file containing predicted plasmid sequences", + "pattern": "*_plasmid.fna" + } + }, + { + "plasmid_genes": { + "type": "file", + "description": "TSV file containing predicted plasmid genes and their annotations", + "pattern": "*_plasmid_genes.tsv" + } + }, + { + "plasmid_proteins": { + "type": "file", + "description": "FASTA file containing predicted plasmid protein sequences", + "pattern": "*_plasmid_proteins.faa" + } + }, + { + "plasmid_summary": { + "type": "file", + "description": "TSV file containing a summary of geNomad's plasmid predictions", + "pattern": "*_plasmid_summary.tsv" + } + }, + { + "virus_fasta": { + "type": "file", + "description": "FASTA file containing predicted virus sequences", + "pattern": "*_virus.fna" + } + }, + { + "virus_genes": { + "type": "file", + "description": "TSV file containing predicted virus genes and their annotations", + "pattern": "*_virus_genes.tsv" + } + }, + { + "virus_proteins": { + "type": "file", + "description": "FASTA file containing predicted virus protein sequences", + "pattern": "*_virus_proteins.faa" + } + }, + { + "virus_summary": { + "type": "file", + "description": "TSV file containing a summary of geNomad's virus predictions", + "pattern": "*_virus_summary.tsv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@CarsonJM" + ] + } + }, + { + "name": "genomescope2", + "path": "modules/nf-core/genomescope2/meta.yml", + "type": "module", + "meta": { + "name": "genomescope2", + "description": "Estimate genome heterozygosity, repeat content, and size from sequencing reads using a kmer-based statistical approach", + "keywords": [ + "genome size", + "genome heterozygosity", + "repeat content" + ], + "tools": [ + { + "genomescope2": { + "description": "Reference-free profiling of polyploid genomes", + "homepage": "http://qb.cshl.edu/genomescope/genomescope2.0/", + "documentation": "https://github.com/tbenavi1/genomescope2.0/blob/master/README.md", + "tool_dev_url": "https://github.com/tbenavi1/genomescope2.0", + "doi": "10.1038/s41467-020-14998-3", + "licence": "['Apache License, Version 2.0 (Apache-2.0)']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "histogram": { + "type": "file", + "description": "A K-mer histogram file", + "pattern": "*.hist" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "linear_plot_png": { + "type": "file", + "description": "A genomescope2 linear plot in PNG format", + "pattern": "*_linear_plot.png" + } + }, + { + "linear_plot_png": { + "type": "file", + "description": "A genomescope2 linear plot in PNG format", + "pattern": "*_linear_plot.png" + } + }, + { + "transformed_linear_plot_png": { + "type": "file", + "description": "A genomescope2 transformed linear plot in PNG format", + "pattern": "*_transformed_linear_plot.png" + } + }, + { + "log_plot_png": { + "type": "file", + "description": "A genomescope2 log plot in PNG format", + "pattern": "*_log_plot.png" + } + }, + { + "transformed_log_plot_png": { + "type": "file", + "description": "A genomescope2 transformed log plot in PNG format", + "pattern": "*_transformed_log_plot.png" + } + }, + { + "model": { + "type": "file", + "description": "Genomescope2 model fit summary", + "pattern": "*_model.txt" + } + }, + { + "summary": { + "type": "file", + "description": "Genomescope2 histogram summary", + "pattern": "*_summary.txt" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "genotyphi_parse", + "path": "modules/nf-core/genotyphi/parse/meta.yml", + "type": "module", + "meta": { + "name": "genotyphi_parse", + "description": "Genotype Salmonella Typhi from Mykrobe results", + "keywords": [ + "genotype", + "Salmonella Typhi" + ], + "tools": [ + { + "genotyphi": { + "description": "Assign genotypes to Salmonella Typhi genomes based on VCF files (mapped to Typhi CT18 reference genome)", + "homepage": "https://github.com/katholt/genotyphi", + "documentation": "https://github.com/katholt/genotyphi", + "tool_dev_url": "https://github.com/katholt/genotyphi", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "json": { + "type": "file", + "description": "JSON formatted file of Mykrobe results", + "pattern": "*.json" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "A tab-delimited file of predicted genotypes", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "genrich", + "path": "modules/nf-core/genrich/meta.yml", + "type": "module", + "meta": { + "name": "genrich", + "description": "Peak-calling for ChIP-seq and ATAC-seq enrichment experiments", + "keywords": [ + "peak-calling", + "ChIP-seq", + "ATAC-seq" + ], + "tools": [ + { + "genrich": { + "description": "Genrich is a peak-caller for genomic enrichment assays (e.g. ChIP-seq, ATAC-seq).\nIt analyzes alignment files generated following the assay and produces a file\ndetailing peaks of significant enrichment.\n", + "homepage": "https://github.com/jsh58/Genrich", + "documentation": "https://github.com/jsh58/Genrich#readme", + "tool_dev_url": "https://github.com/jsh58/Genrich", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "treatment_bam": { + "type": "file", + "description": "Coordinate sorted BAM/SAM file from treatment sample", + "pattern": "*.{bam,sam}" + } + }, + { + "control_bam": { + "type": "file", + "description": "Coordinate sorted BAM/SAM file from control sample", + "pattern": "*.{bam,sam}" + } + }, + { + "blacklist_bed": { + "type": "file", + "description": "Bed file containing genomic intervals to exclude from the analysis", + "pattern": "*.{bed}" + } + }, + { + "save_pvalues": { + "type": "boolean", + "description": "Create bedgraph-ish file for p/q-values file" + } + }, + { + "save_pileup": { + "type": "boolean", + "description": "Create bedgraph-ish file for pileups and p-values" + } + }, + { + "save_bed": { + "type": "boolean", + "description": "Create BED file for reads/fragments/intervals" + } + }, + { + "save_duplicates": { + "type": "boolean", + "description": "Create PCR duplicates file (only works if -r option is set)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "peaks": { + "type": "file", + "description": "Output file is in ENCODE narrowPeak format", + "pattern": "*.{narrowPeak}" + } + }, + { + "bedgraph_pvalues": { + "type": "file", + "description": "bedGraph file containing p/q values", + "pattern": "*.{pvalues.bedGraph}" + } + }, + { + "bedgraph_pileup": { + "type": "file", + "description": "bedGraph file containing pileups and p-values", + "pattern": "*.{pileup.bedGraph}" + } + }, + { + "bed_intervals": { + "type": "file", + "description": "Bed file containing annotated intervals", + "pattern": "*.{intervals.bed}" + } + }, + { + "duplicates": { + "type": "file", + "description": "Text output file containing intervals corresponding to PCR duplicates", + "pattern": "*.{intervals.txt}" + } + }, + { + "version": { + "type": "file", + "description": "File containing software version", + "pattern": "*.{version.txt}" + } + } + ], + "authors": [ + "@JoseEspinosa" + ] + } + }, + { + "name": "geoquery_getgeo", + "path": "modules/nf-core/geoquery/getgeo/meta.yml", + "type": "module", + "meta": { + "name": "geoquery_getgeo", + "description": "Retrieves GEO data from the Gene Expression Omnibus (GEO)", + "keywords": [ + "geo", + "expression", + "microarray" + ], + "tools": [ + { + "geoquery": { + "description": "Get data from NCBI Gene Expression Omnibus (GEO)", + "homepage": "https://bioconductor.org/packages/release/bioc/html/GEOquery.html", + "documentation": "https://bioconductor.org/packages/release/bioc/vignettes/GEOquery/inst/doc/GEOquery.html", + "tool_dev_url": "https://github.com/seandavi/GEOquery", + "doi": "10.1093/bioinformatics/btm254", + "licence": "MIT" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing metadata about the GEO dataset, minimally 'id'.\n" + } + }, + { + "querygse": { + "type": "string", + "description": "GSE identifier to pass to getGEO()\n" + } + } + ], + "output": [ + { + "rds": { + "type": "file", + "description": "R object containing GEO data", + "pattern": "*.rds" + } + }, + { + "expression": { + "type": "file", + "description": "TSV-format expression matrix", + "pattern": "*matrix.tsv" + } + }, + { + "annotation": { + "type": "file", + "description": "TSV-format annotation file", + "pattern": "*annotation.tsv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@azedinez", + "@pinin4fjords" + ] + } + }, + { + "name": "gfaffix", + "path": "modules/nf-core/gfaffix/meta.yml", + "type": "module", + "meta": { + "name": "gfaffix", + "description": "Collapse walk-preserving shared affixes in variation graphs in GFA format", + "keywords": [ + "gfa", + "graph", + "pangenome", + "variation graph" + ], + "tools": [ + { + "gfaffix": { + "description": "GFAffix identifies walk-preserving shared affixes in variation graphs and\ncollapses them into a non-redundant graph structure.\n", + "homepage": "https://github.com/marschall-lab/GFAffix", + "documentation": "https://github.com/marschall-lab/GFAffix", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gfa": { + "type": "file", + "description": "Variation graph in GFA format", + "pattern": "*.{gfa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gfa": { + "type": "file", + "description": "Non-redundant variation graph in GFA 1.0 format", + "pattern": "*.{gfa}" + } + }, + { + "affixes": { + "type": "file", + "description": "Shared affixes in tab-separated values (TSV) text format", + "pattern": "*.{txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@heuermh" + ] + }, + "pipelines": [ + { + "name": "pangenome", + "version": "dev" + } + ] + }, + { + "name": "gfastats", + "path": "modules/nf-core/gfastats/meta.yml", + "type": "module", + "meta": { + "name": "gfastats", + "description": "A single fast and exhaustive tool for summary statistics and simultaneous *fa*\n(fasta, fastq, gfa [.gz]) genome assembly file manipulation.\n", + "keywords": [ + "gfastats", + "fasta", + "genome assembly", + "genome summary", + "genome manipulation", + "genome statistics" + ], + "tools": [ + { + "gfastats": { + "description": "The swiss army knife for genome assembly.", + "homepage": "https://github.com/vgl-hub/gfastats", + "documentation": "https://github.com/vgl-hub/gfastats/tree/main/instructions", + "tool_dev_url": "https://github.com/vgl-hub/gfastats", + "doi": "10.1093/bioinformatics/btac460", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "assembly": { + "type": "file", + "description": "Draft assembly file", + "pattern": "*.{fasta,fastq,gfa}(.gz)?" + } + }, + { + "out_fmt": { + "type": "string", + "description": "Output format (fasta, fastq, gfa)" + } + }, + { + "genome_size": { + "type": "integer", + "description": "estimated genome size (bp) for NG* statistics (optional)." + } + }, + { + "target": { + "type": "string", + "description": "target specific sequence by header, optionally with coordinates (optional)." + } + }, + { + "agpfile": { + "type": "file", + "description": "converts input agp to path and replaces existing paths." + } + }, + { + "include_bed": { + "type": "file", + "description": "generates output on a subset list of headers or coordinates in 0-based bed format." + } + }, + { + "exclude_bed": { + "type": "file", + "description": "opposite of --include-bed. They can be combined (no coordinates)." + } + }, + { + "instructions": { + "type": "file", + "description": "set of instructions provided as an ordered list." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "assembly_summary": { + "type": "file", + "description": "Assembly summary statistics file", + "pattern": "*.assembly_summary" + } + }, + { + "assembly": { + "type": "file", + "description": "The assembly as modified by gfastats", + "pattern": "*.{fasta,fastq,gfa}.gz" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + } + }, + { + "name": "gffcompare", + "path": "modules/nf-core/gffcompare/meta.yml", + "type": "module", + "meta": { + "name": "gffcompare", + "description": "Compare, merge, annotate and estimate accuracy of generated gtf files", + "keywords": [ + "transcripts", + "gtf", + "merge", + "compare" + ], + "tools": [ + { + "gffcompare": { + "description": "GffCompare by Geo Pertea", + "homepage": "http://ccb.jhu.edu/software/stringtie/gffcompare.shtml", + "documentation": "http://ccb.jhu.edu/software/stringtie/gffcompare.shtml", + "tool_dev_url": "https://github.com/gpertea/gffcompare", + "doi": "10.12688/f1000research.23297.1", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing meta data\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gtfs": { + "type": "file", + "description": "GTF/GFF files\ne.g. [ 'file_1.gtf', 'file_2.gtf' ]\n", + "pattern": "*.{gtf,gff}" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome reference fasta file (optional)", + "pattern": "*.{fasta,fa}" + } + }, + { + "fai": { + "type": "file", + "description": "Index for fasta file", + "pattern": "*.fai" + } + }, + { + "reference_gtf": { + "type": "file", + "description": "Reference annotation in gtf/gff format (optional)", + "pattern": "*.{gtf,gff}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing meta data\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "annotated_gtf": { + "type": "file", + "description": "Annotated gtf file when reference gtf is provided (optional)\n", + "pattern": "*.annotated.gtf" + } + }, + { + "combined_gtf": { + "type": "file", + "description": "Combined gtf file when multiple input files are\nprovided (optional)\n", + "pattern": "*.annotated.gtf" + } + }, + { + "tmap": { + "type": "file", + "description": "File listing the most closely matching reference transcript\nfor each query transcript (optional)\n", + "pattern": "*.tmap" + } + }, + { + "refmap": { + "type": "file", + "description": "File listing the reference transcripts with overlapping\nquery transcripts (optional)\n", + "pattern": "*.refmap" + } + }, + { + "loci": { + "type": "file", + "description": "File with loci", + "pattern": "*.loci" + } + }, + { + "stats": { + "type": "file", + "description": "File with stats for input transcripts as compared to\nreference alternatively stats for the combined gtf\n", + "pattern": "*.stats" + } + }, + { + "tracking": { + "type": "file", + "description": "This file matches transcripts up between samples\n", + "pattern": "*.tracking" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@jemten" + ] + } + }, + { + "name": "gffread", + "path": "modules/nf-core/gffread/meta.yml", + "type": "module", + "meta": { + "name": "gffread", + "description": "Validate, filter, convert and perform various other operations on GFF files", + "keywords": [ + "gff", + "conversion", + "validation" + ], + "tools": [ + { + "gffread": { + "description": "GFF/GTF utility providing format conversions, region filtering, FASTA sequence extraction and more.", + "homepage": "http://ccb.jhu.edu/software/stringtie/gff.shtml#gffread", + "documentation": "http://ccb.jhu.edu/software/stringtie/gff.shtml#gffread", + "tool_dev_url": "https://github.com/gpertea/gffread", + "doi": "10.12688/f1000research.23297.1", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "gff": { + "type": "file", + "description": "A reference file in either the GFF3, GFF2 or GTF format.", + "pattern": "*.{gff, gtf}" + } + } + ], + "output": [ + { + "gtf": { + "type": "file", + "description": "GTF file resulting from the conversion of the GFF input file", + "pattern": "*.{gtf}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@emiller88" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "scrnaseq", + "version": "2.3.2" + } + ] + }, + { + "name": "gget_gget", + "path": "modules/nf-core/gget/gget/meta.yml", + "type": "module", + "meta": { + "name": "gget_gget", + "description": "gget is a free, open-source command-line tool and Python package that enables efficient querying of genomic databases. gget consists of a collection of separate but interoperable modules, each designed to facilitate one type of database querying in a single line of code.", + "keywords": [ + "gget", + "reference", + "database", + "databases", + "download" + ], + "tools": [ + { + "gget": { + "description": "gget enables efficient querying of genomic databases", + "homepage": "https://github.com/pachterlab/gget", + "documentation": "https://pachterlab.github.io/gget/", + "tool_dev_url": "https://github.com/pachterlab/gget", + "doi": "10.1093/bioinformatics/btac836", + "licence": "['BSD-2-clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "files": { + "type": "files", + "description": "Optional input files which can be specified for certain tools. This is mostly used to supply a FASTA file for gget muscle.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "file", + "description": "File containing output of gget command (-o for most gget tools).", + "pattern": "*.{json,csv}" + } + }, + { + "file": { + "type": "file", + "description": "Path to any file downloaded by gget", + "pattern": "*" + } + } + ], + "authors": [ + "@adamrtalbot" + ] + } + }, + { + "name": "glimpse2_chunk", + "path": "modules/nf-core/glimpse2/chunk/meta.yml", + "type": "module", + "meta": { + "name": "glimpse2_chunk", + "description": "Defines chunks where to run imputation", + "keywords": [ + "chunk", + "low-coverage", + "imputation", + "glimpse" + ], + "tools": [ + { + "glimpse2": { + "description": "GLIMPSE2 is a phasing and imputation method for large-scale low-coverage sequencing studies.", + "homepage": "https://odelaneau.github.io/GLIMPSE", + "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", + "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", + "doi": "10.1038/s41588-020-00756-0", + "licence": "['MIT']" + } + } + ], + "requirements": [ + "AVX2" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "Target dataset in VCF/BCF format defined at all variable positions.\nThe file could possibly be without GT field (for efficiency reasons a file containing only the positions is recommended).\n", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "input_index": { + "type": "file", + "description": "Index file of the input VCF/BCF file containing genotype likelihoods.", + "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" + } + }, + { + "region": { + "type": "string", + "description": "Target region, usually a full chromosome (e.g. chr20:1000000-2000000 or chr20).\nFor chrX, please treat PAR and non-PAR regions as different choromosome in order to avoid mixing ploidy.\n" + } + }, + { + "map": { + "type": "file", + "description": "File containing the genetic map.", + "pattern": "*.gmap" + } + }, + { + "model": { + "type": "string", + "description": "Algorithm model to use:\n\"recursive\": Recursive algorithm\n\"sequential\": Sequential algorithm (Recommended)\n\"uniform-number-variants\": Experimental. Uniform the number of variants in the sequential algorithm\n", + "pattern": "{recursive,sequential,uniform-number-variants}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "Tab delimited output txt file containing buffer and imputation regions.", + "pattern": "*.{txt}" + } + } + ], + "authors": [ + "@louislenezet" + ] + } + }, + { + "name": "glimpse2_concordance", + "path": "modules/nf-core/glimpse2/concordance/meta.yml", + "type": "module", + "meta": { + "name": "glimpse2_concordance", + "description": "Program to compute the genotyping error rate at the sample or marker level.", + "keywords": [ + "concordance", + "low-coverage", + "glimpse", + "imputation" + ], + "tools": [ + { + "glimpse2": { + "description": "GLIMPSE2 is a phasing and imputation method for large-scale low-coverage sequencing studies.", + "homepage": "https://odelaneau.github.io/GLIMPSE", + "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", + "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", + "doi": "10.1038/s41588-020-00756-0", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "region": { + "type": "string", + "description": "Target region used for imputation, including left and right buffers (e.g. chr20:1000000-2000000).", + "pattern": "chrXX:leftBufferPosition-rightBufferPosition" + } + }, + { + "freq": { + "type": "file", + "description": "File containing allele frequencies at each site.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "truth": { + "type": "file", + "description": "Validation dataset called at the same positions as the imputed file.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "estimate": { + "type": "file", + "description": "Imputed dataset file obtain after phasing.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "samples": { + "type": "file", + "description": "List of samples to process, one sample ID per line.", + "pattern": "*.{txt,tsv}" + } + }, + { + "groups": { + "type": "file", + "description": "Alternative to frequency bins, group bins are user defined, provided in a file.", + "pattern": "*.{txt,tsv}" + } + }, + { + "bins": { + "type": "string", + "description": "Allele frequency bins used for rsquared computations.\nBy default they should as MAF bins [0-0.5], while\nthey should take the full range [0-1] if --use-ref-alt is used.\n", + "pattern": "0 0.01 0.05 ... 0.5" + } + }, + { + "ac_bins": { + "type": "string", + "description": "User-defined allele count bins used for rsquared computations.", + "pattern": "1 2 5 10 20 ... 100000" + } + }, + { + "allele_counts": { + "type": "string", + "description": "Default allele count bins used for rsquared computations.\nAN field must be defined in the frequency file.\n" + } + }, + { + "min_val_gl": { + "type": "float", + "description": "Minimum genotype likelihood probability P(G|R) in validation data.\nSet to zero to have no filter of if using –gt-validation\n" + } + }, + { + "min_val_dp": { + "type": "integer", + "description": "Minimum coverage in validation data.\nIf FORMAT/DP is missing and –min_val_dp > 0, the program exits with an error.\nSet to zero to have no filter of if using –gt-validation\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions.", + "pattern": "versions.yml" + } + }, + { + "errors_cal": { + "type": "file", + "description": "Calibration correlation errors between imputed dosages (in MAF bins) and highly-confident genotype.", + "pattern": "*.errors.cal.txt.gz" + } + }, + { + "errors_grp": { + "type": "file", + "description": "Groups correlation errors between imputed dosages (in MAF bins) and highly-confident genotype.", + "pattern": "*.errors.grp.txt.gz" + } + }, + { + "errors_spl": { + "type": "file", + "description": "Samples correlation errors between imputed dosages (in MAF bins) and highly-confident genotype.", + "pattern": "*.errors.spl.txt.gz" + } + }, + { + "rsquared_grp": { + "type": "file", + "description": "Groups r-squared correlation between imputed dosages (in MAF bins) and highly-confident genotype.", + "pattern": "*.rsquare.grp.txt.gz" + } + }, + { + "rsquared_spl": { + "type": "file", + "description": "Samples r-squared correlation between imputed dosages (in MAF bins) and highly-confident genotype.", + "pattern": "*.rsquare.spl.txt.gz" + } + } + ], + "authors": [ + "@louislenezet" + ] + } + }, + { + "name": "glimpse2_ligate", + "path": "modules/nf-core/glimpse2/ligate/meta.yml", + "type": "module", + "meta": { + "name": "glimpse2_ligate", + "description": "Ligatation of multiple phased BCF/VCF files into a single whole chromosome file.\nGLIMPSE2 is run in chunks that are ligated into chromosome-wide files maintaining the phasing.\n", + "keywords": [ + "ligate", + "low-coverage", + "glimpse", + "imputation" + ], + "tools": [ + { + "glimpse2": { + "description": "GLIMPSE2 is a phasing and imputation method for large-scale low-coverage sequencing studies.", + "homepage": "https://odelaneau.github.io/GLIMPSE", + "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", + "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", + "doi": "10.1038/s41588-020-00756-0", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_list": { + "type": "file", + "description": "VCF/BCF file containing genotype probabilities (GP field).", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "input_index": { + "type": "file", + "description": "Index file of the input VCF/BCF file containing genotype likelihoods.", + "pattern": "*.{csi,tbi}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "merged_variants": { + "type": "file", + "description": "Output ligated (phased) file in VCF/BCF format.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + } + ], + "authors": [ + "@louislenezet" + ] + } + }, + { + "name": "glimpse2_phase", + "path": "modules/nf-core/glimpse2/phase/meta.yml", + "type": "module", + "meta": { + "name": "glimpse2_phase", + "description": "Tool for imputation and phasing from vcf file or directly from bam files.", + "keywords": [ + "phasing", + "low-coverage", + "imputation", + "glimpse" + ], + "tools": [ + { + "glimpse2": { + "description": "GLIMPSE2 is a phasing and imputation method for large-scale low-coverage sequencing studies.", + "homepage": "https://odelaneau.github.io/GLIMPSE", + "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", + "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", + "doi": "10.1038/s41588-020-00756-0", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "Either multiple BAM/CRAM files containing low-coverage sequencing reads or one VCF/BCF file containing the genotype likelihoods.\nWhen using BAM/CRAM the name of the file is used as samples name.\n", + "pattern": "*.{bam,cram,vcf,vcf.gz,bcf,bcf.gz}" + } + }, + { + "input_index": { + "type": "file", + "description": "Index file of the input BAM/CRAM/VCF/BCF file.", + "pattern": "*.{bam.bai,cram.crai,vcf.gz.csi,bcf.gz.csi}" + } + }, + { + "samples_file": { + "type": "file", + "description": "File with sample names and ploidy information.\nOne sample per line with a mandatory second column indicating ploidy (1 or 2).\nSample names that are not present are assumed to have ploidy 2 (diploids).\nGLIMPSE does NOT handle the use of sex (M/F) instead of ploidy.\n", + "pattern": "*.{txt,tsv}" + } + }, + { + "input_region": { + "type": "string", + "description": "Target region used for imputation, including left and right buffers (e.g. chr20:1000000-2000000).\nOptional if reference panel is in bin format.\n", + "pattern": "chrXX:leftBufferPosition-rightBufferPosition" + } + }, + { + "output_region": { + "type": "string", + "description": "Target imputed region, excluding left and right buffers (e.g. chr20:1000000-2000000).\nOptional if reference panel is in bin format.\n", + "pattern": "chrXX:leftBufferPosition-rightBufferPosition" + } + }, + { + "reference": { + "type": "file", + "description": "Reference panel of haplotypes in VCF/BCF format.", + "pattern": "*.{vcf.gz,bcf.gz}" + } + }, + { + "reference_index": { + "type": "file", + "description": "Index file of the Reference panel file.", + "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" + } + }, + { + "map": { + "type": "file", + "description": "File containing the genetic map.\nOptional if reference panel is in bin format.\n", + "pattern": "*.gmap" + } + }, + { + "fasta_reference": { + "type": "file", + "description": "Faidx-indexed reference sequence file in the appropriate genome build.\nNecessary for CRAM files.\n", + "pattern": "*.fasta" + } + }, + { + "fasta_reference_index": { + "type": "file", + "description": "Faidx index of the reference sequence file in the appropriate genome build.\nNecessary for CRAM files.\n", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "phased_variants": { + "type": "file", + "description": "Output VCF/BCF file containing genotype probabilities (GP field), imputed dosages (DS field), best guess genotypes (GT field), sampled haplotypes in the last (max 16) main iterations (HS field) and info-score.\n", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "stats_coverage": { + "type": "file", + "description": "Optional coverage statistic file created when BAM/CRAM files are used as inputs.", + "pattern": "*.txt.gz" + } + } + ], + "authors": [ + "@LouisLeNezet" + ] + } + }, + { + "name": "glimpse2_splitreference", + "path": "modules/nf-core/glimpse2/splitreference/meta.yml", + "type": "module", + "meta": { + "name": "glimpse2_splitreference", + "description": "Tool to create a binary reference panel for quick reading time.", + "keywords": [ + "split", + "reference", + "phasing" + ], + "tools": [ + { + "glimpse2": { + "description": "GLIMPSE2 is a phasing and imputation method for large-scale low-coverage sequencing studies.", + "homepage": "https://odelaneau.github.io/GLIMPSE", + "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", + "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", + "doi": "10.1038/s41588-020-00756-0", + "licence": "['MIT']" + } + } + ], + "requirements": [ + "AVX2" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reference": { + "type": "file", + "description": "Reference panel of haplotypes in VCF/BCF format.", + "pattern": "*.{vcf.gz,bcf.gz}" + } + }, + { + "reference_index": { + "type": "file", + "description": "Index file of the Reference panel file.", + "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" + } + }, + { + "input_region": { + "type": "string", + "description": "Target region used for imputation, including left and right buffers (e.g. chr20:1000000-2000000).", + "pattern": "chrXX:leftBufferPosition-rightBufferPosition" + } + }, + { + "output_region": { + "type": "string", + "description": "Target imputed region, excluding left and right buffers (e.g. chr20:1000000-2000000).", + "pattern": "chrXX:leftBufferPosition-rightBufferPosition" + } + }, + { + "map": { + "type": "file", + "description": "File containing the genetic map.", + "pattern": "*.gmap" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bin_ref": { + "type": "file", + "description": "binary reference panel", + "pattern": "*.bin" + } + } + ], + "authors": [ + "@LouisLeNezet" + ] + } + }, + { + "name": "glimpse_chunk", + "path": "modules/nf-core/glimpse/chunk/meta.yml", + "type": "module", + "meta": { + "name": "glimpse_chunk", + "description": "Defines chunks where to run imputation", + "keywords": [ + "chunk", + "imputation", + "low coverage" + ], + "tools": [ + { + "glimpse": { + "description": "GLIMPSE is a phasing and imputation method for large-scale low-coverage sequencing studies.", + "homepage": "https://odelaneau.github.io/GLIMPSE", + "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", + "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", + "doi": "10.1038/s41588-020-00756-0", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "Target dataset in VCF/BCF format defined at all variable positions.\nThe file could possibly be without GT field (for efficiency reasons a file containing only the positions is recommended).\n", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "region": { + "type": "string", + "description": "Target region, usually a full chromosome (e.g. chr20:1000000-2000000 or chr20).\nFor chrX, please treat PAR and non-PAR regions as different choromosome in order to avoid mixing ploidy.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "Tab delimited output txt file containing buffer and imputation regions.", + "pattern": "*.{txt}" + } + } + ], + "authors": [ + "@louislenezet" + ] + } + }, + { + "name": "glimpse_concordance", + "path": "modules/nf-core/glimpse/concordance/meta.yml", + "type": "module", + "meta": { + "name": "glimpse_concordance", + "description": "Compute the r2 correlation between imputed dosages (in MAF bins) and highly-confident genotype calls from the high-coverage dataset.", + "keywords": [ + "concordance", + "low-coverage", + "glimpse", + "imputation" + ], + "tools": [ + { + "glimpse": { + "description": "GLIMPSE is a phasing and imputation method for large-scale low-coverage sequencing studies.", + "homepage": "https://odelaneau.github.io/GLIMPSE", + "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", + "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", + "doi": "10.1038/s41588-020-00756-0", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "region": { + "type": "string", + "description": "Target region used for imputation, including left and right buffers (e.g. chr20:1000000-2000000).", + "pattern": "chrXX:leftBufferPosition-rightBufferPosition" + } + }, + { + "freq": { + "type": "file", + "description": "File containing allele frequencies at each site.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "truth": { + "type": "file", + "description": "Validation dataset called at the same positions as the imputed file.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "estimate": { + "type": "file", + "description": "Imputed data.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "min_prob": { + "type": "float", + "description": "Minimum posterior probability P(G|R) in validation data" + } + }, + { + "min_dp": { + "type": "integer", + "description": "Minimum coverage in validation data.\nIf FORMAT/DP is missing and --minDP > 0, the program exits with an error.\n" + } + }, + { + "bins": { + "type": "string", + "description": "Allele frequency bins used for rsquared computations.\nBy default they should as MAF bins [0-0.5], while\nthey should take the full range [0-1] if --use-ref-alt is used.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "errors_cal": { + "type": "file", + "description": "Calibration correlation errors between imputed dosages (in MAF bins) and highly-confident genotype.", + "pattern": "*.errors.cal.txt.gz" + } + }, + { + "errors_grp": { + "type": "file", + "description": "Groups correlation errors between imputed dosages (in MAF bins) and highly-confident genotype.", + "pattern": "*.errors.grp.txt.gz" + } + }, + { + "errors_spl": { + "type": "file", + "description": "Samples correlation errors between imputed dosages (in MAF bins) and highly-confident genotype.", + "pattern": "*.errors.spl.txt.gz" + } + }, + { + "rsquared_grp": { + "type": "file", + "description": "Groups r-squared correlation between imputed dosages (in MAF bins) and highly-confident genotype.", + "pattern": "*.rsquare.grp.txt.gz" + } + }, + { + "rsquared_spl": { + "type": "file", + "description": "Samples r-squared correlation between imputed dosages (in MAF bins) and highly-confident genotype.", + "pattern": "*.rsquare.spl.txt.gz" + } + } + ], + "authors": [ + "@louislenezet" + ] + } + }, + { + "name": "glimpse_ligate", + "path": "modules/nf-core/glimpse/ligate/meta.yml", + "type": "module", + "meta": { + "name": "glimpse_ligate", + "description": "Concatenates imputation chunks in a single VCF/BCF file ligating phased information.", + "keywords": [ + "ligate", + "low-coverage", + "glimpse", + "imputation" + ], + "tools": [ + { + "glimpse": { + "description": "GLIMPSE is a phasing and imputation method for large-scale low-coverage sequencing studies.", + "homepage": "https://odelaneau.github.io/GLIMPSE", + "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", + "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", + "doi": "10.1038/s41588-020-00756-0", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_list": { + "type": "file", + "description": "VCF/BCF file containing genotype probabilities (GP field).", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "input_index": { + "type": "file", + "description": "Index file of the input VCF/BCF file containing genotype likelihoods.", + "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "merged_variants": { + "type": "file", + "description": "Output VCF/BCF file for the merged regions.\nPhased information (HS field) is updated accordingly for the full region.\n", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + } + ], + "authors": [ + "@louislenezet" + ] + } + }, + { + "name": "glimpse_phase", + "path": "modules/nf-core/glimpse/phase/meta.yml", + "type": "module", + "meta": { + "name": "glimpse_phase", + "description": "main GLIMPSE algorithm, performs phasing and imputation refining genotype likelihoods", + "keywords": [ + "phase", + "imputation", + "low-coverage", + "glimpse" + ], + "tools": [ + { + "glimpse": { + "description": "GLIMPSE is a phasing and imputation method for large-scale low-coverage sequencing studies.", + "homepage": "https://odelaneau.github.io/GLIMPSE", + "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", + "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", + "doi": "10.1038/s41588-020-00756-0", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "Input VCF/BCF file containing genotype likelihoods.", + "pattern": "*.{vcf.gz,bcf.gz}" + } + }, + { + "input_index": { + "type": "file", + "description": "Index file of the input VCF/BCF file containing genotype likelihoods.", + "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" + } + }, + { + "samples_file": { + "type": "file", + "description": "File with sample names and ploidy information.\nOne sample per line with a mandatory second column indicating ploidy (1 or 2).\nSample names that are not present are assumed to have ploidy 2 (diploids).\nGLIMPSE does NOT handle the use of sex (M/F) instead of ploidy.\n", + "pattern": "*.{txt,tsv}" + } + }, + { + "input_region": { + "type": "string", + "description": "Target region used for imputation, including left and right buffers (e.g. chr20:1000000-2000000).", + "pattern": "chrXX:leftBufferPosition-rightBufferPosition" + } + }, + { + "output_region": { + "type": "string", + "description": "Target imputed region, excluding left and right buffers (e.g. chr20:1000000-2000000).", + "pattern": "chrXX:leftBufferPosition-rightBufferPosition" + } + }, + { + "reference": { + "type": "file", + "description": "Reference panel of haplotypes in VCF/BCF format.", + "pattern": "*.{vcf.gz,bcf.gz}" + } + }, + { + "reference_index": { + "type": "file", + "description": "Index file of the Reference panel file.", + "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" + } + }, + { + "map": { + "type": "file", + "description": "File containing the genetic map.", + "pattern": "*.gmap" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "phased_variants": { + "type": "file", + "description": "Output VCF/BCF file containing genotype probabilities (GP field),\nimputed dosages (DS field), best guess genotypes (GT field),\nsampled haplotypes in the last (max 16) main iterations (HS field) and info-score.\n", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + } + ], + "authors": [ + "@louislenezet" + ] + } + }, + { + "name": "glimpse_sample", + "path": "modules/nf-core/glimpse/sample/meta.yml", + "type": "module", + "meta": { + "name": "glimpse_sample", + "description": "Generates haplotype calls by sampling haplotype estimates", + "keywords": [ + "Sample", + "Haplotypes", + "Imputation" + ], + "tools": [ + { + "glimpse": { + "description": "GLIMPSE is a phasing and imputation method for large-scale low-coverage sequencing studies.", + "homepage": "https://odelaneau.github.io/GLIMPSE", + "documentation": "https://odelaneau.github.io/GLIMPSE/commands.html", + "tool_dev_url": "https://github.com/odelaneau/GLIMPSE", + "doi": "10.1038/s41588-020-00756-0", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "VCF/BCF file generated using GLIMPSE ligate", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "sample": { + "type": "parameter", + "description": "Samples a likely haplotype pair for each sample, use it in combination with --seed. Option not recommended for general usage, use --solve instead" + } + }, + { + "solve": { + "type": "parameter", + "description": "Get the most likely haplotype pair for each sample (the random number generator is not used)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "haplo_sampled": { + "type": "file", + "description": "Output VCF/BCF file containing phased genotypes.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + } + ], + "authors": [ + "@louislenezet" + ] + } + }, + { + "name": "glnexus", + "path": "modules/nf-core/glnexus/meta.yml", + "type": "module", + "meta": { + "name": "glnexus", + "description": "merge gVCF files and perform joint variant calling", + "keywords": [ + "merge", + "gvcf" + ], + "tools": [ + { + "glnexus": { + "description": "scalable gVCF merging and joint variant calling for population sequencing projects.", + "homepage": "https://github.com/dnanexus-rnd/GLnexus", + "documentation": "https://github.com/dnanexus-rnd/GLnexus/wiki/Getting-Started", + "doi": "10.1101/343970", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "gvcfs": { + "type": "list", + "description": "Input genomic vcf files", + "pattern": "*.{gvcf,gvcf.gz,g.vcf,g.vcf.gz}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bcf": { + "type": "file", + "description": "merged BCF file", + "pattern": "*.bcf" + } + } + ], + "authors": [ + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "gnu_sort", + "path": "modules/nf-core/gnu/sort/meta.yml", + "type": "module", + "meta": { + "name": "GNU_SORT", + "description": "Writes a sorted concatenation of file/s\n", + "keywords": [ + "GNU", + "sort", + "merge compare" + ], + "tools": [ + { + "sort": { + "description": "Writes a sorted concatenation of file/s", + "homepage": "https://github.com/vgl-hub/gfastats", + "documentation": "https://www.gnu.org/software/coreutils/manual/html_node/sort-invocation.html", + "licence": [ + "GPL" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "Draft assembly file", + "pattern": "*.{txt,bed,interval,genome,bins}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sorted": { + "type": "file", + "description": "The sorted txt file generated by sort", + "pattern": "*.{txt,bed,interval,genome,bins}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@DLBPointon" + ] + } + }, + { + "name": "goat_taxonsearch", + "path": "modules/nf-core/goat/taxonsearch/meta.yml", + "type": "module", + "meta": { + "name": "goat_taxonsearch", + "description": "Query metadata for any taxon across the tree of life.", + "keywords": [ + "public datasets", + "ncbi", + "genomes on a tree" + ], + "tools": [ + { + "goat": { + "description": "goat-cli is a command line interface to query the\nGenomes on a Tree Open API.\n", + "homepage": "https://github.com/genomehubs/goat-cli", + "documentation": "https://github.com/genomehubs/goat-cli/wiki", + "tool_dev_url": "https://genomehubs.github.io/goat-cli/goat_cli/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "taxon": { + "type": "val", + "description": "The taxon to search. An NCBI taxon ID, or the name of a taxon at any rank.\n" + } + }, + { + "taxa_file": { + "type": "file", + "description": "A file of NCBI taxonomy ID's (tips) and/or binomial names. Each line\nshould contain a single entry.File size is limited to 500 entries.\n", + "pattern": "*.txt" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "taxonsearch": { + "type": "file", + "description": "TSV file containing search results.", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@alxndrdiaz" + ] + } + }, + { + "name": "goleft_indexsplit", + "path": "modules/nf-core/goleft/indexsplit/meta.yml", + "type": "module", + "meta": { + "name": "goleft_indexsplit", + "description": "Quickly generate evenly sized (by amount of data) regions across a number of bam/cram files", + "keywords": [ + "bam", + "bed", + "cram", + "index", + "split" + ], + "tools": [ + { + "goleft": { + "description": "goleft is a collection of bioinformatics tools distributed under MIT license in a single static binary", + "homepage": "https://github.com/brentp/goleft", + "documentation": "https://github.com/brentp/goleft", + "tool_dev_url": "https://github.com/brentp/goleft", + "doi": "10.1093/gigascience/gix090", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bai": { + "type": "file", + "description": "BAI/CRAI file", + "pattern": "*.{bai,crai}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Reference fasta index file", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Bed file containing split regions", + "pattern": "*.bed" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "graphmap2_align", + "path": "modules/nf-core/graphmap2/align/meta.yml", + "type": "module", + "meta": { + "name": "graphmap2_align", + "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences", + "keywords": [ + "align", + "fasta", + "fastq", + "genome", + "reference" + ], + "tools": [ + { + "graphmap2": { + "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences.\n", + "homepage": "https://github.com/lbcb-sci/graphmap2", + "documentation": "https://github.com/lbcb-sci/graphmap2#graphmap2---a-highly-sensitive-and-accurate-mapper-for-long-error-prone-reads", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "List of input FASTQ files\nand paired-end data, respectively.\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference database in FASTA format.\n" + } + }, + { + "index": { + "type": "file", + "description": "FASTA index in gmidx.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sam": { + "type": "file", + "description": "Alignment in SAM format", + "pattern": "*.sam" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@yuukiiwa", + "@drpatelh" + ] + } + }, + { + "name": "graphmap2_index", + "path": "modules/nf-core/graphmap2/index/meta.yml", + "type": "module", + "meta": { + "name": "graphmap2_index", + "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences", + "keywords": [ + "index", + "fasta", + "reference" + ], + "tools": [ + { + "graphmap2": { + "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences.\n", + "homepage": "https://github.com/lbcb-sci/graphmap2", + "documentation": "https://github.com/lbcb-sci/graphmap2#graphmap2---a-highly-sensitive-and-accurate-mapper-for-long-error-prone-reads", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Reference database in FASTA format.\n" + } + } + ], + "output": [ + { + "gmidx": { + "type": "file", + "description": "Graphmap2 fasta index in gmidx format", + "pattern": "*.gmidx" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@yuukiiwa", + "@drpatelh" + ] + } + }, + { + "name": "graphtyper_genotype", + "path": "modules/nf-core/graphtyper/genotype/meta.yml", + "type": "module", + "meta": { + "name": "graphtyper_genotype", + "description": "Tools for population-scale genotyping using pangenome graphs.", + "keywords": [ + "variant", + "vcf", + "bam", + "cram", + "pangenome" + ], + "tools": [ + { + "graphtyper": { + "description": "A graph-based variant caller capable of genotyping population-scale short read data sets while incoperating previously discovered variants.", + "homepage": "https://github.com/DecodeGenetics/graphtyper", + "documentation": "https://github.com/DecodeGenetics/graphtyper/wiki/User-guide", + "tool_dev_url": "https://github.com/DecodeGenetics/graphtyper", + "doi": "10.1038/ng.3964", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file. This is automatically found base on BAM input file name", + "pattern": "*.{bai}" + } + }, + { + "ref": { + "type": "file", + "description": "Reference fasta file", + "pattern": "*.{fa, fasta, fas}" + } + }, + { + "ref_fai": { + "type": "file", + "description": "Reference index file. This is automatically found based on referece input file name.", + "pattern": "*.{.fai}" + } + }, + { + "region_file": { + "type": "file", + "description": "File with a list of chromosome/locations in reference genome to genotype. One region per line in the format :-. This or `--region` (in ext.args) must be specified.", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file with genotyped variants", + "pattern": "*.{vcf.gz}" + } + }, + { + "tbi": { + "type": "file", + "description": "VCF index file", + "pattern": "*.{vcf.gz.tbi}" + } + } + ], + "authors": [ + "@zachary-foster" + ] + } + }, + { + "name": "graphtyper_vcfconcatenate", + "path": "modules/nf-core/graphtyper/vcfconcatenate/meta.yml", + "type": "module", + "meta": { + "name": "graphtyper_vcfconcatenate", + "description": "Tools for population-scale genotyping using pangenome graphs.", + "keywords": [ + "combine", + "concatenate", + "variant", + "vcf" + ], + "tools": [ + { + "graphtyper": { + "description": "A graph-based variant caller capable of genotyping population-scale short read data sets while incoperating previously discovered variants.", + "homepage": "https://github.com/DecodeGenetics/graphtyper", + "documentation": "https://github.com/DecodeGenetics/graphtyper/wiki/User-guide", + "tool_dev_url": "https://github.com/DecodeGenetics/graphtyper", + "doi": "10.1038/ng.3964", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF files", + "pattern": "*.{vcf,vcf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Concatenated VCF file", + "pattern": "*.{vcf.gz}" + } + }, + { + "tbi": { + "type": "file", + "description": "Concatenated VCF file index", + "pattern": "*.{tbi}" + } + } + ], + "authors": [ + "@zachary-foster" + ] + } + }, + { + "name": "gridss_gridss", + "path": "modules/nf-core/gridss/gridss/meta.yml", + "type": "module", + "meta": { + "name": "gridss_gridss", + "description": "GRIDSS is a module software suite containing tools useful for the detection of genomic rearrangements.", + "keywords": [ + "gridss", + "structural variants", + "bam", + "cram", + "vcf" + ], + "tools": [ + { + "gridss": { + "description": "GRIDSS: the Genomic Rearrangement IDentification Software Suite", + "documentation": "https://github.com/PapenfussLab/gridss/wiki/GRIDSS-Documentation", + "tool_dev_url": "https://github.com/PapenfussLab/gridss", + "doi": "10.1186/s13059-021-02423-x", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "inputs": { + "type": "file(s)", + "description": "One or more input BAM/CRAM file(s)", + "pattern": "*.{bam,cram}" + } + }, + { + "assembly": { + "type": "file", + "description": "OPTIONAL - An assembly BAM file created by the assembly step of Gridss", + "pattern": "*.bam" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta", + "pattern": "*.{fa,fna,fasta}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the reference fasta", + "pattern": "*.fai" + } + }, + { + "bwa_index": { + "type": "directory", + "description": "OPTIONAL - The BWA index created from the reference fasta, will be generated by Gridss in the setupreference step" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "The called VCF file created by Gridss' call step", + "pattern": "*.vcf.gz" + } + }, + { + "assembly": { + "type": "file", + "description": "The assembly BAM file created by Gridss' assembly step", + "pattern": "*.assembly.bam" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "gsea_gsea", + "path": "modules/nf-core/gsea/gsea/meta.yml", + "type": "module", + "meta": { + "name": "gsea_gsea", + "description": "run the Broad Gene Set Enrichment tool in GSEA mode", + "keywords": [ + "gene set analysis", + "enrichment", + "gsea", + "gene set" + ], + "tools": [ + { + "gsea": { + "description": "Gene Set Enrichment Analysis (GSEA)", + "homepage": "http://www.gsea-msigdb.org/gsea/index.jsp", + "documentation": "https://software.broadinstitute.org/cancer/software/gsea/wiki/index.php/Main_Page", + "doi": "10.1073/pnas.0506580102", + "licence": "['BSD-3-clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing metadata, at a minimum an id e.g. [ id:'test' ].\n" + } + }, + { + "gct": { + "type": "file", + "description": "GCT file with expression values", + "pattern": "*.{gct}" + } + }, + { + "cls": { + "type": "file", + "description": "CL file with the classes of the samples in the GCT file", + "pattern": "*.{gct}" + } + }, + { + "gene_sets": { + "type": "file", + "description": "GMX or GMT file with gene sets", + "pattern": "*.{gmx,gmt}" + } + }, + { + "reference": { + "type": "string", + "description": "String indicating which of the classes in the cls file should be used\nas the reference level of the comparison.\n" + } + }, + { + "target": { + "type": "string", + "description": "String indicating which of the classes in the cls file should be used\nas the target level of the comparison.\n" + } + }, + { + "chip": { + "type": "file", + "description": "optional Broad-style chip file mapping identifiers in gct to\nthose in gene_sets\n", + "pattern": "*.{chip}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing metadata, at a minimum an id e.g. [ id:'test' ]\n" + } + }, + { + "rpt": { + "type": "file", + "description": "File containing parameter settings used", + "pattern": "*.rpt" + } + }, + { + "index_html": { + "type": "file", + "description": "Top level report HTML file", + "pattern": "index.html" + } + }, + { + "heat_map_corr_plot": { + "type": "file", + "description": "HTML file combining heatmap and rank correlation plot", + "pattern": "heat_map_corr_plot.html" + } + }, + { + "report_tsvs_ref": { + "type": "file", + "description": "Main TSV results report file for the reference group.", + "pattern": "gsea_report_for_reference*.tsv" + } + }, + { + "report_htmls_ref": { + "type": "file", + "description": "Main HTML results report file for the reference group. sample groups", + "pattern": "gsea_report_for_reference*.html" + } + }, + { + "report_tsvs_target": { + "type": "file", + "description": "Main TSV results report file for the target group.", + "pattern": "gsea_report_for_target*.tsv" + } + }, + { + "report_htmls_target": { + "type": "file", + "description": "Main HTML results report file for the target group.", + "pattern": "gsea_report_for_target*.html" + } + }, + { + "ranked_gene_list": { + "type": "file", + "description": "TSV file with ranked gene list and scores", + "pattern": "ranked_gene_list*.tsv" + } + }, + { + "gene_set_sizes": { + "type": "file", + "description": "TSV file with gene set sizes", + "pattern": "gene_set_sizes.tsv" + } + }, + { + "butterfly_plot": { + "type": "file", + "description": "Butterfly plot with gene rank plotted against score", + "pattern": "butterfly_plot.png" + } + }, + { + "histogram": { + "type": "file", + "description": "Plot showing number of gene sets by enrichment score", + "pattern": "global_es_histogram.png" + } + }, + { + "heatmap": { + "type": "file", + "description": "Heat Map of the top 50 features for each phenotype in test", + "pattern": "heat_map_1.png" + } + }, + { + "pvalues_vs_nes_plot": { + "type": "file", + "description": "Plot showing FDR q-value by normalised enrichment score", + "pattern": "pvalues_vs_nes_plot" + } + }, + { + "ranked_list_corr": { + "type": "file", + "description": "Ranked Gene List Correlation Profile", + "pattern": "ranked_list_corr_2.png" + } + }, + { + "gene_set_tsv": { + "type": "list", + "description": "Where -make_sets is not set to false, TSV files, one file for each gene set, with detail on enrichment for each gene", + "pattern": "[!gene_set_size|gsea_report|ranked_gene_list]*.tsv" + } + }, + { + "gene_set_html": { + "type": "list", + "description": "Where -make_sets is not set to false, HTML files, one file for each gene set, with detail on enrichment for each gene", + "pattern": "[!gsea_report|heat_map_corr_plot|index|pos_snapshot|neg_snapshot]*.html" + } + }, + { + "gene_set_heatmap": { + "type": "list", + "description": "Where -make_sets is not set to false, PNG-format heatmaps, one file for each gene set, showing expression for each gene", + "pattern": "[!butterfly|enplot|global_es_histogram|gset_rnd_es_dist|heat_map|pvalues_vs_nes_plot|ranked_list_corr]*.png" + } + }, + { + "snapshot": { + "type": "list", + "description": "HTML files, one each for positive and negative enrichment, collecting elements of gene_set_enplot", + "pattern": "*_snapshot*.html" + } + }, + { + "gene_set_enplot": { + "type": "list", + "description": "Where -make_sets is not set to false, PNG-format enrichment (barcode) plots, one file for each gene set, showing how genes contribute to enrichment.", + "pattern": "enplot*.png" + } + }, + { + "gene_set_dist": { + "type": "list", + "description": "Where -make_sets is not set to false, PNG-format enrichment score distributions plots, one file for each gene set.", + "pattern": "gset_rnd_es_dist*.png" + } + }, + { + "archive": { + "type": "file", + "description": "Where -zip_report is set, a zip archive containing all outputs", + "pattern": "*.zip" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@pinin4fjords" + ] + }, + "pipelines": [ + { + "name": "differentialabundance", + "version": "1.2.0" + } + ] + }, + { + "name": "gstama_collapse", + "path": "modules/nf-core/gstama/collapse/meta.yml", + "type": "module", + "meta": { + "name": "GSTAMA_COLLAPSE", + "description": "Collapse redundant transcript models in Iso-Seq data.", + "keywords": [ + "tama_collapse.py", + "isoseq", + "nanopore", + "long-read", + "transcriptome", + "gene model", + "TAMA" + ], + "tools": [ + { + "tama_collapse.py": { + "description": "Collapse similar gene model", + "homepage": "https://github.com/sguizard/gs-tama", + "documentation": "https://github.com/GenomeRIK/tama/wiki", + "tool_dev_url": "https://github.com/sguizard/gs-tama", + "doi": "10.1186/s12864-020-07123-7", + "licence": "GNU GPL3" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "A sorted BAM or sam file of aligned reads", + "pattern": "*.{bam,sam}" + } + }, + { + "fasta": { + "type": "file", + "description": "A fasta file of the genome used for the mapping", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "a bed12 format file containing the final collapsed version of your transcriptome", + "pattern": "*.bed" + } + }, + { + "bed_trans_reads": { + "type": "file", + "description": "This file uses bed12 format to show the transcript model for each read based on the mapping prior to collapsing. This only contains the reads which were accepted according to the defined thresholds. You can use this file to see if there were any strange occurrences during collapsing. It also contains the relationships between reads and collapsed transcript models. The 1st subfield in the 4th column shows the final transcript ID and the 2nd subfield in the 4th column shows the read ID. If you used no_cap mode for collapsing there may be multiple lines for a single read. This happens when a 5' degraded read can match to multiple 5' longer transcript models.", + "pattern": "*_trans_read.bed" + } + }, + { + "local_density_error": { + "type": "file", + "description": "This file contains the log of filtering for local density error around the splice junctions (\"-lde\")", + "pattern": "*_local_density_error.txt" + } + }, + { + "polya": { + "type": "file", + "description": "This file contains the reads with potential poly A truncation.", + "pattern": "*_polya.txt" + } + }, + { + "read": { + "type": "file", + "description": "This file contains information for all mapped reads from the input SAM/BAM file. It shows both accepted and discarded reads and should match the number of mapped reads in your SAM/BAM file", + "pattern": "*_read.txt" + } + }, + { + "strand_check": { + "type": "file", + "description": "This file shows instances where the sam flag strand information contrasted the GMAP strand information.", + "pattern": "*_strand_check.txt" + } + }, + { + "trans_report": { + "type": "file", + "description": "This file contains collapsing information for each transcript.", + "pattern": "*_trans_report.txt" + } + }, + { + "varcov": { + "type": "file", + "description": "This file contains the coverage information for each variant detected.", + "pattern": "*_varcov.txt" + } + }, + { + "variants": { + "type": "file", + "description": "This file contains the variants called. Variants are only called if 5 or more reads show the variant at a specific locus. If you would like to change the threshold, please make an issue about this in the Github repo.", + "pattern": "*_variants.txt" + } + } + ], + "authors": [ + "@sguizard" + ] + }, + "pipelines": [ + { + "name": "isoseq", + "version": "1.1.4" + } + ] + }, + { + "name": "gstama_merge", + "path": "modules/nf-core/gstama/merge/meta.yml", + "type": "module", + "meta": { + "name": "gstama_merge", + "description": "Merge multiple transcriptomes while maintaining source information.", + "keywords": [ + "gstama", + "gstama/merge", + "long-read", + "isoseq", + "nanopore", + "tama", + "trancriptome", + "annotation" + ], + "tools": [ + { + "gstama": { + "description": "Gene-Switch Transcriptome Annotation by Modular Algorithms", + "homepage": "https://github.com/sguizard/gs-tama", + "documentation": "https://github.com/GenomeRIK/tama/wiki", + "tool_dev_url": "https://github.com/sguizard/gs-tama", + "doi": "10.1186/s12864-020-07123-7", + "licence": [ + "GPL v3 License" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "bed12 file generated by TAMA collapse", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "This is the main merged annotation file. Transcripts are coloured according to the source support for each model. Sources are numbered based on the order supplied in the input filelist file. For example the first file named in the filelist file would have its transcripts coloured in red. If a transcript has multiple sources the colour is shown as magenta.", + "pattern": "*.bed" + } + }, + { + "gene_report": { + "type": "file", + "description": "This contains a report of the genes from the merged file. \"num_clusters\" refers to the number of source transcripts that were used to make this gene model. \"num_final_trans\" refers to the number of transcripts in the final gene model.", + "pattern": "*_gene_report.txt" + } + }, + { + "merge": { + "type": "file", + "description": "This contains a bed12 format file which shows the coordinates of each input transcript matched to the merged transcript ID. I used the \"txt\" extension even though it is a bed file just to avoid confusion with the main bed file. You can use this file to map the final merged transcript models to their pre-merged supporting transcripts. The 1st subfield in the 4th column shows the final merged transcript ID while the 2nd subfield shows the pre-merged transcript ID with source prefix.", + "pattern": "*_merge.txt" + } + }, + { + "trans_report": { + "type": "file", + "description": "This contains the source information for each merged transcript.", + "pattern": "*_trans_report.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sguizard" + ] + }, + "pipelines": [ + { + "name": "isoseq", + "version": "1.1.4" + } + ] + }, + { + "name": "gstama_polyacleanup", + "path": "modules/nf-core/gstama/polyacleanup/meta.yml", + "type": "module", + "meta": { + "name": "gstama_polyacleanup", + "description": "Helper script, remove remaining polyA sequences from Full Length Non Chimeric reads (Pacbio isoseq3)", + "keywords": [ + "gstama", + "gstama/polyacleanup", + "long-read", + "isoseq", + "tama", + "trancriptome", + "annotation" + ], + "tools": [ + { + "gstama": { + "description": "Gene-Switch Transcriptome Annotation by Modular Algorithms", + "homepage": "https://github.com/sguizard/gs-tama", + "documentation": "https://github.com/GenomeRIK/tama/wiki", + "tool_dev_url": "https://github.com/sguizard/gs-tama", + "doi": "10.1186/s12864-020-07123-7", + "licence": [ + "GPL v3 License" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Full Length Non Chimeric reads in fasta format", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fasta": { + "type": "file", + "description": "The Full Length Non Chimeric reads clened from remaining polyA tails. The sequences are in FASTA format compressed with gzip.", + "pattern": "*_tama.fa.gz" + } + }, + { + "report": { + "type": "file", + "description": "A text file describing the number of polyA tails removed and their length. Compressed with gzip.", + "pattern": "*_tama_polya_flnc_report.txt.gz" + } + }, + { + "tails": { + "type": "file", + "description": "A gzip compressed FASTA file of trimmed polyA tails.", + "pattern": "*_tama_tails.fa.gz" + } + } + ], + "authors": [ + "@sguizard" + ] + }, + "pipelines": [ + { + "name": "isoseq", + "version": "1.1.4" + } + ] + }, + { + "name": "gtdbtk_classifywf", + "path": "modules/nf-core/gtdbtk/classifywf/meta.yml", + "type": "module", + "meta": { + "name": "gtdbtk_classifywf", + "description": "GTDB-Tk is a software toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes based on the Genome Database Taxonomy GTDB.", + "keywords": [ + "GTDB taxonomy", + "taxonomic classification", + "metagenomics", + "classification", + "genome taxonomy database", + "bacteria", + "archaea" + ], + "tools": [ + { + "gtdbtk": { + "description": "GTDB-Tk is a software toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes based on the Genome Database Taxonomy GTDB.", + "homepage": "https://ecogenomics.github.io/GTDBTk/", + "documentation": "https://ecogenomics.github.io/GTDBTk/", + "tool_dev_url": "https://github.com/Ecogenomics/GTDBTk", + "doi": "10.1093/bioinformatics/btz848", + "licence": [ + "GNU General Public v3 (GPL v3)" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false, assembler:'spades' ]\n" + } + }, + { + "bins": { + "type": "file", + "description": "The binned fasta files from the assembler", + "pattern": "*.{fasta,fa}" + } + }, + { + "database": { + "type": "file", + "description": "The local copy of the taxonomic database used by GTDB-tk (unzipped copy)", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "summary": { + "type": "file", + "description": "A TSV summary file for the classification", + "pattern": "*.{summary.tsv}" + } + }, + { + "tree": { + "type": "file", + "description": "NJ or UPGMA tree in Newick format produced from a multiple sequence alignment", + "pattern": "*.{classify.tree.gz}" + } + }, + { + "markers": { + "type": "file", + "description": "A TSV summary file lineage markers used for the classification.", + "pattern": "*.{markers_summary.tsv}" + } + }, + { + "msa": { + "type": "file", + "description": "Multiple sequence alignments file.", + "pattern": "*.{msa.fasta.gz}" + } + }, + { + "user_msa": { + "type": "file", + "description": "Multiple sequence alignments file for the user-provided files.", + "pattern": "*.{user_msa.fasta.gz}" + } + }, + { + "filtered": { + "type": "file", + "description": "A list of genomes with an insufficient number of amino acids in MSA..", + "pattern": "*.{filtered.tsv}" + } + }, + { + "log": { + "type": "file", + "description": "GTDB-tk log file", + "pattern": "*.{log}" + } + }, + { + "warnings": { + "type": "file", + "description": "GTDB-tk warnings log file", + "pattern": "*.{warnings.log}" + } + }, + { + "failed": { + "type": "file", + "description": "A TSV summary of the genomes which GTDB-tk failed to classify.", + "pattern": "*.{failed_genomes.tsv}" + } + } + ], + "authors": [ + "@skrakau", + "@abhi18av" + ] + } + }, + { + "name": "gubbins", + "path": "modules/nf-core/gubbins/meta.yml", + "type": "module", + "meta": { + "name": "gubbins", + "description": "Gubbins (Genealogies Unbiased By recomBinations In Nucleotide Sequences) is an algorithm that iteratively identifies loci containing elevated densities of base substitutions while concurrently constructing a phylogeny based on the putative point mutations outside of these regions.", + "licence": [ + "GPL-2.0-only" + ], + "keywords": [ + "recombination", + "alignment" + ], + "tools": [ + { + "gubbins": { + "description": "Rapid phylogenetic analysis of large samples of recombinant bacterial whole genome sequences using Gubbins.", + "homepage": "https://sanger-pathogens.github.io/gubbins/", + "documentation": "https://sanger-pathogens.github.io/gubbins/" + } + } + ], + "input": [ + { + "alignment": { + "type": "file", + "description": "fasta alignment file", + "pattern": "*.{fasta,fas,fa,aln}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fasta": { + "type": "file", + "description": "Filtered variant alignment in fasta format", + "pattern": "*.{fasta}" + } + }, + { + "embl_predicted": { + "type": "file", + "description": "Recombination predictions in embl format", + "pattern": "*.{recombination_predictions.embl}" + } + }, + { + "gff": { + "type": "file", + "description": "Recombination predictions in gff format", + "pattern": "*.{gff}" + } + }, + { + "embl_branch": { + "type": "file", + "description": "Branch base reconstruction", + "pattern": "*.{branch_base_reconstruction.embl}" + } + }, + { + "vcf": { + "type": "file", + "description": "SNP distribution", + "pattern": "*.{vcf}" + } + }, + { + "stats": { + "type": "file", + "description": "Per branch statistics", + "pattern": "*.{csv}" + } + }, + { + "phylip": { + "type": "file", + "description": "Filtered variant alignment in phylip format", + "pattern": "*.{phylip}" + } + }, + { + "tree": { + "type": "file", + "description": "Recombination removed RAxML phylogenetic tree", + "pattern": "*.{final_tree.tre}" + } + }, + { + "tree_labelled": { + "type": "file", + "description": "Recombination removed RAxML phylogenetic tree (nodes labelled)", + "pattern": "*.{node_labelled.final_tree.tre}" + } + } + ], + "authors": [ + "@avantonder" + ] + } + }, + { + "name": "gunc_downloaddb", + "path": "modules/nf-core/gunc/downloaddb/meta.yml", + "type": "module", + "meta": { + "name": "gunc_downloaddb", + "description": "Download database for GUNC detection of Chimerism and Contamination in Prokaryotic Genomes", + "keywords": [ + "download", + "prokaryote", + "assembly", + "genome", + "quality control", + "chimeras" + ], + "tools": [ + { + "gunc": { + "description": "Python package for detection of chimerism and contamination in prokaryotic genomes.", + "homepage": "https://grp-bork.embl-community.io/gunc/", + "documentation": "https://grp-bork.embl-community.io/gunc/", + "tool_dev_url": "https://github.com/grp-bork/gunc", + "doi": "10.1186/s13059-021-02393-0", + "licence": [ + "GNU General Public v3 or later (GPL v3+)" + ] + } + } + ], + "input": [ + { + "db_name": { + "type": "string", + "description": "Which database to download. Options: progenomes or gtdb", + "pattern": "progenomes|gtdb" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "db": { + "type": "file", + "description": "GUNC database file", + "pattern": "*.dmnd" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "gunc_mergecheckm", + "path": "modules/nf-core/gunc/mergecheckm/meta.yml", + "type": "module", + "meta": { + "name": "gunc_mergecheckm", + "description": "Merging of CheckM and GUNC results in one summary table", + "keywords": [ + "gunc", + "checkm", + "summary", + "prokaryote", + "assembly", + "genome", + "quality control", + "chimeras" + ], + "tools": [ + { + "gunc": { + "description": "Python package for detection of chimerism and contamination in prokaryotic genomes.", + "homepage": "https://grp-bork.embl-community.io/gunc/", + "documentation": "https://grp-bork.embl-community.io/gunc/", + "tool_dev_url": "https://github.com/grp-bork/gunc", + "doi": "10.1186/s13059-021-02393-0", + "licence": [ + "GNU General Public v3 or later (GPL v3+)" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gunc_file": { + "type": "file", + "description": "Path of a gunc_scores.tsv file (mandatory)", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "checkm_file": { + "type": "file", + "description": "Output TSV from CheckM qa (ideally with -o 2 extended format) (mandatory)", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "Merged checkm/gunc results in TSV format", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "gunc_run", + "path": "modules/nf-core/gunc/run/meta.yml", + "type": "module", + "meta": { + "name": "gunc_run", + "description": "Detection of Chimerism and Contamination in Prokaryotic Genomes", + "keywords": [ + "prokaryote", + "assembly", + "genome", + "quality control", + "chimeras" + ], + "tools": [ + { + "gunc": { + "description": "Python package for detection of chimerism and contamination in prokaryotic genomes.", + "homepage": "https://grp-bork.embl-community.io/gunc/", + "documentation": "https://grp-bork.embl-community.io/gunc/", + "tool_dev_url": "https://github.com/grp-bork/gunc", + "doi": "10.1186/s13059-021-02393-0", + "licence": [ + "GNU General Public v3 or later (GPL v3+)" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file containing contig (bins)", + "pattern": "*.fa" + } + }, + { + "db": { + "type": "file", + "description": "GUNC database file", + "pattern": "*.dmnd" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "maxcss_levels_tsv": { + "type": "file", + "description": "Output file with scores for a taxonomic level with the highest CSS score", + "pattern": "*.tsv" + } + }, + { + "all_levels_tsv": { + "type": "file", + "description": "Optional output file with results for each taxonomic level", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "gunzip", + "path": "modules/nf-core/gunzip/meta.yml", + "type": "module", + "meta": { + "name": "gunzip", + "description": "Compresses and decompresses files.", + "keywords": [ + "gunzip", + "compression", + "decompression" + ], + "tools": [ + { + "gunzip": { + "description": "gzip is a file format and a software application used for file compression and decompression.\n", + "documentation": "https://www.gnu.org/software/gzip/manual/gzip.html", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Optional groovy Map containing meta information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "archive": { + "type": "file", + "description": "File to be compressed/uncompressed", + "pattern": "*.*" + } + } + ], + "output": [ + { + "gunzip": { + "type": "file", + "description": "Compressed/uncompressed file", + "pattern": "*.*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "differentialabundance", + "version": "1.2.0" + }, + { + "name": "epitopeprediction", + "version": "2.2.1" + }, + { + "name": "funcscan", + "version": "1.1.2" + }, + { + "name": "genomeannotator", + "version": "dev" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "hlatyping", + "version": "2.0.0" + }, + { + "name": "isoseq", + "version": "1.1.4" + }, + { + "name": "mag", + "version": "2.3.2" + }, + { + "name": "marsseq", + "version": "1.0.3" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "proteinfold", + "version": "1.0.0" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "scrnaseq", + "version": "2.3.2" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "gvcftools_extractvariants", + "path": "modules/nf-core/gvcftools/extractvariants/meta.yml", + "type": "module", + "meta": { + "name": "gvcftools_extractvariants", + "description": "Removes all non-variant blocks from a gVCF file to produce a smaller variant-only VCF file.", + "keywords": [ + "gvcftools", + "extract_variants", + "extractvariants", + "gvcf", + "vcf" + ], + "tools": [ + { + "gvcftools": { + "description": "gvcftools is a package of small utilities for creating and analyzing gVCF files", + "homepage": "https://sites.google.com/site/gvcftools/home", + "documentation": "https://sites.google.com/site/gvcftools/home/configuration-and-analysis", + "tool_dev_url": "https://github.com/sequencing/gvcftools", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gvcf": { + "type": "file", + "description": "GVCF file", + "pattern": "*.{g.vcf,gvcf}.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Converted variant-only VCF file", + "pattern": "*.vcf.gz" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "hamronization_abricate", + "path": "modules/nf-core/hamronization/abricate/meta.yml", + "type": "module", + "meta": { + "name": "hamronization_abricate", + "description": "Tool to convert and summarize ABRicate outputs using the hAMRonization specification", + "keywords": [ + "amr", + "antimicrobial resistance", + "reporting", + "abricate" + ], + "tools": [ + { + "hamronization": { + "description": "Tool to convert and summarize AMR gene detection outputs using the hAMRonization specification", + "homepage": "https://github.com/pha4ge/hAMRonization/", + "documentation": "https://github.com/pha4ge/hAMRonization/", + "tool_dev_url": "https://github.com/pha4ge/hAMRonization", + "licence": "['GNU Lesser General Public v3 (LGPL v3)']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "report": { + "type": "file", + "description": "Output TSV or CSV file from ABRicate", + "pattern": "*.{csv,tsv}" + } + }, + { + "format": { + "type": "value", + "description": "Type of report file to be produced", + "pattern": "tsv|json" + } + }, + { + "software_version": { + "type": "value", + "description": "Version of ABRicate used", + "pattern": "[0-9].[0-9].[0-9]" + } + }, + { + "reference_db_version": { + "type": "value", + "description": "Database version of ABRicate used", + "pattern": "[0-9][0-9][0-9][0-9]-[A-Z][a-z][a-z]-[0-9][0-9]" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "hAMRonised report in JSON format", + "pattern": "*.json" + } + }, + { + "tsv": { + "type": "file", + "description": "hAMRonised report in TSV format", + "pattern": "*.json" + } + } + ], + "authors": [ + "@jasmezz" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "hamronization_amrfinderplus", + "path": "modules/nf-core/hamronization/amrfinderplus/meta.yml", + "type": "module", + "meta": { + "name": "hamronization_amrfinderplus", + "description": "Tool to convert and summarize AMRfinderPlus outputs using the hAMRonization specification.", + "keywords": [ + "amr", + "antimicrobial resistance", + "arg", + "antimicrobial resistance genes", + "reporting", + "amrfinderplus" + ], + "tools": [ + { + "hamronization": { + "description": "Tool to convert and summarize AMR gene detection outputs using the hAMRonization specification", + "homepage": "https://github.com/pha4ge/hAMRonization/", + "documentation": "https://github.com/pha4ge/hAMRonization/", + "tool_dev_url": "https://github.com/pha4ge/hAMRonization", + "licence": "['GNU Lesser General Public v3 (LGPL v3)']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "report": { + "type": "file", + "description": "Output .tsv file from AMRfinderPlus", + "pattern": "*.tsv" + } + }, + { + "format": { + "type": "value", + "description": "Type of report file to be produced", + "pattern": "tsv|json" + } + }, + { + "software_version": { + "type": "value", + "description": "Version of AMRfinder used", + "pattern": "[0-9].[0-9].[0-9]" + } + }, + { + "reference_db_version": { + "type": "value", + "description": "Database version of ncbi_AMRfinder used", + "pattern": "[0-9]-[0-9]-[0-9].[0-9]" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "hAMRonised report in JSON format", + "pattern": "*.json" + } + }, + { + "tsv": { + "type": "file", + "description": "hAMRonised report in TSV format", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@louperelo" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "hamronization_deeparg", + "path": "modules/nf-core/hamronization/deeparg/meta.yml", + "type": "module", + "meta": { + "name": "hamronization_deeparg", + "description": "Tool to convert and summarize DeepARG outputs using the hAMRonization specification", + "keywords": [ + "amr", + "antimicrobial resistance", + "reporting", + "deeparg" + ], + "tools": [ + { + "hamronization": { + "description": "Tool to convert and summarize AMR gene detection outputs using the hAMRonization specification", + "homepage": "https://github.com/pha4ge/hAMRonization/", + "documentation": "https://github.com/pha4ge/hAMRonization/", + "tool_dev_url": "https://github.com/pha4ge/hAMRonization", + "licence": [ + "GNU Lesser General Public v3 (LGPL v3)" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "report": { + "type": "file", + "description": "Output .mapping.ARG file from DeepARG", + "pattern": "*.mapping.ARG" + } + }, + { + "format": { + "type": "value", + "description": "Type of report file to be produced", + "pattern": "tsv|json" + } + }, + { + "software_version": { + "type": "value", + "description": "Version of DeepARG used", + "pattern": "[0-9].[0-9].[0-9]" + } + }, + { + "reference_db_version": { + "type": "value", + "description": "Database version of DeepARG used", + "pattern": "[0-9]" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "hAMRonised report in JSON format", + "pattern": "*.json" + } + }, + { + "tsv": { + "type": "file", + "description": "hAMRonised report in TSV format", + "pattern": "*.json" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "hamronization_fargene", + "path": "modules/nf-core/hamronization/fargene/meta.yml", + "type": "module", + "meta": { + "name": "hamronization_fargene", + "description": "Tool to convert and summarize fARGene outputs using the hAMRonization specification", + "keywords": [ + "amr", + "antimicrobial resistance", + "arg", + "antimicrobial resistance genes", + "reporting", + "fARGene" + ], + "tools": [ + { + "hamronization": { + "description": "Tool to convert and summarize AMR gene detection outputs using the hAMRonization specification", + "homepage": "https://github.com/pha4ge/hAMRonization/", + "documentation": "https://github.com/pha4ge/hAMRonization/", + "tool_dev_url": "https://github.com/pha4ge/hAMRonization", + "licence": "['GNU Lesser General Public v3 (LGPL v3)']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "report": { + "type": "file", + "description": "Output .txt file from fARGene", + "pattern": "*.txt" + } + }, + { + "format": { + "type": "value", + "description": "Type of report file to be produced", + "pattern": "tsv|json" + } + }, + { + "software_version": { + "type": "value", + "description": "Version of fARGene used", + "pattern": "[0-9].[0-9].[0-9]" + } + }, + { + "reference_db_version": { + "type": "value", + "description": "Database version of fARGene used", + "pattern": "[0-9].[0-9].[0-9]" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "hAMRonised report in JSON format", + "pattern": "*.json" + } + }, + { + "tsv": { + "type": "file", + "description": "hAMRonised report in TSV format", + "pattern": "*.json" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "hamronization_rgi", + "path": "modules/nf-core/hamronization/rgi/meta.yml", + "type": "module", + "meta": { + "name": "hamronization_rgi", + "description": "Tool to convert and summarize RGI outputs using the hAMRonization specification.", + "keywords": [ + "amr", + "antimicrobial resistance", + "arg", + "antimicrobial resistance genes", + "reporting", + "rgi" + ], + "tools": [ + { + "hamronization": { + "description": "Tool to convert and summarize AMR gene detection outputs using the hAMRonization specification", + "homepage": "https://github.com/pha4ge/hAMRonization/", + "documentation": "https://github.com/pha4ge/hAMRonization/", + "tool_dev_url": "https://github.com/pha4ge/hAMRonization", + "licence": "['GNU Lesser General Public v3 (LGPL v3)']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "report": { + "type": "file", + "description": "Output .txt file from RGI", + "pattern": "*.txt" + } + }, + { + "format": { + "type": "value", + "description": "Type of report file to be produced", + "pattern": "tsv|json" + } + }, + { + "software_version": { + "type": "value", + "description": "Version of DeepARG used", + "pattern": "[0-9].[0-9].[0-9]" + } + }, + { + "reference_db_version": { + "type": "value", + "description": "Database version of DeepARG used", + "pattern": "[0-9].[0-9].[0-9]" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "hAMRonised report in JSON format", + "pattern": "*.json" + } + }, + { + "tsv": { + "type": "file", + "description": "hAMRonised report in TSV format", + "pattern": "*.json" + } + } + ], + "authors": [ + "@louperelo" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "hamronization_summarize", + "path": "modules/nf-core/hamronization/summarize/meta.yml", + "type": "module", + "meta": { + "name": "hamronization_summarize", + "description": "Tool to summarize and combine all hAMRonization reports into a single file", + "keywords": [ + "amr", + "antimicrobial resistance", + "reporting" + ], + "tools": [ + { + "hamronization": { + "description": "Tool to convert and summarize AMR gene detection outputs using the hAMRonization specification", + "homepage": "https://github.com/pha4ge/hAMRonization/", + "documentation": "https://github.com/pha4ge/hAMRonization/", + "tool_dev_url": "https://github.com/pha4ge/hAMRonization", + "licence": [ + "GNU Lesser General Public v3 (LGPL v3)" + ] + } + } + ], + "input": [ + { + "reports": { + "type": "file", + "description": "List of multiple hAMRonization reports in either JSON or TSV format", + "pattern": "*.{json,tsv}" + } + }, + { + "format": { + "type": "value", + "description": "Type of final combined report file to be produced", + "pattern": "tsv|json|interactive" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "hAMRonised summary in JSON format", + "pattern": "*.json" + } + }, + { + "tsv": { + "type": "file", + "description": "hAMRonised summary in TSV format", + "pattern": "*.json" + } + }, + { + "html": { + "type": "file", + "description": "hAMRonised summary in HTML format", + "pattern": "*.html" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "hapibd", + "path": "modules/nf-core/hapibd/meta.yml", + "type": "module", + "meta": { + "name": "hapibd", + "description": "The hap-ibd program detects identity-by-descent (IBD) segments and homozygosity-by-descent (HBD) segments in phased genotype data. The hap-ibd program can analyze data sets with hundreds of thousands of samples.", + "keywords": [ + "ibd", + "hbd", + "beagle" + ], + "tools": [ + { + "hapibd": { + "description": "Hap-ibd Detects identity-by-descent (IBD) segments and homozygosity-by-descent (HBD) segments in phased genotype data.", + "homepage": "https://github.com/browning-lab/hap-ibd/blob/master/README.md", + "documentation": "https://github.com/browning-lab/hap-ibd/blob/master/README.md", + "doi": "10.1016/j.ajhg.2020.02.010", + "licence": "['Apache-2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing cohort information\ne.g. [ id:'test' ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "phased VCF file with a GT FORMAT subfield with no missing alleles", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "map": { + "type": "file", + "description": "genetic map with cM units in PLINK format", + "pattern": "*.{map,map.gz,map.zip}" + } + }, + { + "exclude": { + "type": "file", + "description": "text file containing samples one sample per line to be excluded from the analysis", + "pattern": "*.*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing cohort information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "hbd": { + "type": "file", + "description": "contains HBD segments within individuals", + "pattern": "*.hbd.gz" + } + }, + { + "ibd": { + "type": "file", + "description": "contains IBD segments shared between individuals", + "pattern": "*.ibd.gz" + } + }, + { + "log": { + "type": "file", + "description": "contains a summary of the analysis which includes the analysis parameters the number of markers the number of samples the number of output HBD and IBD segments and the mean number of HBD and IBD segments per sample", + "pattern": "*.log" + } + } + ], + "authors": [ + "@ashotmarg" + ] + } + }, + { + "name": "haplocheck", + "path": "modules/nf-core/haplocheck/meta.yml", + "type": "module", + "meta": { + "name": "haplocheck", + "description": "Haplocheck detects contamination patterns in mtDNA AND WGS sequencing studies by analyzing\nthe mitochondrial DNA. Haplocheck also works as a proxy tool for nDNA studies and provides\nusers a graphical report to investigate the contamination further. Internally, it uses the\nHaplogrep tool, that supports rCRS and RSRS mitochondrial versions.\n", + "keywords": [ + "mitochondrial", + "mtDNA", + "contamination" + ], + "tools": [ + { + "haplocheck": { + "description": "Detects in-sample contamination in mtDNA or WGS sequencing studies by analyzing the mitochondrial content.", + "homepage": "https://github.com/genepi/haplocheck", + "documentation": "https://github.com/genepi/haplocheck", + "tool_dev_url": "https://github.com/genepi/haplocheck", + "doi": "10.1101/gr.256545.119", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "Raw report in txt format", + "pattern": "*.{txt}" + } + }, + { + "html": { + "type": "file", + "description": "Haplocheck HTML report", + "pattern": "*.{html}" + } + } + ], + "authors": [ + "@lmtani" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "haplogrep2_classify", + "path": "modules/nf-core/haplogrep2/classify/meta.yml", + "type": "module", + "meta": { + "name": "haplogrep2_classify", + "description": "classification into haplogroups", + "keywords": [ + "haplogroups." + ], + "tools": [ + { + "haplogrep2": { + "description": "A tool for mtDNA haplogroup classification.", + "homepage": "https://github.com/seppinho/haplogrep-cmd", + "documentation": "https://github.com/seppinho/haplogrep-cmd", + "tool_dev_url": "https://github.com/seppinho/haplogrep-cmd", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "inputfile": { + "type": "file", + "description": "valid options are hsd, vcf, or fasta files", + "pattern": "*.{vcf,vcf.gz,fasta,hsd}" + } + }, + { + "format": { + "type": "string", + "description": "either \"vcf\", \"fasta\" or \"hsd\"" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "text file with classification information", + "pattern": "*.{txt}" + } + } + ], + "authors": [ + "@lucpen" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "happy_happy", + "path": "modules/nf-core/happy/happy/meta.yml", + "type": "module", + "meta": { + "name": "happy_happy", + "description": "Hap.py is a tool to compare diploid genotypes at haplotype level. Rather than comparing VCF records row by row, hap.py will generate and match alternate sequences in a superlocus. A superlocus is a small region of the genome (sized between 1 and around 1000 bp) that contains one or more variants.", + "keywords": [ + "happy", + "benchmark", + "haplotype", + "validation" + ], + "tools": [ + { + "happy": { + "description": "Haplotype VCF comparison tools", + "homepage": "https://www.illumina.com/products/by-type/informatics-products/basespace-sequence-hub/apps/hap-py-benchmarking.html", + "documentation": "https://github.com/Illumina/hap.py", + "tool_dev_url": "https://github.com/Illumina/hap.py", + "licence": "['BSD-2-clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "query_vcf": { + "type": "file", + "description": "VCF/GVCF file to query", + "pattern": "*.{gvcf,vcf}.gz" + } + }, + { + "truth_vcf": { + "type": "file", + "description": "gold standard VCF file", + "pattern": "*.{gvcf,vcf}.gz" + } + }, + { + "regions_bed": { + "type": "file", + "description": "Sparse regions to restrict the analysis to", + "pattern": "*.bed" + } + }, + { + "targets_bed": { + "type": "file", + "description": "Dense regions to restrict the analysis to", + "pattern": "*.bed" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file of the reference genome", + "pattern": "*.{fa,fasta}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the reference FASTA", + "pattern": "*.fai" + } + }, + { + "false_positives_bed": { + "type": "file", + "description": "False positive / confident call regions. Calls outside these regions will be labelled as UNK.", + "pattern": "*.{bed,bed.gz}" + } + }, + { + "stratification_tsv": { + "type": "file", + "description": "Stratification file list in TSV format", + "pattern": "*.tsv" + } + }, + { + "stratification_beds": { + "type": "file(s)", + "description": "One or more BED files used for stratification (these should be referenced in the stratification TSV)", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "summary_csv": { + "type": "file", + "description": "A CSV file containing the summary of the benchmarking", + "pattern": "*.summary.csv" + } + }, + { + "roc_all_csv": { + "type": "file", + "description": "A CSV file containing ROC values for all variants", + "pattern": "*.roc.all.csv.gz" + } + }, + { + "roc_indel_locations_csv": { + "type": "file", + "description": "A CSV file containing ROC values for all indels", + "pattern": "*.roc.Locations.INDEL.csv.gz" + } + }, + { + "roc_indel_locations_pass_csv": { + "type": "file", + "description": "A CSV file containing ROC values for all indels that passed all filters", + "pattern": "*.roc.Locations.INDEL.PASS.csv.gz" + } + }, + { + "roc_snp_locations_csv": { + "type": "file", + "description": "A CSV file containing ROC values for all SNPs", + "pattern": "*.roc.Locations.SNP.csv.gz" + } + }, + { + "roc_snp_locations_pass_csv": { + "type": "file", + "description": "A CSV file containing ROC values for all SNPs that passed all filters", + "pattern": "*.roc.Locations.SNP.PASS.csv.gz" + } + }, + { + "extended_csv": { + "type": "file", + "description": "A CSV file containing extended info of the benchmarking", + "pattern": "*.extended.csv" + } + }, + { + "json": { + "type": "file", + "description": "A JSON file containing the run info", + "pattern": "*.runinfo.json" + } + }, + { + "runinfo": { + "type": "file", + "description": "A JSON file containing the benchmarking metrics", + "pattern": "*.metrics.json.gz" + } + }, + { + "vcf": { + "type": "file", + "description": "An annotated VCF", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "The index of the annotated VCF", + "pattern": "*.tbi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "happy_prepy", + "path": "modules/nf-core/happy/prepy/meta.yml", + "type": "module", + "meta": { + "name": "happy_prepy", + "description": "Pre.py is a preprocessing tool made to preprocess VCF files for Hap.py", + "keywords": [ + "happy", + "benchmark", + "haplotype" + ], + "tools": [ + { + "happy": { + "description": "Haplotype VCF comparison tools", + "homepage": "https://www.illumina.com/products/by-type/informatics-products/basespace-sequence-hub/apps/hap-py-benchmarking.html", + "documentation": "https://github.com/Illumina/hap.py", + "tool_dev_url": "https://github.com/Illumina/hap.py", + "licence": "['BSD-2-clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file to preprocess", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "bed": { + "type": "file", + "description": "BED file", + "pattern": "*.bed" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file of the reference genome", + "pattern": "*.{fa,fasta}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the reference FASTA", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "A preprocessed VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "hicap", + "path": "modules/nf-core/hicap/meta.yml", + "type": "module", + "meta": { + "name": "hicap", + "description": "Identify cap locus serotype and structure in your Haemophilus influenzae assemblies", + "keywords": [ + "fasta", + "serotype", + "Haemophilus influenzae" + ], + "tools": [ + { + "hicap": { + "description": "In silico typing of the H. influenzae capsule locus", + "homepage": "https://github.com/scwatts/hicap", + "documentation": "https://github.com/scwatts/hicap", + "tool_dev_url": "https://github.com/scwatts/hicap", + "doi": "10.1128/JCM.00190-19", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA formatted assembly file", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" + } + }, + { + "database_dir": { + "type": "directory", + "description": "Optional - Directory containing locus database", + "pattern": "*/*" + } + }, + { + "model_fp": { + "type": "file", + "description": "Optional - Prodigal model to use for gene prediction", + "pattern": "*.{bin}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "gbk": { + "type": "file", + "description": "GenBank file and cap locus annotations", + "pattern": "*.gbk" + } + }, + { + "svg": { + "type": "file", + "description": "Visualization of annotated cap locus", + "pattern": "*.svg" + } + }, + { + "tsv": { + "type": "file", + "description": "Detailed summary of cap locus annotations", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "hicexplorer_hicpca", + "path": "modules/nf-core/hicexplorer/hicpca/meta.yml", + "type": "module", + "meta": { + "name": "hicexplorer_hicpca", + "description": "Computes PCA eigenvectors for a Hi-C matrix.", + "keywords": [ + "eigenvectors", + "PCA", + "hicPCA" + ], + "tools": [ + { + "hicexplorer": { + "description": "Set of programs to process, analyze and visualize Hi-C and capture Hi-C data", + "homepage": "https://hicexplorer.readthedocs.io", + "documentation": "https://hicexplorer.readthedocs.io", + "tool_dev_url": "https://github.com/deeptools/HiCExplorer", + "doi": "10.1038/s41467-017-02525-w", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', bin:50000 ]\n" + } + }, + { + "matrix": { + "type": "file", + "description": "HiCExplorer matrix in h5 format" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', bin:50000 ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "results": { + "type": "file", + "description": "Outputs of hicPCA" + } + }, + { + "pca1": { + "type": "file", + "description": "PCA1 file" + } + }, + { + "pca2": { + "type": "file", + "description": "PCA2 file" + } + } + ], + "authors": [ + "@jianhong" + ] + } + }, + { + "name": "hifiasm", + "path": "modules/nf-core/hifiasm/meta.yml", + "type": "module", + "meta": { + "name": "hifiasm", + "description": "Whole-genome assembly using PacBio HiFi reads", + "keywords": [ + "genome assembly", + "haplotype resolution", + "phasing", + "PacBio", + "HiFi", + "long reads" + ], + "tools": [ + { + "hifiasm": { + "description": "Haplotype-resolved assembler for accurate HiFi reads", + "homepage": "https://github.com/chhylp123/hifiasm", + "documentation": "https://github.com/chhylp123/hifiasm", + "tool_dev_url": "https://github.com/chhylp123/hifiasm", + "doi": "10.1038/s41592-020-01056-5", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "FASTQ file with PacBio HiFi reads", + "pattern": "*.{fastq}" + } + }, + { + "paternal_kmer_dump": { + "type": "file", + "description": "Yak kmer dump file for paternal reads (can be used for haplotype resolution). It can have an arbitrary extension." + } + }, + { + "maternal_kmer_dump": { + "type": "file", + "description": "Yak kmer dump file for maternal reads (can be used for haplotype resolution). It can have an arbitrary extension." + } + }, + { + "use_parental_kmers": { + "type": "logical", + "description": "A flag (true or false) signalling if the module should use the paternal and maternal kmer dumps." + } + }, + { + "hic_read1": { + "type": "file", + "description": "Hi-C data Forward reads." + } + }, + { + "hic_read2": { + "type": "file", + "description": "Hi-C data Reverse reads." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "raw_unitigs": { + "type": "file", + "description": "Raw unitigs", + "pattern": "*.r_utg.gfa" + } + }, + { + "processed_unitigs": { + "type": "file", + "description": "Processed unitigs", + "pattern": "*.p_utg.gfa" + } + }, + { + "primary_contigs": { + "type": "file", + "description": "Primary contigs", + "pattern": "*.asm.p_ctg.gfa" + } + }, + { + "alternate_contigs": { + "type": "file", + "description": "Alternative contigs", + "pattern": "*.asm.a_ctg.gfa" + } + }, + { + "paternal_contigs": { + "type": "file", + "description": "Paternal contigs", + "pattern": "*.hap1.p_ctg.gfa" + } + }, + { + "maternal_contigs": { + "type": "file", + "description": "Maternal contigs", + "pattern": "*.hap2.p_ctg.gfa" + } + }, + { + "corrected_reads": { + "type": "file", + "description": "Corrected reads", + "pattern": "*.ec.bin" + } + }, + { + "source_overlaps": { + "type": "file", + "description": "Source overlaps", + "pattern": "*.ovlp.source.bin" + } + }, + { + "reverse_overlaps": { + "type": "file", + "description": "Reverse overlaps", + "pattern": "*.ovlp.reverse.bin" + } + } + ], + "authors": [ + "@sidorov-si", + "@scorreard" + ] + } + }, + { + "name": "hisat2_align", + "path": "modules/nf-core/hisat2/align/meta.yml", + "type": "module", + "meta": { + "name": "hisat2_align", + "description": "Align RNA-Seq reads to a reference with HISAT2", + "keywords": [ + "align", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "hisat2": { + "description": "HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads (both DNA and RNA) to a population of human genomes as well as to a single reference genome.", + "homepage": "https://daehwankimlab.github.io/hisat2/", + "documentation": "https://daehwankimlab.github.io/hisat2/manual/", + "doi": "10.1038/s41587-019-0201-4", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "index": { + "type": "file", + "description": "HISAT2 genome index file", + "pattern": "*.ht2" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "splicesites": { + "type": "file", + "description": "Splices sites in gtf file", + "pattern": "*.{txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Output BAM file containing read alignments", + "pattern": "*.{bam}" + } + }, + { + "summary": { + "type": "file", + "description": "Aligment log", + "pattern": "*.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ntoda03", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "circrna", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "hisat2_build", + "path": "modules/nf-core/hisat2/build/meta.yml", + "type": "module", + "meta": { + "name": "hisat2_build", + "description": "Builds HISAT2 index for reference genome", + "keywords": [ + "build", + "index", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "hisat2": { + "description": "HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads (both DNA and RNA) to a population of human genomes as well as to a single reference genome.", + "homepage": "https://daehwankimlab.github.io/hisat2/", + "documentation": "https://daehwankimlab.github.io/hisat2/manual/", + "doi": "10.1038/s41587-019-0201-4", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference fasta file", + "pattern": "*.{fa,fasta,fna}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "gtf": { + "type": "file", + "description": "Reference gtf annotation file", + "pattern": "*.{gtf}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "splicesites": { + "type": "file", + "description": "Splices sites in gtf file", + "pattern": "*.{txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "index": { + "type": "file", + "description": "HISAT2 genome index file", + "pattern": "*.ht2" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ntoda03" + ] + }, + "pipelines": [ + { + "name": "circrna", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "hisat2_extractsplicesites", + "path": "modules/nf-core/hisat2/extractsplicesites/meta.yml", + "type": "module", + "meta": { + "name": "hisat2_extractsplicesites", + "description": "Extracts splicing sites from a gtf files", + "keywords": [ + "splicing", + "gtf", + "genome", + "reference" + ], + "tools": [ + { + "hisat2": { + "description": "HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads (both DNA and RNA) to a population of human genomes as well as to a single reference genome.", + "homepage": "https://daehwankimlab.github.io/hisat2/", + "documentation": "https://daehwankimlab.github.io/hisat2/manual/", + "doi": "10.1038/s41587-019-0201-4", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "gtf": { + "type": "file", + "description": "Reference gtf annotation file", + "pattern": "*.{gtf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "splicesites": { + "type": "file", + "description": "Splices sites in gtf file", + "pattern": "*.{splice_sites.txt}" + } + } + ], + "authors": [ + "@ntoda03", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "circrna", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "hlala_preparegraph", + "path": "modules/nf-core/hlala/preparegraph/meta.yml", + "type": "module", + "meta": { + "name": "hlala_preparegraph", + "description": "Pre-compute the graph index structure.", + "keywords": [ + "hla", + "hlala", + "hla_typing", + "hlala_typing" + ], + "tools": [ + { + "hlala": { + "description": "HLA typing from short and long reads", + "homepage": "https://github.com/DiltheyLab/HLA-LA", + "documentation": "https://github.com/DiltheyLab/HLA-LA#running-hlala", + "tool_dev_url": "https://github.com/DiltheyLab/HLA-LA", + "doi": "10.1093/bioinformatics/btz235", + "licence": "['GPL']" + } + } + ], + "input": [ + { + "graph": { + "type": "directory", + "description": "PRG graph directory" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "folder": { + "type": "directory", + "description": "Directory containing indexed graph" + } + } + ], + "authors": [ + "@mapo9" + ] + } + }, + { + "name": "hlala_typing", + "path": "modules/nf-core/hlala/typing/meta.yml", + "type": "module", + "meta": { + "name": "hlala_typing", + "description": "Performs HLA typing based on a population reference graph and employs a new linear projection method to align reads to the graph.", + "keywords": [ + "hla", + "hlala", + "hla_typing", + "hlala_typing" + ], + "tools": [ + { + "hlala": { + "description": "HLA typing from short and long reads", + "homepage": "https://github.com/DiltheyLab/HLA-LA", + "documentation": "https://github.com/DiltheyLab/HLA-LA#running-hlala", + "tool_dev_url": "https://github.com/DiltheyLab/HLA-LA", + "doi": "10.1093/bioinformatics/btz235", + "licence": "['GPL']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "graph": { + "type": "directory", + "description": "Path to prepared graph with hla-la --acton prepareGraph" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "folder": { + "type": "directory", + "description": "Folder containing the HLA typing output" + } + } + ], + "authors": [ + "@mapo9" + ] + } + }, + { + "name": "hmmcopy_gccounter", + "path": "modules/nf-core/hmmcopy/gccounter/meta.yml", + "type": "module", + "meta": { + "name": "hmmcopy_gccounter", + "description": "gcCounter function from HMMcopy utilities, used to generate GC content in non-overlapping windows from a fasta reference", + "keywords": [ + "hmmcopy", + "gccounter", + "cnv" + ], + "tools": [ + { + "hmmcopy": { + "description": "C++ based programs for analyzing BAM files and preparing read counts -- used with bioconductor-hmmcopy", + "homepage": "https://github.com/shahcompbio/hmmcopy_utils", + "documentation": "https://github.com/shahcompbio/hmmcopy_utils", + "tool_dev_url": "https://github.com/shahcompbio/hmmcopy_utils", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input genome fasta file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "wig": { + "type": "file", + "description": "wig file containing gc content of each window of the genome", + "pattern": "*.wig" + } + } + ], + "authors": [ + "@sppearce", + "@adamrtalbot" + ] + } + }, + { + "name": "hmmcopy_generatemap", + "path": "modules/nf-core/hmmcopy/generatemap/meta.yml", + "type": "module", + "meta": { + "name": "hmmcopy_generatemap", + "description": "Perl script (generateMap.pl) generates the mappability of a genome given a certain size of reads, for input to hmmcopy mapcounter. Takes a very long time on large genomes, is not parallelised at all.", + "keywords": [ + "hmmcopy", + "mapcounter", + "mappability" + ], + "tools": [ + { + "hmmcopy": { + "description": "C++ based programs for analyzing BAM files and preparing read counts -- used with bioconductor-hmmcopy", + "homepage": "https://github.com/shahcompbio/hmmcopy_utils", + "documentation": "https://github.com/shahcompbio/hmmcopy_utils", + "tool_dev_url": "https://github.com/shahcompbio/hmmcopy_utils", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input genome fasta file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bigwig": { + "type": "file", + "description": "bigwig file containing the mappability of the genome", + "pattern": "*.bw" + } + } + ], + "authors": [ + "@sppearce", + "@adamrtalbot" + ] + } + }, + { + "name": "hmmcopy_mapcounter", + "path": "modules/nf-core/hmmcopy/mapcounter/meta.yml", + "type": "module", + "meta": { + "name": "hmmcopy_mapcounter", + "description": "mapCounter function from HMMcopy utilities, used to generate mappability in non-overlapping windows from a bigwig file", + "keywords": [ + "hmmcopy", + "mapcounter", + "cnv" + ], + "tools": [ + { + "hmmcopy": { + "description": "C++ based programs for analyzing BAM files and preparing read counts -- used with bioconductor-hmmcopy", + "homepage": "https://github.com/shahcompbio/hmmcopy_utils", + "documentation": "https://github.com/shahcompbio/hmmcopy_utils", + "tool_dev_url": "https://github.com/shahcompbio/hmmcopy_utils", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bigwig": { + "type": "file", + "description": "BigWig file with the mappability score of the genome, for instance made with generateMap function.", + "pattern": "*.wig" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "wig": { + "type": "file", + "description": "wig file containing mappability of each window of the genome", + "pattern": "*.wig" + } + } + ], + "authors": [ + "@sppearce" + ] + } + }, + { + "name": "hmmcopy_readcounter", + "path": "modules/nf-core/hmmcopy/readcounter/meta.yml", + "type": "module", + "meta": { + "name": "hmmcopy_readcounter", + "description": "readCounter function from HMMcopy utilities, used to generate read in windows", + "keywords": [ + "hmmcopy", + "readcounter", + "cnv" + ], + "tools": [ + { + "hmmcopy": { + "description": "C++ based programs for analyzing BAM files and preparing read counts -- used with bioconductor-hmmcopy", + "homepage": "https://github.com/shahcompbio/hmmcopy_utils", + "documentation": "https://github.com/shahcompbio/hmmcopy_utils", + "tool_dev_url": "https://github.com/shahcompbio/hmmcopy_utils", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "wig": { + "type": "file", + "description": "A wig file with the number of reads lying within each window in each chromosome", + "pattern": "*.wig" + } + } + ], + "authors": [ + "@sppearce" + ] + } + }, + { + "name": "hmmer_eslalimask", + "path": "modules/nf-core/hmmer/eslalimask/meta.yml", + "type": "module", + "meta": { + "name": "hmmer_eslalimask", + "description": "Mask multiple sequence alignments", + "keywords": [ + "hmmer", + "alignment", + "mask" + ], + "tools": [ + { + "hmmer": { + "description": "Biosequence analysis using profile hidden Markov models", + "homepage": "http://hmmer.org/", + "documentation": "http://hmmer.org/documentation.html", + "doi": "10.1371/journal.pcbi.1002195", + "licence": [ + "BSD-3-Clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "unmaskedaln": { + "type": "file", + "description": "multiple sequence alignment, Stockholm or other formats", + "pattern": "*" + } + }, + { + "fmask_rf": { + "type": "val", + "description": "Flag to output optional file with final mask of non-gap RF len" + } + }, + { + "fmask_all": { + "type": "val", + "description": "Flag to output optional file with final mask of full aln len" + } + }, + { + "gmask_rf": { + "type": "val", + "description": "Flag to output optional file gap-based 0/1 mask of non-gap RF len" + } + }, + { + "gmask_all": { + "type": "val", + "description": "Flag to output optional file gap-based 0/1 mask of full aln len" + } + }, + { + "pmask_rf": { + "type": "val", + "description": "Flag to output optional file with PP-based 0/1 mask of non-gap RF len" + } + }, + { + "pmask_all": { + "type": "val", + "description": "Flag to output optional file with PP-based 0/1 mask of full aln len" + } + }, + { + "maskfile": { + "type": "file", + "description": "mask file, see program documentation", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "maskedaln": { + "type": "file", + "description": "Masked alignment in gzipped Stockholm format", + "pattern": "*.sthlm.gz" + } + }, + { + "fmask_rf": { + "type": "file", + "description": "File with final mask of non-gap RF len", + "pattern": "*.fmask-rf.gz" + } + }, + { + "fmask_all": { + "type": "file", + "description": "File with final mask of full aln len", + "pattern": "*.fmask-all.gz" + } + }, + { + "gmask_rf": { + "type": "file", + "description": "File with gap-based 0/1 mask of non-gap RF len", + "pattern": "*.gmask-rf.gz" + } + }, + { + "gmask_all": { + "type": "file", + "description": "File with gap-based 0/1 mask of full aln len", + "pattern": "*.gmask-all.gz" + } + }, + { + "pmask_rf": { + "type": "file", + "description": "File with PP-based 0/1 mask of non-gap RF len", + "pattern": "*.pmask-rf.gz" + } + }, + { + "pmask_all": { + "type": "file", + "description": "File with PP-based 0/1 mask of full aln len", + "pattern": "*.pmask-all.gz" + } + } + ], + "authors": [ + "@erikrikarddaniel" + ] + }, + "pipelines": [ + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "phyloplace", + "version": "1.0.0" + } + ] + }, + { + "name": "hmmer_eslreformat", + "path": "modules/nf-core/hmmer/eslreformat/meta.yml", + "type": "module", + "meta": { + "name": "hmmer_eslreformat", + "description": "reformats sequence files, see HMMER documentation for details. The module requires that the format is specified in ext.args in a config file, and that this comes last. See the tools help for possible values.", + "keywords": [ + "sort" + ], + "tools": [ + { + "hmmer": { + "description": "Biosequence analysis using profile hidden Markov models", + "homepage": "http://hmmer.org/", + "documentation": "http://hmmer.org/documentation.html", + "doi": "10.1371/journal.pcbi.1002195", + "licence": [ + "BSD-3-Clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "seqfile": { + "type": "file", + "description": "Sequences, aligned or not, in any supported format", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "seqreformated": { + "type": "file", + "description": "Reformated sequence file", + "pattern": "*.*.gz" + } + } + ], + "authors": [ + "@erikrikarddaniel" + ] + }, + "pipelines": [ + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "phyloplace", + "version": "1.0.0" + } + ] + }, + { + "name": "hmmer_hmmalign", + "path": "modules/nf-core/hmmer/hmmalign/meta.yml", + "type": "module", + "meta": { + "name": "hmmer_hmmalign", + "description": "hmmalign from the HMMER suite aligns a number of sequences to an HMM profile", + "keywords": [ + "alignment" + ], + "tools": [ + { + "hmmer": { + "description": "Biosequence analysis using profile hidden Markov models", + "homepage": "http://hmmer.org/", + "documentation": "http://hmmer.org/documentation.html", + "doi": "10.1371/journal.pcbi.1002195", + "licence": [ + "BSD-3-Clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Amino acid or nucleotide gzipped compressed fasta file", + "pattern": "*.{fna.gz,faa.gz,fasta.gz,fa.gz}" + } + }, + { + "hmm": { + "type": "file", + "description": "A gzipped HMM file", + "pattern": "*.hmm.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sthlm": { + "type": "file", + "description": "Multiple alignment in gzipped Stockholm format", + "pattern": "*.sthlm.gz" + } + } + ], + "authors": [ + "@erikrikarddaniel", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "phyloplace", + "version": "1.0.0" + } + ] + }, + { + "name": "hmmer_hmmbuild", + "path": "modules/nf-core/hmmer/hmmbuild/meta.yml", + "type": "module", + "meta": { + "name": "hmmer_hmmbuild", + "description": "create an hmm profile from a multiple sequence alignment", + "keywords": [ + "search", + "hidden Markov model", + "HMM", + "hmmer", + "hmmsearch" + ], + "tools": [ + { + "hmmer": { + "description": "Biosequence analysis using profile hidden Markov models", + "homepage": "http://hmmer.org", + "documentation": "http://hmmer.org/documentation.html", + "tool_dev_url": "https://github.com/EddyRivasLab/hmmer", + "doi": "10.1371/journal.pcbi.1002195", + "licence": "['BSD']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "alignment": { + "type": "file", + "description": "multiple sequence alignment in fasta, clustal, stockholm or phylip format", + "pattern": "*" + } + }, + { + "mxfile": { + "type": "file", + "description": "read substitution score matrix, for use when building profiles from single sequences (--singlemx option)", + "pattern": "*" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "hmm": { + "type": "file", + "description": "Gzipped HMM file", + "pattern": "*.{hmm.gz}" + } + } + ], + "authors": [ + "@erikrikarddaniel" + ] + }, + "pipelines": [ + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "phyloplace", + "version": "1.0.0" + } + ] + }, + { + "name": "hmmer_hmmsearch", + "path": "modules/nf-core/hmmer/hmmsearch/meta.yml", + "type": "module", + "meta": { + "name": "hmmer_hmmsearch", + "description": "search profile(s) against a sequence database", + "keywords": [ + "hidden Markov model", + "HMM", + "hmmer", + "hmmsearch" + ], + "tools": [ + { + "hmmer": { + "description": "Biosequence analysis using profile hidden Markov models", + "homepage": "http://hmmer.org/", + "documentation": "http://hmmer.org/documentation.html", + "tool_dev_url": "https://github.com/EddyRivasLab/hmmer", + "doi": "10.1371/journal.pcbi.1002195", + "licence": [ + "BSD" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "hmmfile": { + "type": "file", + "description": "One or more HMM profiles created with hmmbuild", + "pattern": "*.{hmm,hmm.gz}" + } + }, + { + "seqdb": { + "type": "file", + "description": "Database of sequences in FASTA format", + "pattern": "*.{fasta,fna,faa,fa,fasta.gz,fna.gz,faa.gz,fa.gz}" + } + }, + { + "write_align": { + "type": "val", + "description": "Flag to write optional alignment output. Specify with 'true' to output" + } + }, + { + "write_target": { + "type": "val", + "description": "Flag to write optional per target summary . Specify with 'true' to output" + } + }, + { + "write_domain": { + "type": "val", + "description": "Flag to write optional per domain summary. Specify with 'true' to output" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "file", + "description": "Human readable output summarizing hmmsearch results", + "pattern": "*.{txt.gz}" + } + }, + { + "alignments": { + "type": "file", + "description": "Optional multiple sequence alignment (MSA) in Stockholm format", + "pattern": "*.{sto.gz}" + } + }, + { + "target_summary": { + "type": "file", + "description": "Optional tabular (space-delimited) summary of per-target output", + "pattern": "*.{tbl.gz}" + } + }, + { + "domain_summary": { + "type": "file", + "description": "Optional tabular (space-delimited) summary of per-domain output", + "pattern": "*.{domtbl.gz}" + } + } + ], + "authors": [ + "@Midnighter" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + }, + { + "name": "metatdenovo", + "version": "dev" + } + ] + }, + { + "name": "hmtnote_annotate", + "path": "modules/nf-core/hmtnote/annotate/meta.yml", + "type": "module", + "meta": { + "name": "hmtnote_annotate", + "description": "Human mitochondrial variants annotation using HmtVar. Contains .plk file with annotation, so can be run offline", + "keywords": [ + "hmtnote", + "mitochondria", + "annotation" + ], + "tools": [ + { + "hmtnote": { + "description": "Human mitochondrial variants annotation using HmtVar.", + "homepage": "https://github.com/robertopreste/HmtNote", + "documentation": "https://hmtnote.readthedocs.io/en/latest/usage.html", + "doi": "10.1101/600619", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\n" + } + }, + { + "vcf": { + "type": "file", + "description": "vcf file", + "pattern": "*.vcf" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "annotated vcf", + "pattern": "*_annotated.vcf" + } + } + ], + "authors": [ + "@sysbiocoder" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "homer_annotatepeaks", + "path": "modules/nf-core/homer/annotatepeaks/meta.yml", + "type": "module", + "meta": { + "name": "homer_annotatepeaks", + "description": "Annotate peaks with HOMER suite", + "keywords": [ + "annotations", + "peaks", + "bed" + ], + "tools": [ + { + "homer": { + "description": "HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of tools for Motif Discovery and next-gen sequencing analysis.\n", + "documentation": "http://homer.ucsd.edu/homer/", + "doi": "10.1016/j.molcel.2010.05.004.", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "peaks": { + "type": "file", + "description": "The peak files in bed format", + "pattern": "*.bed" + } + }, + { + "fasta": { + "type": "file", + "description": "Fasta file of reference genome", + "pattern": "*.fasta" + } + }, + { + "gtf": { + "type": "file", + "description": "GTF file of reference genome", + "pattern": "*.gtf" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "annotated_peaks": { + "type": "file", + "description": "The annotated peaks", + "pattern": "*annotatePeaks.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + } + ] + }, + { + "name": "homer_findpeaks", + "path": "modules/nf-core/homer/findpeaks/meta.yml", + "type": "module", + "meta": { + "name": "homer_findpeaks", + "description": "Find peaks with HOMER suite", + "keywords": [ + "annotation", + "peaks", + "enrichment" + ], + "tools": [ + { + "homer": { + "description": "HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of tools for Motif Discovery and next-gen sequencing analysis.\n", + "homepage": "http://homer.ucsd.edu/homer/index.html", + "documentation": "http://homer.ucsd.edu/homer/", + "tool_dev_url": "http://homer.ucsd.edu/homer/ngs/peaks.html", + "doi": "10.1016/j.molcel.2010.05.004.", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tagDir": { + "type": "directory", + "description": "The 'Tag Directory'", + "pattern": "tagDir" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "peaks": { + "type": "file", + "description": "The found peaks", + "pattern": "*.peaks.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@EMiller88" + ] + }, + "pipelines": [ + { + "name": "nascent", + "version": "2.1.1" + } + ] + }, + { + "name": "homer_maketagdirectory", + "path": "modules/nf-core/homer/maketagdirectory/meta.yml", + "type": "module", + "meta": { + "name": "homer_maketagdirectory", + "description": "Create a tag directory with the HOMER suite", + "keywords": [ + "peaks", + "bed", + "bam", + "sam" + ], + "tools": [ + { + "homer": { + "description": "HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of tools for Motif Discovery and next-gen sequencing analysis.\n", + "documentation": "http://homer.ucsd.edu/homer/", + "doi": "10.1016/j.molcel.2010.05.004.", + "licence": [ + "GPL-3.0-or-later" + ] + } + }, + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + }, + { + "DESeq2": { + "description": "Differential gene expression analysis based on the negative binomial distribution\n", + "homepage": "https://bioconductor.org/packages/DESeq2", + "documentation": "https://bioconductor.org/packages/DESeq2", + "tool_dev_url": "https://github.com/mikelove/DESeq2", + "doi": "10.18129/B9.bioc.DESeq2", + "licence": [ + "LGPL-3.0-or-later" + ] + } + }, + { + "edgeR": { + "description": "Empirical Analysis of Digital Gene Expression Data in R\n", + "homepage": "https://bioinf.wehi.edu.au/edgeR", + "documentation": "https://bioconductor.org/packages/edgeR", + "tool_dev_url": "https://git.bioconductor.org/packages/edgeR", + "doi": "10.18129/B9.bioc.edgeR", + "licence": [ + "GPL >=2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/BED/SAM file", + "pattern": "*.{bam,bed,sam}" + } + }, + { + "fasta": { + "type": "file", + "description": "Fasta file of reference genome", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tagdir": { + "type": "directory", + "description": "The \"Tag Directory\"", + "pattern": "*_tagdir" + } + }, + { + "taginfo": { + "type": "directory", + "description": "The tagInfo.txt included to ensure there's proper output", + "pattern": "*_tagdir/tagInfo.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@EMiller88" + ] + }, + "pipelines": [ + { + "name": "nascent", + "version": "2.1.1" + } + ] + }, + { + "name": "homer_makeucscfile", + "path": "modules/nf-core/homer/makeucscfile/meta.yml", + "type": "module", + "meta": { + "name": "homer_makeucscfile", + "description": "Create a UCSC bed graph with the HOMER suite", + "keywords": [ + "peaks", + "bed", + "bedGraph" + ], + "tools": [ + { + "homer": { + "description": "HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of tools for Motif Discovery and next-gen sequencing analysis.\n", + "documentation": "http://homer.ucsd.edu/homer/", + "doi": "10.1016/j.molcel.2010.05.004.", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tagDir": { + "type": "directory", + "description": "The 'Tag Directory'", + "pattern": "tagDir" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bedGraph": { + "type": "file", + "description": "The UCSC bed graph", + "pattern": "*.bedGraph.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@EMiller88" + ] + }, + "pipelines": [ + { + "name": "nascent", + "version": "2.1.1" + } + ] + }, + { + "name": "homer_pos2bed", + "path": "modules/nf-core/homer/pos2bed/meta.yml", + "type": "module", + "meta": { + "name": "homer_pos2bed", + "description": "Coverting from HOMER peak to BED file formats", + "keywords": [ + "peaks", + "bed", + "pos" + ], + "tools": [ + { + "homer": { + "description": "HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of tools for Motif Discovery and next-gen sequencing analysis.\n", + "homepage": "http://homer.ucsd.edu/homer/index.html", + "documentation": "http://homer.ucsd.edu/homer/", + "tool_dev_url": "http://homer.ucsd.edu/homer/ngs/miscellaneous.html", + "doi": "10.1016/j.molcel.2010.05.004.", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tagDir": { + "type": "directory", + "description": "The 'Tag Directory'", + "pattern": "tagDir" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "BED file", + "pattern": "*.bed" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Emiller88" + ] + }, + "pipelines": [ + { + "name": "nascent", + "version": "2.1.1" + } + ] + }, + { + "name": "hpsuissero", + "path": "modules/nf-core/hpsuissero/meta.yml", + "type": "module", + "meta": { + "name": "hpsuissero", + "description": "Serotype prediction of Haemophilus parasuis assemblies", + "keywords": [ + "bacteria", + "fasta", + "haemophilus" + ], + "tools": [ + { + "hpsuissero": { + "description": "Rapid Haemophilus parasuis serotyping pipeline for Nanpore data", + "homepage": "https://github.com/jimmyliu1326/HpsuisSero", + "documentation": "https://github.com/jimmyliu1326/HpsuisSero", + "tool_dev_url": "https://github.com/jimmyliu1326/HpsuisSero", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Assembly in FASTA format", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz,faa,faa.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "Tab-delimited serotype prediction", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "ichorcna_createpon", + "path": "modules/nf-core/ichorcna/createpon/meta.yml", + "type": "module", + "meta": { + "name": "ichorcna_createpon", + "description": "ichorCNA is an R package for calculating copy number alteration from (low-pass) whole genome sequencing, particularly for use in cell-free DNA. This module generates a panel of normals", + "keywords": [ + "ichorcna", + "cnv", + "cna", + "cfDNA", + "wgs", + "panel_of_normals" + ], + "tools": [ + { + "ichorcna": { + "description": "Estimating tumor fraction in cell-free DNA from ultra-low-pass whole genome sequencing.", + "homepage": "https://github.com/broadinstitute/ichorCNA", + "documentation": "https://github.com/broadinstitute/ichorCNA/wiki", + "tool_dev_url": "https://github.com/broadinstitute/ichorCNA", + "doi": "10.1038/s41467-017-00965-y", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "wigs": { + "type": "file", + "description": "Any number of hmmcopy/readCounter processed .wig files giving the number of reads in the sample, in each genomic window. These will be averaged over to generate the panel of normals.", + "pattern": "*.{wig}" + } + }, + { + "gc_wig": { + "type": "file", + "description": "hmmcopy/gcCounter processed .wig file giving the gc content in the reference fasta, in each genomic window", + "pattern": "*.{wig}" + } + }, + { + "map_wig": { + "type": "file", + "description": "hmmcopy/mapCounter processed .wig file giving the mapability in the reference fasta, in each genomic window", + "pattern": "*.{wig}" + } + }, + { + "centromere": { + "type": "file", + "description": "Text file giving centromere locations of each genome, to exclude these windows", + "pattern": "*.{txt}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "rds": { + "type": "file", + "description": "R data file (.rds) containing panel of normals data, medians of each bin.", + "pattern": "*.rds" + } + }, + { + "txt": { + "type": "file", + "description": "Text file containing panel of normals data, medians of each bin.", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@sppearce" + ] + } + }, + { + "name": "ichorcna_run", + "path": "modules/nf-core/ichorcna/run/meta.yml", + "type": "module", + "meta": { + "name": "ichorcna_run", + "description": "ichorCNA is an R package for calculating copy number alteration from (low-pass) whole genome sequencing, particularly for use in cell-free DNA", + "keywords": [ + "ichorcna", + "cnv", + "cna", + "cfDNA", + "wgs" + ], + "tools": [ + { + "ichorcna": { + "description": "Estimating tumor fraction in cell-free DNA from ultra-low-pass whole genome sequencing.", + "homepage": "https://github.com/broadinstitute/ichorCNA", + "documentation": "https://github.com/broadinstitute/ichorCNA/wiki", + "tool_dev_url": "https://github.com/broadinstitute/ichorCNA", + "doi": "10.1038/s41467-017-00965-y", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "wig": { + "type": "file", + "description": "hmmcopy/readCounter processed .wig file giving the number of reads in the sample, in each genomic window", + "pattern": "*.{wig}" + } + }, + { + "gc_wig": { + "type": "file", + "description": "hmmcopy/gcCounter processed .wig file giving the gc content in the reference fasta, in each genomic window", + "pattern": "*.{wig}" + } + }, + { + "map_wig": { + "type": "file", + "description": "hmmcopy/mapCounter processed .wig file giving the mapability in the reference fasta, in each genomic window", + "pattern": "*.{wig}" + } + }, + { + "panel_of_normals": { + "type": "file", + "description": "Panel of normals data, generated by calling ichorCNA on a set of normal samples with the same window size etc.", + "pattern": "*.{rds}" + } + }, + { + "centromere": { + "type": "file", + "description": "Text file giving centromere locations of each genome, to exclude these windows", + "pattern": "*.{txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "cna_seg": { + "type": "file", + "description": "Predicted copy number variation per segment", + "pattern": "*.{cng.seg}" + } + }, + { + "ichorcna_params": { + "type": "file", + "description": "A text file showing the values that ichorCNA has estimated for tumour fraction, ploidy etc", + "pattern": "*.{params.txt}" + } + }, + { + "genome_plot": { + "type": "file", + "description": "A plot with the best-fit genome-wide CNV data", + "pattern": "*.{genomeWide.pdf}" + } + } + ], + "authors": [ + "@sppearce" + ] + } + }, + { + "name": "icountmini_metagene", + "path": "modules/nf-core/icountmini/metagene/meta.yml", + "type": "module", + "meta": { + "name": "icountmini_metagene", + "description": "Plot a metagene of cross-link events/sites around various transcriptomic landmarks.", + "keywords": [ + "iCLIP", + "gtf", + "genomics" + ], + "tools": [ + { + "icount": { + "description": "Computational pipeline for analysis of iCLIP data", + "homepage": "https://icount.readthedocs.io/en/latest/", + "documentation": "https://icount.readthedocs.io/en/latest/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "BED file of crosslinks" + } + }, + { + "segmentation": { + "type": "file", + "description": "A iCount segmentation file", + "pattern": "*.{gtf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tsv": { + "type": "file", + "description": "Metagene table", + "pattern": "*.tsv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@marc-jones", + "@chris-cheshire", + "@charlotteanne" + ] + } + }, + { + "name": "icountmini_peaks", + "path": "modules/nf-core/icountmini/peaks/meta.yml", + "type": "module", + "meta": { + "name": "icountmini_peaks", + "description": "Runs iCount peaks on a BED file of crosslinks", + "keywords": [ + "iCLIP", + "bed", + "genomics" + ], + "tools": [ + { + "icount": { + "description": "Computational pipeline for analysis of iCLIP data", + "homepage": "https://github.com/ulelab/iCount-Mini", + "documentation": "https://github.com/ulelab/iCount-Mini", + "tool_dev_url": "https://github.com/ulelab/iCount-Mini", + "doi": "10.1038/nsmb.1838", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "BED file of crosslinks", + "pattern": "*.{bed}" + } + }, + { + "sigxls": { + "type": "file", + "description": "TSV file of sigxls from iCount sigxls", + "pattern": "*.{tsv}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "peaks": { + "type": "file", + "description": "Crosslinks deemed significant by iCount", + "pattern": "*.{bed.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@marc-jones", + "@chris-cheshire", + "@charlotteanne" + ] + } + }, + { + "name": "icountmini_segment", + "path": "modules/nf-core/icountmini/segment/meta.yml", + "type": "module", + "meta": { + "name": "icountmini_segment", + "description": "Formats a GTF file for use with iCount sigxls", + "keywords": [ + "iCLIP", + "gtf", + "genomics" + ], + "tools": [ + { + "icount": { + "description": "Computational pipeline for analysis of iCLIP data", + "homepage": "https://github.com/ulelab/iCount-Mini", + "documentation": "https://github.com/ulelab/iCount-Mini", + "tool_dev_url": "https://github.com/ulelab/iCount-Mini", + "doi": "10.1038/nsmb.1838", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gtf": { + "type": "file", + "description": "A GTF file to use for the segmentation", + "pattern": "*.{gtf}" + } + }, + { + "fai": { + "type": "file", + "description": "FAI file corresponding to the reference sequence", + "pattern": "*.{fai}" + } + } + ], + "output": [ + { + "gtf": { + "type": "file", + "description": "Segmented GTF file for use with iCount sigxls", + "pattern": "*.{gtf}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@marc-jones", + "@chris-cheshire", + "@charlotteanne" + ] + } + }, + { + "name": "icountmini_sigxls", + "path": "modules/nf-core/icountmini/sigxls/meta.yml", + "type": "module", + "meta": { + "name": "icountmini_sigxls", + "description": "Runs iCount sigxls on a BED file of crosslinks", + "keywords": [ + "CLIP", + "iCLIP", + "bed", + "genomics" + ], + "tools": [ + { + "icount": { + "description": "Computational pipeline for analysis of iCLIP data", + "homepage": "https://github.com/ulelab/iCount-Mini", + "documentation": "https://github.com/ulelab/iCount-Mini", + "tool_dev_url": "https://github.com/ulelab/iCount-Mini", + "doi": "10.1038/nsmb.1838", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "BED file of crosslinks", + "pattern": "*.{bam,bam.gz}" + } + }, + { + "segmentation": { + "type": "file", + "description": "A iCount segmentation file", + "pattern": "*.{gtf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "peaks": { + "type": "file", + "description": "Crosslinks deemed significant by iCount", + "pattern": "*.{bed.gz}" + } + }, + { + "scores": { + "type": "file", + "description": "Crosslink scores calculated by iCount", + "pattern": "*.{tsv}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@marc-jones", + "@chris-cheshire", + "@charlotteanne" + ] + } + }, + { + "name": "icountmini_summary", + "path": "modules/nf-core/icountmini/summary/meta.yml", + "type": "module", + "meta": { + "name": "icountmini_summary", + "description": "Report proportion of cross-link events/sites on each region type.", + "keywords": [ + "iCLIP", + "gtf", + "genomics" + ], + "tools": [ + { + "icount": { + "description": "Computational pipeline for analysis of iCLIP data", + "homepage": "https://icount.readthedocs.io/en/latest/", + "documentation": "https://icount.readthedocs.io/en/latest/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "BED file of crosslinks" + } + }, + { + "segmentation": { + "type": "file", + "description": "A iCount segmentation file", + "pattern": "*.{gtf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "summary_type": { + "type": "file", + "description": "Summary type output stats file", + "pattern": "*summary_type.tsv" + } + }, + { + "summary_subtype": { + "type": "file", + "description": "Summary subtype output stats file", + "pattern": "*summary_subtype.tsv" + } + }, + { + "summary_gene": { + "type": "file", + "description": "Summary gene output stats file", + "pattern": "*summary_gene.tsv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@marc-jones", + "@chris-cheshire", + "@charlotteanne" + ] + } + }, + { + "name": "idr", + "path": "modules/nf-core/idr/meta.yml", + "type": "module", + "meta": { + "name": "idr", + "description": "Measures reproducibility of ChIP-seq, ATAC-seq peaks using IDR (Irreproducible\nDiscovery Rate)\n", + "keywords": [ + "IDR", + "peaks", + "ChIP-seq", + "ATAC-seq" + ], + "tools": [ + { + "idr": { + "description": "The IDR (Irreproducible Discovery Rate) framework is a unified approach\nto measure the reproducibility of findings identified from replicate\nexperiments and provide highly stable thresholds based on reproducibility.\n", + "tool_dev_url": "https://github.com/kundajelab/idr", + "licence": [ + "GPL v2" + ] + } + } + ], + "input": [ + { + "peaks": { + "type": "tuple of two files", + "description": "BED, narrowPeak or broadPeak files of replicates", + "pattern": "*" + } + }, + { + "peak_type": { + "type": "value", + "description": "Type of peak file", + "pattern": "{narrowPeak,broadPeak,bed}" + } + }, + { + "prefix": { + "type": "value", + "description": "Prefix for output files" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "idr": { + "type": "file", + "description": "Text file containing IDR values", + "pattern": "*.{txt}" + } + }, + { + "log": { + "type": "file", + "description": "Log file", + "pattern": "*.{txt}" + } + }, + { + "png": { + "type": "file", + "description": "Plot generated by idr", + "pattern": "*{.png}" + } + } + ], + "authors": [ + "@drpatelh", + "@joseespinosa" + ] + } + }, + { + "name": "igv_js", + "path": "modules/nf-core/igv/js/meta.yml", + "type": "module", + "meta": { + "name": "igv_js", + "description": "igv.js is an embeddable interactive genome visualization component", + "keywords": [ + "igv", + "igv.js", + "js", + "genome browser" + ], + "tools": [ + { + "igv": { + "description": "Create an embeddable interactive genome browser component.\nOutput files are expected to be present in the same directory as teh genome browser html file.\nTo visualise it, files have to be served. Check the documentation at:\n https://github.com/igvteam/igv-webapp for an example and\n https://github.com/igvteam/igv.js/wiki/Data-Server-Requirements for server requirements\n", + "homepage": "https://github.com/igvteam/igv.js", + "documentation": "https://github.com/igvteam/igv.js/wiki", + "tool_dev_url": "https://github.com/igvteam/igv.js", + "doi": "10.1093/bioinformatics/btac830", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "alignment": { + "type": "file", + "description": "Sorted BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "index": { + "type": "file", + "description": "Index of sorted BAM/CRAM file", + "pattern": "*.{bai,crai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "browser": { + "type": "file", + "description": "Genome browser HTML file", + "pattern": "*.{html}" + } + }, + { + "align_files": { + "type": "file", + "description": "Copy of the input sorted BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "index_files": { + "type": "file", + "description": "Copy of the input index of sorted BAM/CRAM file", + "pattern": "*.{bai,crai}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@mirpedrol" + ] + } + }, + { + "name": "ilastik_multicut", + "path": "modules/nf-core/ilastik/multicut/meta.yml", + "type": "module", + "meta": { + "name": "ilastik_multicut", + "description": "Ilastik is a tool that utilizes machine learning algorithms to classify pixels, segment, track and count cells in images. Ilastik contains a graphical user interface to interactively label pixels. However, this nextflow module will implement the --headless mode, to apply pixel classification using a pre-trained .ilp file on an input image.", + "keywords": [ + "multicut", + "segmentation", + "pixel classification" + ], + "tools": [ + { + "ilastik": { + "description": "Ilastik is a user friendly tool that enables pixel classification, segmentation and analysis.", + "homepage": "https://www.ilastik.org/", + "documentation": "https://www.ilastik.org/documentation/", + "tool_dev_url": "https://github.com/ilastik/ilastik", + "licence": "GPL3" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "h5": { + "type": "file", + "description": "h5 file containing image stack to classify file", + "pattern": "*.{h5,hdf5}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ilp": { + "type": "file", + "description": "Trained ilastik .ilp project file", + "pattern": "*.{ilp}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "probs": { + "type": "file", + "description": "Probability map for boundary based segmentation", + "pattern": "*.{h5,,hdf5}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "out_tiff": { + "type": "file", + "description": "Multicut segmentation mask output.", + "pattern": "*.{tiff}" + } + } + ], + "authors": [ + "@FloWuenne" + ] + } + }, + { + "name": "ilastik_pixelclassification", + "path": "modules/nf-core/ilastik/pixelclassification/meta.yml", + "type": "module", + "meta": { + "name": "ilastik_pixelclassification", + "description": "Ilastik is a tool that utilizes machine learning algorithms to classify pixels, segment, track and count cells in images. Ilastik contains a graphical user interface to interactively label pixels. However, this nextflow module will implement the --headless mode, to apply pixel classification using a pre-trained .ilp file on an input image.", + "keywords": [ + "pixel_classification", + "segmentation", + "probability_maps" + ], + "tools": [ + { + "ilastik": { + "description": "Ilastik is a user friendly tool that enables pixel classification, segmentation and analysis.", + "homepage": "https://www.ilastik.org/", + "documentation": "https://www.ilastik.org/documentation/", + "tool_dev_url": "https://github.com/ilastik/ilastik", + "licence": "GPL3" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information for h5 file\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_img": { + "type": "file", + "description": "Input img file containing image stack to classify" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information for ilp file\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ilp": { + "type": "file", + "description": "Trained ilastik pixel classification .ilp project file", + "pattern": "*.{ilp}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "file", + "description": "Output file from ilastik pixel classification." + } + } + ], + "authors": [ + "@FloWuenne" + ] + } + }, + { + "name": "instrain_compare", + "path": "modules/nf-core/instrain/compare/meta.yml", + "type": "module", + "meta": { + "name": "instrain_compare", + "description": "Strain-level comparisons across multiple inStrain profiles", + "keywords": [ + "instrain", + "compare", + "align", + "diversity", + "coverage" + ], + "tools": [ + { + "instrain": { + "description": "Calculation of strain-level metrics", + "homepage": "https://github.com/MrOlm/instrain", + "documentation": "https://instrain.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/MrOlm/instrain", + "doi": "10.1038/s41587-020-00797-0", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "profiles": { + "type": "directory", + "description": "InStrain profile folders", + "pattern": "*.IS/" + } + }, + { + "bams": { + "type": "file", + "description": "Path to .bam files that were profiled", + "pattern": "*.{bam,sam}" + } + }, + { + "stb_file": { + "type": "file", + "description": "Path to .stb (scaffold to bin) file that was profiled", + "pattern": "*.stb" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "compare": { + "type": "directory", + "description": "inStrain compare folders", + "pattern": "*.IS_compare/" + } + } + ], + "authors": [ + "@margotl9", + "@CarsonJM" + ] + } + }, + { + "name": "instrain_profile", + "path": "modules/nf-core/instrain/profile/meta.yml", + "type": "module", + "meta": { + "name": "instrain_profile", + "description": "inStrain is python program for analysis of co-occurring genome populations from metagenomes that allows highly accurate genome comparisons, analysis of coverage, microdiversity, and linkage, and sensitive SNP detection with gene localization and synonymous non-synonymous identification", + "keywords": [ + "instrain", + "metagenomics", + "population genomics", + "profile" + ], + "tools": [ + { + "instrain": { + "description": "Calculation of strain-level metrics", + "homepage": "https://github.com/MrOlm/instrain", + "documentation": "https://instrain.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/MrOlm/instrain", + "doi": "10.1038/s41587-020-00797-0", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test']" + } + }, + { + "bam": { + "type": "path", + "description": "Path to .bam file to be profiled", + "pattern": "*.{bam,sam}" + } + }, + { + "genome_fasta": { + "type": "path", + "description": "Path to .fasta file to be profiled; MUST be the .fasta file that was mapped to to create the .bam file", + "pattern": "*.{fasta,fna,fa}" + } + }, + { + "genes_fasta": { + "type": "path", + "description": "Path to .fna file of genes to be profiled (OPTIONAL)", + "pattern": "*.{fasta,fna,fa}" + } + }, + { + "stb_file": { + "type": "path", + "description": "Path to .stb (scaffold to bin) file to be profiled (OPTIONAL)", + "pattern": "*.stb" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "profile": { + "type": "path", + "description": "InStrain profile folder", + "pattern": "*.IS/" + } + } + ], + "authors": [ + "@mrolm" + ] + } + }, + { + "name": "interproscan", + "path": "modules/nf-core/interproscan/meta.yml", + "type": "module", + "meta": { + "name": "interproscan", + "description": "Produces protein annotations and predictions from a FASTA file", + "keywords": [ + "annotation", + "fasta", + "interproscan" + ], + "tools": [ + { + "interproscan": { + "description": "InterPro integrates together predictive information about proteins function from a number of partner resources", + "homepage": "https://www.ebi.ac.uk/interpro/search/sequence/", + "documentation": "https://interproscan-docs.readthedocs.io", + "tool_dev_url": "https://github.com/ebi-pf-team/interproscan", + "doi": "10.1093/bioinformatics/btu031", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input fasta file containing query sequences", + "pattern": "*.{fa,fasta}" + } + }, + { + "out_ext": { + "type": "string", + "description": "Specify the type of output file to be generated", + "pattern": "tsv|xml|gff3|json" + } + } + ], + "output": [ + { + "tsv": { + "type": "file", + "description": "Tab separated file containing with detailed hits", + "pattern": "*.{tsv}" + } + }, + { + "xml": { + "type": "file", + "description": "XML file containing with detailed hits", + "pattern": "*.{xml}" + } + }, + { + "gff3": { + "type": "file", + "description": "GFF3 file containing with detailed hits", + "pattern": "*.{gff3}" + } + }, + { + "json": { + "type": "file", + "description": "JSON file containing with detailed hits", + "pattern": "*.{json}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@toniher" + ] + } + }, + { + "name": "iphop_download", + "path": "modules/nf-core/iphop/download/meta.yml", + "type": "module", + "meta": { + "name": "iphop_download", + "description": "Download, extract, and check md5 of iPHoP databases", + "keywords": [ + "metagenomics", + "iphop", + "database", + "download", + "phage", + "bacteria", + "host" + ], + "tools": [ + { + "iphop": { + "description": "Predict host genus from genomes of uncultivated phages.", + "homepage": "https://bitbucket.org/srouxjgi/iphop/src/main/", + "documentation": "https://bitbucket.org/srouxjgi/iphop/src/main/", + "tool_dev_url": "https://bitbucket.org/srouxjgi/iphop/src/main/", + "doi": "10.1371/journal.pbio.3002083", + "licence": "['Modified GPL v3']" + } + } + ], + "output": [ + { + "iphop_db": { + "type": "directory", + "description": "Directory containing downloaded and md5 checked iPHoP database", + "pattern": "iphop_db/" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@CarsonJM" + ] + } + }, + { + "name": "iphop_predict", + "path": "modules/nf-core/iphop/predict/meta.yml", + "type": "module", + "meta": { + "name": "iphop_predict", + "description": "Predict phage host using iPHoP", + "keywords": [ + "metagenomics", + "iphop", + "database", + "download", + "phage", + "bacteria", + "host" + ], + "tools": [ + { + "iphop": { + "description": "Predict host genus from genomes of uncultivated phages.", + "homepage": "https://bitbucket.org/srouxjgi/iphop/src/main/", + "documentation": "https://bitbucket.org/srouxjgi/iphop/src/main/", + "tool_dev_url": "https://bitbucket.org/srouxjgi/iphop/src/main/", + "doi": "10.1371/journal.pbio.3002083", + "licence": "['Modified GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file containing phage contigs/scaffolds/chromosomes", + "pattern": "*.{fasta,fna,fa}" + } + }, + { + "iphop_db": { + "type": "directory", + "description": "Directory pointing to iPHoP database" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "iphop_genus": { + "type": "file", + "description": "File containing integrated host predictions at genus level, with a minimum score defined by the `--min_score` argument", + "pattern": "Host_prediction_to_genus_m*.csv" + } + }, + { + "iphop_genome": { + "type": "file", + "description": "File containing integrated host predictions at host genome level, with a minimum score defined by the `--min_score` argument", + "pattern": "Host_prediction_to_genome_m*.csv" + } + }, + { + "iphop_detailed_output": { + "type": "file", + "description": "File containing each phage's top 5 hits via each method", + "pattern": "Detailed_output_by_tool.csv" + } + } + ], + "authors": [ + "@CarsonJM" + ] + } + }, + { + "name": "iqtree", + "path": "modules/nf-core/iqtree/meta.yml", + "type": "module", + "meta": { + "name": "iqtree", + "description": "Produces a Newick format phylogeny from a multiple sequence alignment using the maxium likelihood algorithm. Capable of bacterial genome size alignments.", + "keywords": [ + "phylogeny", + "newick", + "maximum likelihood" + ], + "tools": [ + { + "iqtree": { + "description": "Efficient phylogenomic software by maximum likelihood.", + "homepage": "http://www.iqtree.org", + "documentation": "http://www.iqtree.org/doc", + "tool_dev_url": "https://github.com/iqtree/iqtree2", + "doi": "10.1093/molbev/msaa015", + "licence": [ + "GPL v2-or-later" + ] + } + } + ], + "input": [ + { + "alignment": { + "type": "file", + "description": "A FASTA format multiple sequence alignment file", + "pattern": "*.{fasta,fas,fa,mfa}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "phylogeny": { + "type": "file", + "description": "A phylogeny in Newick format", + "pattern": "*.{treefile}" + } + } + ], + "authors": [ + "@avantonder", + "@aunderwo" + ] + } + }, + { + "name": "islandpath", + "path": "modules/nf-core/islandpath/meta.yml", + "type": "module", + "meta": { + "name": "islandpath", + "description": "Genomic island prediction in bacterial and archaeal genomes", + "keywords": [ + "genomes", + "genomic islands", + "prediction" + ], + "tools": [ + { + "islandpath": { + "description": "IslandPath-DIMOB is a standalone software to predict genomic islands (GIs - clusters of genes in prokaryotic genomes of probable horizontal origin) in bacterial and archaeal genomes based on the presence of dinucleotide biases and mobility genes.", + "homepage": "https://github.com/brinkmanlab/islandpath", + "documentation": "https://github.com/brinkmanlab/islandpath#readme", + "tool_dev_url": "https://github.com/brinkmanlab/islandpath", + "doi": "10.1093/bioinformatics/bty095", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "genome": { + "type": "file", + "description": "Genome file in .gbk or .embl format.\npattern: \"*.{gbk, embl, gbff}\"\n" + } + } + ], + "output": [ + { + "gff": { + "type": "file", + "description": "GFF file listing the predicted genomic islands and their coordinates", + "pattern": "*.gff" + } + }, + { + "log": { + "type": "file", + "description": "Log file of the islandpath run", + "pattern": "*.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@jvfe" + ] + } + }, + { + "name": "ismapper", + "path": "modules/nf-core/ismapper/meta.yml", + "type": "module", + "meta": { + "name": "ismapper", + "description": "Identify insertion sites positions in bacterial genomes", + "keywords": [ + "fastq", + "insertion sequences" + ], + "tools": [ + { + "ismapper": { + "description": "A mapping-based tool for identification of the site and orientation of IS insertions in bacterial genomes.", + "homepage": "https://github.com/jhawkey/IS_mapper", + "documentation": "https://github.com/jhawkey/IS_mapper", + "tool_dev_url": "https://github.com/jhawkey/IS_mapper", + "doi": "10.1186/s12864-015-1860-2", + "licence": [ + "BSD-3-Clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "A set of paired-end FASTQ files", + "pattern": "*.{fastq.gz,fq.gz}" + } + }, + { + "reference": { + "type": "file", + "description": "Reference genome in GenBank format", + "pattern": "*.{gbk}" + } + }, + { + "query": { + "type": "file", + "description": "Insertion sequences to query in FASTA format", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "results": { + "type": "directory", + "description": "Directory containing ISMapper result files", + "pattern": "*/*" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "isoseq3_cluster", + "path": "modules/nf-core/isoseq3/cluster/meta.yml", + "type": "module", + "meta": { + "name": "isoseq3_cluster", + "description": "IsoSeq3 - Cluster - Cluster trimmed consensus sequences", + "keywords": [ + "cluster" + ], + "tools": [ + { + "isoseq3": { + "description": "IsoSeq3 - Cluster - Cluster trimmed consensus sequences", + "homepage": "https://github.com/PacificBiosciences/IsoSeq/blob/master/isoseq-clustering.md", + "documentation": "https://github.com/PacificBiosciences/IsoSeq/blob/master/isoseq-clustering.md", + "tool_dev_url": "https://github.com/PacificBiosciences/IsoSeq/blob/master/isoseq-clustering.md", + "licence": [ + "BSD-3-Clause-Clear" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file generated by isoseq3 refine", + "pattern": "*.bam" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "version": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file of clustered consensus", + "pattern": "*.transcripts.bam" + } + }, + { + "pbi": { + "type": "file", + "description": "Pacbio Index of consensus reads generated by clustering", + "pattern": "*.transcripts.bam.pbi" + } + }, + { + "cluster": { + "type": "file", + "description": "A two columns (from, to) file describing original read name to new read name", + "pattern": "*.transcripts.cluster" + } + }, + { + "cluster_report": { + "type": "file", + "description": "A table files clusters (transcripts) members (read)", + "pattern": "*.transcripts.cluster_report.csv" + } + }, + { + "transcriptset": { + "type": "file", + "description": "A metadata xml file which contains full paths to data files", + "pattern": "*.transcripts.transcriptset.xml" + } + }, + { + "hq_bam": { + "type": "file", + "description": "High quality reads (when --use-qvs is set)", + "pattern": "*.transcripts.hq.bam" + } + }, + { + "hq_pbi": { + "type": "file", + "description": "Pacbio index of high quality reads (when --use-qvs is set)", + "pattern": "*.transcripts.hq.bam.pbi" + } + }, + { + "lq_bam": { + "type": "file", + "description": "Low quality reads (when --use-qvs is set)", + "pattern": "*.transcripts.lq.bam" + } + }, + { + "lq_pbi": { + "type": "file", + "description": "Pacbio index of low quality reads (when --use-qvs is set)", + "pattern": "*.transcripts.lq.bam.pbi" + } + }, + { + "singletons_bam": { + "type": "file", + "description": "Unclustered reads (when --singletons is set)", + "pattern": "*.transcripts.singletons.bam" + } + }, + { + "singletons_pbi": { + "type": "file", + "description": "Pacbio index of unclustered reads (when --singletons is set)", + "pattern": "*.transcripts.singletons.bam.pbi" + } + } + ], + "authors": [ + "@sguizard" + ] + } + }, + { + "name": "isoseq3_refine", + "path": "modules/nf-core/isoseq3/refine/meta.yml", + "type": "module", + "meta": { + "name": "isoseq3_refine", + "description": "Remove polyA tail and artificial concatemers", + "keywords": [ + "isoseq", + "refine", + "ccs", + "pacbio", + "polyA_tail" + ], + "tools": [ + { + "isoseq3": { + "description": "IsoSeq3 - Scalable De Novo Isoform Discovery", + "homepage": "https://github.com/PacificBiosciences/IsoSeq/blob/master/isoseq-clustering.md", + "documentation": "https://github.com/PacificBiosciences/IsoSeq/blob/master/isoseq-clustering.md", + "tool_dev_url": "https://github.com/PacificBiosciences/IsoSeq/blob/master/isoseq-clustering.md", + "licence": [ + "BSD-3-Clause-Clear" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file, cleaned ccs generated by lima", + "pattern": "*.bam" + } + }, + { + "primers": { + "type": "file", + "description": "fasta file of primers", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Set of complete reads (with polyA tail), where the polyA has been trimmed", + "pattern": "*.bam" + } + }, + { + "pbi": { + "type": "file", + "description": "Pacbio index file from polyA trimmed reads", + "pattern": "*.pbi" + } + }, + { + "consensusreadset": { + "type": "file", + "description": "Metadata about read library", + "pattern": "*.xml" + } + }, + { + "summary": { + "type": "file", + "description": "json file describing number of full length reads, full length non chimeric reads and full length non chimeric polyA reads", + "pattern": "*.json" + } + }, + { + "report": { + "type": "file", + "description": "Metadata about primer and polyA detection (primers/polyA/insert length, strand, primer name)", + "pattern": "*.csv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sguizard" + ] + }, + "pipelines": [ + { + "name": "isoseq", + "version": "1.1.4" + } + ] + }, + { + "name": "ivar_consensus", + "path": "modules/nf-core/ivar/consensus/meta.yml", + "type": "module", + "meta": { + "name": "ivar_consensus", + "description": "Generate a consensus sequence from a BAM file using iVar", + "keywords": [ + "amplicon sequencing", + "consensus", + "fasta" + ], + "tools": [ + { + "ivar": { + "description": "iVar - a computational package that contains functions broadly useful for viral amplicon-based sequencing.\n", + "homepage": "https://github.com/andersen-lab/ivar", + "documentation": "https://andersen-lab.github.io/ivar/html/manualpage.html", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "A sorted (with samtools sort) and trimmed (with iVar trim) bam file", + "pattern": "*.bam" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference sequence used for mapping and generating the BAM file", + "pattern": "*.fa" + } + }, + { + "save_mpileup": { + "type": "boolean", + "description": "Save mpileup file generated by ivar consensus", + "patter": "*.mpileup" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "iVar generated consensus sequence", + "pattern": "*.fa" + } + }, + { + "qual": { + "type": "file", + "description": "iVar generated quality file", + "pattern": "*.qual.txt" + } + }, + { + "mpileup": { + "type": "file", + "description": "mpileup output from samtools mpileup [OPTIONAL]", + "pattern": "*.mpileup" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@andersgs", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "ivar_trim", + "path": "modules/nf-core/ivar/trim/meta.yml", + "type": "module", + "meta": { + "name": "ivar_trim", + "description": "Trim primer sequences rom a BAM file with iVar", + "keywords": [ + "amplicon sequencing", + "trimming", + "fasta" + ], + "tools": [ + { + "ivar": { + "description": "iVar - a computational package that contains functions broadly useful for viral amplicon-based sequencing.\n", + "homepage": "https://github.com/andersen-lab/ivar", + "documentation": "https://andersen-lab.github.io/ivar/html/manualpage.html", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Co-ordinate sorted BAM file", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "Index file for co-ordinate sorted BAM file", + "pattern": "*.bai" + } + }, + { + "bed": { + "type": "file", + "description": "BED file with primer labels and positions", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "iVar generated trimmed bam file (unsorted)", + "pattern": "*.bam" + } + }, + { + "log": { + "type": "file", + "description": "Log file generated by iVar for use with MultiQC", + "pattern": "*.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@andersgs", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "ivar_variants", + "path": "modules/nf-core/ivar/variants/meta.yml", + "type": "module", + "meta": { + "name": "ivar_variants", + "description": "Call variants from a BAM file using iVar", + "keywords": [ + "amplicon sequencing", + "variants", + "fasta" + ], + "tools": [ + { + "ivar": { + "description": "iVar - a computational package that contains functions broadly useful for viral amplicon-based sequencing.\n", + "homepage": "https://github.com/andersen-lab/ivar", + "documentation": "https://andersen-lab.github.io/ivar/html/manualpage.html", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "A sorted (with samtools sort) and trimmed (with iVar trim) bam file", + "pattern": "*.bam" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference sequence used for mapping and generating the BAM file", + "pattern": "*.fa" + } + }, + { + "fai": { + "type": "file", + "description": "The index for the reference sequence used for mapping and generating the BAM file", + "pattern": "*.fai" + } + }, + { + "gff": { + "type": "file", + "description": "A GFF file in the GFF3 format can be supplied to specify coordinates of open reading frames (ORFs). In absence of GFF file, amino acid translation will not be done.", + "patter": "*.gff" + } + }, + { + "save_mpileup": { + "type": "boolean", + "description": "Save mpileup file generated by ivar variants", + "patter": "*.mpileup" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tsv": { + "type": "file", + "description": "iVar generated TSV file with the variants", + "pattern": "*.tsv" + } + }, + { + "mpileup": { + "type": "file", + "description": "mpileup output from samtools mpileup [OPTIONAL]", + "pattern": "*.mpileup" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@andersgs", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "jasminesv", + "path": "modules/nf-core/jasminesv/meta.yml", + "type": "module", + "meta": { + "name": "jasminesv", + "description": "Jointly Accurate Sv Merging with Intersample Network Edges", + "keywords": [ + "jasminesv", + "jasmine", + "structural variants", + "vcf", + "bam" + ], + "tools": [ + { + "jasminesv": { + "description": "Software for merging structural variants between individuals", + "homepage": "https://github.com/mkirsche/Jasmine/wiki/Jasmine-User-Manual", + "documentation": "https://github.com/mkirsche/Jasmine/wiki/Jasmine-User-Manual", + "tool_dev_url": "https://github.com/mkirsche/Jasmine", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcfs": { + "type": "files", + "description": "The VCF files that need to be merged\n", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "bams": { + "type": "files", + "description": "Optional - The BAM files from which the VCFs were created", + "pattern": "*.bam" + } + }, + { + "sample_dists": { + "type": "file", + "description": "Optional - A txt file containing the distance thresholds for each sample", + "pattern": "*.txt" + } + }, + { + "fasta": { + "type": "file", + "description": "Optional - The reference FASTA file used to create the VCFs", + "pattern": "*.{fasta,fa}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "Optional - The index of the reference FASTA file used to create the VCFs", + "pattern": "*.fai" + } + }, + { + "chr_norm": { + "type": "file", + "description": "Optional - A txt file containing the chromosomes and their aliases for normalization", + "pattern": "*.txt" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "The merged VCF file", + "pattern": "*.vcf.gz" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "jupyternotebook", + "path": "modules/nf-core/jupyternotebook/meta.yml", + "type": "module", + "meta": { + "name": "jupyternotebook", + "description": "Render jupyter (or jupytext) notebooks to HTML reports. Supports parametrization\nthrough papermill.\n", + "keywords": [ + "Python", + "Jupyter", + "jupytext", + "papermill", + "notebook", + "reports" + ], + "tools": [ + { + "jupytext": { + "description": "Jupyter notebooks as plain text scripts or markdown documents", + "homepage": "https://github.com/mwouts/jupytext/", + "documentation": "https://jupyter.org/documentation", + "tool_dev_url": "https://github.com/mwouts/jupytext/", + "licence": "MIT" + } + }, + { + "papermill": { + "description": "Parameterize, execute, and analyze notebooks", + "homepage": "https://github.com/nteract/papermill", + "documentation": "http://papermill.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/nteract/papermill", + "licence": "BSD 3-clause" + } + }, + { + "nbconvert": { + "description": "Parameterize, execute, and analyze notebooks", + "homepage": "https://nbconvert.readthedocs.io/en/latest/", + "documentation": "https://nbconvert.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/jupyter/nbconvert", + "licence": "BSD 3-clause" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "notebook": { + "type": "file", + "description": "Jupyter notebook or jupytext representation thereof", + "pattern": "*.{ipynb,py,md,Rmd,myst}" + } + }, + { + "parameters": { + "type": "map", + "description": "Groovy map with notebook parameters which will be passed\nto papermill in order to create parametrized reports.\n" + } + }, + { + "input_files": { + "type": "file", + "description": "One or multiple files serving as input data for the notebook.", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "report": { + "type": "file", + "description": "HTML report generated from Jupyter notebook", + "pattern": "*.html" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@grst" + ] + } + }, + { + "name": "kaiju_kaiju", + "path": "modules/nf-core/kaiju/kaiju/meta.yml", + "type": "module", + "meta": { + "name": "kaiju_kaiju", + "description": "Taxonomic classification of metagenomic sequence data using a protein reference database", + "keywords": [ + "classify", + "metagenomics", + "fastq", + "taxonomic profiling" + ], + "tools": [ + { + "kaiju": { + "description": "Fast and sensitive taxonomic classification for metagenomics", + "homepage": "https://kaiju.binf.ku.dk/", + "documentation": "https://github.com/bioinformatics-centre/kaiju/blob/master/README.md", + "tool_dev_url": "https://github.com/bioinformatics-centre/kaiju", + "doi": "10.1038/ncomms11257", + "licence": [ + "GNU GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input fastq/fasta files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n", + "pattern": "*.{fastq,fq,fasta,fa,fsa,fas,fna,fastq.gz,fq.gz,fasta.gz,fa.gz,fsa.gz,fas.gz,fna.gz}" + } + }, + { + "db": { + "type": "files", + "description": "List containing the database and nodes files for Kaiju\ne.g. [ 'database.fmi', 'nodes.dmp' ]\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "results": { + "type": "file", + "description": "Results with taxonomic classification of each read", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@talnor", + "@sofstam", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "kaiju_kaiju2krona", + "path": "modules/nf-core/kaiju/kaiju2krona/meta.yml", + "type": "module", + "meta": { + "name": "kaiju_kaiju2krona", + "description": "Convert Kaiju's tab-separated output file into a tab-separated text file which can be imported into Krona.", + "keywords": [ + "taxonomy", + "visualisation", + "krona chart", + "metagenomics" + ], + "tools": [ + { + "kaiju": { + "description": "Fast and sensitive taxonomic classification for metagenomics", + "homepage": "https://kaiju.binf.ku.dk/", + "documentation": "https://github.com/bioinformatics-centre/kaiju/blob/master/README.md", + "tool_dev_url": "https://github.com/bioinformatics-centre/kaiju", + "doi": "10.1038/ncomms11257", + "licence": [ + "GNU GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tsv": { + "type": "file", + "description": "Kaiju tab-separated output file", + "pattern": "*.{tsv,txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "Krona text-based input file converted from Kaiju report", + "pattern": "*.{txt,krona}" + } + } + ], + "authors": [ + "@MillironX" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "kaiju_kaiju2table", + "path": "modules/nf-core/kaiju/kaiju2table/meta.yml", + "type": "module", + "meta": { + "name": "kaiju_kaiju2table", + "description": "write your description here", + "keywords": [ + "classify", + "metagenomics" + ], + "tools": [ + { + "kaiju": { + "description": "Fast and sensitive taxonomic classification for metagenomics", + "homepage": "https://kaiju.binf.ku.dk/", + "documentation": "https://github.com/bioinformatics-centre/kaiju/blob/master/README.md", + "tool_dev_url": "https://github.com/bioinformatics-centre/kaiju", + "doi": "10.1038/ncomms11257", + "licence": [ + "GNU GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "results": { + "type": "file", + "description": "File containing the kaiju classification results", + "pattern": "*.{txt}" + } + }, + { + "taxon_rank": { + "type": "string", + "description": "Taxonomic rank to display in report\npattern: \"phylum|class|order|family|genus|species\"\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "results": { + "type": "file", + "description": "Summary table for a given taxonomic rank\n", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@sofstam", + "@talnor", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "kallisto_index", + "path": "modules/nf-core/kallisto/index/meta.yml", + "type": "module", + "meta": { + "name": "kallisto_index", + "description": "Create kallisto index", + "keywords": [ + "index" + ], + "tools": [ + { + "kallisto": { + "description": "Quantifying abundances of transcripts from bulk and single-cell RNA-Seq data, or more generally of target sequences using high-throughput sequencing reads.", + "homepage": "https://pachterlab.github.io/kallisto/", + "documentation": "https://pachterlab.github.io/kallisto/manual", + "tool_dev_url": "https://github.com/pachterlab/kallisto", + "licence": [ + "BSD-2-Clause" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "genome fasta file", + "pattern": "*.{fasta}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "idx": { + "type": "index", + "description": "Kallisto genome index", + "pattern": "*.idx" + } + } + ], + "authors": [ + "@ggabernet" + ] + }, + "pipelines": [ + { + "name": "rnafusion", + "version": "2.3.4" + } + ] + }, + { + "name": "kallisto_quant", + "path": "modules/nf-core/kallisto/quant/meta.yml", + "type": "module", + "meta": { + "name": "kallisto_quant", + "description": "Computes equivalence classes for reads and quantifies abundances", + "keywords": [ + "quant", + "kallisto" + ], + "tools": [ + { + "kallisto": { + "description": "Quantifying abundances of transcripts from RNA-Seq data, or more generally of target sequences using high-throughput sequencing reads.", + "homepage": "https://pachterlab.github.io/kallisto/", + "documentation": "https://pachterlab.github.io/kallisto/manual", + "tool_dev_url": "https://github.com/pachterlab/kallisto", + "doi": "10.1038/nbt.3519", + "licence": "['BSD_2_clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n", + "pattern": "*.{fastq,fastq.gz}" + } + }, + { + "index": { + "type": "index", + "description": "Kallisto genome index.", + "pattern": "*.idx" + } + }, + { + "gtf": { + "type": "file", + "description": "Optional gtf file for translation of transcripts into genomic coordinates.", + "pattern": "*.gtf" + } + }, + { + "chromosomes": { + "type": "file", + "description": "Optional tab separated file with chromosome names and lengths.", + "pattern": "*.tsv" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "log": { + "type": "file", + "description": "File containing log information from running kallisto quant", + "pattern": "*.log.txt" + } + }, + { + "abundance": { + "type": "file", + "description": "Plaintext file of the abundance estimates", + "pattern": "abundance.tsv" + } + }, + { + "abundance_hdf5": { + "type": "file", + "description": "A HDF5 binary file containing run info, abundance estimates, bootstrap\nestimates, and transcript length information\n", + "pattern": "abundance.h5" + } + }, + { + "run_info": { + "type": "file", + "description": "A json file containing information about the run", + "pattern": "run_info.json" + } + } + ], + "authors": [ + "@anoronh4" + ] + } + }, + { + "name": "kallistobustools_count", + "path": "modules/nf-core/kallistobustools/count/meta.yml", + "type": "module", + "meta": { + "name": "kallistobustools_count", + "description": "quantifies scRNA-seq data from fastq files using kb-python.", + "keywords": [ + "scRNA-seq", + "count", + "single-cell", + "kallisto", + "bustools" + ], + "tools": [ + { + "kb": { + "description": "kallisto and bustools are wrapped in an easy-to-use program called kb", + "homepage": "https://www.kallistobus.tools/", + "documentation": "https://kb-python.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/pachterlab/kb_python", + "licence": "MIT License" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "index": { + "type": "file", + "description": "kb-ref index file (.idx)", + "pattern": "*.{idx}" + } + }, + { + "t2g": { + "type": "file", + "description": "t2g file from kallisto", + "pattern": "*t2g.txt" + } + }, + { + "t1c": { + "type": "file", + "description": "kb ref's c1 spliced_t2c file", + "pattern": "*.{cdna_t2c.txt}" + } + }, + { + "t2c": { + "type": "file", + "description": "kb ref's c2 unspliced_t2c file", + "pattern": "*.{introns_t2c.txt}" + } + }, + { + "workflow_mode": { + "type": "string", + "description": "String value defining workflow to use, can be one of \"standard\", \"lamanno\", \"nucleus\"", + "pattern": "{standard,lamanno,nucleus,kite}" + } + }, + { + "technology": { + "type": "string", + "description": "String value defining the sequencing technology used.", + "pattern": "{10XV1,10XV2,10XV3,CELSEQ,CELSEQ2,DROPSEQ,INDROPSV1,INDROPSV2,INDROPSV3,SCRUBSEQ,SURECELL,SMARTSEQ}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "count": { + "type": "file", + "description": "kb count output folder", + "pattern": "*.{count}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@flowuenne" + ] + }, + "pipelines": [ + { + "name": "scrnaseq", + "version": "2.3.2" + } + ] + }, + { + "name": "kallistobustools_ref", + "path": "modules/nf-core/kallistobustools/ref/meta.yml", + "type": "module", + "meta": { + "name": "kallistobustools_ref", + "description": "index creation for kb count quantification of single-cell data.", + "keywords": [ + "kallisto-bustools", + "index" + ], + "tools": [ + { + "kb": { + "description": "kallisto|bustools (kb) is a tool developed for fast and efficient processing of single-cell OMICS data.", + "homepage": "https://www.kallistobus.tools/", + "documentation": "https://kb-python.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/pachterlab/kb_python", + "doi": "10.22002/D1.1876", + "licence": "MIT License" + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Genomic DNA fasta file", + "pattern": "*.{fasta,fasta.gz}" + } + }, + { + "gtf": { + "type": "file", + "description": "Genomic gtf file", + "pattern": "*.{gtf,gtf.gz}" + } + }, + { + "workflow_mode": { + "type": "value", + "description": "String value defining workflow to use, can be one of \"standard\", \"lamanno\", \"nucleus\"", + "pattern": "{standard,lamanno,nucleus}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "kb_ref_idx": { + "type": "file", + "description": "Index file from kb ref.", + "pattern": "*.{idx}" + } + }, + { + "t2g": { + "type": "file", + "description": "Transcript to gene table", + "pattern": "*t2g.{txt}" + } + }, + { + "cdna": { + "type": "file", + "description": "Cdna fasta file", + "pattern": "*cdna.{fa}" + } + }, + { + "intron": { + "type": "file", + "description": "intron fasta file", + "pattern": "*intron.{fa}" + } + }, + { + "cdna_t2c": { + "type": "file", + "description": "cdna transcript to capture file", + "pattern": "*cdna_t2c.{txt}" + } + }, + { + "intron_t2c": { + "type": "file", + "description": "intron transcript to capture file", + "pattern": "*intron_t2c.{txt}" + } + } + ], + "authors": [ + "@flowuenne" + ] + }, + "pipelines": [ + { + "name": "scrnaseq", + "version": "2.3.2" + } + ] + }, + { + "name": "kat_hist", + "path": "modules/nf-core/kat/hist/meta.yml", + "type": "module", + "meta": { + "name": "kat_hist", + "description": "Creates a histogram of the number of distinct k-mers having a given frequency.", + "keywords": [ + "k-mer", + "histogram", + "count" + ], + "tools": [ + { + "kat": { + "description": "KAT is a suite of tools that analyse jellyfish hashes or sequence files (fasta or fastq) using kmer counts", + "homepage": "https://www.earlham.ac.uk/kat-tools", + "documentation": "https://kat.readthedocs.io/en/latest/index.html", + "tool_dev_url": "https://github.com/TGAC/KAT", + "doi": "10.1093/bioinformatics/btw663", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "hist": { + "type": "file", + "description": "KAT histogram of k-mer counts", + "pattern": "*.hist" + } + }, + { + "json": { + "type": "file", + "description": "KAT histogram summary of distance analysis", + "pattern": "*.hist.dist_analysis.json" + } + }, + { + "png": { + "type": "file", + "description": "KAT plot of k-mer histogram in PNG format", + "pattern": "*.png" + } + }, + { + "ps": { + "type": "file", + "description": "KAT plot of k-mer histogram in PS format", + "pattern": "*.ps" + } + }, + { + "pdf": { + "type": "file", + "description": "KAT plot of k-mer histogram in PDF format", + "pattern": "*.pdf" + } + }, + { + "jellyfish_hash": { + "type": "file", + "description": "Jellyfish hash file", + "pattern": "*-hist.jf*" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + } + }, + { + "name": "khmer_normalizebymedian", + "path": "modules/nf-core/khmer/normalizebymedian/meta.yml", + "type": "module", + "meta": { + "name": "khmer_normalizebymedian", + "description": "Module that calls normalize-by-median.py from khmer. The module can take a mix of paired end (interleaved) and single end reads. If both types are provided, only a single file with single ends is possible.", + "keywords": [ + "digital normalization", + "khmer" + ], + "tools": [ + { + "khmer": { + "description": "khmer k-mer counting library", + "homepage": "https://github.com/dib-lab/khmer", + "documentation": "https://khmer.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/dib-lab/khmer", + "doi": "10.12688/f1000research.6924.1", + "licence": [ + "BSD License" + ] + } + } + ], + "input": [ + { + "pe_reads": { + "type": "files", + "description": "Paired-end interleaved fastq files", + "pattern": "*.{fq,fastq}.gz" + } + }, + { + "se_reads": { + "type": "files", + "description": "Single-end fastq files", + "pattern": "*.{fq,fastq}.gz" + } + }, + { + "name": { + "type": "string", + "description": "filename for output file(s); \".fastq.gz\" will be appended" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "reads": { + "type": "file", + "description": "Interleaved fastq files", + "pattern": "*.{fq,fastq}.gz" + } + } + ], + "authors": [ + "@erikrikarddaniel" + ] + } + }, + { + "name": "khmer_uniquekmers", + "path": "modules/nf-core/khmer/uniquekmers/meta.yml", + "type": "module", + "meta": { + "name": "khmer_uniquekmers", + "description": "In-memory nucleotide sequence k-mer counting, filtering, graph traversal and more", + "keywords": [ + "khmer", + "k-mer", + "effective genome size" + ], + "tools": [ + { + "khmer": { + "description": "khmer k-mer counting library", + "homepage": "https://github.com/dib-lab/khmer", + "documentation": "https://khmer.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/dib-lab/khmer", + "doi": "10.12688/f1000research.6924.1", + "licence": [ + "BSD License" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "fasta file", + "pattern": "*.{fa,fasta}" + } + }, + { + "kmer_size": { + "type": "value", + "description": "k-mer size to use", + "pattern": "[0-9]+" + } + } + ], + "output": [ + { + "report": { + "type": "file", + "description": "Text file containing unique-kmers.py execution report", + "pattern": "report.txt" + } + }, + { + "kmers": { + "type": "file", + "description": "Text file containing number of kmers", + "pattern": "kmers.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@JoseEspinosa" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + } + ] + }, + { + "name": "kleborate", + "path": "modules/nf-core/kleborate/meta.yml", + "type": "module", + "meta": { + "name": "kleborate", + "description": "Kleborate is a tool to screen genome assemblies of Klebsiella pneumoniae and the Klebsiella pneumoniae species complex (KpSC).", + "keywords": [ + "screening assemblies", + "Klebsiella pneumoniae" + ], + "tools": [ + { + "kleborate": { + "description": "Screening Klebsiella genome assemblies for MLST, sub-species, and other Klebsiella related genes of interest", + "homepage": "https://github.com/katholt/Kleborate", + "documentation": "https://github.com/katholt/Kleborate/wiki", + "tool_dev_url": "https://github.com/katholt/Kleborate", + "doi": "10.1038/s41467-021-24448-3", + "licence": [ + "GPL v3 or later (GPL v3+)" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastas": { + "type": "files", + "description": "Klebsiella genome assemblies to be screened", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "Result file generated after screening", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@abhi18av", + "@rpetit3" + ] + } + }, + { + "name": "kmcp_compute", + "path": "modules/nf-core/kmcp/compute/meta.yml", + "type": "module", + "meta": { + "name": "kmcp_compute", + "description": "Generate k-mers (sketches) from FASTA/Q sequences", + "keywords": [ + "metagenomics", + "classify", + "taxonomic profiling", + "fastq", + "sequences", + "kmers" + ], + "tools": [ + { + "kmcp": { + "description": "Accurate metagenomic profiling of both prokaryotic and viral populations by pseudo-mapping", + "homepage": "https://github.com/shenwei356/kmcp", + "documentation": "https://github.com/shenwei356/kmcp#documents", + "tool_dev_url": "https://github.com/shenwei356/kmcp", + "doi": "10.1093/bioinformatics/btac845", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sequences": { + "type": "file", + "description": "fasta file, or a directory containing FASTA files", + "pattern": "**/*.{fa,fa.gz,fasta,fasta.gz,fna,fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "outdir": { + "type": "directory", + "description": "Output directory containing all .unik files and a summary file in .txt format. Every .unik file contains the sequence/reference ID,chunk index, number of chunks, and genome size of reference.", + "pattern": "*/" + } + }, + { + "info": { + "type": "file", + "description": "Summary file that is generated for later use", + "pattern": "*_info.txt" + } + } + ], + "authors": [ + "@sofstam" + ] + } + }, + { + "name": "kmcp_index", + "path": "modules/nf-core/kmcp/index/meta.yml", + "type": "module", + "meta": { + "name": "kmcp_index", + "description": "Construct KMCP database from k-mer files", + "keywords": [ + "metagenomics", + "classify", + "taxonomic profiling", + "fastq", + "sequences", + "kmers", + "index" + ], + "tools": [ + { + "kmcp": { + "description": "Accurate metagenomic profiling of both prokaryotic and viral populations by pseudo-mapping", + "homepage": "https://github.com/shenwei356/kmcp", + "documentation": "https://github.com/shenwei356/kmcp#documents", + "tool_dev_url": "https://github.com/shenwei356/kmcp", + "doi": "10.1093/bioinformatics/btac845", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "outdir": { + "type": "directory", + "description": "Output directory generated by \"kmcp compute\"", + "pattern": "*/" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "kmcp": { + "type": "directory", + "description": "Output directory containing the database from k-mer files.", + "pattern": "*/" + } + }, + { + "log": { + "type": "file", + "description": "A log of kmcp/index output", + "pattern": "*.log" + } + } + ], + "authors": [ + "@sofstam" + ] + } + }, + { + "name": "kmcp_merge", + "path": "modules/nf-core/kmcp/merge/meta.yml", + "type": "module", + "meta": { + "name": "kmcp_merge", + "description": "Merge search results from multiple databases.", + "keywords": [ + "metagenomics", + "classify", + "taxonomic profiling", + "fastq", + "sequences", + "kmers" + ], + "tools": [ + { + "kmcp": { + "description": "Accurate metagenomic profiling of both prokaryotic and viral populations by pseudo-mapping", + "homepage": "https://github.com/shenwei356/kmcp", + "documentation": "https://github.com/shenwei356/kmcp#documents", + "tool_dev_url": "https://github.com/shenwei356/kmcp", + "doi": "10.1093/bioinformatics/btac845", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "search_out": { + "type": "file", + "description": "The output file created by kmcp search", + "pattern": "*.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "result": { + "type": "file", + "description": "Output file in gzipped format", + "pattern": "*.gz" + } + } + ], + "authors": [ + "@sofstam" + ] + } + }, + { + "name": "kmcp_profile", + "path": "modules/nf-core/kmcp/profile/meta.yml", + "type": "module", + "meta": { + "name": "kmcp_profile", + "description": "Generate taxonomic profile from search results", + "keywords": [ + "metagenomics", + "classify", + "taxonomic profiling", + "fastq", + "sequences", + "kmers", + "index" + ], + "tools": [ + { + "kmcp": { + "description": "Accurate metagenomic profiling of both prokaryotic and viral populations by pseudo-mapping", + "homepage": "https://github.com/shenwei356/kmcp", + "documentation": "https://bioinf.shenwei.me/kmcp/usage/#profile", + "tool_dev_url": "https://github.com/shenwei356/kmcp", + "doi": "10.1093/bioinformatics/btac845", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "search_results": { + "type": "file", + "description": "Gzipped file output from kmcp search module", + "pattern": "*.gz" + } + }, + { + "taxdump": { + "type": "directory", + "description": "Directory of NCBI taxonomy dump files - names.dmp, nodes.dmp", + "pattern": "*" + } + }, + { + "taxid": { + "type": "file", + "description": "Tabular two-column file(s) mapping reference IDs to TaxIds.", + "pattern": "*.{csv,tsv}" + } + }, + { + "mode": { + "type": "integer", + "description": "Profiling mode. 0-pathogen detection 1-higher recall 2-high recall 3-default 4-high precision 5-higher precision" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "profile": { + "type": "file", + "description": "Tab-delimited format file with 17 columns.", + "pattern": "*.profile" + } + } + ], + "authors": [ + "@sofstam" + ] + } + }, + { + "name": "kmcp_search", + "path": "modules/nf-core/kmcp/search/meta.yml", + "type": "module", + "meta": { + "name": "kmcp_compute", + "description": "Search sequences against database", + "keywords": [ + "metagenomics", + "classify", + "taxonomic profiling", + "fastq", + "sequences", + "kmers" + ], + "tools": [ + { + "kmcp": { + "description": "Accurate metagenomic profiling of both prokaryotic and viral populations by pseudo-mapping", + "homepage": "https://github.com/shenwei356/kmcp", + "documentation": "https://github.com/shenwei356/kmcp#documents", + "tool_dev_url": "https://github.com/shenwei356/kmcp", + "doi": "10.1093/bioinformatics/btac845", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "db": { + "type": "directory", + "description": "Database directory created by \"kmcp index\"", + "pattern": "*" + } + }, + { + "reads": { + "type": "file", + "description": "gzipped fasta or fastq files", + "pattern": "*.{fq.gz,fastq.gz,fa.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "result": { + "type": "file", + "description": "Output file in tab-delimited format with 15 columns", + "pattern": "*.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sofstam" + ] + } + }, + { + "name": "kofamscan", + "path": "modules/nf-core/kofamscan/meta.yml", + "type": "module", + "meta": { + "name": "kofamscan", + "description": "Produces annotation using kofamscan against a Profile database and a KO list", + "keywords": [ + "fasta", + "kegg", + "kofamscan" + ], + "tools": [ + { + "kofamscan": { + "description": "KofamKOALA assigns K numbers to the user's sequence data by HMMER/HMMSEARCH against KOfam", + "homepage": "https://www.genome.jp/tools/kofamkoala/", + "documentation": "https://github.com/takaram/kofam_scan", + "tool_dev_url": "https://github.com/takaram/kofam_scan", + "doi": "10.1093/bioinformatics/btz859", + "licence": "['MIT License']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input fasta file containing query sequences", + "pattern": "*.{fa,fasta}" + } + }, + { + "profiles": { + "type": "directory", + "description": "Directory containing the Profiles database", + "pattern": "*" + } + }, + { + "ko_list": { + "type": "file", + "description": "File containing list of KO entries with their data", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "txt": { + "type": "file", + "description": "Application-specific text file with hits information", + "pattern": "*.{txt}" + } + }, + { + "tsv": { + "type": "file", + "description": "Tab separated file containing with detailed hits", + "pattern": "*.{tsv}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@toniher" + ] + } + }, + { + "name": "kraken2_kraken2", + "path": "modules/nf-core/kraken2/kraken2/meta.yml", + "type": "module", + "meta": { + "name": "kraken2_kraken2", + "description": "Classifies metagenomic sequence data", + "keywords": [ + "classify", + "metagenomics", + "fastq", + "db" + ], + "tools": [ + { + "kraken2": { + "description": "Kraken2 is a taxonomic sequence classifier that assigns taxonomic labels to sequence reads\n", + "homepage": "https://ccb.jhu.edu/software/kraken2/", + "documentation": "https://github.com/DerrickWood/kraken2/wiki/Manual", + "doi": "10.1186/s13059-019-1891-0", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "db": { + "type": "directory", + "description": "Kraken2 database" + } + }, + { + "save_output_fastqs": { + "type": "string", + "description": "If true, optional commands are added to save classified and unclassified reads\nas fastq files\n" + } + }, + { + "save_reads_assignment": { + "type": "string", + "description": "If true, an optional command is added to save a file reporting the taxonomic\nclassification of each input read\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "classified_reads_fastq": { + "type": "file", + "description": "Reads classified as belonging to any of the taxa\non the Kraken2 database.\n", + "pattern": "*{fastq.gz}" + } + }, + { + "unclassified_reads_fastq": { + "type": "file", + "description": "Reads not classified to any of the taxa\non the Kraken2 database.\n", + "pattern": "*{fastq.gz}" + } + }, + { + "classified_reads_assignment": { + "type": "file", + "description": "Kraken2 output file indicating the taxonomic assignment of\neach input read\n" + } + }, + { + "report": { + "type": "file", + "description": "Kraken2 report containing stats about classified\nand not classifed reads.\n", + "pattern": "*.{report.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "bacass", + "version": "2.0.0" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "krakentools_combinekreports", + "path": "modules/nf-core/krakentools/combinekreports/meta.yml", + "type": "module", + "meta": { + "name": "krakentools_combinekreports", + "description": "Takes a Kraken report file and prints out a krona-compatible TEXT file", + "keywords": [ + "kraken", + "krakentools", + "metagenomics", + "table", + "combining", + "merging" + ], + "tools": [ + { + "krakentools": { + "description": "KrakenTools is a suite of scripts to be used for post-analysis of Kraken/KrakenUniq/Kraken2/Bracken results. Please cite the relevant paper if using KrakenTools with any of the listed programs.", + "homepage": "https://github.com/jenniferlu717/KrakenTools", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "kreports": { + "type": "file", + "description": "List of kraken-style report files", + "pattern": "*.{txt,kreport}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "Combined kreport file of all input files", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "krakentools_kreport2krona", + "path": "modules/nf-core/krakentools/kreport2krona/meta.yml", + "type": "module", + "meta": { + "name": "krakentools_kreport2krona", + "description": "Takes a Kraken report file and prints out a krona-compatible TEXT file", + "keywords": [ + "kraken", + "krona", + "metagenomics", + "visualization" + ], + "tools": [ + { + "krakentools": { + "description": "KrakenTools is a suite of scripts to be used for post-analysis of Kraken/KrakenUniq/Kraken2/Bracken results. Please cite the relevant paper if using KrakenTools with any of the listed programs.", + "homepage": "https://github.com/jenniferlu717/KrakenTools", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "kreport": { + "type": "file", + "description": "Kraken report", + "pattern": "*.{txt,kreport}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "krona": { + "type": "file", + "description": "Krona text-based input file converted from Kraken report", + "pattern": "*.{txt,krona}" + } + } + ], + "authors": [ + "@MillironX" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "krakenuniq_build", + "path": "modules/nf-core/krakenuniq/build/meta.yml", + "type": "module", + "meta": { + "name": "krakenuniq_build", + "description": "Download and build (custom) KrakenUniq databases", + "keywords": [ + "metagenomics", + "krakenuniq", + "database", + "build", + "ncbi" + ], + "tools": [ + { + "krakenuniq": { + "description": "Metagenomics classifier with unique k-mer counting for more specific results", + "homepage": "https://github.com/fbreitwieser/krakenuniq", + "documentation": "https://github.com/fbreitwieser/krakenuniq", + "tool_dev_url": "https://github.com/fbreitwieser/krakenuniq", + "doi": "10.1186/s13059-018-1568-0", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "custom_library_dir": { + "type": "directory", + "description": "Optional directory containing custom fasta files for database build", + "pattern": "*" + } + }, + { + "custom_taxonomy_dir": { + "type": "directory", + "description": "Optional directory containing custom taxonomy files for database build", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "db": { + "type": "directory", + "description": "Directory containing KrakenUniq database", + "pattern": "*/" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "krakenuniq_download", + "path": "modules/nf-core/krakenuniq/download/meta.yml", + "type": "module", + "meta": { + "name": "krakenuniq_download", + "description": "Download KrakenUniq databases and related fles", + "keywords": [ + "metagenomics", + "krakenuniq", + "database", + "download", + "ncbi" + ], + "tools": [ + { + "krakenuniq": { + "description": "Metagenomics classifier with unique k-mer counting for more specific results", + "homepage": "https://github.com/fbreitwieser/krakenuniq", + "documentation": "https://github.com/fbreitwieser/krakenuniq", + "tool_dev_url": "https://github.com/fbreitwieser/krakenuniq", + "doi": "10.1186/s13059-018-1568-0", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "pattern": { + "type": "string", + "description": "Pattern indicating what type of NCBI data to download. See KrakenUniq documnation for possibilities." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "directory", + "description": "Directory containing downloaded data with directory naming being the user provided pattern." + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "krakenuniq_preloadedkrakenuniq", + "path": "modules/nf-core/krakenuniq/preloadedkrakenuniq/meta.yml", + "type": "module", + "meta": { + "name": "krakenuniq_preloadedkrakenuniq", + "description": "Classifies metagenomic sequence data using unique k-mer counts", + "keywords": [ + "classify", + "metagenomics", + "kmers", + "fastq", + "db" + ], + "tools": [ + { + "krakenuniq": { + "description": "Metagenomics classifier with unique k-mer counting for more specific results", + "homepage": "https://github.com/fbreitwieser/krakenuniq", + "documentation": "https://github.com/fbreitwieser/krakenuniq", + "doi": "10.1186/s13059-018-1568-0", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastqs": { + "type": "file", + "description": "List of input FastQ files" + } + }, + { + "db": { + "type": "directory", + "description": "KrakenUniq database" + } + }, + { + "ram_chunk_size": { + "type": "val", + "description": "Amount of maximum amount of RAM each chunk of database that should be loaded at any one time", + "pattern": "*GB" + } + }, + { + "save_output_fastqs": { + "type": "boolean", + "description": "If true, optional commands are added to save classified and unclassified reads\nas fastq files\n" + } + }, + { + "save_reads_assignment": { + "type": "boolean", + "description": "If true, an optional command is added to save a file reporting the taxonomic\nclassification of each input read\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "classified_reads_fastq": { + "type": "file", + "description": "Reads classified as belonging to any of the taxa\non the KrakenUniq database.\n", + "pattern": "*.fastq.gz" + } + }, + { + "unclassified_reads_fastq": { + "type": "file", + "description": "Reads not classified to any of the taxa\non the KrakenUniq database.\n", + "pattern": "*.fastq.gz" + } + }, + { + "classified_assignment": { + "type": "file", + "description": "KrakenUniq output file indicating the taxonomic assignment of\neach input read ## DOUBLE CHECK!!\n" + } + }, + { + "report": { + "type": "file", + "description": "KrakenUniq report containing stats about classified\nand not classifed reads.\n", + "pattern": "*.report.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@mjamy", + "@Midnighter" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "krona_kronadb", + "path": "modules/nf-core/krona/kronadb/meta.yml", + "type": "module", + "meta": { + "name": "krona_kronadb", + "description": "KronaTools Update Taxonomy downloads a taxonomy database", + "keywords": [ + "database", + "taxonomy", + "krona" + ], + "tools": [ + { + "krona": { + "description": "Krona Tools is a set of scripts to create Krona charts from several Bioinformatics tools as well as from text and XML files.", + "homepage": "https://github.com/marbl/Krona/wiki/KronaTools", + "documentation": "https://github.com/marbl/Krona/wiki/Installing", + "doi": "10.1186/1471-2105-12-385" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "db": { + "type": "file", + "description": "A TAB separated file that contains a taxonomy database.", + "pattern": "*.{tab}" + } + } + ], + "authors": [ + "@mjakobs" + ] + } + }, + { + "name": "krona_ktimporttaxonomy", + "path": "modules/nf-core/krona/ktimporttaxonomy/meta.yml", + "type": "module", + "meta": { + "name": "krona_ktimporttaxonomy", + "description": "KronaTools Import Taxonomy imports taxonomy classifications and produces an interactive Krona plot.", + "keywords": [ + "plot", + "taxonomy", + "interactive", + "html", + "visualisation", + "krona chart" + ], + "tools": [ + { + "krona": { + "description": "Krona Tools is a set of scripts to create Krona charts from several Bioinformatics tools as well as from text and XML files.", + "homepage": "https://github.com/marbl/Krona/wiki/KronaTools", + "documentation": "http://manpages.ubuntu.com/manpages/impish/man1/ktImportTaxonomy.1.html", + "doi": "10.1186/1471-2105-12-385" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "database": { + "type": "file", + "description": "Path to a Krona taxonomy .tab file normally downloaded and generated by\nkrona/ktUpdateTaxonomy. Custom taxonomy files can have any name, but\nmust end in `.tab`.\n", + "pattern": "*tab" + } + }, + { + "report": { + "type": "file", + "description": "A tab-delimited file with taxonomy IDs and (optionally) query IDs, magnitudes, and scores. Query IDs are taken from column 1, taxonomy IDs from column 2, and scores from column 3. Lines beginning with # will be ignored.", + "pattern": "*.{tsv}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "html": { + "type": "file", + "description": "A html file containing an interactive krona plot.", + "pattern": "*.{html}" + } + } + ], + "authors": [ + "@mjakobs" + ] + }, + "pipelines": [ + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "krona_ktimporttext", + "path": "modules/nf-core/krona/ktimporttext/meta.yml", + "type": "module", + "meta": { + "name": "krona_ktimporttext", + "description": "Creates a Krona chart from text files listing quantities and lineages.", + "keywords": [ + "plot", + "taxonomy", + "interactive", + "html", + "visualisation", + "krona chart", + "metagenomics" + ], + "tools": [ + { + "krona": { + "description": "Krona Tools is a set of scripts to create Krona charts from several Bioinformatics tools as well as from text and XML files.", + "homepage": "https://github.com/marbl/Krona/wiki/KronaTools", + "documentation": "http://manpages.ubuntu.com/manpages/impish/man1/ktImportTaxonomy.1.html", + "tool_dev_url": "https://github.com/marbl/Krona", + "doi": "10.1186/1471-2105-12-385", + "licence": "https://raw.githubusercontent.com/marbl/Krona/master/KronaTools/LICENSE.txt" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "report": { + "type": "file", + "description": "Tab-delimited text file. Each line should be a number followed by a list of wedges to contribute to (starting from the highest level). If no wedges are listed (and just a quantity is given), it will contribute to the top level. If the same lineage is listed more than once, the values will be added. Quantities can be omitted if -q is specified. Lines beginning with '#' will be ignored.", + "pattern": "*.{txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "html": { + "type": "file", + "description": "A html file containing an interactive krona plot.", + "pattern": "*.{html}" + } + } + ], + "authors": [ + "@jianhong" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "krona_ktupdatetaxonomy", + "path": "modules/nf-core/krona/ktupdatetaxonomy/meta.yml", + "type": "module", + "meta": { + "name": "krona_ktupdatetaxonomy", + "description": "KronaTools Update Taxonomy downloads a taxonomy database", + "keywords": [ + "database", + "taxonomy", + "krona", + "visualisation" + ], + "tools": [ + { + "krona": { + "description": "Krona Tools is a set of scripts to create Krona charts from several Bioinformatics tools as well as from text and XML files.", + "homepage": "https://github.com/marbl/Krona/wiki/KronaTools", + "documentation": "https://github.com/marbl/Krona/wiki/Installing", + "doi": "10.1186/1471-2105-12-385" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "db": { + "type": "file", + "description": "A TAB separated file that contains a taxonomy database.", + "pattern": "*.{tab}" + } + } + ], + "authors": [ + "@mjakobs" + ] + }, + "pipelines": [ + { + "name": "hgtseq", + "version": "1.1.0" + } + ] + }, + { + "name": "last_dotplot", + "path": "modules/nf-core/last/dotplot/meta.yml", + "type": "module", + "meta": { + "name": "last_dotplot", + "description": "Makes a dotplot (Oxford Grid) of pair-wise sequence alignments", + "keywords": [ + "LAST", + "plot", + "pair", + "alignment", + "MAF" + ], + "tools": [ + { + "last": { + "description": "LAST finds & aligns related regions of sequences.", + "homepage": "https://gitlab.com/mcfrith/last", + "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/last-dotplot.rst", + "tool_dev_url": "https://gitlab.com/mcfrith/last", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "maf": { + "type": "file", + "description": "Multiple Aligment Format (MAF) file, compressed with gzip", + "pattern": "*.{maf.gz}" + } + }, + { + "format": { + "type": "string", + "description": "Output format (PNG or GIF)." + } + } + ], + "output": [ + { + "png": { + "type": "file", + "description": "Pairwise alignment dot plot image, in PNG format.", + "pattern": "*.png" + } + }, + { + "gif": { + "type": "file", + "description": "Pairwise alignment dot plot image, in GIF format.", + "pattern": "*.gif" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@charles-plessy" + ] + } + }, + { + "name": "last_lastal", + "path": "modules/nf-core/last/lastal/meta.yml", + "type": "module", + "meta": { + "name": "last_lastal", + "description": "Find suitable score parameters for sequence alignment", + "keywords": [ + "LAST", + "align", + "fastq", + "fasta" + ], + "tools": [ + { + "last": { + "description": "LAST finds & aligns related regions of sequences.", + "homepage": "https://gitlab.com/mcfrith/last", + "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/last-train.rst", + "tool_dev_url": "https://gitlab.com/mcfrith/last", + "licence": [ + "GPL v3-or-later" + ] + } + } + ], + "input": [ + { + "index": { + "type": "directory", + "description": "Directory containing the files of the LAST index", + "pattern": "lastdb/" + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastx": { + "type": "file", + "description": "FASTA/FASTQ file", + "pattern": "*.{fasta,fastq}" + } + }, + { + "param_file": { + "type": "file", + "description": "Trained parameter file", + "pattern": "*.par" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "maf": { + "type": "file", + "description": "Gzipped MAF (Multiple Alignment Format) file", + "pattern": "*.{maf.gz}" + } + } + ], + "authors": [ + "@charles-plessy" + ] + } + }, + { + "name": "last_lastdb", + "path": "modules/nf-core/last/lastdb/meta.yml", + "type": "module", + "meta": { + "name": "last_lastdb", + "description": "Prepare sequences for subsequent alignment with lastal.", + "keywords": [ + "LAST", + "index", + "fasta", + "fastq" + ], + "tools": [ + { + "last": { + "description": "LAST finds & aligns related regions of sequences.", + "homepage": "https://gitlab.com/mcfrith/last", + "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/lastdb.rst", + "tool_dev_url": "https://gitlab.com/mcfrith/last", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastx": { + "type": "file", + "description": "Sequence file in FASTA or FASTQ format. May be compressed with gzip.\n", + "pattern": "*.{fasta,fasta.gz,fastq,fastq.gz}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "index": { + "type": "directory", + "description": "directory containing the files of the LAST index", + "pattern": "lastdb/" + } + } + ], + "authors": [ + "@charles-plessy" + ] + } + }, + { + "name": "last_mafconvert", + "path": "modules/nf-core/last/mafconvert/meta.yml", + "type": "module", + "meta": { + "name": "last_mafconvert", + "description": "Converts MAF alignments in another format.", + "keywords": [ + "LAST", + "convert", + "alignment", + "MAF" + ], + "tools": [ + { + "last": { + "description": "LAST finds & aligns related regions of sequences.", + "homepage": "https://gitlab.com/mcfrith/last", + "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/", + "tool_dev_url": "https://gitlab.com/mcfrith/last", + "licence": [ + "GPL v3-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "maf": { + "type": "file", + "description": "Multiple Aligment Format (MAF) file, optionally compressed with gzip", + "pattern": "*.{maf.gz,maf}" + } + }, + { + "format": { + "type": "string", + "description": "Output format (one of axt, blast, blasttab, chain, gff, html, psl, sam, or tab)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "axt_gz": { + "type": "file", + "description": "Gzipped pairwise alignment in Axt (Blastz) format (optional)", + "pattern": "*.axt.gz" + } + }, + { + "blast_gz": { + "type": "file", + "description": "Gzipped pairwise alignment in blast format (optional)", + "pattern": "*.blast.gz" + } + }, + { + "blasttab_gz": { + "type": "file", + "description": "Gzipped pairwise alignment in blasttab format (optional)", + "pattern": "*.blasttab.gz" + } + }, + { + "chain_gz": { + "type": "file", + "description": "Gzipped pairwise alignment in UCSC chain format (optional)", + "pattern": "*.chain.gz" + } + }, + { + "gff_gz": { + "type": "file", + "description": "Gzipped pairwise alignment in GFF format (optional)", + "pattern": "*.gff.gz" + } + }, + { + "html_gz": { + "type": "file", + "description": "Gzipped pairwise alignment in HTML format (optional)", + "pattern": "*.html.gz" + } + }, + { + "psl_gz": { + "type": "file", + "description": "Gzipped pairwise alignment in PSL (BLAT) format (optional)", + "pattern": "*.psl.gz" + } + }, + { + "SAM": { + "type": "file", + "description": "Gzipped pairwise alignment in SAM format (optional)", + "pattern": "*.sam.gz" + } + }, + { + "tab": { + "type": "file", + "description": "Gzipped pairwise alignment in TAB format (optional)", + "pattern": "*.tab.gz" + } + } + ], + "authors": [ + "@aleksandrabliznina" + ] + } + }, + { + "name": "last_mafswap", + "path": "modules/nf-core/last/mafswap/meta.yml", + "type": "module", + "meta": { + "name": "last_mafswap", + "description": "Reorder alignments in a MAF file", + "keywords": [ + "LAST", + "reorder", + "alignment", + "MAF" + ], + "tools": [ + { + "last": { + "description": "LAST finds & aligns related regions of sequences.", + "homepage": "https://gitlab.com/mcfrith/last", + "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/", + "tool_dev_url": "https://gitlab.com/mcfrith/last", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "maf": { + "type": "file", + "description": "Multiple Aligment Format (MAF) file, optionally compressed with gzip", + "pattern": "*.{maf.gz,maf}" + } + } + ], + "output": [ + { + "maf": { + "type": "file", + "description": "Multiple Aligment Format (MAF) file, compressed with gzip", + "pattern": "*.{maf.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@charles-plessy" + ] + } + }, + { + "name": "last_postmask", + "path": "modules/nf-core/last/postmask/meta.yml", + "type": "module", + "meta": { + "name": "last_postmask", + "description": "Post-alignment masking", + "keywords": [ + "LAST", + "mask", + "alignment", + "MAF" + ], + "tools": [ + { + "last": { + "description": "LAST finds & aligns related regions of sequences.", + "homepage": "https://gitlab.com/mcfrith/last", + "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/last-postmask.rst", + "tool_dev_url": "https://gitlab.com/mcfrith/last", + "doi": "10.1371/journal.pone.0028819", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "maf": { + "type": "file", + "description": "Multiple Aligment Format (MAF) file, optionally compressed with gzip", + "pattern": "*.{maf.gz,maf}" + } + } + ], + "output": [ + { + "maf": { + "type": "file", + "description": "Multiple Aligment Format (MAF) file, compressed with gzip", + "pattern": "*.{maf.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@charles-plessy" + ] + } + }, + { + "name": "last_split", + "path": "modules/nf-core/last/split/meta.yml", + "type": "module", + "meta": { + "name": "last_split", + "description": "Find split or spliced alignments in a MAF file", + "keywords": [ + "LAST", + "split", + "spliced", + "alignment", + "MAF" + ], + "tools": [ + { + "last": { + "description": "LAST finds & aligns related regions of sequences.", + "homepage": "https://gitlab.com/mcfrith/last", + "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/", + "tool_dev_url": "https://gitlab.com/mcfrith/last", + "licence": [ + "GPL v3-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "maf": { + "type": "file", + "description": "Multiple Aligment Format (MAF) file, compressed with gzip", + "pattern": "*.{maf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "maf": { + "type": "file", + "description": "Multiple Aligment Format (MAF) file, compressed with gzip", + "pattern": "*.{maf.gz}" + } + } + ], + "authors": [ + "@aleksandrabliznina" + ] + } + }, + { + "name": "last_train", + "path": "modules/nf-core/last/train/meta.yml", + "type": "module", + "meta": { + "name": "last_train", + "description": "Find suitable score parameters for sequence alignment", + "keywords": [ + "LAST", + "train", + "fastq", + "fasta" + ], + "tools": [ + { + "last": { + "description": "LAST finds & aligns related regions of sequences.", + "homepage": "https://gitlab.com/mcfrith/last", + "documentation": "https://gitlab.com/mcfrith/last/-/blob/main/doc/last-train.rst", + "tool_dev_url": "https://gitlab.com/mcfrith/last", + "licence": [ + "GPL v3-or-later" + ] + } + } + ], + "input": [ + { + "index": { + "type": "directory", + "description": "Directory containing the files of the LAST index", + "pattern": "lastdb/" + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastx": { + "type": "file", + "description": "FASTA/FASTQ file", + "pattern": "*.{fasta,fastq}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "param_file": { + "type": "file", + "description": "Trained parameter file", + "pattern": "*.par" + } + } + ], + "authors": [ + "@aleksandrabliznina" + ] + } + }, + { + "name": "leehom", + "path": "modules/nf-core/leehom/meta.yml", + "type": "module", + "meta": { + "name": "leehom", + "description": "Bayesian reconstruction of ancient DNA fragments", + "keywords": [ + "ancient DNA", + "adapter removal", + "clipping", + "trimming", + "merging", + "collapsing", + "preprocessing", + "bayesian" + ], + "tools": [ + { + "leehom": { + "description": "Bayesian reconstruction of ancient DNA fragments", + "homepage": "https://grenaud.github.io/leeHom/", + "documentation": "https://github.com/grenaud/leeHom", + "tool_dev_url": "https://github.com/grenaud/leeHom", + "doi": "10.1093/nar/gku699", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Unaligned BAM or one or two gzipped FASTQ file(s)", + "pattern": "*.{bam,fq.gz,fastq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + }, + { + "fq_pass": { + "type": "file", + "description": "Trimmed and merged FASTQ", + "pattern": "*.fq.gz" + } + }, + { + "fq_fail": { + "type": "file", + "description": "Failed trimmed and merged FASTQs", + "pattern": "*.fail.fq.gz" + } + }, + { + "unmerged_r1_fq_pass": { + "type": "file", + "description": "Passed unmerged R1 FASTQs", + "pattern": "*.r1.fq.gz" + } + }, + { + "unmerged_r1_fq_fail": { + "type": "file", + "description": "Failed unmerged R1 FASTQs", + "pattern": "*.r1.fail.fq.gz" + } + }, + { + "unmerged_r2_fq_pass": { + "type": "file", + "description": "Passed unmerged R2 FASTQs", + "pattern": "*.r2.fq.gz" + } + }, + { + "unmerged_r2_fq_pass": { + "type": "file", + "description": "Failed unmerged R2 FASTQs", + "pattern": "*.r2.fail.fq.gz" + } + }, + { + "log": { + "type": "file", + "description": "Log file of command", + "pattern": "*.log" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "legsta", + "path": "modules/nf-core/legsta/meta.yml", + "type": "module", + "meta": { + "name": "legsta", + "description": "Typing of clinical and environmental isolates of Legionella pneumophila", + "keywords": [ + "bacteria", + "legionella" + ], + "tools": [ + { + "legsta": { + "description": "In silico Legionella pneumophila Sequence Based Typing", + "homepage": "https://github.com/tseemann/legsta", + "documentation": "https://github.com/tseemann/legsta", + "tool_dev_url": "https://github.com/tseemann/legsta", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "seqs": { + "type": "file", + "description": "FASTA, GenBank or EMBL formatted files", + "pattern": "*.{fasta,gbk,embl}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "Tab-delimited summary of the results", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "lima", + "path": "modules/nf-core/lima/meta.yml", + "type": "module", + "meta": { + "name": "lima", + "description": "lima - The PacBio Barcode Demultiplexer and Primer Remover", + "keywords": [ + "isoseq", + "ccs", + "primer", + "pacbio", + "barcode" + ], + "tools": [ + { + "lima": { + "description": "lima - The PacBio Barcode Demultiplexer and Primer Remover", + "homepage": "https://github.com/PacificBiosciences/pbbioconda", + "documentation": "https://lima.how/", + "tool_dev_url": "https://github.com/pacificbiosciences/barcoding/", + "licence": [ + "BSD-3-Clause-Clear" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "ccs": { + "type": "file", + "description": "A BAM or fasta or fasta.gz or fastq or fastq.gz file of subreads or ccs", + "pattern": "*.{bam,fasta,fasta.gz,fastq,fastq.gz}" + } + }, + { + "primers": { + "type": "file", + "description": "Fasta file, sequences of primers", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "A bam file of ccs purged of primers", + "pattern": "*.bam" + } + }, + { + "pbi": { + "type": "file", + "description": "Pacbio index file of ccs purged of primers", + "pattern": "*.bam" + } + }, + { + "xml": { + "type": "file", + "description": "An XML file representing a set of a particular sequence data type such as subreads, references or aligned subreads.", + "pattern": "*.xml" + } + }, + { + "json": { + "type": "file", + "description": "A metadata json file", + "pattern": "*.json" + } + }, + { + "clips": { + "type": "file", + "description": "A fasta file of clipped primers", + "pattern": "*.clips" + } + }, + { + "counts": { + "type": "file", + "description": "A tabulated file of describing pairs of primers", + "pattern": "*.counts" + } + }, + { + "guess": { + "type": "file", + "description": "A second tabulated file of describing pairs of primers (no doc available)", + "pattern": "*.guess" + } + }, + { + "report": { + "type": "file", + "description": "A tab-separated file about each ZMW, unfiltered", + "pattern": "*.report" + } + }, + { + "summary": { + "type": "file", + "description": "This file shows how many ZMWs have been filtered, how ZMWs many are same/different, and how many reads have been filtered.", + "pattern": "*.summary" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sguizard" + ] + }, + "pipelines": [ + { + "name": "isoseq", + "version": "1.1.4" + } + ] + }, + { + "name": "limma_differential", + "path": "modules/nf-core/limma/differential/meta.yml", + "type": "module", + "meta": { + "name": "limma_differential", + "description": "runs a differential expression analysis with Limma", + "keywords": [ + "differential", + "expression", + "microarray", + "limma" + ], + "tools": [ + { + "limma": { + "description": "Linear Models for Microarray Data", + "homepage": "https://bioconductor.org/packages/release/bioc/html/limma.html", + "documentation": "https://bioconductor.org/packages/release/bioc/vignettes/limma/inst/doc/usersguide.pdf", + "tool_dev_url": "https://github.com/cran/limma\"\"", + "doi": "10.18129/B9.bioc.limma", + "licence": "['LGPL >=3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing contrast information. This can be used at the\nworkflow level to pass optional parameters to the module, e.g.\n[ id:'contrast1', blocking:'patient' ] passed in as ext.args like:\n'--blocking_variable $meta.blocking'.\n" + } + }, + { + "contrast_variable": { + "type": "string", + "description": "The column in the sample sheet that should be used to define groups for\ncomparison\n" + } + }, + { + "reference": { + "type": "string", + "description": "The value within the contrast_variable column of the sample sheet that\nshould be used to derive the reference samples\n" + } + }, + { + "target": { + "type": "string", + "description": "The value within the contrast_variable column of the sample sheet that\nshould be used to derive the target samples\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy map containing study-wide metadata related to the sample sheet\nand matrix\n" + } + }, + { + "samplesheeet": { + "type": "file", + "description": "CSV or TSV format sample sheet with sample metadata\n" + } + }, + { + "intensities": { + "type": "file", + "description": "Raw TSV or CSV format expression matrix with probes by row and samples\nby column\n" + } + } + ], + "output": [ + { + "results": { + "type": "file", + "description": "TSV-format table of differential expression information as output by Limma", + "pattern": "*.limma.results.tsv" + } + }, + { + "md_plot": { + "type": "file", + "description": "Limma mean difference plot", + "pattern": "*.mean_difference.png" + } + }, + { + "rdata": { + "type": "file", + "description": "Serialised MArrayLM object", + "pattern": "*.MArrayLM.limma.rds" + } + }, + { + "session_info": { + "type": "file", + "description": "dump of R SessionInfo", + "pattern": "*.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@pinin4fjords" + ] + }, + "pipelines": [ + { + "name": "differentialabundance", + "version": "1.2.0" + } + ] + }, + { + "name": "lissero", + "path": "modules/nf-core/lissero/meta.yml", + "type": "module", + "meta": { + "name": "lissero", + "description": "Serogrouping Listeria monocytogenes assemblies", + "keywords": [ + "fasta", + "Listeria monocytogenes", + "serogroup" + ], + "tools": [ + { + "lissero": { + "description": "In silico serotyping of Listeria monocytogenes", + "homepage": "https://github.com/MDU-PHL/LisSero/blob/master/README.md", + "documentation": "https://github.com/MDU-PHL/LisSero/blob/master/README.md", + "tool_dev_url": "https://github.com/MDU-PHL/lissero", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA assembly file", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "Tab-delimited result file", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "lofreq_call", + "path": "modules/nf-core/lofreq/call/meta.yml", + "type": "module", + "meta": { + "name": "lofreq_call", + "description": "Lofreq subcommand to call low frequency variants from alignments", + "keywords": [ + "variant calling", + "low frequency variant calling", + "lofreq", + "lofreq/call" + ], + "tools": [ + { + "lofreq": { + "description": "A fast and sensitive variant-caller for inferring SNVs and indels from next-generation sequencing data", + "homepage": "https://csb5.github.io/lofreq/", + "documentation": "https://csb5.github.io/lofreq/commands/", + "doi": "10.1093/nar/gks918 ", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM input file", + "pattern": "*.{bam}" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF output file", + "pattern": "*.{vcf}" + } + } + ], + "authors": [ + "@bjohnnyd" + ] + } + }, + { + "name": "lofreq_callparallel", + "path": "modules/nf-core/lofreq/callparallel/meta.yml", + "type": "module", + "meta": { + "name": "lofreq_callparallel", + "description": "It predicts variants using multiple processors", + "keywords": [ + "call", + "variants" + ], + "tools": [ + { + "lofreq": { + "description": "Lofreq is a fast and sensitive variant-caller for inferring SNVs and indels from next-generation sequencing data. It's call-parallel programme predicts variants using multiple processors", + "homepage": "https://csb5.github.io/lofreq/", + "documentation": "https://csb5.github.io/lofreq/", + "doi": "10.1093/nar/gks918", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM file", + "pattern": "*.{bam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file", + "pattern": "*.{bai}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome FASTA file", + "pattern": "*.{fasta}" + } + }, + { + "fai": { + "type": "file", + "description": "Reference genome FASTA index file", + "pattern": "*.{fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Predicted variants file", + "pattern": "*.{vcf}" + } + } + ], + "authors": [ + "@kaurravneet4123", + "@bjohnnyd" + ] + } + }, + { + "name": "lofreq_filter", + "path": "modules/nf-core/lofreq/filter/meta.yml", + "type": "module", + "meta": { + "name": "lofreq_filter", + "description": "Lofreq subcommand to remove variants with low coverage or strand bias potential", + "keywords": [ + "variant calling", + "low frequency variant calling", + "filtering", + "lofreq", + "lofreq/filter" + ], + "tools": [ + { + "lofreq": { + "description": "A fast and sensitive variant-caller for inferring SNVs and indels from next-generation sequencing data", + "homepage": "https://csb5.github.io/lofreq/", + "documentation": "https://csb5.github.io/lofreq/commands/", + "doi": "10.1093/nar/gks918 ", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF input file", + "pattern": "*.{vcf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF filtered output file", + "pattern": "*.{vcf}" + } + } + ], + "authors": [ + "@bjohnnyd" + ] + } + }, + { + "name": "lofreq_indelqual", + "path": "modules/nf-core/lofreq/indelqual/meta.yml", + "type": "module", + "meta": { + "name": "lofreq_indelqual", + "description": "Inserts indel qualities in a BAM file", + "keywords": [ + "bam", + "indel", + "qualities" + ], + "tools": [ + { + "lofreq": { + "description": "Lofreq is a fast and sensitive variant-caller for inferring SNVs and indels from next-generation sequencing data. It's indelqual programme inserts indel qualities in a BAM file", + "homepage": "https://csb5.github.io/lofreq/", + "doi": "10.1093/nar/gks918", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.{bam}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome FASTA file", + "pattern": "*.{fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file with indel qualities inserted into it", + "pattern": "*.{bam}" + } + } + ], + "authors": [ + "@kaurravneet4123" + ] + } + }, + { + "name": "lofreq_somatic", + "path": "modules/nf-core/lofreq/somatic/meta.yml", + "type": "module", + "meta": { + "name": "lofreq_somatic", + "description": "Lofreq subcommand to call low frequency variants from alignments when tumor-normal paired samples are available", + "keywords": [ + "variant calling", + "low frequency variant calling", + "somatic", + "variants", + "vcf" + ], + "tools": [ + { + "lofreq": { + "description": "A fast and sensitive variant-caller for inferring SNVs and indels from next-generation sequencing data", + "homepage": "https://csb5.github.io/lofreq/", + "documentation": "https://csb5.github.io/lofreq/commands/", + "doi": "10.1093/nar/gks918", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information" + } + }, + { + "tumor_bam": { + "type": "file", + "description": "tumor sample input BAM file", + "pattern": "*.{bam}" + } + }, + { + "tumor_bai": { + "type": "file", + "description": "tumor sample BAM index file", + "pattern": "*.{bai}" + } + }, + { + "normal_bam": { + "type": "file", + "description": "normal sample input BAM file", + "pattern": "*.{bam}" + } + }, + { + "normal_bai": { + "type": "file", + "description": "normal sample BAM index file", + "pattern": "*.{bai}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome FASTA file", + "pattern": "*.{fasta}" + } + }, + { + "fai": { + "type": "file", + "description": "Reference genome FASTA index file", + "pattern": "*.{fai}" + } + }, + { + "target_bed": { + "type": "file", + "description": "BED file containing target regions for variant calling", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Gzipped VCF file containing variants", + "pattern": "*.{vcf.gz}" + } + } + ], + "authors": [ + "@nevinwu" + ] + } + }, + { + "name": "macrel_contigs", + "path": "modules/nf-core/macrel/contigs/meta.yml", + "type": "module", + "meta": { + "name": "macrel_contigs", + "description": "A tool that mines antimicrobial peptides (AMPs) from (meta)genomes by predicting peptides from genomes (provided as contigs) and outputs all the predicted anti-microbial peptides found.", + "keywords": [ + "AMP", + "antimicrobial peptides", + "genome mining", + "metagenomes", + "peptide prediction" + ], + "tools": [ + { + "macrel": { + "description": "A pipeline for AMP (antimicrobial peptide) prediction", + "homepage": "https://macrel.readthedocs.io/en/latest/", + "documentation": "https://macrel.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/BigDataBiology/macrel", + "doi": "10.7717/peerj.10555", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "A fasta file with nucleotide sequences.", + "pattern": "*.{fasta,fa,fna,fasta.gz,fa.gz,fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "amp_prediction": { + "type": "file", + "description": "A zipped file, with all predicted amps in a table format.", + "pattern": "*.prediction.gz" + } + }, + { + "smorfs": { + "type": "file", + "description": "A zipped fasta file containing aminoacid sequences showing the general gene prediction information in the contigs.", + "pattern": "*.smorfs.faa.gz" + } + }, + { + "all_orfs": { + "type": "file", + "description": "A zipped fasta file containing amino acid sequences showing the general gene prediction information in the contigs.", + "pattern": "*.all_orfs.faa.gz" + } + }, + { + "readme_file": { + "type": "file", + "description": "A readme file containing tool specific information (e.g. citations, details about the output, etc.).", + "pattern": "*.md" + } + }, + { + "log_file": { + "type": "file", + "description": "A log file containing the information pertaining to the run.", + "pattern": "*_log.txt" + } + } + ], + "authors": [ + "@darcy220606" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "macs2_callpeak", + "path": "modules/nf-core/macs2/callpeak/meta.yml", + "type": "module", + "meta": { + "name": "macs2_callpeak", + "description": "Peak calling of enriched genomic regions of ChIP-seq and ATAC-seq experiments", + "keywords": [ + "alignment", + "atac-seq", + "chip-seq", + "peak-calling" + ], + "tools": [ + { + "macs2": { + "description": "Model Based Analysis for ChIP-Seq data", + "documentation": "https://docs.csc.fi/apps/macs2/", + "tool_dev_url": "https://github.com/macs3-project/MACS", + "doi": "10.1101/496521", + "licence": [ + "BSD" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ipbam": { + "type": "file", + "description": "The ChIP-seq treatment file" + } + }, + { + "controlbam": { + "type": "file", + "description": "The control file" + } + }, + { + "macs2_gsize": { + "type": "string", + "description": "Effective genome size. It can be 1.0e+9 or 1000000000, or shortcuts:'hs' for human (2.7e9), 'mm' for mouse (1.87e9), 'ce' for C. elegans (9e7) and 'dm' for fruitfly (1.2e8)" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + }, + { + "peak": { + "type": "file", + "description": "BED file containing annotated peaks", + "pattern": "*.gappedPeak,*.narrowPeak}" + } + }, + { + "xls": { + "type": "file", + "description": "xls file containing annotated peaks", + "pattern": "*.xls" + } + }, + { + "gapped": { + "type": "file", + "description": "Optional BED file containing gapped peak", + "pattern": "*.gappedPeak" + } + }, + { + "bed": { + "type": "file", + "description": "Optional BED file containing peak summits locations for every peak", + "pattern": "*.bed" + } + }, + { + "bdg": { + "type": "file", + "description": "Optional bedGraph files for input and treatment input samples", + "pattern": "*.bdg" + } + } + ], + "authors": [ + "@ntoda03", + "@JoseEspinosa", + "@jianhong" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "hicar", + "version": "1.0.0" + } + ] + }, + { + "name": "mafft", + "path": "modules/nf-core/mafft/meta.yml", + "type": "module", + "meta": { + "name": "mafft", + "description": "Multiple sequence alignment using MAFFT", + "keywords": [ + "msa", + "multiple sequence alignment" + ], + "tools": [ + { + "mafft": { + "description": "Multiple alignment program for amino acid or nucleotide sequences based on fast Fourier transform", + "homepage": "https://mafft.cbrc.jp/alignment/software/", + "documentation": "https://mafft.cbrc.jp/alignment/software/manual/manual.html", + "tool_dev_url": "https://mafft.cbrc.jp/alignment/software/source.html", + "doi": "10.1093/nar/gkf436", + "licence": [ + "BSD" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file containing the sequences to align", + "pattern": "*.{fa,fasta}" + } + }, + { + "addsequences": { + "type": "file", + "description": "FASTA file containing sequences to align to the sequences in `fasta`", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fas": { + "type": "file", + "description": "Aligned sequences in FASTA format", + "pattern": "*.{fas}" + } + } + ], + "authors": [ + "@MillironX" + ] + }, + "subworkflows": [ + "fasta_newick_epang_gappa" + ], + "pipelines": [ + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "phyloplace", + "version": "1.0.0" + } + ] + }, + { + "name": "mageck_count", + "path": "modules/nf-core/mageck/count/meta.yml", + "type": "module", + "meta": { + "name": "mageck_count", + "description": "mageck count for functional genomics, reads are usually mapped to a specific sgRNA", + "keywords": [ + "sort", + "functional genomics", + "sgRNA", + "CRISPR-Cas9" + ], + "tools": [ + { + "mageck": { + "description": "MAGeCK (Model-based Analysis of Genome-wide CRISPR-Cas9 Knockout), an algorithm to process, QC, analyze and visualize CRISPR screening data.", + "homepage": "https://sourceforge.net/p/mageck/wiki/Home/", + "documentation": "https://sourceforge.net/p/mageck/wiki/demo/#step-4-run-the-mageck-count-command", + "doi": "10.1186/s13059-014-0554-4", + "licence": "['BSD License']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "library": { + "type": "file", + "description": "library file containing the sgRNA and gene name", + "pattern": "*.{csv,txt,tsv}" + } + }, + { + "inputfile": { + "type": "file", + "description": "library fastq file containing the sgRNA and gene name or count table containing the sgRNA and number of reads to per sample", + "pattern": "*.{fq,fastq,fastq.gz,fq.gz,csv,txt,tsv}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "norm": { + "type": "file", + "description": "File containing normalized read counts", + "pattern": "*.count_normalized.txt" + } + }, + { + "count": { + "type": "file", + "description": "File containing read counts", + "pattern": "*.countsummary.txt" + } + } + ], + "authors": [ + "@LaurenceKuhl" + ] + }, + "pipelines": [ + { + "name": "crisprseq", + "version": "2.0.0" + } + ] + }, + { + "name": "mageck_mle", + "path": "modules/nf-core/mageck/mle/meta.yml", + "type": "module", + "meta": { + "name": "mageck_mle", + "description": "maximum-likelihood analysis of gene essentialities computation", + "keywords": [ + "sort", + "maximum-likelihood", + "CRISPR" + ], + "tools": [ + { + "mageck": { + "description": "MAGeCK (Model-based Analysis of Genome-wide CRISPR-Cas9 Knockout), an algorithm to process, QC, analyze and visualize CRISPR screening data.", + "homepage": "https://sourceforge.net/p/mageck/wiki/Home/#mle", + "documentation": "https://sourceforge.net/p/mageck/wiki/Home/", + "tool_dev_url": "https://bitbucket.org/liulab/mageck/src", + "doi": "10.1186/s13059-015-0843-6", + "licence": "['BSD License']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "count_table": { + "type": "file", + "description": "Count table file.\nEach line in the table should include\nsgRNA name (1st column), target gene (2nd column)\nand read counts in each sample.\n", + "pattern": "*.{txt,tsv}" + } + }, + { + "design_matrix": { + "type": "file", + "description": "Design matrix describing the samples and conditions", + "pattern": "*.{txt,tsv}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "gene_summary": { + "type": "file", + "description": "Gene summary file describing the fitness score\nand associated p-values.\n", + "pattern": "*.{gene_summary}" + } + }, + { + "sgrna_summary": { + "type": "file", + "description": "sgRNA summary file describing the sgRNA and\nassociated gene\n", + "pattern": "*.{gene_summary}" + } + } + ], + "authors": [ + "@LaurenceKuhl" + ] + }, + "pipelines": [ + { + "name": "crisprseq", + "version": "2.0.0" + } + ] + }, + { + "name": "mageck_test", + "path": "modules/nf-core/mageck/test/meta.yml", + "type": "module", + "meta": { + "name": "mageck_test", + "description": "Mageck test performs a robust ranking aggregation (RRA) to identify positively or negatively selected genes in functional genomics screens.", + "keywords": [ + "sort", + "rra", + "CRISPR" + ], + "tools": [ + { + "mageck": { + "description": "MAGeCK (Model-based Analysis of Genome-wide CRISPR-Cas9 Knockout), an algorithm to process, QC, analyze and visualize CRISPR screening data.", + "homepage": "https://sourceforge.net/p/mageck/wiki/Home/#mle", + "documentation": "https://sourceforge.net/p/mageck/wiki/Home/", + "tool_dev_url": "https://bitbucket.org/liulab/mageck/src", + "doi": "10.1186/s13059-015-0843-6", + "licence": "['BSD License']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "count_table": { + "type": "file", + "description": "Count table file.\nEach line in the table should include\nsgRNA name (1st column), target gene (2nd column)\nand read counts in each sample.\n", + "pattern": "*.{txt,tsv}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "gene_summary": { + "type": "file", + "description": "Gene summary file describing the fitness score\nand associated p-values.\n", + "pattern": "*.{gene_summary.txt}" + } + }, + { + "sgrna_summary": { + "type": "file", + "description": "sgRNA summary file describing the sgRNA and\nassociated gene\n", + "pattern": "*.{sgrna_summary.txt}" + } + }, + { + "r_script": { + "type": "file", + "description": "R script allowing to output plots\nfrom main hit genes\n", + "pattern": "*.R" + } + } + ], + "authors": [ + "@LaurenceKuhl" + ] + }, + "pipelines": [ + { + "name": "crisprseq", + "version": "2.0.0" + } + ] + }, + { + "name": "malt_build", + "path": "modules/nf-core/malt/build/meta.yml", + "type": "module", + "meta": { + "name": "malt_build", + "description": "MALT, an acronym for MEGAN alignment tool, is a sequence alignment and analysis tool designed for processing high-throughput sequencing data, especially in the context of metagenomics.", + "keywords": [ + "malt", + "alignment", + "metagenomics", + "ancient DNA", + "aDNA", + "palaeogenomics", + "archaeogenomics", + "microbiome", + "database" + ], + "tools": [ + { + "malt": { + "description": "A tool for mapping metagenomic data", + "homepage": "https://www.wsi.uni-tuebingen.de/lehrstuehle/algorithms-in-bioinformatics/software/malt/", + "documentation": "https://software-ab.cs.uni-tuebingen.de/download/malt/manual.pdf", + "doi": "10.1038/s41559-017-0446-6", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "fastas": { + "type": "file", + "description": "Directory of, or list of FASTA reference files for indexing", + "pattern": "*/|*.fasta" + } + }, + { + "gff": { + "type": "file", + "description": "Directory of, or GFF3 files of input FASTA files", + "pattern": "*/|*.gff|*.gff3" + } + }, + { + "mapping_db": { + "type": "file", + "description": "MEGAN .db file from https://software-ab.cs.uni-tuebingen.de/download/megan6/welcome.html", + "pattern": "*.db" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "index": { + "type": "directory", + "description": "Directory containing MALT database index directory", + "pattern": "malt_index/" + } + }, + { + "log": { + "type": "file", + "description": "Log file from STD out of malt-build", + "pattern": "malt-build.log" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "malt_run", + "path": "modules/nf-core/malt/run/meta.yml", + "type": "module", + "meta": { + "name": "malt_run", + "description": "MALT, an acronym for MEGAN alignment tool, is a sequence alignment and analysis tool designed for processing high-throughput sequencing data, especially in the context of metagenomics.", + "keywords": [ + "malt", + "alignment", + "metagenomics", + "ancient DNA", + "aDNA", + "palaeogenomics", + "archaeogenomics", + "microbiome" + ], + "tools": [ + { + "malt": { + "description": "A tool for mapping metagenomic data", + "homepage": "https://www.wsi.uni-tuebingen.de/lehrstuehle/algorithms-in-bioinformatics/software/malt/", + "documentation": "https://software-ab.cs.uni-tuebingen.de/download/malt/manual.pdf", + "doi": "10.1038/s41559-017-0446-6", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastqs": { + "type": "file", + "description": "Input FASTQ files", + "pattern": "*.{fastq.gz,fq.gz}" + } + }, + { + "index": { + "type": "directory", + "description": "Index/database directory from malt-build", + "pattern": "*/" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "rma6": { + "type": "file", + "description": "MEGAN6 RMA6 file", + "pattern": "*.rma6" + } + }, + { + "sam": { + "type": "file", + "description": "Alignment files in Tab, Text or MEGAN-compatible SAM format", + "pattern": "*.{tab,txt,sam}" + } + }, + { + "log": { + "type": "file", + "description": "Log of verbose MALT stdout", + "pattern": "*-malt-run.log" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "maltextract", + "path": "modules/nf-core/maltextract/meta.yml", + "type": "module", + "meta": { + "name": "maltextract", + "description": "Tool for evaluation of MALT results for true positives of ancient metagenomic taxonomic screening", + "keywords": [ + "malt", + "MaltExtract", + "HOPS", + "alignment", + "metagenomics", + "ancient DNA", + "aDNA", + "palaeogenomics", + "archaeogenomics", + "microbiome", + "authentication", + "damage", + "edit distance" + ], + "tools": [ + { + "maltextract": { + "description": "Java tool to work with ancient metagenomics", + "homepage": "https://github.com/rhuebler/hops", + "documentation": "https://github.com/rhuebler/hops", + "tool_dev_url": "https://github.com/rhuebler/hops", + "doi": "10.1186/s13059-019-1903-0", + "licence": [ + "GPL 3" + ] + } + } + ], + "input": [ + { + "rma6": { + "type": "file", + "description": "RMA6 files from MALT", + "pattern": "*.rma6" + } + }, + { + "taxon_list": { + "type": "file", + "description": "List of target taxa to evaluate", + "pattern": "*.txt" + } + }, + { + "ncbi_dir": { + "type": "directory", + "description": "Directory containing NCBI taxonomy map and tre files", + "pattern": "${ncbi_dir}/" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "results": { + "type": "directory", + "description": "Directory containing MaltExtract text results files", + "pattern": "results/" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "manta_convertinversion", + "path": "modules/nf-core/manta/convertinversion/meta.yml", + "type": "module", + "meta": { + "name": "manta_convertinversion", + "description": "Manta calls structural variants (SVs) and indels from mapped paired-end sequencing reads. This script reformats inversions into single inverted sequence junctions which was the format used in Manta versions <= 1.4.0.", + "keywords": [ + "structural variants", + "conversion", + "indels" + ], + "tools": [ + { + "manta": { + "description": "Structural variant and indel caller for mapped sequencing data", + "homepage": "https://github.com/Illumina/manta", + "documentation": "https://github.com/Illumina/manta/blob/v1.6.0/docs/userGuide/README.md", + "tool_dev_url": "https://github.com/Illumina/manta", + "doi": "10.1093/bioinformatics/btv710", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file produces by Manta", + "pattern": "*.vcf.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file with reformatted inversions", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "TBI file produces by Manta", + "pattern": "*.vcf.gz.tbi" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + } + }, + { + "name": "manta_germline", + "path": "modules/nf-core/manta/germline/meta.yml", + "type": "module", + "meta": { + "name": "manta_germline", + "description": "Manta calls structural variants (SVs) and indels from mapped paired-end sequencing reads. It is optimized for analysis of germline variation in small sets of individuals and somatic variation in tumor/normal sample pairs.", + "keywords": [ + "somatic", + "wgs", + "wxs", + "panel", + "vcf", + "structural variants", + "small indels" + ], + "tools": [ + { + "manta": { + "description": "Structural variant and indel caller for mapped sequencing data", + "homepage": "https://github.com/Illumina/manta", + "documentation": "https://github.com/Illumina/manta/blob/v1.6.0/docs/userGuide/README.md", + "tool_dev_url": "https://github.com/Illumina/manta", + "doi": "10.1093/bioinformatics/btv710", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file. For joint calling use a list of files.", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "index": { + "type": "file", + "description": "BAM/CRAM/SAM index file. For joint calling use a list of files.", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "target_bed": { + "type": "file", + "description": "BED file containing target regions for variant calling", + "pattern": "*.{bed}" + } + }, + { + "target_bed_tbi": { + "type": "file", + "description": "Index for BED file containing target regions for variant calling", + "pattern": "*.{bed.tbi}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome reference FASTA file", + "pattern": "*.{fa,fasta}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Genome reference FASTA index file", + "pattern": "*.{fa.fai,fasta.fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "candidate_small_indels_vcf": { + "type": "file", + "description": "Gzipped VCF file containing variants", + "pattern": "*.{vcf.gz}" + } + }, + { + "candidate_small_indels_vcf_tbi": { + "type": "file", + "description": "Index for gzipped VCF file containing variants", + "pattern": "*.{vcf.gz.tbi}" + } + }, + { + "candidate_sv_vcf": { + "type": "file", + "description": "Gzipped VCF file containing variants", + "pattern": "*.{vcf.gz}" + } + }, + { + "candidate_sv_vcf_tbi": { + "type": "file", + "description": "Index for gzipped VCF file containing variants", + "pattern": "*.{vcf.gz.tbi}" + } + }, + { + "diploid_sv_vcf": { + "type": "file", + "description": "Gzipped VCF file containing variants", + "pattern": "*.{vcf.gz}" + } + }, + { + "diploid_sv_vcf_tbi": { + "type": "file", + "description": "Index for gzipped VCF file containing variants", + "pattern": "*.{vcf.gz.tbi}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@maxulysse", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "manta_somatic", + "path": "modules/nf-core/manta/somatic/meta.yml", + "type": "module", + "meta": { + "name": "manta_somatic", + "description": "Manta calls structural variants (SVs) and indels from mapped paired-end sequencing reads. It is optimized for analysis of germline variation in small sets of individuals and somatic variation in tumor/normal sample pairs.", + "keywords": [ + "somatic", + "wgs", + "wxs", + "panel", + "vcf", + "structural variants", + "small indels" + ], + "tools": [ + { + "manta": { + "description": "Structural variant and indel caller for mapped sequencing data", + "homepage": "https://github.com/Illumina/manta", + "documentation": "https://github.com/Illumina/manta/blob/v1.6.0/docs/userGuide/README.md", + "tool_dev_url": "https://github.com/Illumina/manta", + "doi": "10.1093/bioinformatics/btv710", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_normal": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "input_index_normal": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "input_tumor": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "input_index_tumor": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "target_bed": { + "type": "file", + "description": "BED file containing target regions for variant calling", + "pattern": "*.{bed}" + } + }, + { + "target_bed_tbi": { + "type": "file", + "description": "Index for BED file containing target regions for variant calling", + "pattern": "*.{bed.tbi}" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome reference FASTA file", + "pattern": "*.{fa,fasta}" + } + }, + { + "fai": { + "type": "file", + "description": "Genome reference FASTA index file", + "pattern": "*.{fa.fai,fasta.fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "candidate_small_indels_vcf": { + "type": "file", + "description": "Gzipped VCF file containing variants", + "pattern": "*.{vcf.gz}" + } + }, + { + "candidate_small_indels_vcf_tbi": { + "type": "file", + "description": "Index for gzipped VCF file containing variants", + "pattern": "*.{vcf.gz.tbi}" + } + }, + { + "candidate_sv_vcf": { + "type": "file", + "description": "Gzipped VCF file containing variants", + "pattern": "*.{vcf.gz}" + } + }, + { + "candidate_sv_vcf_tbi": { + "type": "file", + "description": "Index for gzipped VCF file containing variants", + "pattern": "*.{vcf.gz.tbi}" + } + }, + { + "diploid_sv_vcf": { + "type": "file", + "description": "Gzipped VCF file containing variants", + "pattern": "*.{vcf.gz}" + } + }, + { + "diploid_sv_vcf_tbi": { + "type": "file", + "description": "Index for gzipped VCF file containing variants", + "pattern": "*.{vcf.gz.tbi}" + } + }, + { + "somatic_sv_vcf": { + "type": "file", + "description": "Gzipped VCF file containing variants", + "pattern": "*.{vcf.gz}" + } + }, + { + "somatic_sv_vcf_tbi": { + "type": "file", + "description": "Index for gzipped VCF file containing variants", + "pattern": "*.{vcf.gz.tbi}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "manta_tumoronly", + "path": "modules/nf-core/manta/tumoronly/meta.yml", + "type": "module", + "meta": { + "name": "manta_tumoronly", + "description": "Manta calls structural variants (SVs) and indels from mapped paired-end sequencing reads. It is optimized for analysis of germline variation in small sets of individuals and somatic variation in tumor/normal sample pairs.", + "keywords": [ + "somatic", + "wgs", + "wxs", + "panel", + "vcf", + "structural variants", + "small indels" + ], + "tools": [ + { + "manta": { + "description": "Structural variant and indel caller for mapped sequencing data", + "homepage": "https://github.com/Illumina/manta", + "documentation": "https://github.com/Illumina/manta/blob/v1.6.0/docs/userGuide/README.md", + "tool_dev_url": "https://github.com/Illumina/manta", + "doi": "10.1093/bioinformatics/btv710", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "target_bed": { + "type": "file", + "description": "BED file containing target regions for variant calling", + "pattern": "*.{bed}" + } + }, + { + "target_bed_tbi": { + "type": "file", + "description": "Index for BED file containing target regions for variant calling", + "pattern": "*.{bed.tbi}" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome reference FASTA file", + "pattern": "*.{fa,fasta}" + } + }, + { + "fai": { + "type": "file", + "description": "Genome reference FASTA index file", + "pattern": "*.{fa.fai,fasta.fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "candidate_small_indels_vcf": { + "type": "file", + "description": "Gzipped VCF file containing variants", + "pattern": "*.{vcf.gz}" + } + }, + { + "candidate_small_indels_vcf_tbi": { + "type": "file", + "description": "Index for gzipped VCF file containing variants", + "pattern": "*.{vcf.gz.tbi}" + } + }, + { + "candidate_sv_vcf": { + "type": "file", + "description": "Gzipped VCF file containing variants", + "pattern": "*.{vcf.gz}" + } + }, + { + "candidate_sv_vcf_tbi": { + "type": "file", + "description": "Index for gzipped VCF file containing variants", + "pattern": "*.{vcf.gz.tbi}" + } + }, + { + "tumor_sv_vcf": { + "type": "file", + "description": "Gzipped VCF file containing variants", + "pattern": "*.{vcf.gz}" + } + }, + { + "tumor_sv_vcf_tbi": { + "type": "file", + "description": "Index for gzipped VCF file containing variants", + "pattern": "*.{vcf.gz.tbi}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "mapad_index", + "path": "modules/nf-core/mapad/index/meta.yml", + "type": "module", + "meta": { + "name": "mapad_index", + "description": "Create mapAD index for reference genome", + "keywords": [ + "index", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "mapad": { + "description": "An aDNA aware short-read mapper", + "homepage": "https://github.com/mpieva/mapAD", + "documentation": "https://github.com/mpieva/mapAD", + "tool_dev_url": "https://github.com/mpieva/mapAD", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file", + "pattern": "*.{fasta,fa,fna}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "index": { + "type": "directory", + "description": "mapAD genome index files", + "pattern": "*.{tbw,tle,toc,tos,tpi,trt,tsa}" + } + } + ], + "authors": [ + "@jch-13" + ] + } + }, + { + "name": "mapad_map", + "path": "modules/nf-core/mapad/map/meta.yml", + "type": "module", + "meta": { + "name": "mapad_map", + "description": "Map short-reads to an indexed reference genome", + "keywords": [ + "mapad", + "ancient dna", + "adna", + "damage", + "deamination", + "miscoding lesions", + "c to t", + "palaeogenomics", + "archaeogenomics", + "palaeogenetics", + "archaeogenetics", + "short-read", + "align", + "aligner", + "alignment", + "map", + "mapper", + "mapping", + "reference", + "fasta", + "fastq", + "bam", + "cram" + ], + "tools": [ + { + "mapad": { + "description": "An aDNA aware short-read mapper", + "homepage": "https://github.com/mpieva/mapAD", + "documentation": "https://github.com/mpieva/mapAD", + "tool_dev_url": "https://github.com/mpieva/mapAD", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Sequencing reads in FASTQ or BAM (unmapped/mapped) related formats. Supports only single-end or merged paired-end data (mandatory)\n", + "pattern": "*.{bam,cram,fastq,fastq.gz,fq,fq.gz}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "file", + "description": "mapAD genome index files (mandatory)", + "pattern": "*.{tbw,tle,toc,tos,tpi,trt,tsa}" + } + }, + { + "mismatch_parameter": { + "type": "float", + "description": "Minimum probability of the number of mismatches under `-D` base error rate\n" + } + }, + { + "double_stranded_library": { + "type": "boolean", + "description": "Library preparation method - specify if double stranded else it's assumed single stranded" + } + }, + { + "five_prime_overhang": { + "type": "float", + "description": "5'-overhang length parameter" + } + }, + { + "three_prime_overhang": { + "type": "float", + "description": "3'-overhang length parameter" + } + }, + { + "deam_rate_double_stranded": { + "type": "float", + "description": "Deamination rate in double-stranded stem of a read" + } + }, + { + "deam_rate_single_stranded": { + "type": "float", + "description": "Deamination rate in single-stranded ends of a read" + } + }, + { + "indel_rate": { + "type": "float", + "description": "Expected rate of indels between reads and reference" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Output BAM/SAM file containing read alignments", + "pattern": "*.bam" + } + } + ], + "authors": [ + "@jch-13" + ] + } + }, + { + "name": "mapdamage2", + "path": "modules/nf-core/mapdamage2/meta.yml", + "type": "module", + "meta": { + "name": "mapdamage2", + "description": "Computational framework for tracking and quantifying DNA damage patterns among ancient DNA sequencing reads generated by Next-Generation Sequencing platforms.", + "keywords": [ + "ancient DNA", + "DNA damage", + "NGS", + "damage patterns", + "bam" + ], + "tools": [ + { + "mapdamage2": { + "description": "Tracking and quantifying damage patterns in ancient DNA sequences", + "homepage": "http://ginolhac.github.io/mapDamage/", + "documentation": "https://ginolhac.github.io/mapDamage/", + "tool_dev_url": "https://github.com/ginolhac/mapDamage", + "doi": "10.1093/bioinformatics/btt193", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.{bam}" + } + }, + { + "fasta": { + "type": "file", + "description": "Fasta file, the reference the input BAM was mapped against", + "pattern": "*.{fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "runtime_log": { + "type": "file", + "description": "Log file with a summary of command lines used and timestamps.", + "pattern": "Runtime_log.txt" + } + }, + { + "fragmisincorporation_plot": { + "type": "file", + "description": "A pdf file that displays both fragmentation and misincorporation patterns.", + "pattern": "Fragmisincorporation_plot.pdf" + } + }, + { + "length_plot": { + "type": "file", + "description": "A pdf file that displays length distribution of singleton reads per strand and cumulative frequencies of C->T at 5'-end and G->A at 3'-end are also displayed per strand.", + "pattern": "Length_plot.pdf" + } + }, + { + "misincorporation": { + "type": "file", + "description": "Contains a table with occurrences for each type of mutations and relative positions from the reads ends.", + "pattern": "misincorporation.txt" + } + }, + { + "pctot_freq": { + "type": "file", + "description": "Contains frequencies of Cytosine to Thymine mutations per position from the 5'-ends.", + "pattern": "5pCtoT_freq.txt" + } + }, + { + "pgtoa_freq": { + "type": "file", + "description": "Contains frequencies of Guanine to Adenine mutations per position from the 3'-ends.", + "pattern": "3pGtoA_freq.txt" + } + }, + { + "dnacomp": { + "type": "file", + "description": "Contains a table of the reference genome base composition per position, inside reads and adjacent regions.", + "pattern": "dnacomp.txt" + } + }, + { + "lgdistribution": { + "type": "file", + "description": "Contains a table with read length distributions per strand.", + "pattern": "lgdistribution.txt" + } + }, + { + "stats_out_mcmc_hist": { + "type": "file", + "description": "A MCMC histogram for the damage parameters and log likelihood.", + "pattern": "Stats_out_MCMC_hist.pdf" + } + }, + { + "stats_out_mcmc_iter": { + "type": "file", + "description": "Values for the damage parameters and log likelihood in each MCMC iteration.", + "pattern": "Stats_out_MCMC_iter.csv" + } + }, + { + "stats_out_mcmc_trace": { + "type": "file", + "description": "A MCMC trace plot for the damage parameters and log likelihood.", + "pattern": "Stats_out_MCMC_trace.pdf" + } + }, + { + "stats_out_mcmc_iter_summ_stat": { + "type": "file", + "description": "Summary statistics for the damage parameters estimated posterior distributions.", + "pattern": "Stats_out_MCMC_iter_summ_stat.csv" + } + }, + { + "stats_out_mcmc_post_pred": { + "type": "file", + "description": "Empirical misincorporation frequency and posterior predictive intervals from the fitted model.", + "pattern": "Stats_out_MCMC_post_pred.pdf" + } + }, + { + "stats_out_mcmc_correct_prob": { + "type": "file", + "description": "Position specific probability of a C->T and G->A misincorporation is due to damage.", + "pattern": "Stats_out_MCMC_correct_prob.csv" + } + }, + { + "dnacomp_genome": { + "type": "file", + "description": "Contains the global reference genome base composition (computed by seqtk).", + "pattern": "dnacomp_genome.csv" + } + }, + { + "rescaled": { + "type": "file", + "description": "Rescaled BAM file, where likely post-mortem damaged bases have downscaled quality scores.", + "pattern": "*.{bam}" + } + }, + { + "fasta": { + "type": "file", + "description": "Allignments in a FASTA file, only if flagged by -d.", + "pattern": "*.{fasta}" + } + }, + { + "folder": { + "type": "directory", + "description": "Folder created when --plot-only, --rescale and --stats-only flags are passed.", + "pattern": "*/" + } + } + ], + "authors": [ + "@darcy220606" + ] + } + }, + { + "name": "mash_dist", + "path": "modules/nf-core/mash/dist/meta.yml", + "type": "module", + "meta": { + "name": "mash_dist", + "description": "Calculate Mash distances between reference and query seqeunces", + "keywords": [ + "mash/dist" + ], + "tools": [ + { + "mash": { + "description": "Fast sequence distance estimator that uses MinHash", + "homepage": "https://github.com/marbl/Mash", + "documentation": "https://mash.readthedocs.io/en/latest/sketches.html", + "tool_dev_url": "https://github.com/marbl/Mash", + "doi": "10.1186/s13059-016-0997-x", + "licence": [ + "https://github.com/marbl/Mash/blob/master/LICENSE.txt" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reference": { + "type": "file", + "description": "FASTA, FASTQ or Mash sketch", + "pattern": "*.{fasta,fasta.gz,fastq,fastq.gz,msh}" + } + }, + { + "query": { + "type": "file", + "description": "FASTA, FASTQ or Mash sketch", + "pattern": "*.{fasta,fasta.gz,fastq,fastq.gz,msh}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "dist": { + "type": "file", + "description": "The results from mash dist", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "mash_screen", + "path": "modules/nf-core/mash/screen/meta.yml", + "type": "module", + "meta": { + "name": "mash_screen", + "description": "Screens query sequences against large sequence databases", + "keywords": [ + "screen", + "containment", + "contamination", + "taxonomic assignment" + ], + "tools": [ + { + "mash": { + "description": "Fast sequence distance estimator that uses MinHash", + "homepage": "https://github.com/marbl/Mash", + "documentation": "https://mash.readthedocs.io/en/latest/sketches.html", + "tool_dev_url": "https://github.com/marbl/Mash", + "doi": "10.1186/s13059-016-0997-x", + "licence": [ + "https://github.com/marbl/Mash/blob/master/LICENSE.txt" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "query": { + "type": "file", + "description": "Query sequences", + "pattern": "*.fastq.gz" + } + }, + { + "sequence_sketch": { + "type": "file", + "description": "Sequence files to match against", + "pattern": "*.msh" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "screen": { + "type": "file", + "description": "List of sequences from fastx_db similar to query sequences", + "pattern": "*.screen" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "mash_sketch", + "path": "modules/nf-core/mash/sketch/meta.yml", + "type": "module", + "meta": { + "name": "mash_sketch", + "description": "Creates vastly reduced representations of sequences using MinHash", + "keywords": [ + "mash/sketch" + ], + "tools": [ + { + "mash": { + "description": "Fast sequence distance estimator that uses MinHash", + "homepage": "https://github.com/marbl/Mash", + "documentation": "https://mash.readthedocs.io/en/latest/sketches.html", + "tool_dev_url": "https://github.com/marbl/Mash", + "doi": "10.1186/s13059-016-0997-x", + "licence": [ + "https://github.com/marbl/Mash/blob/master/LICENSE.txt" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input paired-end FastQ files" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "mash": { + "type": "file", + "description": "Sketch output", + "pattern": "*.{mash}" + } + }, + { + "stats": { + "type": "file", + "description": "Sketch statistics", + "pattern": "*.{mash_stats}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@thanhleviet" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "mashtree", + "path": "modules/nf-core/mashtree/meta.yml", + "type": "module", + "meta": { + "name": "mashtree", + "description": "Quickly create a tree using Mash distances", + "keywords": [ + "tree", + "mash", + "fasta", + "fastq" + ], + "tools": [ + { + "mashtree": { + "description": "Create a tree using Mash distances", + "homepage": "https://github.com/lskatz/mashtree", + "documentation": "https://github.com/lskatz/mashtree", + "tool_dev_url": "https://github.com/lskatz/mashtree", + "doi": "10.21105/joss.01762", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "seqs": { + "type": "file", + "description": "FASTA, FASTQ, GenBank, or Mash sketch files", + "pattern": "*.{fna,fna.gz,fasta,fasta.gz,fa,fa.gz,gbk,gbk.gz,fastq.gz,msh}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tree": { + "type": "file", + "description": "A Newick formatted tree file", + "pattern": "*.{dnd}" + } + }, + { + "matrix": { + "type": "file", + "description": "A TSV matrix of pair-wise Mash distances", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "maxbin2", + "path": "modules/nf-core/maxbin2/meta.yml", + "type": "module", + "meta": { + "name": "maxbin2", + "description": "MaxBin is a software that is capable of clustering metagenomic contigs", + "keywords": [ + "metagenomics", + "assembly", + "binning", + "maxbin2", + "de novo assembly", + "mags", + "metagenome-assembled genomes", + "contigs" + ], + "tools": [ + { + "maxbin2": { + "description": "MaxBin is software for binning assembled metagenomic sequences based on an Expectation-Maximization algorithm.", + "homepage": "https://sourceforge.net/projects/maxbin/", + "documentation": "https://sourceforge.net/projects/maxbin/", + "tool_dev_url": "https://sourceforge.net/projects/maxbin/", + "doi": "10.1093/bioinformatics/btv638", + "licence": [ + "BSD 3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "contigs": { + "type": "file", + "description": "Multi FASTA file containing assembled contigs of a given sample", + "pattern": "*.fasta" + } + }, + { + "reads": { + "type": "file", + "description": "Reads used to assemble contigs in FASTA or FASTQ format. Do not supply at the same time as abundance files.", + "pattern": "*.fasta" + } + }, + { + "abund": { + "type": "file", + "description": "Contig abundance files, i.e. reads against each contig. See MaxBin2 README for details. Do not supply at the same time as read files." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "binned_fastas": { + "type": "file", + "description": "Binned contigs, one per bin designated with numeric IDs", + "pattern": "*.fasta.gz" + } + }, + { + "summary": { + "type": "file", + "description": "Summary file describing which contigs are being classified into which bin", + "pattern": "*.summary" + } + }, + { + "log": { + "type": "file", + "description": "Log file recording the core steps of MaxBin algorithm", + "pattern": "*.log.gz" + } + }, + { + "marker": { + "type": "file", + "description": "Marker gene presence numbers for each bin", + "pattern": "*.marker.gz" + } + }, + { + "unbinned_fasta": { + "type": "file", + "description": "All sequences that pass the minimum length threshold but are not classified successfully.", + "pattern": "*.noclass.gz" + } + }, + { + "tooshort_fasta": { + "type": "file", + "description": "All sequences that do not meet the minimum length threshold.", + "pattern": "*.tooshort.gz" + } + }, + { + "marker_genes": { + "type": "file", + "description": "All sequences that do not meet the minimum length threshold.", + "pattern": "*.marker_of_each_gene.tar.gz" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "maxquant_lfq", + "path": "modules/nf-core/maxquant/lfq/meta.yml", + "type": "module", + "meta": { + "name": "maxquant_lfq", + "description": "Run standard proteomics data analysis with MaxQuant, mostly dedicated to label-free. Paths to fasta and raw files needs to be marked by \"PLACEHOLDER\"", + "keywords": [ + "sort" + ], + "tools": [ + { + "maxquant": { + "description": "MaxQuant is a quantitative proteomics software package designed for analyzing large mass-spectrometric data sets. License restricted.", + "homepage": "https://www.maxquant.org/", + "documentation": "http://coxdocs.org/doku.php?id=maxquant:start", + "licence": [ + "http://www.coxdocs.org/lib/exe/fetch.php?media=license_agreement.pdf" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "raw": { + "type": "file", + "description": "raw files with mass spectra", + "pattern": "*.{raw,RAW,Raw}" + } + }, + { + "fasta": { + "type": "file", + "description": "fasta file with protein sequences", + "pattern": "*.{fasta}" + } + }, + { + "parfile": { + "type": "file", + "description": "MaxQuant parameter file (XML)", + "pattern": "*.{xml}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + }, + { + "maxquant_txt": { + "type": "file", + "description": "tables with peptides and protein information", + "pattern": "*.{txt}" + } + } + ], + "authors": [ + "@veitveit" + ] + } + }, + { + "name": "mcquant", + "path": "modules/nf-core/mcquant/meta.yml", + "type": "module", + "meta": { + "name": "mcquant", + "description": "write your description here", + "keywords": [ + "quantification", + "image_analysis", + "mcmicro", + "highly_multiplexed_imaging" + ], + "tools": [ + { + "mcquant": { + "description": "Module for single-cell data extraction given a segmentation mask and multi-channel image. The CSV structure is aligned with histoCAT output.", + "homepage": "https://github.com/labsyspharm/quantification", + "documentation": "https://github.com/labsyspharm/quantification/blob/master/README.md", + "tool_dev_url": "https://github.com/labsyspharm/quantification", + "doi": "10.1038/s41592-021-01308-y", + "licence": "" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "image": { + "type": "file", + "description": "Multi-channel image file", + "pattern": "*.{tiff,tif,h5,hdf5}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "mask": { + "type": "file", + "description": "Labeled segmentation mask for image", + "pattern": "*.{tiff,tif,h5,hdf5}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "markerfile": { + "type": "file", + "description": "Marker file with channel names for image to quantify", + "pattern": "*.{csv}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "csv": { + "type": "file", + "description": "Quantified regionprops_table", + "pattern": "*.{csv}" + } + } + ], + "authors": [ + "@FloWuenne" + ] + } + }, + { + "name": "mcroni", + "path": "modules/nf-core/mcroni/meta.yml", + "type": "module", + "meta": { + "name": "mcroni", + "description": "Analysis of mcr-1 gene (mobilized colistin resistance) for sequence variation", + "keywords": [ + "resistance", + "fasta" + ], + "tools": [ + { + "mcroni": { + "description": "Scripts for finding and processing promoter variants upstream of mcr-1", + "homepage": "https://github.com/liampshaw/mcroni", + "documentation": "https://github.com/liampshaw/mcroni", + "tool_dev_url": "https://github.com/liampshaw/mcroni", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "A fasta file.", + "pattern": "*.{fasta.gz,fasta,fa.gz,fa,fna.gz,fna}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "mcroni results in TSV format", + "pattern": "*.tsv" + } + }, + { + "fa": { + "type": "file", + "description": "mcr-1 matching sequences", + "pattern": "*.fa" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "md5sum", + "path": "modules/nf-core/md5sum/meta.yml", + "type": "module", + "meta": { + "name": "md5sum", + "description": "Create an MD5 (128-bit) checksum", + "keywords": [ + "checksum", + "MD5", + "128 bit" + ], + "tools": [ + { + "md5sum": { + "description": "Create an MD5 (128-bit) checksum", + "homepage": "https://www.gnu.org", + "documentation": "https://man7.org/linux/man-pages/man1/md5sum.1.html", + "licence": "GPLv3+" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "file": { + "type": "file", + "description": "Any file", + "pattern": "*.*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "checksum": { + "type": "file", + "description": "File containing checksum", + "pattern": "*.md5" + } + } + ], + "authors": [ + "@matthdsm" + ] + }, + "pipelines": [ + { + "name": "demultiplex", + "version": "1.3.2" + } + ] + }, + { + "name": "medaka", + "path": "modules/nf-core/medaka/meta.yml", + "type": "module", + "meta": { + "name": "medaka", + "description": "A tool to create consensus sequences and variant calls from nanopore sequencing data", + "keywords": [ + "assembly", + "polishing", + "nanopore" + ], + "tools": [ + { + "medaka": { + "description": "Neural network sequence error correction.", + "homepage": "https://nanoporetech.github.io/medaka/index.html", + "documentation": "https://nanoporetech.github.io/medaka/index.html", + "tool_dev_url": "https://github.com/nanoporetech/medaka", + "licence": [ + "Mozilla Public License 2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input nanopore fasta/FastQ files", + "pattern": "*.{fasta,fa,fastq,fastq.gz,fq,fq.gz}" + } + }, + { + "assembly": { + "type": "file", + "description": "Genome assembly", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "assembly": { + "type": "file", + "description": "Polished genome assembly", + "pattern": "*.fa.gz" + } + } + ], + "authors": [ + "@avantonder" + ] + }, + "pipelines": [ + { + "name": "crisprseq", + "version": "2.0.0" + } + ] + }, + { + "name": "megahit", + "path": "modules/nf-core/megahit/meta.yml", + "type": "module", + "meta": { + "name": "megahit", + "description": "An ultra-fast metagenomic assembler for large and complex metagenomics", + "keywords": [ + "megahit", + "denovo", + "assembly", + "debruijn", + "metagenomics" + ], + "tools": [ + { + "megahit": { + "description": "An ultra-fast single-node solution for large and complex metagenomics assembly via succinct de Bruijn graph", + "homepage": "https://github.com/voutcn/megahit", + "documentation": "https://github.com/voutcn/megahit", + "tool_dev_url": "https://github.com/voutcn/megahit", + "doi": "10.1093/bioinformatics/btv033", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information and input single, or paired-end FASTA/FASTQ files (optionally decompressed)\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively in gzipped or uncompressed FASTQ or FASTA format.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "contigs": { + "type": "file", + "description": "Final final contigs result of the assembly in FASTA format.", + "pattern": "*.contigs.fa.gz" + } + }, + { + "k_contigs": { + "type": "file", + "description": "Contigs assembled from the de Bruijn graph of order-K", + "pattern": "k*.contigs.fa.gz" + } + }, + { + "addi_contigs": { + "type": "file", + "description": "Contigs assembled after iteratively removing local low coverage unitigs in the de Bruijn graph of order-K", + "pattern": "k*.addi.fa.gz" + } + }, + { + "local_contigs": { + "type": "file", + "description": "Contigs of the locally assembled contigs for k=K", + "pattern": "k*.local.fa.gz" + } + }, + { + "kfinal_contigs": { + "type": "file", + "description": "Stand-alone contigs for k=K; if local assembly is turned on, the file will be empty", + "pattern": "k*.final.contigs.fa.gz" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "megan_daa2info", + "path": "modules/nf-core/megan/daa2info/meta.yml", + "type": "module", + "meta": { + "name": "megan_daa2info", + "description": "Analyses a DAA file and exports information in text format", + "keywords": [ + "megan", + "diamond", + "daa", + "classification", + "conversion" + ], + "tools": [ + { + "megan": { + "description": "A tool for studying the taxonomic content of a set of DNA reads", + "homepage": "https://uni-tuebingen.de/fakultaeten/mathematisch-naturwissenschaftliche-fakultaet/fachbereiche/informatik/lehrstuehle/algorithms-in-bioinformatics/software/megan6/", + "documentation": "https://software-ab.cs.uni-tuebingen.de/download/megan6/welcome.html", + "tool_dev_url": "https://github.com/husonlab/megan-ce", + "doi": "10.1371/journal.pcbi.1004957", + "licence": "['GPL >=3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "daa": { + "type": "file", + "description": "DAA file from DIAMOND", + "pattern": "*.daa" + } + }, + { + "megan_summary": { + "type": "boolean", + "description": "Specify whether to generate a MEGAN summary file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt_gz": { + "type": "file", + "description": "Compressed text file", + "pattern": "*.txt.gz" + } + }, + { + "megan": { + "type": "file", + "description": "Optionally generated MEGAN summary file", + "pattern": "*.megan" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "megan_rma2info", + "path": "modules/nf-core/megan/rma2info/meta.yml", + "type": "module", + "meta": { + "name": "megan_rma2info", + "description": "Analyses an RMA file and exports information in text format", + "keywords": [ + "megan", + "rma6", + "classification", + "conversion" + ], + "tools": [ + { + "megan": { + "description": "A tool for studying the taxonomic content of a set of DNA reads", + "homepage": "https://uni-tuebingen.de/fakultaeten/mathematisch-naturwissenschaftliche-fakultaet/fachbereiche/informatik/lehrstuehle/algorithms-in-bioinformatics/software/megan6/", + "documentation": "https://software-ab.cs.uni-tuebingen.de/download/megan6/welcome.html", + "tool_dev_url": "https://github.com/husonlab/megan-ce", + "doi": "10.1371/journal.pcbi.1004957", + "licence": "['GPL >=3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "rma6": { + "type": "file", + "description": "RMA6 file from MEGAN or MALT", + "pattern": "*.rma6" + } + }, + { + "megan_summary": { + "type": "boolean", + "description": "Specify whether to generate an MEGAN summary file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "Compressed text file", + "pattern": "*.txt.gz" + } + }, + { + "megan_summary": { + "type": "file", + "description": "Optionally generated MEGAN summary file", + "pattern": "*.megan" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "meningotype", + "path": "modules/nf-core/meningotype/meta.yml", + "type": "module", + "meta": { + "name": "meningotype", + "description": "Serotyping of Neisseria meningitidis assemblies", + "keywords": [ + "fasta", + "Neisseria meningitidis", + "serotype" + ], + "tools": [ + { + "meningotype": { + "description": "In silico serotyping and finetyping (porA and fetA) of Neisseria meningitidis", + "homepage": "https://github.com/MDU-PHL/meningotype", + "documentation": "https://github.com/MDU-PHL/meningotype", + "tool_dev_url": "https://github.com/MDU-PHL/meningotype", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA assembly file", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "Tab-delimited result file", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "merqury", + "path": "modules/nf-core/merqury/meta.yml", + "type": "module", + "meta": { + "name": "merqury", + "description": "k-mer based assembly evaluation.", + "keywords": [ + "k-mer", + "assembly", + "evaluation" + ], + "tools": [ + { + "merqury": { + "description": "Evaluate genome assemblies with k-mers and more.", + "tool_dev_url": "https://github.com/marbl/merqury", + "doi": "10.1186/s13059-020-02134-9", + "licence": "['PUBLIC DOMAIN']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "meryl_db": { + "type": "file", + "description": "Meryl read database" + } + }, + { + "assembly": { + "type": "file", + "description": "FASTA assembly file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "assembly_only_kmers_bed": { + "type": "file", + "description": "The positions of the k-mers found only in an assembly for further investigation in .bed", + "pattern": "*_only.bed" + } + }, + { + "assembly_only_kmers_wig": { + "type": "file", + "description": "The positions of the k-mers found only in an assembly for further investigation in .wig", + "pattern": "*_only.wig" + } + }, + { + "stats": { + "type": "file", + "description": "Assembly statistics file", + "pattern": "*.completeness.stats" + } + }, + { + "dist_hist": { + "type": "file", + "description": "Histogram", + "pattern": "*.dist_only.hist" + } + }, + { + "spectra_cn_fl_png": { + "type": "file", + "description": "Unstacked copy number spectra filled plot in PNG format", + "pattern": "*.spectra-cn.fl.png" + } + }, + { + "spectra_cn_ln_png": { + "type": "file", + "description": "Unstacked copy number spectra line plot in PNG format", + "pattern": "*.spectra-cn.ln.png" + } + }, + { + "spectra_cn_st_png": { + "type": "file", + "description": "Stacked copy number spectra line plot in PNG format", + "pattern": "*.spectra-cn.st.png" + } + }, + { + "spectra_cn_hist": { + "type": "file", + "description": "Copy number spectra histogram", + "pattern": "*.spectra-cn.hist" + } + }, + { + "spectra_asm_fl_png": { + "type": "file", + "description": "Unstacked assembly spectra filled plot in PNG format", + "pattern": "*.spectra-asm.fl.png" + } + }, + { + "spectra_asm_ln_png": { + "type": "file", + "description": "Unstacked assembly spectra line plot in PNG format", + "pattern": "*.spectra-asm.ln.png" + } + }, + { + "spectra_asm_st_png": { + "type": "file", + "description": "Stacked assembly spectra line plot in PNG format", + "pattern": "*.spectra-asm.st.png" + } + }, + { + "spectra_asm_hist": { + "type": "file", + "description": "Assembly spectra histogram", + "pattern": "*.spectra-asm.hist" + } + }, + { + "assembly_qv": { + "type": "file", + "description": "Assembly consensus quality estimation", + "pattern": "*.qv" + } + }, + { + "scaffold_qv": { + "type": "file", + "description": "Scaffold consensus quality estimation", + "pattern": "*.qv" + } + }, + { + "read_ploidy": { + "type": "file", + "description": "Ploidy estimate from read k-mer database", + "pattern": "*.hist.ploidy" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "merquryfk_katcomp", + "path": "modules/nf-core/merquryfk/katcomp/meta.yml", + "type": "module", + "meta": { + "name": "merquryfk_katcomp", + "description": "A reimplemenation of Kat Comp to work with FastK databases", + "keywords": [ + "fastk", + "k-mer", + "compare" + ], + "tools": [ + { + "merquryfk": { + "description": "FastK based version of Merqury", + "homepage": "https://github.com/thegenemyers/MERQURY.FK", + "tool_dev_url": "https://github.com/thegenemyers/MERQURY.FK", + "licence": "https://github.com/thegenemyers/MERQURY.FK/blob/main/LICENSE" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastk1_hist": { + "type": "file", + "description": "A histogram files from the program FastK", + "pattern": "*.hist" + } + }, + { + "fastk1_ktab": { + "type": "file", + "description": "Histogram ktab files from the program FastK (option -t)", + "pattern": "*.ktab*" + } + }, + { + "fastk2_hist": { + "type": "file", + "description": "A histogram files from the program FastK", + "pattern": "*.hist" + } + }, + { + "fastk2_ktab": { + "type": "file", + "description": "Histogram ktab files from the program FastK (option -t)", + "pattern": "*.ktab*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "filled_png": { + "type": "file", + "description": "Comparison of Kmers between sample 1 and 2 in filled PNG format.", + "pattern": "*.fi.png" + } + }, + { + "line_png": { + "type": "file", + "description": "Comparison of Kmers between sample 1 and 2 in line PNG format.", + "pattern": "*.ln.png" + } + }, + { + "stacked_png": { + "type": "file", + "description": "Comparison of Kmers between sample 1 and 2 in stacked PNG format.", + "pattern": "*.st.png" + } + }, + { + "filled_pdf": { + "type": "file", + "description": "Comparison of Kmers between sample 1 and 2 in filled PDF format.", + "pattern": "*.fi.pdf" + } + }, + { + "line_pdf": { + "type": "file", + "description": "Comparison of Kmers between sample 1 and 2 in line PDF format.", + "pattern": "*.ln.pdf" + } + }, + { + "stacked_pdf": { + "type": "file", + "description": "Comparison of Kmers between sample 1 and 2 in stacked PDF format.", + "pattern": "*.st.pdf" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "merquryfk_katgc", + "path": "modules/nf-core/merquryfk/katgc/meta.yml", + "type": "module", + "meta": { + "name": "merquryfk_katgc", + "description": "A reimplemenation of Kat GC to work with FastK databases", + "keywords": [ + "k-mer", + "GC content" + ], + "tools": [ + { + "merquryfk": { + "description": "FastK based version of Merqury", + "homepage": "https://github.com/thegenemyers/MERQURY.FK", + "tool_dev_url": "https://github.com/thegenemyers/MERQURY.FK", + "licence": "https://github.com/thegenemyers/MERQURY.FK/blob/main/LICENSE" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastk_hist": { + "type": "file", + "description": "A histogram files from the program FastK", + "pattern": "*.hist" + } + }, + { + "fastk_ktab": { + "type": "file", + "description": "ktab files from the program FastK", + "pattern": "*.ktab*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "filled_gc_plot_png": { + "type": "file", + "description": "A filled GC content plot in PNG format", + "pattern": "*.fi.png" + } + }, + { + "filled_gc_plot_pdf": { + "type": "file", + "description": "A filled GC content plot in PDF format", + "pattern": "*.fi.pdf" + } + }, + { + "line_gc_plot_png": { + "type": "file", + "description": "A line GC content plot in PNG format", + "pattern": "*.ln.png" + } + }, + { + "line_gc_plot_pdf": { + "type": "file", + "description": "A line GC content plot in PDF format", + "pattern": "*.ln.pdf" + } + }, + { + "stacked_gc_plot_png": { + "type": "file", + "description": "A stacked GC content plot in PNG format", + "pattern": "*.st.png" + } + }, + { + "stacked_gc_plot_pdf": { + "type": "file", + "description": "A stacked GC content plot in PDF format", + "pattern": "*.st.pdf" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "merquryfk_merquryfk", + "path": "modules/nf-core/merquryfk/merquryfk/meta.yml", + "type": "module", + "meta": { + "name": "merquryfk_merquryfk", + "description": "FastK based version of Merqury", + "keywords": [ + "sort" + ], + "tools": [ + { + "merquryfk": { + "description": "FastK based version of Merqury", + "homepage": "https://github.com/thegenemyers/MERQURY.FK", + "tool_dev_url": "https://github.com/thegenemyers/MERQURY.FK", + "licence": "https://github.com/thegenemyers/MERQURY.FK/blob/main/LICENSE" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastk_hist": { + "type": "file", + "description": "A histogram files from the program FastK", + "pattern": "*.hist" + } + }, + { + "fastk_ktab": { + "type": "file", + "description": "Histogram ktab files from the program FastK (option -t)", + "pattern": "*.ktab*" + } + }, + { + "assembly": { + "type": "file", + "description": "Genome (primary) assembly files (fasta format)", + "pattern": ".fasta" + } + }, + { + "haplotigs": { + "type": "file", + "description": "Assembly haplotigs (fasta format)", + "pattern": ".fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "stats": { + "type": "file", + "description": "Assembly statistics file", + "pattern": "*.completeness.stats" + } + }, + { + "bed": { + "type": "file", + "description": "Assembly only kmer positions not supported by reads in bed format", + "pattern": "*_only.bed" + } + }, + { + "spectra_cn_fl_png": { + "type": "file", + "description": "Unstacked copy number spectra filled plot in PNG format", + "pattern": "*.spectra-cn.fl.png" + } + }, + { + "spectra_cn_ln_png": { + "type": "file", + "description": "Unstacked copy number spectra line plot in PNG format", + "pattern": "*.spectra-cn.ln.png" + } + }, + { + "spectra_cn_st_png": { + "type": "file", + "description": "Stacked copy number spectra line plot in PNG format", + "pattern": "*.spectra-cn.st.png" + } + }, + { + "spectra_asm_fl_png": { + "type": "file", + "description": "Unstacked assembly spectra filled plot in PNG format", + "pattern": "*.spectra-asm.fl.png" + } + }, + { + "spectra_asm_ln_png": { + "type": "file", + "description": "Unstacked assembly spectra line plot in PNG format", + "pattern": "*.spectra-asm.ln.png" + } + }, + { + "spectra_asm_st_png": { + "type": "file", + "description": "Stacked assembly spectra line plot in PNG format", + "pattern": "*.spectra-asm.st.png" + } + }, + { + "spectra_cn_fl_pdf": { + "type": "file", + "description": "Unstacked copy number spectra filled plot in PDF format", + "pattern": "*.spectra-cn.fl.pdf" + } + }, + { + "spectra_cn_ln_pdf": { + "type": "file", + "description": "Unstacked copy number spectra line plot in PDF format", + "pattern": "*.spectra-cn.ln.pdf" + } + }, + { + "spectra_cn_st_pdf": { + "type": "file", + "description": "Stacked copy number spectra line plot in PDF format", + "pattern": "*.spectra-cn.st.pdf" + } + }, + { + "spectra_asm_fl_pdf": { + "type": "file", + "description": "Unstacked assembly spectra filled plot in PDF format", + "pattern": "*.spectra-asm.fl.pdf" + } + }, + { + "spectra_asm_ln_pdf": { + "type": "file", + "description": "Unstacked assembly spectra line plot in PDF format", + "pattern": "*.spectra-asm.ln.pdf" + } + }, + { + "spectra_asm_st_pdf": { + "type": "file", + "description": "Stacked assembly spectra line plot in PDF format", + "pattern": "*.spectra-asm.st.pdf" + } + }, + { + "assembly_qv": { + "type": "file", + "description": "error and qv table for each scaffold of the assembly", + "pattern": "*.qv" + } + }, + { + "qv": { + "type": "file", + "description": "error and qv of each assembly as a whole", + "pattern": "*.qv" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "merquryfk_ploidyplot", + "path": "modules/nf-core/merquryfk/ploidyplot/meta.yml", + "type": "module", + "meta": { + "name": "merquryfk_ploidyplot", + "description": "An improved version of Smudgeplot using FastK", + "keywords": [ + "kmer", + "smudgeplot", + "ploidy" + ], + "tools": [ + { + "merquryfk": { + "description": "FastK based version of Merqury", + "homepage": "https://github.com/thegenemyers/MERQURY.FK", + "tool_dev_url": "https://github.com/thegenemyers/MERQURY.FK", + "licence": "https://github.com/thegenemyers/MERQURY.FK/blob/main/LICENSE" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastk_hist": { + "type": "file", + "description": "A histogram files from the program FastK", + "pattern": "*.hist" + } + }, + { + "fastk_ktab": { + "type": "file", + "description": "ktab files from the program FastK", + "pattern": "*.ktab*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "filled_ploidy_plot_png": { + "type": "file", + "description": "A filled ploidy plot in PNG format", + "pattern": "*.fi.png" + } + }, + { + "filled_ploidy_plot_pdf": { + "type": "file", + "description": "A filled ploidy plot in PDF format", + "pattern": "*.fi.pdf" + } + }, + { + "line_ploidy_plot_png": { + "type": "file", + "description": "A line ploidy plot in PNG format", + "pattern": "*.ln.png" + } + }, + { + "line_ploidy_plot_pdf": { + "type": "file", + "description": "A lin4 ploidy plot in PDF format", + "pattern": "*.ln.pdf" + } + }, + { + "stacked_ploidy_plot_png": { + "type": "file", + "description": "A stacked ploidy plot in PNG format", + "pattern": "*.st.png" + } + }, + { + "stacked_ploidy_plot_pdf": { + "type": "file", + "description": "A stacked ploidy plot in PDF format", + "pattern": "*.st.pdf" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "meryl_count", + "path": "modules/nf-core/meryl/count/meta.yml", + "type": "module", + "meta": { + "name": "meryl_count", + "description": "A genomic k-mer counter (and sequence utility) with nice features.", + "keywords": [ + "k-mer", + "count" + ], + "tools": [ + { + "meryl": { + "description": "A genomic k-mer counter (and sequence utility) with nice features. ", + "homepage": "https://github.com/marbl/meryl", + "documentation": "https://meryl.readthedocs.io/en/latest/quick-start.html", + "tool_dev_url": "https://github.com/marbl/meryl", + "licence": "['GPL']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "meryl_db": { + "type": "directory", + "description": "A Meryl k-mer database", + "pattern": "*.meryldb" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "meryl_histogram", + "path": "modules/nf-core/meryl/histogram/meta.yml", + "type": "module", + "meta": { + "name": "meryl_histogram", + "description": "A genomic k-mer counter (and sequence utility) with nice features.", + "keywords": [ + "k-mer", + "histogram" + ], + "tools": [ + { + "meryl": { + "description": "A genomic k-mer counter (and sequence utility) with nice features. ", + "homepage": "https://github.com/marbl/meryl", + "documentation": "https://meryl.readthedocs.io/en/latest/quick-start.html", + "tool_dev_url": "https://github.com/marbl/meryl", + "licence": "['GPL']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "meryl_dbs": { + "type": "directory", + "description": "Meryl k-mer database" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "hist": { + "type": "file", + "description": "Histogram of k-mers", + "pattern": "*.hist" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "meryl_unionsum", + "path": "modules/nf-core/meryl/unionsum/meta.yml", + "type": "module", + "meta": { + "name": "meryl_unionsum", + "description": "A genomic k-mer counter (and sequence utility) with nice features.", + "keywords": [ + "k-mer", + "unionsum" + ], + "tools": [ + { + "meryl": { + "description": "A genomic k-mer counter (and sequence utility) with nice features. ", + "homepage": "https://github.com/marbl/meryl", + "documentation": "https://meryl.readthedocs.io/en/latest/quick-start.html", + "tool_dev_url": "https://github.com/marbl/meryl", + "licence": "['GPL']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "meryl_dbs": { + "type": "directory", + "description": "Meryl k-mer databases" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "meryl_db": { + "type": "directory", + "description": "A Meryl k-mer database that is the union sum of the input databases", + "pattern": "*.unionsum.meryldb" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + } + ] + }, + { + "name": "metabat2_jgisummarizebamcontigdepths", + "path": "modules/nf-core/metabat2/jgisummarizebamcontigdepths/meta.yml", + "type": "module", + "meta": { + "name": "metabat2_jgisummarizebamcontigdepths", + "description": "Depth computation per contig step of metabat2", + "keywords": [ + "sort", + "binning", + "depth", + "bam", + "coverage", + "de novo assembly" + ], + "tools": [ + { + "metabat2": { + "description": "Metagenome binning", + "homepage": "https://bitbucket.org/berkeleylab/metabat/src/master/", + "documentation": "https://bitbucket.org/berkeleylab/metabat/src/master/", + "tool_dev_url": "https://bitbucket.org/berkeleylab/metabat/src/master/", + "doi": "10.7717/peerj.7359", + "licence": [ + "BSD-3-clause-LBNL" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM file of reads aligned on the assembled contigs", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file", + "pattern": "*.bam.bai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "depth": { + "type": "file", + "description": "Text file listing the coverage per contig", + "pattern": ".txt.gz" + } + } + ], + "authors": [ + "@maxibor" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "metabat2_metabat2", + "path": "modules/nf-core/metabat2/metabat2/meta.yml", + "type": "module", + "meta": { + "name": "metabat2_metabat2", + "description": "Metagenome binning of contigs", + "keywords": [ + "sort", + "binning", + "depth", + "bam", + "coverage", + "de novo assembly" + ], + "tools": [ + { + "metabat2": { + "description": "Metagenome binning", + "homepage": "https://bitbucket.org/berkeleylab/metabat/src/master/", + "documentation": "https://bitbucket.org/berkeleylab/metabat/src/master/", + "tool_dev_url": "https://bitbucket.org/berkeleylab/metabat/src/master/", + "doi": "10.7717/peerj.7359", + "licence": [ + "BSD-3-clause-LBNL" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Fasta file of the assembled contigs", + "pattern": "*.{fa,fas,fasta,fna,fa.gz,fas.gz,fasta.gz,fna.gz}" + } + }, + { + "depth": { + "type": "file", + "description": "Optional text file listing the coverage per contig pre-generated\nby metabat2_jgisummarizebamcontigdepths\n", + "pattern": "*.txt" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fasta": { + "type": "file", + "description": "Bins created from assembled contigs in fasta file", + "pattern": "*.fa.gz" + } + }, + { + "tooshort": { + "type": "file", + "description": "Contigs that did not pass length filtering", + "pattern": "*.tooShort.fa.gz" + } + }, + { + "lowdepth": { + "type": "file", + "description": "Contigs that did not have sufficient depth for binning", + "pattern": "*.lowDepth.fa.gz" + } + }, + { + "unbinned": { + "type": "file", + "description": "Contigs that pass length and depth filtering but could not be binned", + "pattern": "*.unbinned.fa.gz" + } + }, + { + "membership": { + "type": "file", + "description": "cluster memberships as a matrix format.", + "pattern": "*.tsv.gz" + } + } + ], + "authors": [ + "@maxibor", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "metaeuk_easypredict", + "path": "modules/nf-core/metaeuk/easypredict/meta.yml", + "type": "module", + "meta": { + "name": "metaeuk_easypredict", + "description": "Annotation of eukaryotic metagenomes using MetaEuk", + "keywords": [ + "genomics", + "annotation", + "fasta" + ], + "tools": [ + { + "metaeuk": { + "description": "MetaEuk - sensitive, high-throughput gene discovery and annotation for large-scale eukaryotic metagenomics", + "homepage": "https://github.com/soedinglab/metaeuk", + "documentation": "https://github.com/soedinglab/metaeuk", + "tool_dev_url": "https://github.com/soedinglab/metaeuk", + "doi": "10.1186/s40168-020-00808-x", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Nucleotide FASTA file for annotation", + "pattern": "*.{fasta,fa,fasta.gz,fa.gz}" + } + }, + { + "database": { + "type": "file", + "description": "Either a fasta file containing protein sequences, or a directory containing an mmseqs2-formatted protein database" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "faa": { + "type": "file", + "description": "Protein FASTA file containing the exons from the input FASTA file", + "pattern": "*.{fas}" + } + }, + { + "codon": { + "type": "file", + "description": "Nucleotide FASTA file of protein-coding sequences", + "pattern": "*.{codon.fas}" + } + }, + { + "tsv": { + "type": "file", + "description": "TSV file containing locations of each protein coding sequence in the input fasta", + "pattern": "*.headersMap.{tsv}" + } + }, + { + "gff": { + "type": "file", + "description": "Annotation file in GFF format", + "pattern": "*.{gff}" + } + } + ], + "authors": [ + "@prototaxites" + ] + } + }, + { + "name": "metaphlan3_mergemetaphlantables", + "path": "modules/nf-core/metaphlan3/mergemetaphlantables/meta.yml", + "type": "module", + "meta": { + "name": "metaphlan3_mergemetaphlantables", + "description": "Merges output abundance tables from MetaPhlAn3", + "keywords": [ + "metagenomics", + "classification", + "merge", + "table", + "profiles" + ], + "tools": [ + { + "metaphlan3": { + "description": "Identify clades (phyla to species) present in the metagenome obtained from a microbiome sample and their relative abundance", + "homepage": "https://huttenhower.sph.harvard.edu/metaphlan/", + "documentation": "https://github.com/biobakery/MetaPhlAn", + "doi": "10.7554/eLife.65088", + "licence": [ + "MIT License" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "profiles": { + "type": "file", + "description": "List of per-sample MetaPhlAn3 taxonomic abundance tables", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "txt", + "description": "Combined MetaPhlAn3 table", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "metaphlan3_metaphlan3", + "path": "modules/nf-core/metaphlan3/metaphlan3/meta.yml", + "type": "module", + "meta": { + "name": "metaphlan3_metaphlan3", + "description": "MetaPhlAn is a tool for profiling the composition of microbial communities from metagenomic shotgun sequencing data.", + "keywords": [ + "metagenomics", + "classification", + "fastq", + "bam", + "fasta" + ], + "tools": [ + { + "metaphlan3": { + "description": "Identify clades (phyla to species) present in the metagenome obtained from a microbiome sample and their relative abundance", + "homepage": "https://huttenhower.sph.harvard.edu/metaphlan/", + "documentation": "https://github.com/biobakery/MetaPhlAn", + "doi": "10.7554/eLife.65088", + "licence": [ + "MIT License" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "Metaphlan 3.0 can classify the metagenome from a variety of input data types, including FASTQ files (single-end and paired-end), FASTA, bowtie2-produced SAM files (produced from alignments to the MetaPHlAn marker database) and intermediate bowtie2 alignment files (bowtie2out)", + "pattern": "*.{fastq.gz, fasta, fasta.gz, sam, bowtie2out.txt}" + } + }, + { + "metaphlan_db": { + "type": "file", + "description": "Directory containing pre-downloaded and uncompressed MetaPhlAn3 database downloaded from: http://cmprod1.cibio.unitn.it/biobakery3/metaphlan_databases/.\nNote that you will also need to specify `--index` and the database version name (e.g. 'mpa_v31_CHOCOPhlAn_201901') in your module.conf ext.args for METAPHLAN3_METAPHLAN3!\n", + "pattern": "*/" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "profile": { + "type": "file", + "description": "Tab-separated output file of the predicted taxon relative abundances", + "pattern": "*.{txt}" + } + }, + { + "biom": { + "type": "file", + "description": "General-use format for representing biological sample by observation contingency tables", + "pattern": "*.{biom}" + } + }, + { + "bowtie2out": { + "type": "file", + "description": "Intermediate Bowtie2 output produced from mapping the metagenome against the MetaPHlAn marker database ( not compatible with `bowtie2out` files generated with MetaPhlAn versions below 3 )", + "pattern": "*.{bowtie2out.txt}" + } + } + ], + "authors": [ + "@MGordon09" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "metaphlan_makedb", + "path": "modules/nf-core/metaphlan/makedb/meta.yml", + "type": "module", + "meta": { + "name": "metaphlan_makedb", + "description": "Build MetaPhlAn database for taxonomic profiling.", + "keywords": [ + "metaphlan", + "index", + "database", + "metagenomics" + ], + "tools": [ + { + "metaphlan": { + "description": "Identify clades (phyla to species) present in the metagenome obtained from a microbiome sample and their relative abundance", + "homepage": "https://huttenhower.sph.harvard.edu/metaphlan/", + "documentation": "https://github.com/biobakery/MetaPhlAn", + "doi": "10.7554/eLife.65088", + "licence": [ + "MIT License" + ] + } + } + ], + "output": [ + { + "db": { + "type": "directory", + "description": "Output directory containing the indexed METAPHLAN database", + "pattern": "*/" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@LilyAnderssonLee" + ] + } + }, + { + "name": "metaphlan_mergemetaphlantables", + "path": "modules/nf-core/metaphlan/mergemetaphlantables/meta.yml", + "type": "module", + "meta": { + "name": "metaphlan_mergemetaphlantables", + "description": "Merges output abundance tables from MetaPhlAn4", + "keywords": [ + "metagenomics", + "classification", + "merge", + "table", + "profiles" + ], + "tools": [ + { + "metaphlan4": { + "description": "Identify clades (phyla to species) present in the metagenome obtained from a microbiome sample and their relative abundance", + "homepage": "https://huttenhower.sph.harvard.edu/metaphlan/", + "documentation": "https://github.com/biobakery/MetaPhlAn", + "doi": "10.1038/s41587-023-01688-w", + "licence": [ + "MIT License" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "profiles": { + "type": "file", + "description": "List of per-sample MetaPhlAn4 taxonomic abundance tables", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "Combined MetaPhlAn4 table", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@jfy133", + "@LilyAnderssonLee" + ] + } + }, + { + "name": "metaphlan_metaphlan", + "path": "modules/nf-core/metaphlan/metaphlan/meta.yml", + "type": "module", + "meta": { + "name": "metaphlan_metaphlan", + "description": "MetaPhlAn is a tool for profiling the composition of microbial communities from metagenomic shotgun sequencing data.", + "keywords": [ + "metagenomics", + "classification", + "fastq", + "fasta", + "sam" + ], + "tools": [ + { + "metaphlan": { + "description": "Identify clades (phyla to species) present in the metagenome obtained from a microbiome sample and their relative abundance", + "homepage": "https://huttenhower.sph.harvard.edu/metaphlan/", + "documentation": "https://github.com/biobakery/MetaPhlAn", + "doi": "10.1038/s41587-023-01688-w", + "licence": [ + "MIT License" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "Metaphlan can classify the metagenome from a variety of input data types, including FASTQ files (single-end and paired-end), FASTA, bowtie2-produced SAM files (produced from alignments to the MetaPHlAn marker database) and intermediate bowtie2 alignment files (bowtie2out)", + "pattern": "*.{fastq.gz, fasta, fasta.gz, sam, bowtie2out.txt}" + } + }, + { + "metaphlan_db": { + "type": "file", + "description": "Directory containing pre-downloaded and uncompressed MetaPhlAn database downloaded from: http://cmprod1.cibio.unitn.it/biobakery4/metaphlan_databases/.\nNote that you will also need to specify `--index` and the database version name (e.g. 'mpa_vJan21_TOY_CHOCOPhlAnSGB_202103') in your module.conf ext.args for METAPHLAN_METAPHLAN!\n", + "pattern": "*/" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "profile": { + "type": "file", + "description": "Tab-separated output file of the predicted taxon relative abundances", + "pattern": "*.{txt}" + } + }, + { + "biom": { + "type": "file", + "description": "General-use format for representing biological sample by observation contingency tables", + "pattern": "*.{biom}" + } + }, + { + "bowtie2out": { + "type": "file", + "description": "Intermediate Bowtie2 output produced from mapping the metagenome against the MetaPHlAn marker database ( not compatible with `bowtie2out` files generated with MetaPhlAn versions below 3 )", + "pattern": "*.{bowtie2out.txt}" + } + } + ], + "authors": [ + "@MGordon09", + "@LilyAnderssonLee" + ] + } + }, + { + "name": "methyldackel_extract", + "path": "modules/nf-core/methyldackel/extract/meta.yml", + "type": "module", + "meta": { + "name": "methyldackel_extract", + "description": "Extracts per-base methylation metrics from alignments", + "keywords": [ + "methylation", + "5mC", + "methylseq", + "bisulphite", + "bisulfite", + "consensus", + "bedGraph", + "bam", + "cram" + ], + "tools": [ + { + "methyldackel": { + "description": "Methylation caller from MethylDackel, a (mostly) universal methylation extractor\nfor methyl-seq experiments.\n", + "homepage": "https://github.com/dpryan79/MethylDackel", + "documentation": "https://github.com/dpryan79/MethylDackel/blob/master/README.md", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input genome fasta file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fai": { + "type": "file", + "description": "FASTA index file", + "pattern": "*.fai" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM/CRAM index file", + "pattern": "*.{bai,crai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bedgraph": { + "type": "file", + "description": "bedGraph file, containing per-base methylation metrics", + "pattern": "*.bedGraph" + } + }, + { + "methylkit": { + "type": "file", + "description": "methylKit file, containing per-base methylation metrics", + "pattern": "*.methylKit" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@phue" + ] + }, + "pipelines": [ + { + "name": "methylseq", + "version": "2.4.0" + } + ] + }, + { + "name": "methyldackel_mbias", + "path": "modules/nf-core/methyldackel/mbias/meta.yml", + "type": "module", + "meta": { + "name": "methyldackel_mbias", + "description": "Generates methylation bias plots from alignments", + "keywords": [ + "methylation", + "5mC", + "methylseq", + "bisulphite", + "bisulfite", + "methylation bias", + "mbias", + "qc", + "bam", + "cram" + ], + "tools": [ + { + "methyldackel": { + "description": "Read position methylation bias tools from MethylDackel, a (mostly) universal extractor\nfor methyl-seq experiments.\n", + "homepage": "https://github.com/dpryan79/MethylDackel", + "documentation": "https://github.com/dpryan79/MethylDackel/blob/master/README.md", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input genome fasta file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fai": { + "type": "file", + "description": "FASTA index file", + "pattern": "*.{fai}" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM/CRAM index file", + "pattern": "*.{bai,crai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "txt": { + "type": "file", + "description": "Text file containing methylation bias", + "pattern": "*.{txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@phue" + ] + }, + "pipelines": [ + { + "name": "methylseq", + "version": "2.4.0" + } + ] + }, + { + "name": "midas_run", + "path": "modules/nf-core/midas/run/meta.yml", + "type": "module", + "meta": { + "name": "midas_run", + "description": "A tool to estimate bacterial species abundance", + "keywords": [ + "bacteria", + "metagenomic", + "abundance" + ], + "tools": [ + { + "midas": { + "description": "An integrated pipeline for estimating strain-level genomic variation from metagenomic data", + "homepage": "https://github.com/snayfach/MIDAS", + "documentation": "https://github.com/snayfach/MIDAS", + "tool_dev_url": "https://github.com/snayfach/MIDAS", + "doi": "10.1101/gr.201863.115", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Reads in FASTQ format", + "pattern": "*.{fastq.gz}" + } + }, + { + "db": { + "type": "file", + "description": "A database formatted for MIDAS", + "pattern": "*.{db}" + } + }, + { + "mode": { + "type": "string", + "description": "The mode to run MIDAS is", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "results": { + "type": "file", + "description": "A directory of results from MIDAS run", + "pattern": "*" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "mindagap_mindagap", + "path": "modules/nf-core/mindagap/mindagap/meta.yml", + "type": "module", + "meta": { + "name": "mindagap_mindagap", + "description": "Takes a single panorama image and fills the empty grid lines with neighbour-weighted values.", + "keywords": [ + "imaging", + "resolve_bioscience", + "spatial_transcriptomics" + ], + "tools": [ + { + "mindagap": { + "description": "Mindagap is a collection of tools to process multiplexed FISH data, such as produced by Resolve Biosciences Molecular Cartography.", + "homepage": "https://github.com/ViriatoII/MindaGap", + "documentation": "https://github.com/ViriatoII/MindaGap/blob/main/README.md", + "tool_dev_url": "https://github.com/ViriatoII/MindaGap", + "licence": "BSD-3-Clause license" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tiff": { + "type": "file", + "description": "A tiff file containing gridlines as produced by Molecular Cartography imaging.", + "pattern": "*.{tiff}" + } + }, + { + "boxsize": { + "type": "integer", + "description": "A larger number allows to overcome large gaps, but makes looses fine details in new filled grid." + } + }, + { + "loopnum": { + "type": "integer", + "description": "The number of times gaussian blur is run consecutively on the gridlines. A smaller number is faster, but the result is less good." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tiff": { + "type": "file", + "description": "A tiff file with gridlines filled based on consecutive gaussian blurring.", + "pattern": "*.{tiff}" + } + } + ], + "authors": [ + "@ViriatoII", + "@flowuenne" + ] + } + }, + { + "name": "minia", + "path": "modules/nf-core/minia/meta.yml", + "type": "module", + "meta": { + "name": "minia", + "description": "Minia is a short-read assembler based on a de Bruijn graph", + "keywords": [ + "assembly" + ], + "tools": [ + { + "minia": { + "description": "Minia is a short-read assembler based on a de Bruijn graph, capable of assembling\na human genome on a desktop computer in a day. The output of Minia is a set of contigs.\n", + "homepage": "https://github.com/GATB/minia", + "documentation": "https://github.com/GATB/minia", + "licence": [ + "AGPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Input reads in FastQ format", + "pattern": "*.{fastq.gz, fastq}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "contigs": { + "type": "file", + "description": "The assembled contigs", + "pattern": "*.contigs.fa" + } + }, + { + "unitigs": { + "type": "file", + "description": "The assembled unitigs", + "pattern": "*.unitigs.fa" + } + }, + { + "h5": { + "type": "file", + "description": "Minia output h5 file", + "pattern": "*{.h5}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "miniasm", + "path": "modules/nf-core/miniasm/meta.yml", + "type": "module", + "meta": { + "name": "miniasm", + "description": "A very fast OLC-based de novo assembler for noisy long reads", + "keywords": [ + "assembly", + "pacbio", + "nanopore" + ], + "tools": [ + { + "miniasm": { + "description": "Ultrafast de novo assembly for long noisy reads (though having no consensus step)", + "homepage": "https://github.com/lh3/miniasm", + "documentation": "https://github.com/lh3/miniasm", + "tool_dev_url": "https://github.com/lh3/miniasm", + "doi": "10.1093/bioinformatics/btw152", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input PacBio/ONT FastQ files.", + "pattern": "*.{fastq,fastq.gz,fq,fq.gz}" + } + }, + { + "paf": { + "type": "file", + "description": "Alignment in PAF format", + "pattern": "*{.paf,.paf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "gfa": { + "type": "file", + "description": "Assembly graph", + "pattern": "*.gfa.gz" + } + }, + { + "assembly": { + "type": "file", + "description": "Genome assembly", + "pattern": "*.fasta.gz" + } + } + ], + "authors": [ + "@avantonder" + ] + } + }, + { + "name": "minimap2_align", + "path": "modules/nf-core/minimap2/align/meta.yml", + "type": "module", + "meta": { + "name": "minimap2_align", + "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences", + "keywords": [ + "align", + "fasta", + "fastq", + "genome", + "paf", + "reference" + ], + "tools": [ + { + "minimap2": { + "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences.\n", + "homepage": "https://github.com/lh3/minimap2", + "documentation": "https://github.com/lh3/minimap2#uguide", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FASTA or FASTQ files of size 1 and 2 for single-end\nand paired-end data, respectively.\n" + } + }, + { + "reference": { + "type": "file", + "description": "Reference database in FASTA format.\n" + } + }, + { + "bam_format": { + "type": "boolean", + "description": "Specify that output should be in BAM format" + } + }, + { + "cigar_paf_format": { + "type": "boolean", + "description": "Specify that output CIGAR should be in PAF format" + } + }, + { + "cigar_bam": { + "type": "boolean", + "description": "Write CIGAR with >65535 ops at the CG tag. This is recommended when\ndoing XYZ (https://github.com/lh3/minimap2#working-with-65535-cigar-operations)\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "paf": { + "type": "file", + "description": "Alignment in PAF format", + "pattern": "*.paf" + } + }, + { + "bam": { + "type": "file", + "description": "Alignment in BAM format", + "pattern": "*.bam" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@heuermh", + "@sofstam", + "@sateeshperi", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "crisprseq", + "version": "2.0.0" + }, + { + "name": "isoseq", + "version": "1.1.4" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "minimap2_index", + "path": "modules/nf-core/minimap2/index/meta.yml", + "type": "module", + "meta": { + "name": "minimap2_index", + "description": "Provides fasta index required by minimap2 alignment.", + "keywords": [ + "index", + "fasta", + "reference" + ], + "tools": [ + { + "minimap2": { + "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences.\n", + "homepage": "https://github.com/lh3/minimap2", + "documentation": "https://github.com/lh3/minimap2#uguide", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference database in FASTA format.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "file", + "description": "Minimap2 fasta index.", + "pattern": "*.mmi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@yuukiiwa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "crisprseq", + "version": "2.0.0" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "miniprot_align", + "path": "modules/nf-core/miniprot/align/meta.yml", + "type": "module", + "meta": { + "name": "miniprot_align", + "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences", + "keywords": [ + "align", + "fasta", + "protein", + "genome", + "paf", + "gff" + ], + "tools": [ + { + "miniprot": { + "description": "A versatile pairwise aligner for genomic and protein sequences.\n", + "homepage": "https://github.com/lh3/miniprot", + "documentation": "https://github.com/lh3/miniprot", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "pep": { + "type": "file", + "description": "a fasta file contains one or multiple protein sequences" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\n" + } + }, + { + "ref": { + "type": "file", + "description": "Reference database in FASTA format or miniprot index format." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "paf": { + "type": "file", + "description": "Alignment in PAF format", + "pattern": "*.paf" + } + }, + { + "gff": { + "type": "file", + "description": "Alignment in gff format", + "pattern": "*.gff" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@yumisims", + "@muffato" + ] + } + }, + { + "name": "miniprot_index", + "path": "modules/nf-core/miniprot/index/meta.yml", + "type": "module", + "meta": { + "name": "miniprot_index", + "description": "Provides fasta index required by miniprot alignment.", + "keywords": [ + "index", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "miniprot": { + "description": "A versatile pairwise aligner for genomic and protein sequences.\n", + "homepage": "https://github.com/lh3/miniprot", + "documentation": "https://github.com/lh3/miniprot", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference database in FASTA format.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "file", + "description": "miniprot fasta index.", + "pattern": "*.mpi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@yumisims", + "@muffato" + ] + } + }, + { + "name": "miranda", + "path": "modules/nf-core/miranda/meta.yml", + "type": "module", + "meta": { + "name": "miranda", + "description": "miRanda is an algorithm for finding genomic targets for microRNAs", + "keywords": [ + "microrna", + "mirna", + "target prediction" + ], + "tools": [ + { + "miranda": { + "description": "An algorithm for finding genomic targets for microRNAs", + "homepage": "https://cbio.mskcc.org/miRNA2003/miranda.html", + "documentation": "https://cbio.mskcc.org/miRNA2003/miranda.html", + "doi": "10.1186/gb-2003-5-1-r1", + "licence": "GNU Public License" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "query": { + "type": "file", + "description": "FASTA file containing the microRNA query sequences", + "pattern": "*.{fa,fasta}" + } + }, + { + "mirbase": { + "type": "file", + "description": "FASTA file containing the sequence(s) to be scanned", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "txt": { + "type": "file", + "description": "Reformatted TXT file containing microRNA targets", + "pattern": "*.{txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@BarryDigby" + ] + }, + "pipelines": [ + { + "name": "circrna", + "version": "dev" + } + ] + }, + { + "name": "mitohifi_findmitoreference", + "path": "modules/nf-core/mitohifi/findmitoreference/meta.yml", + "type": "module", + "meta": { + "name": "mitohifi_findmitoreference", + "description": "Download a mitochondrial genome to be used as reference for MitoHiFi", + "keywords": [ + "mitochondrial genome", + "reference genome", + "NCBI" + ], + "tools": [ + { + "findMitoReference.py": { + "description": "Fetch mitochondrial genome in Fasta and Genbank format from NCBI", + "homepage": "https://github.com/marcelauliano/MitoHiFi", + "documentation": "https://github.com/marcelauliano/MitoHiFi", + "tool_dev_url": "https://github.com/marcelauliano/MitoHiFi", + "doi": "10.1101/2022.12.23.521667", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "species": { + "type": "string", + "description": "Latin name of the species for which a mitochondrial genome should be fetched", + "pattern": "[A-Z]?[a-z]* [a-z]*" + } + }, + { + "email": { + "type": "string", + "description": "Email address for NCBI query" + } + }, + { + "min_length": { + "type": "integer", + "description": "Minimum length of the mitochondrial genome", + "pattern": "[0-9]*" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fasta": { + "type": "file", + "description": "Downloaded mitochondrial genome in Fasta format", + "pattern": "*.{fasta,fa}" + } + }, + { + "gb": { + "type": "file", + "description": "Downloaded mitochondrial genome in Genbank format", + "pattern": "*.gb" + } + } + ], + "authors": [ + "@verku" + ] + } + }, + { + "name": "mlst", + "path": "modules/nf-core/mlst/meta.yml", + "type": "module", + "meta": { + "name": "mlst", + "description": "Run Torsten Seemann's classic MLST on a genome assembly", + "keywords": [ + "mlst" + ], + "tools": [ + { + "mlst": { + "description": "Scan contig files against PubMLST typing schemes", + "homepage": "https://github.com/tseemann/mlst", + "licence": [ + "GPL v2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Assembly fasta file", + "pattern": "*.{fasta,fa,fna}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "MLST calls in tsv format", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@lskatz", + "@tseemann" + ] + } + }, + { + "name": "mmseqs_cluster", + "path": "modules/nf-core/mmseqs/cluster/meta.yml", + "type": "module", + "meta": { + "name": "mmseqs_cluster", + "description": "Cluster sequences using MMSeqs2 cluster.", + "keywords": [ + "protein sequence", + "databases", + "clustering", + "searching", + "indexing", + "mmseqs2" + ], + "tools": [ + { + "mmseqs": { + "description": "MMseqs2: ultra fast and sensitive sequence search and clustering suite", + "homepage": "https://github.com/soedinglab/MMseqs2", + "documentation": "https://mmseqs.com/latest/userguide.pdf", + "tool_dev_url": "https://github.com/soedinglab/MMseqs2", + "doi": "10.1093/bioinformatics/btw006", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "input_db": { + "type": "directory", + "description": "a MMseqs2 database used for clustering" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "cluster": { + "type": "file", + "description": "a clustered MMseqs2 database used for clustering" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "mmseqs_createdb", + "path": "modules/nf-core/mmseqs/createdb/meta.yml", + "type": "module", + "meta": { + "name": "mmseqs_createdb", + "description": "Create a MMseqs database from an existing FASTA/Q file", + "keywords": [ + "protein sequence", + "databases", + "clustering", + "searching", + "indexing", + "mmseqs2" + ], + "tools": [ + { + "mmseqs": { + "description": "MMseqs2: ultra fast and sensitive sequence search and clustering suite", + "homepage": "https://github.com/soedinglab/MMseqs2", + "documentation": "https://mmseqs.com/latest/userguide.pdf", + "tool_dev_url": "https://github.com/soedinglab/MMseqs2", + "doi": "10.1093/bioinformatics/btw006", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "sequence": { + "type": "file", + "description": "Input sequences in FASTA/Q format to be indexed", + "pattern": "*.{fasta,fa,fna,fastq,fq}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "bam": { + "type": "directory", + "description": "The created MMseqs2 database" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "mmseqs_createindex", + "path": "modules/nf-core/mmseqs/createindex/meta.yml", + "type": "module", + "meta": { + "name": "mmseqs_createindex", + "description": "Creates sequence index for mmseqs database", + "keywords": [ + "protein sequence", + "databases", + "clustering", + "searching", + "indexing" + ], + "tools": [ + { + "mmseqs": { + "description": "MMseqs2: ultra fast and sensitive sequence search and clustering suite", + "homepage": "https://github.com/soedinglab/MMseqs2", + "documentation": "https://mmseqs.com/latest/userguide.pdf", + "tool_dev_url": "https://github.com/soedinglab/MMseqs2", + "doi": "10.1093/bioinformatics/btw006", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "db": { + "type": "directory", + "description": "Directory containing the DB to be indexed\n", + "pattern": "*" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions\n", + "pattern": "versions.yml" + } + }, + { + "db_indexed": { + "type": "directory", + "description": "Directory containing the DB and the generated indexes\n", + "pattern": "*" + } + } + ], + "authors": [ + "@JoseEspinosa" + ] + }, + "pipelines": [ + { + "name": "proteinfold", + "version": "1.0.0" + } + ] + }, + { + "name": "mmseqs_createtsv", + "path": "modules/nf-core/mmseqs/createtsv/meta.yml", + "type": "module", + "meta": { + "name": "mmseqs_createtsv", + "description": "Create a tsv file from a query and a target database as well as the result database", + "keywords": [ + "protein sequence", + "databases", + "clustering", + "searching", + "indexing", + "mmseqs2", + "tsv" + ], + "tools": [ + { + "mmseqs": { + "description": "MMseqs2: ultra fast and sensitive sequence search and clustering suite", + "homepage": "https://github.com/soedinglab/MMseqs2", + "documentation": "https://mmseqs.com/latest/userguide.pdf", + "tool_dev_url": "https://github.com/soedinglab/MMseqs2", + "doi": "10.1093/bioinformatics/btw006", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "db_result": { + "type": "directory", + "description": "an MMseqs2 database with result data" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "db_query": { + "type": "directory", + "description": "an MMseqs2 database with query data" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "db_target": { + "type": "directory", + "description": "an MMseqs2 database with target data" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "tsv": { + "type": "file", + "description": "The resulting tsv file created using the query, target and result MMseqs databases", + "pattern": "*.{tsv}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "mmseqs_databases", + "path": "modules/nf-core/mmseqs/databases/meta.yml", + "type": "module", + "meta": { + "name": "mmseqs_databases", + "description": "Download an mmseqs-formatted database", + "keywords": [ + "database", + "indexing", + "clustering", + "searching" + ], + "tools": [ + { + "mmseqs": { + "description": "MMseqs2: ultra fast and sensitive sequence search and clustering suite", + "homepage": "https://github.com/soedinglab/MMseqs2", + "documentation": "https://mmseqs.com/latest/userguide.pdf", + "tool_dev_url": "https://github.com/soedinglab/MMseqs2", + "doi": "10.1093/bioinformatics/btw006", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "database": { + "type": "string", + "description": "Database available through the mmseqs2 databases interface - see https://github.com/soedinglab/MMseqs2/wiki#downloading-databases for details" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "database": { + "type": "directory", + "description": "Directory containing processed mmseqs database" + } + } + ], + "authors": [ + "@prototaxites" + ] + } + }, + { + "name": "mmseqs_search", + "path": "modules/nf-core/mmseqs/search/meta.yml", + "type": "module", + "meta": { + "name": "mmseqs_search", + "description": "Search and calculate a score for similar sequences in a query and a target database.", + "keywords": [ + "protein sequence", + "databases", + "clustering", + "searching", + "indexing", + "mmseqs2" + ], + "tools": [ + { + "mmseqs": { + "description": "MMseqs2: ultra fast and sensitive sequence search and clustering suite", + "homepage": "https://github.com/soedinglab/MMseqs2", + "documentation": "https://mmseqs.com/latest/userguide.pdf", + "tool_dev_url": "https://github.com/soedinglab/MMseqs2", + "doi": "10.1093/bioinformatics/btw006", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "query_db": { + "type": "directory", + "description": "an MMseqs2 database with query data" + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "target_db": { + "type": "directory", + "description": "an MMseqs2 database with target data, e.g. uniref90" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "search_db": { + "type": "directory", + "description": "an MMseqs2 database with search results" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "mmseqs_tsv2exprofiledb", + "path": "modules/nf-core/mmseqs/tsv2exprofiledb/meta.yml", + "type": "module", + "meta": { + "name": "mmseqs_tsv2exprofiledb", + "description": "Conversion of expandable profile to databases to the MMseqs2 databases format", + "keywords": [ + "protein sequence", + "databases", + "clustering", + "searching", + "indexing" + ], + "tools": [ + { + "mmseqs": { + "description": "MMseqs2: ultra fast and sensitive sequence search and clustering suite", + "homepage": "https://github.com/soedinglab/MMseqs2", + "documentation": "https://mmseqs.com/latest/userguide.pdf", + "tool_dev_url": "https://github.com/soedinglab/MMseqs2", + "doi": "10.1093/bioinformatics/btw006", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "db": { + "type": "directory", + "description": "Directory containing the DB to be indexed\n", + "pattern": "*" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions\n", + "pattern": "versions.yml" + } + }, + { + "db_indexed": { + "type": "directory", + "description": "Directory containing the DB and the generated indexes\n", + "pattern": "*" + } + } + ], + "authors": [ + "@JoseEspinosa" + ] + }, + "pipelines": [ + { + "name": "proteinfold", + "version": "1.0.0" + } + ] + }, + { + "name": "mobsuite_recon", + "path": "modules/nf-core/mobsuite/recon/meta.yml", + "type": "module", + "meta": { + "name": "mobsuite_recon", + "description": "A tool to reconstruct plasmids in bacterial assemblies", + "keywords": [ + "bacteria", + "plasmid" + ], + "tools": [ + { + "mobsuite": { + "description": "Software tools for clustering, reconstruction and typing of plasmids from draft assemblies.", + "homepage": "https://github.com/phac-nml/mob-suite", + "documentation": "https://github.com/phac-nml/mob-suite", + "tool_dev_url": "https://github.com/phac-nml/mob-suite", + "doi": "10.1099/mgen.0.000435", + "licence": [ + "Apache License, Version 2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "A bacterial genome assembly in FASTA format", + "pattern": "*.{fasta,fa,fna}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "chromosome": { + "type": "file", + "description": "FASTA file of all contigs found to belong to the chromosome", + "pattern": "chromosome.fasta" + } + }, + { + "contig_report": { + "type": "file", + "description": "Assignment of the contig to chromosome or a particular plasmid grouping", + "pattern": "contig_report.txt" + } + }, + { + "plasmids": { + "type": "file", + "description": "Each plasmid group is written to an individual FASTA", + "pattern": "plasmid_*.fasta" + } + }, + { + "mobtyper_results": { + "type": "file", + "description": "Aggregate MOB-typer report files for all identified plasmid", + "pattern": "mobtyper_results.txt" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "mosdepth", + "path": "modules/nf-core/mosdepth/meta.yml", + "type": "module", + "meta": { + "name": "mosdepth", + "description": "Calculates genome-wide sequencing coverage.", + "keywords": [ + "mosdepth", + "bam", + "cram", + "coverage" + ], + "tools": [ + { + "mosdepth": { + "description": "Fast BAM/CRAM depth calculation for WGS, exome, or targeted sequencing.\n", + "documentation": "https://github.com/brentp/mosdepth", + "doi": "10.1093/bioinformatics/btx699", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Input BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "bai": { + "type": "file", + "description": "Index for BAM/CRAM file", + "pattern": "*.{bai,crai}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing bed information\ne.g. [ id:'test' ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "BED file with intersected intervals", + "pattern": "*.{bed}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome FASTA file", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "global_txt": { + "type": "file", + "description": "Text file with global cumulative coverage distribution", + "pattern": "*.{global.dist.txt}" + } + }, + { + "regions_txt": { + "type": "file", + "description": "Text file with region cumulative coverage distribution", + "pattern": "*.{region.dist.txt}" + } + }, + { + "summary_txt": { + "type": "file", + "description": "Text file with summary mean depths per chromosome and regions", + "pattern": "*.{summary.txt}" + } + }, + { + "per_base_bed": { + "type": "file", + "description": "BED file with per-base coverage", + "pattern": "*.{per-base.bed.gz}" + } + }, + { + "per_base_csi": { + "type": "file", + "description": "Index file for BED file with per-base coverage", + "pattern": "*.{per-base.bed.gz.csi}" + } + }, + { + "per_base_d4": { + "type": "file", + "description": "D4 file with per-base coverage", + "pattern": "*.{per-base.d4}" + } + }, + { + "regions_bed": { + "type": "file", + "description": "BED file with per-region coverage", + "pattern": "*.{regions.bed.gz}" + } + }, + { + "regions_csi": { + "type": "file", + "description": "Index file for BED file with per-region coverage", + "pattern": "*.{regions.bed.gz.csi}" + } + }, + { + "quantized_bed": { + "type": "file", + "description": "BED file with binned coverage", + "pattern": "*.{quantized.bed.gz}" + } + }, + { + "quantized_csi": { + "type": "file", + "description": "Index file for BED file with binned coverage", + "pattern": "*.{quantized.bed.gz.csi}" + } + }, + { + "thresholds_bed": { + "type": "file", + "description": "BED file with the number of bases in each region that are covered at or above each threshold", + "pattern": "*.{thresholds.bed.gz}" + } + }, + { + "thresholds_csi": { + "type": "file", + "description": "Index file for BED file with threshold coverage", + "pattern": "*.{thresholds.bed.gz.csi}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh", + "@ramprasadn", + "@matthdsm" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "variantcatalogue", + "version": "dev" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "motus_downloaddb", + "path": "modules/nf-core/motus/downloaddb/meta.yml", + "type": "module", + "meta": { + "name": "motus_downloaddb", + "description": "Download the mOTUs database", + "keywords": [ + "classify", + "metagenomics", + "fastq", + "taxonomic profiling", + "database", + "download" + ], + "tools": [ + { + "motus": { + "description": "The mOTU profiler is a computational tool that estimates relative taxonomic abundance of known and currently unknown microbial community members using metagenomic shotgun sequencing data.", + "documentation": "https://github.com/motu-tool/mOTUs/wiki", + "tool_dev_url": "https://github.com/motu-tool/mOTUs", + "doi": "10.1186/s40168-022-01410-z", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "motus_downloaddb": { + "type": "directory", + "description": "The mOTUs downloadDB script source file.\nIt is the source file installed or\nremote source in github such as https://raw.githubusercontent.com/motu-tool/mOTUs/master/motus/downloadDB.py\n", + "pattern": "downloadDB.py" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "db": { + "type": "directory", + "description": "The mOTUs database directory", + "pattern": "db_mOTU" + } + } + ], + "authors": [ + "@jianhong" + ] + } + }, + { + "name": "motus_merge", + "path": "modules/nf-core/motus/merge/meta.yml", + "type": "module", + "meta": { + "name": "motus_merge", + "description": "Taxonomic meta-omics profiling using universal marker genes", + "keywords": [ + "classify", + "metagenomics", + "fastq", + "taxonomic profiling", + "merging", + "merge", + "otu table" + ], + "tools": [ + { + "motus": { + "description": "Marker gene-based OTU (mOTU) profiling", + "homepage": "https://motu-tool.org/", + "documentation": "https://github.com/motu-tool/mOTUs/wiki", + "tool_dev_url": "https://github.com/motu-tool/mOTUs", + "doi": "10.1186/s40168-022-01410-z", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "input": { + "type": "file", + "description": "List of output files (more than one) from motus profile,\nor a single directory containing motus output files.\n" + } + }, + { + "db": { + "type": "directory", + "description": "mOTUs database downloaded by `motus downloadDB`\npattern: \"db_mOTU/\"\n" + } + }, + { + "profile_version_yml": { + "type": "file", + "description": "A single versions.yml file output from motus/profile. motus/merge cannot reconstruct\nthis itself without having the motus database present and configured with the tool\nso here we take it from what is already reported by the upstream module.\n", + "pattern": "versions.yml" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "OTU table in txt format, if BIOM format not requested", + "pattern": "*.txt" + } + }, + { + "biom": { + "type": "file", + "description": "OTU table in biom format, if BIOM format requested", + "pattern": "*.biom" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "motus_profile", + "path": "modules/nf-core/motus/profile/meta.yml", + "type": "module", + "meta": { + "name": "motus_profile", + "description": "Taxonomic meta-omics profiling using universal marker genes", + "keywords": [ + "classify", + "metagenomics", + "fastq", + "taxonomic profiling" + ], + "tools": [ + { + "motus": { + "description": "Marker gene-based OTU (mOTU) profiling", + "homepage": "https://motu-tool.org/", + "documentation": "https://github.com/motu-tool/mOTUs/wiki", + "tool_dev_url": "https://github.com/motu-tool/mOTUs", + "doi": "10.1186/s40168-022-01410-z", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input fastq/fasta files of size 1 and 2 for single-end and paired-end data,\nrespectively.\nOr the intermediate bam file mapped by bwa to the mOTUs database or\nthe output bam file from motus profile.\nOr the intermediate mgc read counts table.\n", + "pattern": "*.{fastq,fq,fasta,fa,fastq.gz,fq.gz,fasta.gz,fa.gz,.bam,.mgc}" + } + }, + { + "db": { + "type": "directory", + "description": "mOTUs database downloaded by `motus downloadDB`\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "out": { + "type": "file", + "description": "Results with taxonomic classification of each read", + "pattern": "*.out" + } + }, + { + "bam": { + "type": "file", + "description": "Optional intermediate sorted BAM file from BWA", + "pattern": "*.{bam}" + } + }, + { + "mgc": { + "type": "file", + "description": "Optional intermediate mgc read count table file saved with `-M`.", + "pattern": "*.{mgc}" + } + }, + { + "log": { + "type": "file", + "description": "Standard error logging file containing summary statistics", + "pattern": "*.log" + } + } + ], + "authors": [ + "@jianhong" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "msisensor2_msi", + "path": "modules/nf-core/msisensor2/msi/meta.yml", + "type": "module", + "meta": { + "name": "msisensor2_msi", + "description": "msisensor2 detection of MSI regions.", + "keywords": [ + "msi" + ], + "tools": [ + { + "msisensor2": { + "description": "MSIsensor2 is a novel algorithm based machine learning, featuring a large upgrade in the microsatellite instability (MSI) detection for tumor only sequencing data, including Cell-Free DNA (cfDNA), Formalin-Fixed Paraffin-Embedded(FFPE) and other sample types. The original MSIsensor is specially designed for tumor/normal paired sequencing data.", + "homepage": "https://github.com/niu-lab/msisensor2", + "documentation": "https://github.com/niu-lab/msisensor2/blob/master/README.md", + "tool_dev_url": "https://github.com/niu-lab/msisensor2", + "licence": "GPL-3.0" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tumor_bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "normal_bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "intervals": { + "type": "file", + "description": "BED", + "pattern": "*.bed" + } + }, + { + "models": { + "type": "file", + "description": "Folder of MSISensor2 models (available from Github or as a product of msisensor2/scan)", + "pattern": "*/*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "msi": { + "type": "file", + "description": "MSI classifications as a text file" + } + }, + { + "distribution": { + "type": "file", + "description": "Read count distributions of MSI regions" + } + }, + { + "somatic": { + "type": "file", + "description": "Somatic MSI regions detected." + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@adamrtalbot" + ] + } + }, + { + "name": "msisensor2_scan", + "path": "modules/nf-core/msisensor2/scan/meta.yml", + "type": "module", + "meta": { + "name": "msisensor2_scan", + "description": "msisensor2 detection of MSI regions.", + "keywords": [ + "msi" + ], + "tools": [ + { + "msisensor2": { + "description": "MSIsensor2 is a novel algorithm based machine learning, featuring a large upgrade in the microsatellite instability (MSI) detection for tumor only sequencing data, including Cell-Free DNA (cfDNA), Formalin-Fixed Paraffin-Embedded(FFPE) and other sample types. The original MSIsensor is specially designed for tumor/normal paired sequencing data.", + "homepage": "https://github.com/niu-lab/msisensor2", + "documentation": "https://github.com/niu-lab/msisensor2/blob/master/README.md", + "tool_dev_url": "https://github.com/niu-lab/msisensor2", + "licence": "GPL-3.0" + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Path to reference genome.", + "pattern": "*.fasta" + } + }, + { + "output": { + "type": "val", + "description": "Name of output MSI scan to write." + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "file", + "description": "Output scan of MSI regions in FASTA file.", + "pattern": "*" + } + } + ], + "authors": [ + "@adamrtalbot" + ] + } + }, + { + "name": "msisensor_msi", + "path": "modules/nf-core/msisensor/msi/meta.yml", + "type": "module", + "meta": { + "name": "msisensor_msi", + "description": "Evaluate microsattelite instability (MSI) using paired tumor-normal sequencing data", + "keywords": [ + "homoploymer,microsatellite" + ], + "tools": [ + { + "msisensor": { + "description": "MSIsensor is a C++ program to detect replication slippage variants at microsatellite regions, and differentiate them as somatic or germline.", + "homepage": "https://github.com/ding-lab/msisensor", + "doi": "10.1093/bioinformatics/btt755", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "normal_bam": { + "type": "file", + "description": "Coordinate sorted BAM/CRAM/SAM file from normal tissue", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "normal_bai": { + "type": "file", + "description": "Index for coordinate sorted BAM/CRAM/SAM file from normal tissue", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "tumor_bam": { + "type": "file", + "description": "Coordinate sorted BAM/CRAM/SAM file from tumor tissue", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "tumor_bai": { + "type": "file", + "description": "Index for coordinate sorted BAM/CRAM/SAM file from tumor tissue", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "homopolymers": { + "type": "file", + "description": "Output file from MSIsensor scan module", + "pattern": "*.msisensor_scan.tab" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "MSIsensor MSI final report file", + "pattern": "*.output" + } + }, + { + "txt": { + "type": "file", + "description": "MSIsensor MSI DIS report file", + "pattern": "*.output_dis" + } + }, + { + "txt": { + "type": "file", + "description": "MSIsensor MSI germline report file", + "pattern": "*.output_germline" + } + }, + { + "txt": { + "type": "file", + "description": "MSIsensor MSI somatic report file", + "pattern": "*.output_somatic" + } + } + ], + "authors": [ + "@kevbrick" + ] + } + }, + { + "name": "msisensor_scan", + "path": "modules/nf-core/msisensor/scan/meta.yml", + "type": "module", + "meta": { + "name": "msisensor_scan", + "description": "Scan a reference genome to get microsatellite & homopolymer information", + "keywords": [ + "homoploymer,microsatellite" + ], + "tools": [ + { + "msisensor": { + "description": "MSIsensor is a C++ program to detect replication slippage variants at microsatellite regions, and differentiate them as somatic or germline.", + "homepage": "https://github.com/ding-lab/msisensor", + "doi": "10.1093/bioinformatics/btt755", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "MSIsensor scan output file of homopolymers & minisatellites", + "pattern": "*.msisensor_scan.txt" + } + } + ], + "authors": [ + "@kevbrick" + ] + } + }, + { + "name": "msisensorpro_msisomatic", + "path": "modules/nf-core/msisensorpro/msisomatic/meta.yml", + "type": "module", + "meta": { + "name": "msisensorpro_msisomatic", + "description": "MSIsensor-pro evaluates Microsatellite Instability (MSI) for cancer patients with next generation sequencing data. It accepts the whole genome sequencing, whole exome sequencing and target region (panel) sequencing data as input", + "keywords": [ + "micro-satellite-scan", + "msisensor-pro", + "msi", + "somatic" + ], + "tools": [ + { + "msisensorpro": { + "description": "Microsatellite Instability (MSI) detection using high-throughput sequencing data.", + "homepage": "https://github.com/xjtu-omics/msisensor-pro", + "documentation": "https://github.com/xjtu-omics/msisensor-pro/wiki", + "tool_dev_url": "https://github.com/xjtu-omics/msisensor-pro", + "doi": "10.1016/j.gpb.2020.02.001", + "licence": [ + "Custom Licence" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "normal": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "normal_index": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "tumor": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "tumor_index": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "intervals": { + "type": "file", + "description": "bed file containing interval information, optional", + "pattern": "*.{bed}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome", + "pattern": "*.{fasta}" + } + }, + { + "msisensor_scan": { + "type": "file", + "description": "Output from msisensor-pro/scan, conaining list of msi regions", + "pattern": "*.list" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "output_report": { + "type": "file", + "description": "File containing final report with all detected microsatellites, unstable somatic microsatellites, msi score" + } + }, + { + "output_dis": { + "type": "file", + "description": "File containing distribution results" + } + }, + { + "output_germline": { + "type": "file", + "description": "File containing germline results" + } + }, + { + "output_somatic": { + "type": "file", + "description": "File containing somatic results" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "list": { + "type": "file", + "description": "File containing microsatellite list", + "pattern": "*.{list}" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + } + }, + { + "name": "msisensorpro_scan", + "path": "modules/nf-core/msisensorpro/scan/meta.yml", + "type": "module", + "meta": { + "name": "msisensorpro_scan", + "description": "MSIsensor-pro evaluates Microsatellite Instability (MSI) for cancer patients with next generation sequencing data. It accepts the whole genome sequencing, whole exome sequencing and target region (panel) sequencing data as input", + "keywords": [ + "micro-satellite-scan", + "msisensor-pro", + "scan" + ], + "tools": [ + { + "msisensorpro": { + "description": "Microsatellite Instability (MSI) detection using high-throughput sequencing data.", + "homepage": "https://github.com/xjtu-omics/msisensor-pro", + "documentation": "https://github.com/xjtu-omics/msisensor-pro/wiki", + "tool_dev_url": "https://github.com/xjtu-omics/msisensor-pro", + "doi": "10.1016/j.gpb.2020.02.001", + "licence": [ + "Custom Licence" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome", + "pattern": "*.{fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "list": { + "type": "file", + "description": "File containing microsatellite list", + "pattern": "*.{list}" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "mtnucratio", + "path": "modules/nf-core/mtnucratio/meta.yml", + "type": "module", + "meta": { + "name": "mtnucratio", + "description": "A small Java tool to calculate ratios between MT and nuclear sequencing reads in a given BAM file.", + "keywords": [ + "mtnucratio", + "ratio", + "reads", + "bam", + "mitochondrial to nuclear ratio", + "mitochondria", + "statistics" + ], + "tools": [ + { + "mtnucratio": { + "description": "A small tool to determine MT to Nuclear ratios for NGS data.", + "homepage": "https://github.com/apeltzer/MTNucRatioCalculator", + "documentation": "https://github.com/apeltzer/MTNucRatioCalculator", + "tool_dev_url": "https://github.com/apeltzer/MTNucRatioCalculator", + "doi": "10.1186/s13059-016-0918-z", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "(coordinate) sorted BAM/SAM file", + "pattern": "*.{bam,sam}" + } + }, + { + "mt_id": { + "type": "string", + "description": "Identifier of the contig/chromosome of interest (e.g. chromosome, contig) as in the aligned against reference FASTA file, e.g. mt or chrMT for mitochondria" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "mtnucratio": { + "type": "file", + "description": "Text file containing metrics (mtreads, mt_cov_avg, nucreads, nuc_cov_avg, mt_nuc_ratio)", + "pattern": "*.mtnucratio" + } + }, + { + "json": { + "type": "file", + "description": "JSON file, containing metadata map with sample name, tool name and version, and metrics as in txt file", + "pattern": "*.json" + } + } + ], + "authors": [ + "@louperelo" + ] + } + }, + { + "name": "multiqc", + "path": "modules/nf-core/multiqc/meta.yml", + "type": "module", + "meta": { + "name": "MultiQC", + "description": "Aggregate results from bioinformatics analyses across many samples into a single report", + "keywords": [ + "QC", + "bioinformatics tools", + "Beautiful stand-alone HTML report" + ], + "tools": [ + { + "multiqc": { + "description": "MultiQC searches a given directory for analysis logs and compiles a HTML report.\nIt's a general use tool, perfect for summarising the output from numerous bioinformatics tools.\n", + "homepage": "https://multiqc.info/", + "documentation": "https://multiqc.info/docs/", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "multiqc_files": { + "type": "file", + "description": "List of reports / files recognised by MultiQC, for example the html and zip output of FastQC\n" + } + }, + { + "multiqc_config": { + "type": "file", + "description": "Optional config yml for MultiQC", + "pattern": "*.{yml,yaml}" + } + }, + { + "extra_multiqc_config": { + "type": "file", + "description": "Second optional config yml for MultiQC. Will override common sections in multiqc_config.", + "pattern": "*.{yml,yaml}" + } + }, + { + "multiqc_logo": { + "type": "file", + "description": "Optional logo file for MultiQC", + "pattern": "*.{png}" + } + } + ], + "output": [ + { + "report": { + "type": "file", + "description": "MultiQC report file", + "pattern": "multiqc_report.html" + } + }, + { + "data": { + "type": "directory", + "description": "MultiQC data dir", + "pattern": "multiqc_data" + } + }, + { + "plots": { + "type": "file", + "description": "Plots created by MultiQC", + "pattern": "*_data" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@abhi18av", + "@bunop", + "@drpatelh", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "airrflow", + "version": "3.1.0" + }, + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "bacass", + "version": "2.0.0" + }, + { + "name": "bamtofastq", + "version": "2.0.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "createpanelrefs", + "version": "dev" + }, + { + "name": "crisprseq", + "version": "2.0.0" + }, + { + "name": "demultiplex", + "version": "1.3.2" + }, + { + "name": "epitopeprediction", + "version": "2.2.1" + }, + { + "name": "fastquorum", + "version": "dev" + }, + { + "name": "funcscan", + "version": "1.1.2" + }, + { + "name": "genomeannotator", + "version": "dev" + }, + { + "name": "genomeassembler", + "version": "dev" + }, + { + "name": "genomeskim", + "version": "dev" + }, + { + "name": "gwas", + "version": "dev" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "hlatyping", + "version": "2.0.0" + }, + { + "name": "isoseq", + "version": "1.1.4" + }, + { + "name": "liverctanalysis", + "version": "dev" + }, + { + "name": "mag", + "version": "2.3.2" + }, + { + "name": "marsseq", + "version": "1.0.3" + }, + { + "name": "mcmicro", + "version": "dev" + }, + { + "name": "metapep", + "version": "dev" + }, + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "methylseq", + "version": "2.4.0" + }, + { + "name": "mhcquant", + "version": "2.4.1" + }, + { + "name": "molkart", + "version": "dev" + }, + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "nanostring", + "version": "1.1.1" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "pangenome", + "version": "dev" + }, + { + "name": "phageannotator", + "version": "dev" + }, + { + "name": "phyloplace", + "version": "1.0.0" + }, + { + "name": "proteinfold", + "version": "1.0.0" + }, + { + "name": "quantms", + "version": "1.1.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "scrnaseq", + "version": "2.3.2" + }, + { + "name": "smrnaseq", + "version": "2.2.1" + }, + { + "name": "spatialtranscriptomics", + "version": "dev" + }, + { + "name": "spinningjenny", + "version": "dev" + }, + { + "name": "ssds", + "version": "dev" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + }, + { + "name": "variantcatalogue", + "version": "dev" + }, + { + "name": "viralintegration", + "version": "0.1.1" + } + ] + }, + { + "name": "multivcfanalyzer", + "path": "modules/nf-core/multivcfanalyzer/meta.yml", + "type": "module", + "meta": { + "name": "multivcfanalyzer", + "description": "SNP table generator from GATK UnifiedGenotyper with functionality geared for aDNA", + "keywords": [ + "vcf", + "ancient DNA", + "aDNA", + "SNP", + "GATK UnifiedGenotyper", + "SNP table" + ], + "tools": [ + { + "multivcfanalyzer": { + "description": "MultiVCFAnalyzer is a VCF file post-processing tool tailored for aDNA. License on Github repository.", + "homepage": "https://github.com/alexherbig/MultiVCFAnalyzer", + "documentation": "https://github.com/alexherbig/MultiVCFAnalyzer", + "tool_dev_url": "https://github.com/alexherbig/MultiVCFAnalyzer", + "doi": "10.1038/nature13591", + "licence": "['GPL >=3']" + } + } + ], + "input": [ + { + "vcfs": { + "type": "file", + "description": "One or a list of uncompressed VCF file", + "pattern": "*.vcf" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome VCF was generated against", + "pattern": "*.{fasta,fna,fa}" + } + }, + { + "snpeff_results": { + "type": "file", + "description": "Results from snpEff in txt format (Optional)", + "pattern": "*.txt" + } + }, + { + "gff": { + "type": "file", + "description": "GFF file corresponding to reference genome fasta (Optional)", + "pattern": "*.gff" + } + }, + { + "allele_freqs": { + "type": "boolean", + "description": "Whether to include the percentage of reads a given allele is\npresent in in the SNP table.\n" + } + }, + { + "genotype_quality": { + "type": "integer", + "description": "Minimum GATK genotyping threshold threshold of which a SNP call\nfalling under is 'discarded'\n" + } + }, + { + "coverage": { + "type": "integer", + "description": "Minimum number of a reads that a position must be covered by to be\nreported\n" + } + }, + { + "homozygous_freq": { + "type": "number", + "description": "Fraction of reads a base must have to be called 'homozygous'" + } + }, + { + "heterozygous_freq": { + "type": "mumber", + "description": "Fraction of which whereby if a call falls above this value, and lower\nthan the homozygous threshold, a base will be called 'heterozygous'.\n" + } + }, + { + "gff_exclude": { + "type": "file", + "description": "file listing positions that will be 'filtered' (i.e. ignored)\n(Optional)\n", + "pattern": "*.vcf" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "full_alignment": { + "type": "file", + "description": "Fasta a fasta file of all positions contained in the VCF files i.e. including ref calls", + "pattern": ".fasta.gz" + } + }, + { + "info_txt": { + "type": "file", + "description": "Information about the run", + "pattern": ".txt" + } + }, + { + "snp_alignment": { + "type": "file", + "description": "A fasta file of just SNP positions with samples only", + "pattern": ".fasta.gz" + } + }, + { + "snp_genome_alignment": { + "type": "file", + "description": "A fasta file of just SNP positions with reference genome", + "pattern": ".fasta.gz" + } + }, + { + "snpstatistics": { + "type": "file", + "description": "Some basic statistics about the SNP calls of each sample", + "pattern": ".tsv" + } + }, + { + "snptable": { + "type": "file", + "description": "Basic SNP table of combined positions taken from each VCF file", + "pattern": ".tsv" + } + }, + { + "snptable_snpeff": { + "type": "file", + "description": "Input file for SnpEff", + "pattern": ".tsv" + } + }, + { + "snptable_uncertainty": { + "type": "file", + "description": "Same as above, but with lower case characters indicating uncertain calls", + "pattern": ".tsv" + } + }, + { + "structure_genotypes": { + "type": "file", + "description": "Input file for STRUCTURE", + "pattern": ".tsv" + } + }, + { + "structure_genotypes_nomissing": { + "type": "file", + "description": "Alternate input file for STRUCTURE", + "pattern": ".tsv" + } + }, + { + "json": { + "type": "file", + "description": "Summary statistics in MultiQC JSON format", + "pattern": ".json" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "mummer", + "path": "modules/nf-core/mummer/meta.yml", + "type": "module", + "meta": { + "name": "mummer", + "description": "MUMmer is a system for rapidly aligning entire genomes", + "keywords": [ + "align", + "genome", + "fasta" + ], + "tools": [ + { + "mummer": { + "description": "MUMmer is a system for rapidly aligning entire genomes", + "homepage": "http://mummer.sourceforge.net/", + "documentation": "http://mummer.sourceforge.net/", + "tool_dev_url": "http://mummer.sourceforge.net/", + "doi": "10.1186/gb-2004-5-2-r12", + "licence": [ + "The Artistic License" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ref": { + "type": "file", + "description": "FASTA file of the reference sequence", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" + } + }, + { + "query": { + "type": "file", + "description": "FASTA file of the query sequence", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "coords": { + "type": "file", + "description": "File containing coordinates of matches between reference and query sequence", + "pattern": "*.coords" + } + } + ], + "authors": [ + "@mjcipriano", + "@sateeshperi" + ] + } + }, + { + "name": "muscle", + "path": "modules/nf-core/muscle/meta.yml", + "type": "module", + "meta": { + "name": "muscle", + "description": "MUSCLE is a program for creating multiple alignments of amino acid or nucleotide sequences. A range of options are provided that give you the choice of optimizing accuracy, speed, or some compromise between the two", + "keywords": [ + "msa", + "multiple sequence alignment" + ], + "tools": [ + { + "muscle": { + "description": "MUSCLE is a multiple sequence alignment tool with high accuracy and throughput", + "homepage": "https://www.drive5.com/muscle", + "documentation": "http://www.drive5.com/muscle/muscle.html#_Toc81224840", + "doi": "10.1093/nar/gkh340", + "licence": [ + "http://www.drive5.com/muscle/manual/license.html" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Input sequences for alignment must be in FASTA format", + "pattern": "*.{fasta,fa,fna}" + } + } + ], + "output": [ + { + "aligned_fasta": { + "type": "file", + "description": "Multiple sequence alignment produced in FASTA format", + "pattern": "*.{afa}" + } + }, + { + "msf": { + "type": "file", + "description": "GCG Multiple Sequence File (MSF) alignment format (similar to CLUSTALW)", + "pattern": "*.{msf}" + } + }, + { + "clustalw": { + "type": "file", + "description": "Multiple sequence alignment produced in ClustalW format without base/residue numbering", + "pattern": "*.{clw}" + } + }, + { + "phyi": { + "type": "file", + "description": "Multiple sequence alignment produced in PHYLIP interleaved format", + "pattern": "*.{phyi}" + } + }, + { + "phys": { + "type": "file", + "description": "Multiple sequence alignment produced in PHYLIP sequential format", + "pattern": "*.{phys}" + } + }, + { + "html": { + "type": "file", + "description": "Multiple sequence alignment produced in HTML format", + "pattern": "*.{html}" + } + }, + { + "tree": { + "type": "file", + "description": "NJ or UPGMA tree in Newick format produced from a multiple sequence alignment", + "pattern": "*.{tree}" + } + }, + { + "log": { + "type": "file", + "description": "Log file of MUSCLE run", + "pattern": "*{.log}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@MGordon" + ] + } + }, + { + "name": "mykrobe_predict", + "path": "modules/nf-core/mykrobe/predict/meta.yml", + "type": "module", + "meta": { + "name": "mykrobe_predict", + "description": "AMR predictions for supported species", + "keywords": [ + "fastq", + "bam", + "antimicrobial resistance" + ], + "tools": [ + { + "mykrobe": { + "description": "Antibiotic resistance prediction in minutes", + "homepage": "http://www.mykrobe.com/", + "documentation": "https://github.com/Mykrobe-tools/mykrobe/wiki", + "tool_dev_url": "https://github.com/Mykrobe-tools/mykrobe", + "doi": "10.1038/ncomms10063", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "seqs": { + "type": "file", + "description": "BAM or FASTQ file", + "pattern": "*.{bam,fastq.gz,fq.gz}" + } + }, + { + "species": { + "type": "string", + "description": "Species to make AMR prediction against", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "csv": { + "type": "file", + "description": "AMR predictions in CSV format", + "pattern": "*.csv" + } + }, + { + "json": { + "type": "file", + "description": "AMR predictions in JSON format", + "pattern": "*.json" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "nanocomp", + "path": "modules/nf-core/nanocomp/meta.yml", + "type": "module", + "meta": { + "name": "nanocomp", + "description": "Compare multiple runs of long read sequencing data and alignments", + "keywords": [ + "bam", + "fasta", + "fastq", + "qc", + "nanopore" + ], + "tools": [ + { + "nanocomp": { + "description": "Compare multiple runs of long read sequencing data and alignments", + "homepage": "https://github.com/wdecoster/nanocomp", + "documentation": "https://github.com/wdecoster/nanocomp", + "licence": "MIT License" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" + } + }, + { + "filelist": { + "type": "file", + "description": "List of all the files you want to compare, they have to be all the same filetype (either fastq, fasta, bam or Nanopore sequencing summary)", + "pattern": "*.{fastq,fq,fna,ffn,faa,frn,fa,fasta,txt,bam}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" + } + }, + { + "report_html": { + "type": "file", + "description": "Summary of all collected statistics", + "pattern": "*NanoComp-report.html" + } + }, + { + "lengths_violin_html": { + "type": "file", + "description": "Violin plot of the sequence lengths", + "pattern": "*NanoComp_lengths_violin.html" + } + }, + { + "log_length_violin_html": { + "type": "file", + "description": "Violin plot of the sequence lengths, log function applied", + "pattern": "*NanoComp_log_length_violin.html" + } + }, + { + "n50_html": { + "type": "file", + "description": "Bar plot of N50 sequence length per sample", + "pattern": "*NanoComp_N50.html" + } + }, + { + "number_of_reads_html": { + "type": "file", + "description": "Bar plot of number of reads per sample", + "pattern": "*NanoComp_number_of_reads.html" + } + }, + { + "overlay_histogram_html": { + "type": "file", + "description": "Histogram of all read lengths per sample", + "pattern": "*NanoComp_OverlayHistogram.html" + } + }, + { + "overlay_histogram_normalized_html": { + "type": "file", + "description": "Normalized histogram of all read lengths per sample", + "pattern": "*NanoComp_OverlayHistogram_Normalized.html" + } + }, + { + "overlay_log_histogram_html": { + "type": "file", + "description": "Histogram of all read lengths per sample, log function applied", + "pattern": "*NanoComp_OverlayLogHistogram.html" + } + }, + { + "overlay_log_histogram_normalized_html": { + "type": "file", + "description": "Normalized histogram of all read lengths per sample, log function applied", + "pattern": "*NanoComp_OverlayLogHistogram_Normalized.html" + } + }, + { + "total_throughput_html": { + "type": "file", + "description": "Barplot comparing throughput in bases", + "pattern": "*NanoComp_total_throughput.html" + } + }, + { + "quals_violin_html": { + "type": "file", + "description": "Violin plot of base qualities, only for bam, fastq and sequencing summary input", + "pattern": "*NanoComp_quals_violin.html" + } + }, + { + "overlay_histogram_identity_html": { + "type": "file", + "description": "Histogram of perfect reference identity, only for bam input", + "pattern": "*NanoComp_OverlayHistogram_Identity.html" + } + }, + { + "overlay_histogram_phredscore_html": { + "type": "file", + "description": "Histogram of phred scores, only for bam input", + "pattern": "*NanoComp_OverlayHistogram_PhredScore.html" + } + }, + { + "percent_identity_violin_html": { + "type": "file", + "description": "Violin plot comparing perfect reference identity, only for bam input", + "pattern": "*NanoComp_percentIdentity_violin.html" + } + }, + { + "active_pores_over_time_html": { + "type": "file", + "description": "Scatter plot of active pores over time, only for sequencing summary input", + "pattern": "*NanoComp_ActivePoresOverTime.html" + } + }, + { + "cumulative_yield_plot_gigabases_html": { + "type": "file", + "description": "Scatter plot of cumulative yield, only for sequencing summary input", + "pattern": "*NanoComp_CumulativeYieldPlot_Gigabases.html" + } + }, + { + "sequencing_speed_over_time_html": { + "type": "file", + "description": "Scatter plot of sequencing speed over time, only for sequencing summary input", + "pattern": "*NanoComp_sequencing_speed_over_time.html" + } + }, + { + "stats_txt": { + "type": "file", + "description": "txt file with basic statistics", + "pattern": "*NanoStats.txt" + } + } + ], + "authors": [ + "@paulwolk" + ] + } + }, + { + "name": "nanolyse", + "path": "modules/nf-core/nanolyse/meta.yml", + "type": "module", + "meta": { + "name": "nanolyse", + "description": "DNA contaminant removal using NanoLyse", + "keywords": [ + "contaminant_removal" + ], + "tools": [ + { + "nanolyse": { + "description": "DNA contaminant removal using NanoLyse\n", + "homepage": "https://github.com/wdecoster/nanolyse", + "documentation": "https://github.com/wdecoster/nanolyse#nanolyse", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "Basecalled reads in FASTQ.GZ format\n", + "pattern": "*.fastq.gz" + } + }, + { + "fasta": { + "type": "file", + "description": "A reference fasta file against which to filter.\n", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "Reads with contaminants removed in FASTQ format", + "pattern": "*.fastq.gz" + } + }, + { + "log": { + "type": "file", + "description": "Log of the Nanolyse run.", + "pattern": "*.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@yuukiiwa" + ] + }, + "pipelines": [ + { + "name": "nanoseq", + "version": "3.1.0" + } + ] + }, + { + "name": "nanomonsv_parse", + "path": "modules/nf-core/nanomonsv/parse/meta.yml", + "type": "module", + "meta": { + "name": "nanomonsv_parse", + "description": "Parse all the supporting reads of putative somatic SVs using nanomonsv.\nAfter successful completion, you will find supporting reads stratified by\ndeletions, insertions, and rearrangements.\nA precursor to \"nanomonsv get\"\n", + "keywords": [ + "structural variants", + "nanopore", + "cancer genome", + "somatic structural variations", + "mobile element insertions", + "long reads" + ], + "tools": [ + { + "nanomonsv": { + "description": "nanomonsv is a software for detecting somatic structural variations\nfrom paired (tumor and matched control) cancer genome sequence data.\n", + "homepage": "https://github.com/friend1ws/nanomonsv", + "documentation": "https://github.com/friend1ws/nanomonsv#commands", + "tool_dev_url": "https://github.com/friend1ws/nanomonsv", + "doi": "10.1101/2020.07.22.214262 ", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Aligned BAM file", + "pattern": "*.{bam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file", + "pattern": "*.{bai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "insertions": { + "type": "file", + "description": "Gzipped BED file containing reads supporting insertions", + "pattern": "*.{bed.gz}" + } + }, + { + "insertions_index": { + "type": "file", + "description": "Index for gzipped BED file containing reads supporting insertions", + "pattern": "*.{bed.gz.tbi}" + } + }, + { + "deletions": { + "type": "file", + "description": "Gzipped BED file containing reads supporting deletions", + "pattern": "*.{bed.gz}" + } + }, + { + "deletions_index": { + "type": "file", + "description": "Index for gzipped BED file containing reads supporting deletions", + "pattern": "*.{bed.gz.tbi}" + } + }, + { + "rearrangements": { + "type": "file", + "description": "Gzipped BED file containing reads supporting rearrangements", + "pattern": "*.{bed.gz}" + } + }, + { + "rearrangements_index": { + "type": "file", + "description": "Index for gzipped BED file containing reads supporting rearrangements", + "pattern": "*.{bed.gz.tbi}" + } + }, + { + "bp_info": { + "type": "file", + "description": "Gzipped BED file containing breakpoint info", + "pattern": "*.{bed.gz}" + } + }, + { + "bp_info_index": { + "type": "file", + "description": "Index for gzipped BED file containing breakpoint info", + "pattern": "*.{bed.gz.tbi}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@awgymer" + ] + } + }, + { + "name": "nanoplot", + "path": "modules/nf-core/nanoplot/meta.yml", + "type": "module", + "meta": { + "name": "nanoplot", + "description": "Run NanoPlot on nanopore-sequenced reads", + "keywords": [ + "quality control", + "qc", + "fastq", + "sequencing summary", + "nanopore" + ], + "tools": [ + { + "nanoplot": { + "description": "NanoPlot is a tool for ploting long-read sequencing data and\nalignment.\n", + "homepage": "http://nanoplot.bioinf.be", + "documentation": "https://github.com/wdecoster/NanoPlot", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "List of input basecalled-FastQ files.\n" + } + }, + { + "summary_txt": { + "type": "file", + "description": "List of sequencing_summary.txt files from running basecalling.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "html": { + "type": "file", + "description": "NanoPlot report", + "pattern": "*{.html}" + } + }, + { + "png": { + "type": "file", + "description": "Plots generated by NanoPlot", + "pattern": "*{.png}" + } + }, + { + "txt": { + "type": "file", + "description": "Stats from NanoPlot", + "pattern": "*{.txt}" + } + }, + { + "log": { + "type": "file", + "description": "log file of NanoPlot run", + "pattern": "*{.log}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@yuukiiwa" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + }, + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "ncbigenomedownload", + "path": "modules/nf-core/ncbigenomedownload/meta.yml", + "type": "module", + "meta": { + "name": "ncbigenomedownload", + "description": "A tool to quickly download assemblies from NCBI's Assembly database", + "keywords": [ + "fasta", + "download", + "assembly" + ], + "tools": [ + { + "ncbigenomedownload": { + "description": "Download genome files from the NCBI FTP server.", + "homepage": "https://github.com/kblin/ncbi-genome-download", + "documentation": "https://github.com/kblin/ncbi-genome-download", + "tool_dev_url": "https://github.com/kblin/ncbi-genome-download", + "licence": [ + "Apache Software License" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "accessions": { + "type": "file", + "description": "List of accessions (one per line) to download", + "pattern": "*.txt" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "gbk": { + "type": "file", + "description": "GenBank format of the genomic sequence(s) in the assembly", + "pattern": "*_genomic.gbff.gz" + } + }, + { + "fna": { + "type": "file", + "description": "FASTA format of the genomic sequence(s) in the assembly.", + "pattern": "*_genomic.fna.gz" + } + }, + { + "rm": { + "type": "file", + "description": "RepeatMasker output for eukaryotes.", + "pattern": "*_rm.out.gz" + } + }, + { + "features": { + "type": "file", + "description": "Tab-delimited text file reporting locations and attributes for a subset of annotated features", + "pattern": "*_feature_table.txt.gz" + } + }, + { + "gff": { + "type": "file", + "description": "Annotation of the genomic sequence(s) in GFF3 format", + "pattern": "*_genomic.gff.gz" + } + }, + { + "faa": { + "type": "file", + "description": "FASTA format of the accessioned protein products annotated on the genome assembly.", + "pattern": "*_protein.faa.gz" + } + }, + { + "gpff": { + "type": "file", + "description": "GenPept format of the accessioned protein products annotated on the genome assembly.", + "pattern": "*_protein.gpff.gz" + } + }, + { + "wgs_gbk": { + "type": "file", + "description": "GenBank flat file format of the WGS master for the assembly", + "pattern": "*_wgsmaster.gbff.gz" + } + }, + { + "cds": { + "type": "file", + "description": "FASTA format of the nucleotide sequences corresponding to all CDS features annotated on the assembly", + "pattern": "*_cds_from_genomic.fna.gz" + } + }, + { + "rna": { + "type": "file", + "description": "FASTA format of accessioned RNA products annotated on the genome assembly", + "pattern": "*_rna.fna.gz" + } + }, + { + "rna_fna": { + "type": "file", + "description": "FASTA format of the nucleotide sequences corresponding to all RNA features annotated on the assembly", + "pattern": "*_rna_from_genomic.fna.gz" + } + }, + { + "report": { + "type": "file", + "description": "Tab-delimited text file reporting the name, role and sequence accession.version for objects in the assembly", + "pattern": "*_assembly_report.txt" + } + }, + { + "stats": { + "type": "file", + "description": "Tab-delimited text file reporting statistics for the assembly", + "pattern": "*_assembly_stats.txt" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "nextclade_datasetget", + "path": "modules/nf-core/nextclade/datasetget/meta.yml", + "type": "module", + "meta": { + "name": "nextclade_datasetget", + "description": "Get dataset for SARS-CoV-2 genome clade assignment, mutation calling, and sequence quality checks (C++ implementation)", + "keywords": [ + "nextclade", + "variant", + "consensus" + ], + "tools": [ + { + "nextclade": { + "description": "SARS-CoV-2 genome clade assignment, mutation calling, and sequence quality checks", + "homepage": "https://github.com/nextstrain/nextclade", + "documentation": "https://github.com/nextstrain/nextclade", + "tool_dev_url": "https://github.com/nextstrain/nextclade", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "dataset": { + "type": "string", + "description": "Name of dataset to retrieve. A list of available datasets can be obtained using the nextclade dataset list command.", + "pattern": ".+" + } + }, + { + "reference": { + "type": "string", + "description": "Accession id to download dataset based on a particular reference sequence. A list of available datasets can be obtained using the nextclade dataset list command.", + "pattern": ".+" + } + }, + { + "tag": { + "type": "string", + "description": "Version tag of the dataset to download. A list of available datasets can be obtained using the nextclade dataset list command.", + "pattern": ".+" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "prefix": { + "type": "path", + "description": "A directory containing the dataset files needed for nextclade run", + "pattern": "prefix" + } + } + ], + "authors": [ + "@antunderwood", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "nextclade_run", + "path": "modules/nf-core/nextclade/run/meta.yml", + "type": "module", + "meta": { + "name": "nextclade_run", + "description": "SARS-CoV-2 genome clade assignment, mutation calling, and sequence quality checks (C++ implementation)", + "keywords": [ + "nextclade", + "variant", + "consensus" + ], + "tools": [ + { + "nextclade": { + "description": "SARS-CoV-2 genome clade assignment, mutation calling, and sequence quality checks", + "homepage": "https://github.com/nextstrain/nextclade", + "documentation": "https://github.com/nextstrain/nextclade", + "tool_dev_url": "https://github.com/nextstrain/nextclade", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "dataset": { + "type": "path", + "description": "Path containing the dataset files obtained by running nextclade dataset get", + "pattern": "*" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file containing one or more consensus sequences", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "csv": { + "type": "file", + "description": "CSV file containing nextclade results", + "pattern": "*.{csv}" + } + }, + { + "json": { + "type": "file", + "description": "JSON file containing nextclade results", + "pattern": "*.{json}" + } + }, + { + "json_tree": { + "type": "file", + "description": "Auspice JSON V2 containing nextclade results", + "pattern": "*.{tree.json}" + } + }, + { + "tsv": { + "type": "file", + "description": "TSV file containing nextclade results", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@antunderwood", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "nextgenmap", + "path": "modules/nf-core/nextgenmap/meta.yml", + "type": "module", + "meta": { + "name": "nextgenmap", + "description": "Performs fastq alignment to a fasta reference using NextGenMap", + "keywords": [ + "NextGenMap", + "ngm", + "alignment", + "map", + "fastq", + "bam", + "sam" + ], + "tools": [ + { + "bwa": { + "description": "NextGenMap is a flexible highly sensitive short read mapping tool that\nhandles much higher mismatch rates than comparable algorithms while\nstill outperforming them in terms of runtime\n", + "homepage": "https://github.com/Cibiv/NextGenMap", + "documentation": "https://github.com/Cibiv/NextGenMap/wiki", + "doi": "10.1093/bioinformatics/btt468", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1, if meta.single_end is true, and 2\nif meta.single_end is false.\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Genomic reference fasta file\n", + "pattern": "*.{fa,fa.gz,fas,fas.gz,fna,fna.gz,fasta,fasta.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information. First item of tuple with\nbam, below.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Output BAM file containing read alignments. Second item of tuple with\nmeta, above\n", + "pattern": "*.{bam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@cmatkhan" + ] + } + }, + { + "name": "ngmaster", + "path": "modules/nf-core/ngmaster/meta.yml", + "type": "module", + "meta": { + "name": "ngmaster", + "description": "Serotyping Neisseria gonorrhoeae assemblies", + "keywords": [ + "fasta", + "Neisseria gonorrhoeae", + "serotype" + ], + "tools": [ + { + "ngmaster": { + "description": "In silico multi-antigen sequence typing for Neisseria gonorrhoeae (NG-MAST)", + "homepage": "https://github.com/MDU-PHL/ngmaster/blob/master/README.md", + "documentation": "https://github.com/MDU-PHL/ngmaster/blob/master/README.md", + "tool_dev_url": "https://github.com/MDU-PHL/ngmaster", + "doi": "10.1099/mgen.0.000076", + "licence": [ + "GPL v3 only" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA assembly file", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "Tab-delimited result file", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "ngmerge", + "path": "modules/nf-core/ngmerge/meta.yml", + "type": "module", + "meta": { + "name": "ngmerge", + "description": "Merging paired-end reads and removing sequencing adapters.", + "keywords": [ + "sort", + "reads merging", + "merge mate pairs" + ], + "tools": [ + { + "ngmerge": { + "description": "Merging paired-end reads and removing sequencing adapters.", + "homepage": "https://github.com/jsh58/NGmerge", + "documentation": "https://github.com/jsh58/NGmerge", + "tool_dev_url": "https://github.com/jsh58/NGmerge", + "doi": "10.1186/s12859-018-2579-2", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 2; i.e., paired-end data.\n", + "pattern": "*.{fa,fasta,fastq,fq,fa.gz,fasta.gz,fastq.gz,fq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "merged_reads": { + "type": "file", + "description": "fastq file merged reads", + "pattern": "*.{fa,fasta,fastq,fq,fa.gz,fasta.gz,fastq.gz,fq.gz}" + } + }, + { + "unstitched_read1": { + "type": "file", + "description": "fastq file unstitched read 1", + "pattern": "*.{fa,fasta,fastq,fq,fa.gz,fasta.gz,fastq.gz,fq.gz}" + } + }, + { + "unstitched_read2": { + "type": "file", + "description": "fastq file unstitched read 2", + "pattern": "*.{fa,fasta,fastq,fq,fa.gz,fasta.gz,fastq.gz,fq.gz}" + } + } + ], + "authors": [ + "@charlotteanne", + "@jsh58" + ] + } + }, + { + "name": "ngsbits_samplegender", + "path": "modules/nf-core/ngsbits/samplegender/meta.yml", + "type": "module", + "meta": { + "name": "ngsbits_samplegender", + "description": "Determines the gender of a sample from the BAM/CRAM file.", + "keywords": [ + "gender", + "cram", + "bam", + "short reads" + ], + "tools": [ + { + "ngsbits": { + "description": "Short-read sequencing tools", + "homepage": "https://github.com/imgag/ngs-bits", + "documentation": "https://github.com/imgag/ngs-bits", + "tool_dev_url": "https://github.com/imgag/ngs-bits", + "licence": "['MIT license']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "One or more BAM/CRAM files to determine the gender of", + "pattern": "*.{bam,cram}" + } + }, + { + "bai": { + "type": "file", + "description": "The index file(s) from the input BAM/CRAM file(s)", + "pattern": "*.{bai,crai}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference fasta information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference FASTA to use (mandatory when CRAM files are used)", + "pattern": "*.{fasta,fa,fna}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference fasta index information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The index of the reference FASTA to use (mandatory when CRAM files are used)", + "pattern": "*.fai" + } + }, + { + "method": { + "type": "string", + "description": "The method to use to define the gender (posibilities are 'xy', 'hetx' and 'sry')", + "pattern": "(xy|hetx|sry)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "An output TSV file containing the results of the gender prediction", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "ngscheckmate_ncm", + "path": "modules/nf-core/ngscheckmate/ncm/meta.yml", + "type": "module", + "meta": { + "name": "ngscheckmate_ncm", + "description": "Determining whether sequencing data comes from the same individual by using SNP matching. Designed for humans on vcf or bam files.", + "keywords": [ + "ngscheckmate", + "matching", + "snp" + ], + "tools": [ + { + "ngscheckmate": { + "description": "NGSCheckMate is a software package for identifying next generation sequencing (NGS) data files from the same individual, including matching between DNA and RNA.", + "homepage": "https://github.com/parklab/NGSCheckMate", + "documentation": "https://github.com/parklab/NGSCheckMate", + "tool_dev_url": "https://github.com/parklab/NGSCheckMate", + "doi": "10.1093/nar/gkx193", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "files": { + "type": "file", + "description": "VCF or BAM files for each sample, in a merged channel (possibly gzipped). BAM files require an index too.", + "pattern": "*.{vcf,vcf.gz,bam,bai}" + } + }, + { + "snp_bed": { + "type": "file", + "description": "BED file containing the SNPs to analyse", + "pattern": "*.{bed}" + } + }, + { + "fasta": { + "type": "file", + "description": "fasta file for the genome, only used in the bam mode", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "pdf": { + "type": "file", + "description": "A pdf containing a dendrogram showing how the samples match up", + "pattern": "*.{pdf}" + } + }, + { + "corr_matrix": { + "type": "file", + "description": "A text file containing the correlation matrix between each sample", + "pattern": "*corr_matrix.txt" + } + }, + { + "matched": { + "type": "file", + "description": "A txt file containing only the samples that match with each other", + "pattern": "*matched.txt" + } + }, + { + "all": { + "type": "file", + "description": "A txt file containing all the sample comparisons, whether they match or not", + "pattern": "*all.txt" + } + }, + { + "vcf": { + "type": "file", + "description": "If ran in bam mode, vcf files for each sample giving the SNP calls used", + "pattern": "*.vcf" + } + } + ], + "authors": [ + "@sppearce" + ] + } + }, + { + "name": "nucmer", + "path": "modules/nf-core/nucmer/meta.yml", + "type": "module", + "meta": { + "name": "nucmer", + "description": "NUCmer is a pipeline for the alignment of multiple closely related nucleotide sequences.", + "keywords": [ + "align", + "nucleotide" + ], + "tools": [ + { + "nucmer": { + "description": "NUCmer is a pipeline for the alignment of multiple closely related nucleotide sequences.", + "homepage": "http://mummer.sourceforge.net/", + "documentation": "http://mummer.sourceforge.net/", + "tool_dev_url": "http://mummer.sourceforge.net/", + "doi": "10.1186/gb-2004-5-2-r12", + "licence": [ + "The Artistic License" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ref": { + "type": "file", + "description": "FASTA file of the reference sequence", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" + } + }, + { + "query": { + "type": "file", + "description": "FASTA file of the query sequence", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "delta": { + "type": "file", + "description": "File containing coordinates of matches between reference and query" + } + }, + { + "coords": { + "type": "file", + "description": "NUCmer1.1 coords output file", + "pattern": "*.{coords}" + } + } + ], + "authors": [ + "@sateeshperi", + "@mjcipriano" + ] + } + }, + { + "name": "odgi_build", + "path": "modules/nf-core/odgi/build/meta.yml", + "type": "module", + "meta": { + "name": "odgi_build", + "description": "Construct a dynamic succinct variation graph in ODGI format from a GFAv1.", + "keywords": [ + "variation graph", + "pangenome graph", + "gfa", + "graph construction" + ], + "tools": [ + { + "odgi": { + "description": "An optimized dynamic genome/graph implementation", + "homepage": "https://github.com/pangenome/odgi", + "documentation": "https://odgi.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/pangenome/odgi", + "doi": "10.1093/bioinformatics/btac308", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "graph": { + "type": "file", + "description": "Pangenome graph in GFA v1.0 format", + "pattern": "*.{gfa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "og": { + "type": "file", + "description": "File containing a pangenome graph in ODGI binary format. Usually ends with '.og'", + "pattern": "*.{og}" + } + } + ], + "authors": [ + "@subwaystation" + ] + }, + "pipelines": [ + { + "name": "pangenome", + "version": "dev" + } + ] + }, + { + "name": "odgi_draw", + "path": "modules/nf-core/odgi/draw/meta.yml", + "type": "module", + "meta": { + "name": "odgi_draw", + "description": "Draw previously-determined 2D layouts of the graph with diverse annotations.", + "keywords": [ + "variation graph", + "pangenome graph", + "gfa", + "graph drawing" + ], + "tools": [ + { + "odgi": { + "description": "An optimized dynamic genome/graph implementation", + "homepage": "https://github.com/pangenome/odgi", + "documentation": "https://odgi.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/pangenome/odgi", + "doi": "10.1093/bioinformatics/btac308", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "graph": { + "type": "file", + "description": "Pangenome graph in GFA v1.0 format or ODGI binary format", + "pattern": "*.{gfa,og}" + } + }, + { + "lay": { + "type": "file", + "description": "2D layout from 'odgi layout' in LAY binary format", + "pattern": "*.{lay}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "png": { + "type": "file", + "description": "File in PNG format containing a 2D drawing of a pangenome graph", + "pattern": "*.{png}" + } + } + ], + "authors": [ + "@subwaystation" + ] + }, + "pipelines": [ + { + "name": "pangenome", + "version": "dev" + } + ] + }, + { + "name": "odgi_layout", + "path": "modules/nf-core/odgi/layout/meta.yml", + "type": "module", + "meta": { + "name": "odgi_layout", + "description": "Establish 2D layouts of the graph using path-guided stochastic gradient descent. The graph must be sorted and id-compacted.", + "keywords": [ + "variation graph", + "pangenome graph", + "gfa", + "graph layout" + ], + "tools": [ + { + "odgi": { + "description": "An optimized dynamic genome/graph implementation", + "homepage": "https://github.com/pangenome/odgi", + "documentation": "https://odgi.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/pangenome/odgi", + "doi": "10.1093/bioinformatics/btac308", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "graph": { + "type": "file", + "description": "Pangenome graph in GFA v1.0 format or in ODGI binary format", + "pattern": "*.{gfa,og}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "lay": { + "type": "file", + "description": "File containing a 2D layout of a pangenome graph in a binary format. Usually ends with '.lay'. Optional output specified by the `--out FILE` argument. Either this or the TSV layout output must be specified.", + "pattern": "*.{lay}" + } + }, + { + "tsv": { + "type": "file", + "description": "File containing a 2D layout of a pangenome graph in TSV format. Optional output specified by the `--tsv FILE` argument. Either this or the binary layout output must be specified.", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@subwaystation" + ] + }, + "pipelines": [ + { + "name": "pangenome", + "version": "dev" + } + ] + }, + { + "name": "odgi_sort", + "path": "modules/nf-core/odgi/sort/meta.yml", + "type": "module", + "meta": { + "name": "odgi_sort", + "description": "Apply different kind of sorting algorithms to a graph. The most prominent one is the PG-SGD sorting algorithm.", + "keywords": [ + "variation graph", + "pangenome graph", + "gfa", + "graph layout" + ], + "tools": [ + { + "odgi": { + "description": "An optimized dynamic genome/graph implementation", + "homepage": "https://github.com/pangenome/odgi", + "documentation": "https://odgi.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/pangenome/odgi", + "doi": "10.1093/bioinformatics/btac308", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "graph": { + "type": "file", + "description": "Pangenome graph in GFA v1.0 format or in ODGI binary format", + "pattern": "*.{gfa,og}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sorted_graph": { + "type": "file", + "description": "1D sorted pangenome graph in ODGI binary format", + "pattern": "*.{og}" + } + } + ], + "authors": [ + "@subwaystation" + ] + }, + "pipelines": [ + { + "name": "pangenome", + "version": "dev" + } + ] + }, + { + "name": "odgi_squeeze", + "path": "modules/nf-core/odgi/squeeze/meta.yml", + "type": "module", + "meta": { + "name": "odgi_squeeze", + "description": "Squeezes multiple graphs in ODGI format into the same file in ODGI format.", + "keywords": [ + "squeeze", + "odgi", + "gfa", + "combine graphs" + ], + "tools": [ + { + "odgi": { + "description": "An optimized dynamic genome/graph implementation", + "homepage": "https://github.com/pangenome/odgi", + "documentation": "https://odgi.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/pangenome/odgi", + "doi": "10.1093/bioinformatics/btac308", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "graphs": { + "type": "files", + "description": "Pangenome graph files in ODGI format.", + "pattern": "*.{og}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "graph": { + "type": "file", + "description": "Squeezed pangenome graph in ODGI format.", + "pattern": "*.{og}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@subwaystation" + ] + }, + "pipelines": [ + { + "name": "pangenome", + "version": "dev" + } + ] + }, + { + "name": "odgi_stats", + "path": "modules/nf-core/odgi/stats/meta.yml", + "type": "module", + "meta": { + "name": "odgi_stats", + "description": "Metrics describing a variation graph and its path relationship.", + "keywords": [ + "variation graph", + "pangenome graph", + "gfa", + "graph stats" + ], + "tools": [ + { + "odgi": { + "description": "An optimized dynamic genome/graph implementation", + "homepage": "https://github.com/pangenome/odgi", + "documentation": "https://odgi.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/pangenome/odgi", + "doi": "10.1093/bioinformatics/btac308", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "graph": { + "type": "file", + "description": "Pangenome graph in binary ODGI or in GFA v1.0 format", + "pattern": "*.{og,gfa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "Optional output file that contains graph statistics in TSV format.", + "pattern": "*.{tsv}" + } + }, + { + "yaml": { + "type": "file", + "description": "Optional output file that contains graph statistics in YAML format.", + "pattern": "*.{yaml}" + } + } + ], + "authors": [ + "@subwaystation" + ] + }, + "pipelines": [ + { + "name": "pangenome", + "version": "dev" + } + ] + }, + { + "name": "odgi_unchop", + "path": "modules/nf-core/odgi/unchop/meta.yml", + "type": "module", + "meta": { + "name": "odgi_unchop", + "description": "Merge unitigs into a single node preserving the node order.", + "keywords": [ + "variation graph", + "pangenome graph", + "gfa", + "graph unchopping" + ], + "tools": [ + { + "odgi": { + "description": "An optimized dynamic genome/graph implementation", + "homepage": "https://github.com/pangenome/odgi", + "documentation": "https://odgi.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/pangenome/odgi", + "doi": "10.1093/bioinformatics/btac308", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "graph": { + "type": "file", + "description": "Pangenome graph in GFA v1.0 format or in ODGI binary format", + "pattern": "*.{gfa,og}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "unchopped_graph": { + "type": "file", + "description": "Unchopped pangenome graph in ODGI binary format", + "pattern": "*.{og}" + } + } + ], + "authors": [ + "@subwaystation" + ] + }, + "pipelines": [ + { + "name": "pangenome", + "version": "dev" + } + ] + }, + { + "name": "odgi_view", + "path": "modules/nf-core/odgi/view/meta.yml", + "type": "module", + "meta": { + "name": "odgi_view", + "description": "Project a graph into other formats.", + "keywords": [ + "variation graph", + "pangenome graph", + "gfa", + "graph formats" + ], + "tools": [ + { + "odgi": { + "description": "An optimized dynamic genome/graph implementation", + "homepage": "https://github.com/pangenome/odgi", + "documentation": "https://odgi.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/pangenome/odgi", + "doi": "10.1093/bioinformatics/btac308", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "graph": { + "type": "file", + "description": "Pangenome graph in GFA v1.0 format or in ODGI binary format", + "pattern": "*.{gfa,og}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "gfa": { + "type": "file", + "description": "File containing a pangenome graph in GFA v1.0 format.", + "pattern": "*.{gfa}" + } + } + ], + "authors": [ + "@subwaystation" + ] + }, + "pipelines": [ + { + "name": "pangenome", + "version": "dev" + } + ] + }, + { + "name": "odgi_viz", + "path": "modules/nf-core/odgi/viz/meta.yml", + "type": "module", + "meta": { + "name": "odgi_viz", + "description": "Visualize a variation graph in 1D.", + "keywords": [ + "variation graph", + "pangenome graph", + "gfa", + "graph viz" + ], + "tools": [ + { + "odgi": { + "description": "An optimized dynamic genome/graph implementation", + "homepage": "https://github.com/pangenome/odgi", + "documentation": "https://odgi.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/pangenome/odgi", + "doi": "10.1093/bioinformatics/btac308", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "graph": { + "type": "file", + "description": "Pangenome graph in binary ODGI or in GFA v1.0 format", + "pattern": "*.{og,gfa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "png": { + "type": "file", + "description": "A 1D visualization of a pangenome graph.", + "pattern": "*.{png}" + } + } + ], + "authors": [ + "@subwaystation" + ] + }, + "pipelines": [ + { + "name": "pangenome", + "version": "dev" + } + ] + }, + { + "name": "oncocnv", + "path": "modules/nf-core/oncocnv/meta.yml", + "type": "module", + "meta": { + "name": "oncocnv", + "description": "Calls CNVs in bam files from tumor patients", + "keywords": [ + "cnv", + "bam", + "tumor/normal" + ], + "tools": [ + { + "oncocnv": { + "description": "a package to detect copy number changes in Deep Sequencing data", + "homepage": "https://github.com/BoevaLab/ONCOCNV/", + "documentation": "https://github.com/BoevaLab/ONCOCNV/blob/master/README.md", + "tool_dev_url": "https://github.com/BoevaLab/ONCOCNV/", + "doi": "10.1093/bioinformatics/btu436", + "licence": "GPL-3.0-or-later" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "normal": { + "type": "file", + "description": "BAM files", + "pattern": "*.bam" + } + }, + { + "normal_index": { + "type": "file", + "description": "BAM file indices", + "pattern": "*.bam.bai" + } + }, + { + "tumor": { + "type": "file", + "description": "BAM files", + "pattern": "*.bam" + } + }, + { + "tumor_index": { + "type": "file", + "description": "BAM file indices", + "pattern": "*.bam.bai" + } + }, + { + "bed": { + "type": "file", + "description": "annotated BED file containing target regions", + "pattern": "*.bed" + } + }, + { + "fasta": { + "type": "file", + "description": "genome FASTA file", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "png": { + "type": "file", + "description": "PNG file containing profile plot", + "pattern": "*.profile.png" + } + }, + { + "profile": { + "type": "file", + "description": "TXT file containing profile data", + "pattern": "*.profile.txt" + } + }, + { + "summary": { + "type": "file", + "description": "TXT file containing summarized data", + "pattern": "*.summary.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@marrip" + ] + } + }, + { + "name": "optitype", + "path": "modules/nf-core/optitype/meta.yml", + "type": "module", + "meta": { + "name": "optitype", + "description": "Perform HLA-I typing of sequencing data", + "keywords": [ + "hla-typing", + "ILP", + "HLA-I" + ], + "tools": [ + { + "optitype": { + "description": "Precision HLA typing from next-generation sequencing data", + "homepage": "https://github.com/FRED-2/OptiType", + "documentation": "https://github.com/FRED-2/OptiType", + "doi": "10.1093/bioinformatics/btu548", + "licence": [ + "BSD-3-Clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.{bam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file", + "pattern": "*.{bai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', seq_type:'DNA' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "file", + "description": "OptiType Results Folder", + "pattern": "${prefix}" + } + }, + { + "pdf": { + "type": "file", + "description": "OptiType PDF Plots", + "pattern": "*.pdf" + } + } + ], + "authors": [ + "@apeltzer" + ] + }, + "pipelines": [ + { + "name": "hlatyping", + "version": "2.0.0" + } + ] + }, + { + "name": "paftools_sam2paf", + "path": "modules/nf-core/paftools/sam2paf/meta.yml", + "type": "module", + "meta": { + "name": "paftools_sam2paf", + "description": "A program to convert bam into paf.", + "keywords": [ + "paf", + "bam", + "conversion" + ], + "tools": [ + { + "paftools": { + "description": "A program to manipulate paf files / convert to and from paf.\n", + "homepage": "https://github.com/lh3/minimap2", + "documentation": "https://github.com/lh3/minimap2/blob/master/README.md", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "An input bam file to be converted into paf." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "paf": { + "type": "file", + "description": "An output paf containing detailed data about the sample\n", + "pattern": "${prefix}.paf" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@DLBPointon" + ] + } + }, + { + "name": "pairix", + "path": "modules/nf-core/pairix/meta.yml", + "type": "module", + "meta": { + "name": "pairix", + "description": "a tool for indexing and querying on a block-compressed text file\ncontaining pairs of genomic coordinates\n", + "keywords": [ + "index" + ], + "tools": [ + { + "pairix": { + "description": "2D indexing on bgzipped text files of paired genomic coordinates", + "homepage": "https://github.com/4dn-dcic/pairix", + "documentation": "https://github.com/4dn-dcic/pairix", + "tool_dev_url": "https://github.com/4dn-dcic/pairix", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "pair": { + "type": "file", + "description": "pair file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "index": { + "type": "file", + "description": "pair index file", + "pattern": "*.px2" + } + } + ], + "authors": [ + "@jianhong" + ] + }, + "pipelines": [ + { + "name": "hicar", + "version": "1.0.0" + } + ] + }, + { + "name": "pairtools_dedup", + "path": "modules/nf-core/pairtools/dedup/meta.yml", + "type": "module", + "meta": { + "name": "pairtools_dedup", + "description": "Find and remove PCR/optical duplicates", + "keywords": [ + "dedup" + ], + "tools": [ + { + "pairtools": { + "description": "CLI tools to process mapped Hi-C data", + "homepage": "http://pairtools.readthedocs.io/", + "documentation": "http://pairtools.readthedocs.io/", + "tool_dev_url": "https://github.com/mirnylab/pairtools", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "pair file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "pairs": { + "type": "file", + "description": "Duplicates removed pairs", + "pattern": "*.{pairs.gz}" + } + }, + { + "stat": { + "type": "file", + "description": "stats of the pairs", + "pattern": "*.{pairs.stat}" + } + } + ], + "authors": [ + "@jianhong" + ] + }, + "pipelines": [ + { + "name": "hicar", + "version": "1.0.0" + } + ] + }, + { + "name": "pairtools_flip", + "path": "modules/nf-core/pairtools/flip/meta.yml", + "type": "module", + "meta": { + "name": "pairtools_flip", + "description": "Flip pairs to get an upper-triangular matrix", + "keywords": [ + "flip" + ], + "tools": [ + { + "pairtools": { + "description": "CLI tools to process mapped Hi-C data", + "homepage": "http://pairtools.readthedocs.io/", + "documentation": "http://pairtools.readthedocs.io/", + "tool_dev_url": "https://github.com/mirnylab/pairtools", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sam": { + "type": "file", + "description": "pair file" + } + }, + { + "chromsizes": { + "type": "file", + "description": "chromosome size file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "flip": { + "type": "file", + "description": "output file of flip", + "pattern": "*.{flip.gz}" + } + } + ], + "authors": [ + "@jianhong" + ] + }, + "pipelines": [ + { + "name": "hicar", + "version": "1.0.0" + } + ] + }, + { + "name": "pairtools_parse", + "path": "modules/nf-core/pairtools/parse/meta.yml", + "type": "module", + "meta": { + "name": "pairtools_parse", + "description": "Find ligation junctions in .sam, make .pairs", + "keywords": [ + "parse" + ], + "tools": [ + { + "pairtools": { + "description": "CLI tools to process mapped Hi-C data", + "homepage": "http://pairtools.readthedocs.io/", + "documentation": "http://pairtools.readthedocs.io/", + "tool_dev_url": "https://github.com/mirnylab/pairtools", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "chromsizes": { + "type": "file", + "description": "chromosome size file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "pairsam": { + "type": "file", + "description": "parsed pair file", + "pattern": "*.{pairsam.gz}" + } + }, + { + "stat": { + "type": "file", + "description": "stats of the pairs", + "pattern": "*.{pairsam.stat}" + } + } + ], + "authors": [ + "@jianhong" + ] + }, + "pipelines": [ + { + "name": "hicar", + "version": "1.0.0" + } + ] + }, + { + "name": "pairtools_restrict", + "path": "modules/nf-core/pairtools/restrict/meta.yml", + "type": "module", + "meta": { + "name": "pairtools_restrict", + "description": "Assign restriction fragments to pairs", + "keywords": [ + "sort" + ], + "tools": [ + { + "pairtools": { + "description": "CLI tools to process mapped Hi-C data", + "homepage": "http://pairtools.readthedocs.io/", + "documentation": "http://pairtools.readthedocs.io/", + "tool_dev_url": "https://github.com/mirnylab/pairtools", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "pairs": { + "type": "file", + "description": "pairs file" + } + }, + { + "frag": { + "type": "file", + "description": "a tab-separated BED file with the positions of restriction fragments\n(chrom, start, end).\nCan be generated using cooler digest.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "restrict": { + "type": "file", + "description": "Filtered pairs file", + "pattern": "*.{pairs.gz}" + } + } + ], + "authors": [ + "@jianhong" + ] + }, + "pipelines": [ + { + "name": "hicar", + "version": "1.0.0" + } + ] + }, + { + "name": "pairtools_select", + "path": "modules/nf-core/pairtools/select/meta.yml", + "type": "module", + "meta": { + "name": "pairtools_select", + "description": "Select pairs according to given condition by options.args", + "keywords": [ + "select" + ], + "tools": [ + { + "pairtools": { + "description": "CLI tools to process mapped Hi-C data", + "homepage": "http://pairtools.readthedocs.io/", + "documentation": "http://pairtools.readthedocs.io/", + "tool_dev_url": "https://github.com/mirnylab/pairtools", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "pairs file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "selected": { + "type": "file", + "description": "Selected pairs file", + "pattern": "*.{selected.pairs.gz}" + } + }, + { + "unselected": { + "type": "file", + "description": "Rest pairs file.", + "pattern": "*.{unselected.pairs.gz}" + } + } + ], + "authors": [ + "@jianhong" + ] + }, + "pipelines": [ + { + "name": "hicar", + "version": "1.0.0" + } + ] + }, + { + "name": "pairtools_sort", + "path": "modules/nf-core/pairtools/sort/meta.yml", + "type": "module", + "meta": { + "name": "pairtools_sort", + "description": "Sort a .pairs/.pairsam file", + "keywords": [ + "sort" + ], + "tools": [ + { + "pairtools": { + "description": "CLI tools to process mapped Hi-C data", + "homepage": "http://pairtools.readthedocs.io/", + "documentation": "http://pairtools.readthedocs.io/", + "tool_dev_url": "https://github.com/mirnylab/pairtools", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "A pairs file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sorted": { + "type": "file", + "description": "Sorted pairs file", + "pattern": "*.{pairs.gz}" + } + } + ], + "authors": [ + "@jianhong" + ] + }, + "pipelines": [ + { + "name": "hicar", + "version": "1.0.0" + } + ] + }, + { + "name": "panaroo_run", + "path": "modules/nf-core/panaroo/run/meta.yml", + "type": "module", + "meta": { + "name": "panaroo_run", + "description": "A fast and scalable tool for bacterial pangenome analysis", + "keywords": [ + "gff", + "pan-genome", + "alignment" + ], + "tools": [ + { + "panaroo": { + "description": "panaroo - an updated pipeline for pangenome investigation", + "homepage": "https://gtonkinhill.github.io/panaroo/#/", + "documentation": "https://gtonkinhill.github.io/panaroo/#/gettingstarted/quickstart", + "tool_dev_url": "https://github.com/gtonkinhill/panaroo", + "doi": "10.1186/s13059-020-02090-4", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gff": { + "type": "file", + "description": "A set of GFF3 formatted files", + "pattern": "*.{gff}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "results": { + "type": "directory", + "description": "Directory containing Panaroo result files", + "pattern": "*/*" + } + }, + { + "aln": { + "type": "file", + "description": "Core-genome alignment produced by Panaroo (Optional)", + "pattern": "*.{fasta}" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "pangolin", + "path": "modules/nf-core/pangolin/meta.yml", + "type": "module", + "meta": { + "name": "pangolin", + "description": "Phylogenetic Assignment of Named Global Outbreak LINeages", + "keywords": [ + "covid", + "pangolin", + "lineage" + ], + "tools": [ + { + "star": { + "description": "Phylogenetic Assignment of Named Global Outbreak LINeages\n", + "homepage": "https://github.com/cov-lineages/pangolin#pangolearn-description", + "manual": "https://github.com/cov-lineages/pangolin#pangolearn-description", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The genome assembly to be evaluated\n" + } + } + ], + "output": [ + { + "report": { + "type": "file", + "description": "Pangolin lineage report", + "pattern": "*.{csv}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kevinmenden", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "parabricks_applybqsr", + "path": "modules/nf-core/parabricks/applybqsr/meta.yml", + "type": "module", + "meta": { + "name": "parabricks_applybqsr", + "description": "NVIDIA Clara Parabricks GPU-accelerated apply Base Quality Score Recalibration (BQSR).", + "keywords": [ + "bqsr", + "bam", + "GPU-accelerated", + "base quality score recalibration" + ], + "tools": [ + { + "parabricks": { + "description": "NVIDIA Clara Parabricks GPU-accelerated genomics tools", + "homepage": "https://www.nvidia.com/en-us/clara/genomics/", + "documentation": "https://docs.nvidia.com/clara/parabricks/", + "licence": "custom" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information.\ne.g. [ id:'test' ]\n" + } + }, + { + "input": { + "type": "file", + "description": "bam file for sample to be variant called.", + "pattern": "*.bam" + } + }, + { + "input_index": { + "type": "file", + "description": "bai index corresponding to input bam file. Only necessary if intervals are provided.", + "pattern": "*.bai" + } + }, + { + "bqsr_table": { + "type": "file", + "description": "Table from calculating BQSR. Output from parabricks/fq2bam or gatk4/baserecalibrator.", + "pattern": "*.table" + } + }, + { + "interval_file": { + "type": "file", + "description": "File or files containing genomic intervals for use in base quality score recalibration.", + "pattern": "*.{bed,interval_list,picard,list,intervals}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference fasta - must be unzipped.", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information.\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions.", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file after applying BQSR.", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "bai index corresponding to output bam file.", + "pattern": "*.bai" + } + } + ], + "authors": [ + "@bsiranosian" + ] + } + }, + { + "name": "parabricks_fq2bam", + "path": "modules/nf-core/parabricks/fq2bam/meta.yml", + "type": "module", + "meta": { + "name": "parabricks_fq2bam", + "description": "NVIDIA Clara Parabricks GPU-accelerated alignment, sorting, BQSR calculation, and duplicate marking.", + "keywords": [ + "align", + "sort", + "bqsr", + "duplicates" + ], + "tools": [ + { + "parabricks": { + "description": "NVIDIA Clara Parabricks GPU-accelerated genomics tools", + "homepage": "https://www.nvidia.com/en-us/clara/genomics/", + "documentation": "https://docs.nvidia.com/clara/parabricks/4.0.1/Documentation/", + "licence": "custom" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "fastq.gz files", + "pattern": "*.fastq.gz" + } + }, + { + "interval_file": { + "type": "file", + "description": "(optional) file(s) containing genomic intervals for use in base quality score recalibration (BQSR)", + "pattern": "*.{bed,interval_list,picard,list,intervals}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing fasta information\n" + } + }, + { + "fasta": { + "type": "file", + "description": "reference fasta file - must be unzipped", + "pattern": "*.fasta" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing index information\n" + } + }, + { + "index": { + "type": "file", + "description": "reference BWA index", + "pattern": "*.{amb,ann,bwt,pac,sa}" + } + }, + { + "known_sites": { + "type": "file", + "description": "(optional) known sites file(s) for calculating BQSR. markdups must be true to perform BQSR.", + "pattern": "*.vcf.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM file", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "index corresponding to sorted BAM file", + "pattern": "*.bai" + } + }, + { + "qc_metrics": { + "type": "directory", + "description": "(optional) optional directory of qc metrics", + "pattern": "qc_metrics" + } + }, + { + "bqsr_table": { + "type": "file", + "description": "(optional) table from base quality score recalibration calculation, to be used with parabricks/applybqsr", + "pattern": "*.table" + } + }, + { + "duplicate_metrics": { + "type": "file", + "description": "(optional) metrics calculated from marking duplcates in the bam file", + "pattern": "*-duplicate-metrics.txt" + } + } + ], + "authors": [ + "@bsiranosian" + ] + } + }, + { + "name": "paraclu", + "path": "modules/nf-core/paraclu/meta.yml", + "type": "module", + "meta": { + "name": "paraclu", + "description": "Paraclu finds clusters in data attached to sequences.", + "keywords": [ + "sort" + ], + "tools": [ + { + "paraclu": { + "description": "Paraclu finds clusters in data attached to sequences.", + "homepage": "https://gitlab.com/mcfrith/paraclu", + "documentation": "https://gitlab.com/mcfrith/paraclu", + "tool_dev_url": "https://gitlab.com/mcfrith/paraclu", + "licence": [ + "GPL v3-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "BED file", + "pattern": "*.bed" + } + }, + { + "min_cluster": { + "type": "integer", + "description": "Minimum size of cluster", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "clustered BED file", + "pattern": "*.bed" + } + } + ], + "authors": [ + "@mashehu" + ] + } + }, + { + "name": "paragraph_idxdepth", + "path": "modules/nf-core/paragraph/idxdepth/meta.yml", + "type": "module", + "meta": { + "name": "paragraph_idxdepth", + "description": "Determines the depth in a BAM/CRAM file", + "keywords": [ + "bam", + "cram", + "depth", + "paragraph" + ], + "tools": [ + { + "paragraph": { + "description": "Graph realignment tools for structural variants", + "homepage": "https://github.com/Illumina/paragraph", + "documentation": "https://github.com/Illumina/paragraph", + "tool_dev_url": "https://github.com/Illumina/paragraph", + "doi": "10.1101/635011", + "licence": "['Apache License 2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing information for the fasta\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing information for the fasta_fai\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "input_index": { + "type": "file", + "description": "Index of the BAM/CRAM file", + "pattern": "*.{bai,crai}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome FASTA", + "pattern": "*.{fasta,fna,fa}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "Index of the reference genome FASTA", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "depth": { + "type": "file", + "description": "A JSON file containing depth, depth variance, read length and other parameters", + "pattern": "*.json" + } + }, + { + "binned_depth": { + "type": "file", + "description": "A TSV file containing the binned normalized depth. Can only be calculated for CRAM files", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "paragraph_multigrmpy", + "path": "modules/nf-core/paragraph/multigrmpy/meta.yml", + "type": "module", + "meta": { + "name": "paragraph_multigrmpy", + "description": "Genotype structural variants using paragraph and grmpy", + "keywords": [ + "vcf", + "json", + "structural variants", + "graphs", + "genotyping" + ], + "tools": [ + { + "paragraph": { + "description": "Graph realignment tools for structural variants", + "homepage": "https://github.com/Illumina/paragraph", + "documentation": "https://github.com/Illumina/paragraph", + "tool_dev_url": "https://github.com/Illumina/paragraph", + "doi": "10.1101/635011", + "licence": "['Apache License 2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "variants": { + "type": "file", + "description": "A VCF or JSON file containing called structural variants", + "pattern": "*.{vcf,json}" + } + }, + { + "variants_index": { + "type": "file", + "description": "The index for the VCF file", + "pattern": "*.tbi" + } + }, + { + "reads": { + "type": "file", + "description": "BAM or CRAM file(s) to genotype against. These should be specified inside the `manifest`", + "pattern": "*.{bam,cram}" + } + }, + { + "reads_index": { + "type": "file", + "description": "The index/indices for the BAM/CRAM file(s)", + "pattern": "*.{bai,crai}" + } + }, + { + "manifest": { + "type": "file", + "description": "A tab separated file containing information on the BAM/CRAM files.\nThis information can be generated using paragraph/idxdepth.\nMore information can be found here: https://github.com/Illumina/paragraph#sample-manifest\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information for the FASTA file\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference FASTA file used to generate the VCF and BAM/CRAM files", + "pattern": "*.{fa,fasta,fna}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing sample information for the FASTA index file\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the reference FASTA file", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "The genotyped VCF file in BGZIP format", + "pattern": "*.vcf.gz" + } + }, + { + "json": { + "type": "file", + "description": "The genotyped JSON file in GZIP format", + "pattern": "*.json.gz" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "paragraph_vcf2paragraph", + "path": "modules/nf-core/paragraph/vcf2paragraph/meta.yml", + "type": "module", + "meta": { + "name": "paragraph_vcf2paragraph", + "description": "Convert a VCF file to a JSON graph", + "keywords": [ + "vcf", + "json", + "structural_variants" + ], + "tools": [ + { + "paragraph": { + "description": "Graph realignment tools for structural variants", + "homepage": "https://github.com/Illumina/paragraph", + "documentation": "https://github.com/Illumina/paragraph", + "tool_dev_url": "https://github.com/Illumina/paragraph", + "doi": "10.1101/635011", + "licence": "['Apache License 2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "The VCF/BCF file", + "pattern": "*.{vcf,bcf}(.gz)?" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "graph": { + "type": "file", + "description": "The created graph in BGZIP format", + "pattern": "*.json.gz" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "pasty", + "path": "modules/nf-core/pasty/meta.yml", + "type": "module", + "meta": { + "name": "pasty", + "description": "Serogroup Pseudomonas aeruginosa assemblies", + "keywords": [ + "bacteria", + "serogroup", + "fasta", + "assembly" + ], + "tools": [ + { + "pasty": { + "description": "A tool for in silico serogrouping of Pseudomonas aeruginosa isolates", + "homepage": "https://github.com/rpetit3/pasty", + "documentation": "https://github.com/rpetit3/pasty", + "tool_dev_url": "https://github.com/rpetit3/pasty", + "licence": "['Apache-2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "An assembly in FASTA format", + "pattern": "*.{fasta,fasta.gz,fna,fna.gz,fa,fa.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "A tab-delimited file with the predicted serogroup", + "pattern": "*.tsv" + } + }, + { + "blast": { + "type": "file", + "description": "A tab-delimited file of all blast hits", + "pattern": "*.blastn.tsv" + } + }, + { + "details": { + "type": "file", + "description": "A tab-delimited file with details for each serogroup", + "pattern": "*.details.tsv" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "pbbam_pbmerge", + "path": "modules/nf-core/pbbam/pbmerge/meta.yml", + "type": "module", + "meta": { + "name": "pbbam_pbmerge", + "description": "The pbbam software package provides components to create, query, & edit PacBio BAM files and associated indices. These components include a core C++ library, bindings for additional languages, and command-line utilities.", + "keywords": [ + "pbbam", + "pbbam/pbmerge" + ], + "tools": [ + { + "pbbam": { + "description": "PacBio BAM C++ library", + "homepage": "https://github.com/PacificBiosciences/pbbioconda", + "documentation": "https://pbbam.readthedocs.io/en/latest/tools/pbmerge.html", + "tool_dev_url": "https://github.com/pacificbiosciences/pbbam/", + "licence": [ + "BSD-3-Clause-Clear" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM files to merge", + "pattern": "*.bam" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "The merged bam file", + "pattern": "*.bam" + } + }, + { + "pbi": { + "type": "file", + "description": "BAM Pacbio index file", + "pattern": "*.bam.pbi" + } + } + ], + "authors": [ + "@sguizard" + ] + } + }, + { + "name": "pbccs", + "path": "modules/nf-core/pbccs/meta.yml", + "type": "module", + "meta": { + "name": "pbccs", + "description": "Pacbio ccs - Generate Higly Accurate Single-Molecule Consensus Reads", + "keywords": [ + "ccs", + "pacbio", + "isoseq", + "subreads" + ], + "tools": [ + { + "pbccs": { + "description": "pbccs - Generate Highly Accurate Single-Molecule Consensus Reads (HiFi Reads)", + "homepage": "https://github.com/PacificBiosciences/pbbioconda", + "documentation": "https://ccs.how/", + "tool_dev_url": "https://github.com/PacificBiosciences/ccs", + "licence": [ + "BSD-3-Clause-Clear" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\nid: id of the split file\n" + } + }, + { + "bam": { + "type": "file", + "description": "Raw subreads bam", + "pattern": "*.subreads.bam" + } + }, + { + "pbi": { + "type": "file", + "description": "Pacbio BAM Index", + "pattern": "*.pbi" + } + }, + { + "chunk_num": { + "type": "integer", + "description": "BAM part to process" + } + }, + { + "chunk_on": { + "type": "integer", + "description": "Total number of bam parts to process" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "CCS sequences in bam format", + "pattern": "*.bam" + } + }, + { + "pbi": { + "type": "file", + "description": "PacBio Index of CCS sequences", + "pattern": "*.pbi" + } + }, + { + "report_txt": { + "type": "file", + "description": "Summary of CCS in txt format", + "pattern": ".txt" + } + }, + { + "report_json": { + "type": "file", + "description": "Summary of CCS in txt json", + "pattern": ".json" + } + }, + { + "metrics": { + "type": "file", + "description": "Metrics about zmws", + "pattern": "*.json.gz" + } + } + ], + "authors": [ + "@sguizard" + ] + }, + "pipelines": [ + { + "name": "isoseq", + "version": "1.1.4" + } + ] + }, + { + "name": "pbptyper", + "path": "modules/nf-core/pbptyper/meta.yml", + "type": "module", + "meta": { + "name": "pbptyper", + "description": "Assign PBP type of Streptococcus pneumoniae assemblies", + "keywords": [ + "bacteria", + "pbp", + "fasta", + "assembly" + ], + "tools": [ + { + "pbptyper": { + "description": "In silico Penicillin Binding Protein (PBP) typer for Streptococcus pneumoniae assemblies", + "homepage": "https://github.com/rpetit3/pbptyper", + "documentation": "https://github.com/rpetit3/pbptyper", + "tool_dev_url": "https://github.com/rpetit3/pbptyper", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "An assembly in FASTA format", + "pattern": "*.{fasta,fasta.gz,fna,fna.gz,fa,fa.gz}" + } + }, + { + "db": { + "type": "file", + "description": "A reference PBP database (optional)", + "pattern": "*.{fasta,fna,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "A tab-delimited file with the predicted PBP type", + "pattern": "*.tsv" + } + }, + { + "blast": { + "type": "file", + "description": "A tab-delimited file of all blast hits", + "pattern": "*.tblastn.tsv" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "pear", + "path": "modules/nf-core/pear/meta.yml", + "type": "module", + "meta": { + "name": "pear", + "description": "PEAR is an ultrafast, memory-efficient and highly accurate pair-end read merger.", + "keywords": [ + "pair-end", + "read", + "merge" + ], + "tools": [ + { + "pear": { + "description": "paired-end read merger", + "homepage": "https://cme.h-its.org/exelixis/web/software/pear/", + "documentation": "https://cme.h-its.org/exelixis/web/software/pear/doc.html", + "licence": "['Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files with paired-end reads forward and reverse.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "assembled": { + "type": "file", + "description": "FastQ file containing Assembled reads.", + "pattern": "*.{fastq.gz}" + } + }, + { + "unassembled": { + "type": "file", + "description": "FastQ files containing Unassembled forward and reverse reads.", + "pattern": "*.{fastq.gz}" + } + }, + { + "discarded": { + "type": "file", + "description": "FastQ file containing discarded reads.", + "pattern": "*.{fastq.gz}" + } + } + ], + "authors": [ + "@mirpedrol" + ] + }, + "pipelines": [ + { + "name": "crisprseq", + "version": "2.0.0" + } + ] + }, + { + "name": "peddy", + "path": "modules/nf-core/peddy/meta.yml", + "type": "module", + "meta": { + "name": "peddy", + "description": "Manipulation, validation and exploration of pedigrees", + "keywords": [ + "pedigrees", + "ped", + "family" + ], + "tools": [ + { + "peddy": { + "description": "genotype, ped correspondence check, ancestry check, sex check. directly, quickly on VCF", + "homepage": "https://github.com/brentp/peddy", + "documentation": "https://peddy.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/brentp/peddy", + "doi": "10.1016/j.ajhg.2017.01.017", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf.gz}" + } + }, + { + "ped": { + "type": "file", + "description": "PED/FAM file", + "pattern": "*.{ped,fam}" + } + }, + { + "vcf_tbi": { + "type": "file", + "description": "TBI file", + "pattern": "*.{vcf.gz.tbi}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ped": { + "type": "file", + "description": "PED/FAM file", + "pattern": "*.peddy.{ped}" + } + }, + { + "html": { + "type": "file", + "description": "HTML file", + "pattern": "*.{html}" + } + }, + { + "csv": { + "type": "file", + "description": "CSV file", + "pattern": "*.{csv}" + } + }, + { + "png": { + "type": "file", + "description": "PNG file", + "pattern": "*.{png}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@rannick" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "peka", + "path": "modules/nf-core/peka/meta.yml", + "type": "module", + "meta": { + "name": "peka", + "description": "Runs PEKA CLIP peak k-mer analysis", + "keywords": [ + "motif", + "CLIP", + "iCLIP", + "genomics", + "k-mer" + ], + "tools": [ + { + "peka": { + "description": "Positionally-enriched k-mer analysis (PEKA) is a software package for identifying enriched protein-RNA binding motifs from CLIP datasets", + "homepage": "https://github.com/ulelab/peka", + "documentation": "https://github.com/ulelab/peka", + "tool_dev_url": "https://github.com/ulelab/peka", + "doi": "10.1186/s13059-022-02755-2", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "peaks": { + "type": "file", + "description": "BED file of peak regions", + "pattern": "*.{bed,bed.gz}" + } + }, + { + "crosslinks": { + "type": "file", + "description": "BED file of crosslinks", + "pattern": "*.{bed,bed.gz}" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome reference sequence used", + "pattern": "*.{fa,fasta}" + } + }, + { + "fai": { + "type": "file", + "description": "FAI file corresponding to the reference sequence", + "pattern": "*.{fai}" + } + }, + { + "gtf": { + "type": "file", + "description": "A segmented GTF used to annotate peaks", + "pattern": "*.{gtf}" + } + } + ], + "output": [ + { + "cluster": { + "type": "file", + "description": "TSV file of summed occurrence distributions of k-mers within defined clusters", + "pattern": "*.tsv" + } + }, + { + "distribution": { + "type": "file", + "description": "TSV file with calculated PEKA score and occurrence distribution for all possible k-mers", + "pattern": "*.tsv" + } + }, + { + "pdf": { + "type": "file", + "description": "PDF file with graphs showing k-mer occurrence distributions around thresholded crosslink sites", + "pattern": "*.pdf" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kkuret", + "@codeprimate123", + "@chris-cheshire", + "@charlotteanne" + ] + } + }, + { + "name": "phantompeakqualtools", + "path": "modules/nf-core/phantompeakqualtools/meta.yml", + "type": "module", + "meta": { + "name": "phantompeakqualtools", + "description": "\"This package computes informative enrichment and quality measures\nfor ChIP-seq/DNase-seq/FAIRE-seq/MNase-seq data. It can also be used\nto obtain robust estimates of the predominant fragment length or\ncharacteristic tag shift values in these assays.\"\n", + "keywords": [ + "ChIP-Seq", + "QC", + "phantom peaks" + ], + "tools": [ + { + "phantompeakqualtools": { + "description": "\"This package computes informative enrichment and quality measures\nfor ChIP-seq/DNase-seq/FAIRE-seq/MNase-seq data. It can also be used\nto obtain robust estimates of the predominant fragment length or\ncharacteristic tag shift values in these assays.\"\n", + "documentation": "https://github.com/kundajelab/phantompeakqualtools", + "tool_dev_url": "https://github.com/kundajelab/phantompeakqualtools", + "doi": "10.1101/gr.136184.111", + "licence": "['BSD-3-clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "spp": { + "type": "file", + "description": "A ChIP-Seq Processing Pipeline file containing\npeakshift/phantomPeak results\n", + "pattern": "*.{out}" + } + }, + { + "pdf": { + "type": "file", + "description": "A pdf containing save cross-correlation plots", + "pattern": "*.{pdf}" + } + }, + { + "rdata": { + "type": "file", + "description": "Rdata file containing the R session", + "pattern": "*.{Rdata}" + } + } + ], + "authors": [ + "@drpatelh", + "@Emiller88", + "@JoseEspinosa" + ] + }, + "pipelines": [ + { + "name": "chipseq", + "version": "2.0.0" + } + ] + }, + { + "name": "phispy", + "path": "modules/nf-core/phispy/meta.yml", + "type": "module", + "meta": { + "name": "PhiSpy", + "description": "Predict prophages in bacterial genomes", + "keywords": [ + "genomics", + "virus", + "phage", + "prophage", + "annotation", + "identification" + ], + "tools": [ + { + "phispy": { + "description": "Prophage finder using multiple metrics", + "homepage": "https://github.com/linsalrob/PhiSpy/blob/master/README.md", + "documentation": "https://github.com/linsalrob/PhiSpy/blob/master/README.md", + "tool_dev_url": "https://github.com/linsalrob/PhiSpy/", + "doi": "10.1093/nar/gks406", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gbk": { + "type": "file", + "description": "Genome file in .gbk or .gbff format.", + "pattern": "*.{gbk,gbff}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "coordinates": { + "type": "file", + "description": "Coordinates of each prophage identified in the genome,\nand their att sites (if found).\n", + "pattern": "*.{tsv}" + } + }, + { + "gbk": { + "type": "file", + "description": "A duplicate GenBank record that is the same as the input record,\nbut we have inserted the prophage information, including att\nsites into the record.\n", + "pattern": "*.{gbk,gbff}" + } + }, + { + "log": { + "type": "file", + "description": "File containing the PhiSpy execution log", + "pattern": "*.{log}" + } + }, + { + "information": { + "type": "file", + "description": "File containing all the genes of the genome, one per line.\nThe tenth column describes how likely the gene is a phage gene.\n", + "pattern": "*.{tsv}" + } + }, + { + "bacteria_fasta": { + "type": "file", + "description": "Genome with prophage regions masked with N.", + "pattern": "*.{fasta}" + } + }, + { + "bacteria_gbk": { + "type": "file", + "description": "Genome sequences identified as bacterial.", + "pattern": "*.{gbk}" + } + }, + { + "phage_fasta": { + "type": "file", + "description": "Phage sequences extracted from the genome.", + "pattern": "*.{fasta}" + } + }, + { + "phage_gbk": { + "type": "file", + "description": "Phage sequences extracted from the genome.", + "pattern": "*.{gbk}" + } + }, + { + "prophage_gff": { + "type": "file", + "description": "Prophage information in GFF3 format.", + "pattern": "*.{gff3}" + } + }, + { + "prophage_tbl": { + "type": "file", + "description": "File containing prophage number and its location in the genome.\n", + "pattern": "*.{tbl}" + } + }, + { + "prophage_tsv": { + "type": "file", + "description": "A file containing simpler version of the coordinates file,\nwith only prophage number, contig, start and stop.\n", + "pattern": "*.{tsv}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@jvfe" + ] + } + }, + { + "name": "phyloflash", + "path": "modules/nf-core/phyloflash/meta.yml", + "type": "module", + "meta": { + "name": "phyloflash", + "description": "phyloFlash is a pipeline to rapidly reconstruct the SSU rRNAs and explore phylogenetic composition of an illumina (meta)genomic dataset.", + "keywords": [ + "metagenomics", + "illumina datasets", + "phylogenetic composition" + ], + "tools": [ + { + "phyloflash": { + "description": "phyloFlash is a pipeline to rapidly reconstruct the SSU rRNAs and explore phylogenetic composition of an illumina (meta)genomic dataset.", + "homepage": "https://hrgv.github.io/phyloFlash/", + "documentation": "https://hrgv.github.io/phyloFlash/usage.html", + "tool_dev_url": "https://github.com/HRGV/phyloFlash", + "doi": "10.1128/mSystems.00920-20", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Channel containing single or paired-end reads", + "pattern": "*.{fastq.gz,fq.gz}" + } + }, + { + "sliva_db": { + "type": "directory", + "description": "Folder containing the SILVA database", + "pattern": "ref" + } + }, + { + "univec_db": { + "type": "directory", + "description": "Folder containing UniVec database", + "pattern": "UniVec" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "results": { + "type": "directory", + "description": "Folder containing the results of phyloFlash analysis", + "pattern": "${prefix}*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@abhi18av" + ] + } + }, + { + "name": "picard_addorreplacereadgroups", + "path": "modules/nf-core/picard/addorreplacereadgroups/meta.yml", + "type": "module", + "meta": { + "name": "picard_addorreplacereadgroups", + "description": "Assigns all the reads in a file to a single new read-group", + "keywords": [ + "add", + "replace", + "read-group" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360037226472-AddOrReplaceReadGroups-Picard-", + "tool_dev_url": "https://github.com/broadinstitute/picard", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Input BAM file", + "pattern": "*.{bam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Output BAM file", + "pattern": "*.{bam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file", + "pattern": "*.{bai}" + } + } + ], + "authors": [ + "@sateeshperi", + "@mjcipriano", + "@hseabolt", + "@cmatKhan", + "@muffato" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "picard_bedtointervallist", + "path": "modules/nf-core/picard/bedtointervallist/meta.yml", + "type": "module", + "meta": { + "name": "picard_bedtointervallist", + "description": "Creates an interval list from a bed file and a reference dict", + "keywords": [ + "bed", + "interval list", + "picard", + "convert" + ], + "tools": [ + { + "gatk4": { + "description": "Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools\nwith a primary focus on variant discovery and genotyping. Its powerful processing engine\nand high-performance computing features make it capable of taking on projects of any size.\n", + "homepage": "https://gatk.broadinstitute.org/hc/en-us", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s", + "doi": "10.1158/1538-7445.AM2017-3590", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "bed": { + "type": "file", + "description": "Input bed file", + "pattern": "*.bed" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome']\n" + } + }, + { + "dict": { + "type": "file", + "description": "Sequence dictionary", + "pattern": "*.dict" + } + }, + { + "arguments_file": { + "type": "file", + "description": "File containing command line arguments (optional)", + "pattern": "*" + } + } + ], + "output": [ + { + "interval_list": { + "type": "file", + "description": "gatk interval list file", + "pattern": "*.interval_list" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kevinmenden", + "@matthdsm" + ] + } + }, + { + "name": "picard_cleansam", + "path": "modules/nf-core/picard/cleansam/meta.yml", + "type": "module", + "meta": { + "name": "picard_cleansam", + "description": "Cleans the provided BAM, soft-clipping beyond-end-of-reference alignments and setting MAPQ to 0 for unmapped reads", + "keywords": [ + "clean", + "bam" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360036491452-CleanSam-Picard-", + "tool_dev_url": "https://github.com/broadinstitute/picard", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sam": { + "type": "file", + "description": "BAM file", + "pattern": "*.{bam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sam": { + "type": "file", + "description": "Cleaned BAM file", + "pattern": "*.{bam}" + } + } + ], + "authors": [ + "@sateeshperi", + "@mjcipriano", + "@hseabolt" + ] + } + }, + { + "name": "picard_collecthsmetrics", + "path": "modules/nf-core/picard/collecthsmetrics/meta.yml", + "type": "module", + "meta": { + "name": "picard_collecthsmetrics", + "description": "Collects hybrid-selection (HS) metrics for a SAM or BAM file.", + "keywords": [ + "alignment", + "metrics", + "statistics", + "insert", + "hybrid-selection", + "quality", + "bam" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://broadinstitute.github.io/picard/", + "tool_dev_url": "https://github.com/broadinstitute/picard/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "An aligned BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "bai": { + "type": "file", + "description": "Optional aligned BAM/CRAM/SAM file index", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "bait_intervals": { + "type": "file", + "description": "An interval file that contains the locations of the baits used.", + "pattern": "*.{interval_list,bed,bed.gz}" + } + }, + { + "target_intervals": { + "type": "file", + "description": "An interval file that contains the locations of the targets.", + "pattern": "*.{interval_list,bed,bed.gz}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "A reference file to calculate dropout metrics measuring reduced representation of reads.\nOptional input.\n", + "pattern": "*.{fa,fasta,fna}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Index of FASTA file. Only needed when fasta is supplied.", + "pattern": "*.fai" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Sequence dictionary of FASTA file. Only needed when bed interval lists are supplied.", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "metrics": { + "type": "file", + "description": "Alignment metrics files generated by picard", + "pattern": "*_{metrics}" + } + } + ], + "authors": [ + "@projectoriented", + "@matthdsm" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "picard_collectinsertsizemetrics", + "path": "modules/nf-core/picard/collectinsertsizemetrics/meta.yml", + "type": "module", + "meta": { + "name": "picard_collectinsertsizemetrics", + "description": "Collect metrics about the insert size distribution of a paired-end library.", + "keywords": [ + "metrics", + "alignment", + "insert", + "statistics", + "bam" + ], + "tools": [ + { + "picard": { + "description": "Java tools for working with NGS data in the BAM format", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://broadinstitute.github.io/picard/", + "tool_dev_url": "https://github.com/broadinstitute/picard", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "pdf": { + "type": "file", + "description": "Histogram plots of the insert size metrics computed by Picard", + "pattern": "*.pdf" + } + }, + { + "metrics": { + "type": "file", + "description": "Values used by Picard to generate the insert size histograms", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@FerriolCalvet" + ] + } + }, + { + "name": "picard_collectmultiplemetrics", + "path": "modules/nf-core/picard/collectmultiplemetrics/meta.yml", + "type": "module", + "meta": { + "name": "picard_collectmultiplemetrics", + "description": "Collect multiple metrics from a BAM file", + "keywords": [ + "alignment", + "metrics", + "statistics", + "insert", + "quality", + "bam" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://broadinstitute.github.io/picard/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "SAM/BAM/CRAM file", + "pattern": "*.{sam,bam,cram}" + } + }, + { + "bai": { + "type": "file", + "description": "Optional SAM/BAM/CRAM file index", + "pattern": "*.{sai,bai,crai}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome']\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome fasta file" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome']\n" + } + }, + { + "fai": { + "type": "file", + "description": "Index of FASTA file. Only needed when fasta is supplied.", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "metrics": { + "type": "file", + "description": "Alignment metrics files generated by picard", + "pattern": "*_{metrics}" + } + }, + { + "pdf": { + "type": "file", + "description": "PDF plots of metrics", + "pattern": "*.{pdf}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "ssds", + "version": "dev" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "picard_collectrnaseqmetrics", + "path": "modules/nf-core/picard/collectrnaseqmetrics/meta.yml", + "type": "module", + "meta": { + "name": "picard_collectrnaseqmetrics", + "description": "Collect metrics from a RNAseq BAM file", + "keywords": [ + "rna", + "bam", + "metrics", + "alignment", + "statistics", + "quality" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://broadinstitute.github.io/picard/", + "tool_dev_url": "https://github.com/broadinstitute/picard", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false, strandedness:true ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/SAM file", + "pattern": "*.{bam,sam}" + } + }, + { + "ref_flat": { + "type": "file", + "description": "Genome ref_flat file" + } + }, + { + "gene_pred": { + "type": "file", + "description": "genome gene_pred file as an alternative to the ref_flat file" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome fasta file" + } + }, + { + "rrna_intervals": { + "type": "file", + "description": "Interval file of ribosomal RNA regions" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "metrics": { + "type": "file", + "description": "RNA alignment metrics files generated by picard", + "pattern": "*.rna_metrics" + } + }, + { + "pdf": { + "type": "file", + "description": "Plot normalized position vs. coverage in a pdf file generated by picard" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@anoronh4" + ] + } + }, + { + "name": "picard_collectwgsmetrics", + "path": "modules/nf-core/picard/collectwgsmetrics/meta.yml", + "type": "module", + "meta": { + "name": "picard_collectwgsmetrics", + "description": "Collect metrics about coverage and performance of whole genome sequencing (WGS) experiments.", + "keywords": [ + "alignment", + "metrics", + "statistics", + "quality", + "bam" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://broadinstitute.github.io/picard/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Aligned reads file", + "pattern": "*.{bam, cram}" + } + }, + { + "bai": { + "type": "file", + "description": "(Optional) Aligned reads file index", + "pattern": "*.{bai,crai}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome fasta file", + "pattern": "*.{fa,fasta,fna}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Genome fasta file index", + "pattern": "*.{fai}" + } + }, + { + "intervallist": { + "type": "file", + "description": "Picard Interval List. Defines which contigs to include. Can be generated from a BED file with GATK BedToIntervalList." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "metrics": { + "type": "file", + "description": "Alignment metrics files generated by picard", + "pattern": "*_{metrics}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@flowuenne", + "@lassefolkersen", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "variantcatalogue", + "version": "dev" + } + ] + }, + { + "name": "picard_createsequencedictionary", + "path": "modules/nf-core/picard/createsequencedictionary/meta.yml", + "type": "module", + "meta": { + "name": "picard_createsequencedictionary", + "description": "Creates a sequence dictionary for a reference sequence.", + "keywords": [ + "sequence", + "dictionary", + "picard" + ], + "tools": [ + { + "picard": { + "description": "Creates a sequence dictionary file (with \".dict\" extension) from a reference sequence provided in FASTA format, which is required by many processing and analysis tools. The output file contains a header but no SAMRecords, and the header contains only sequence records.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360036712531-CreateSequenceDictionary-Picard-", + "tool_dev_url": "https://github.com/broadinstitute/picard", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "dict": { + "type": "file", + "description": "picard dictionary file", + "pattern": "*.{dict}" + } + } + ], + "authors": [ + "@sateeshperi", + "@mjcipriano", + "@hseabolt" + ] + } + }, + { + "name": "picard_crosscheckfingerprints", + "path": "modules/nf-core/picard/crosscheckfingerprints/meta.yml", + "type": "module", + "meta": { + "name": "picard_crosscheckfingerprints", + "description": "Checks that all data in the set of input files appear to come from the same individual", + "keywords": [ + "alignment", + "metrics", + "statistics", + "fingerprint", + "bam" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://broadinstitute.github.io/picard/", + "tool_dev_url": "https://github.com/broadinstitute/picard/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input1": { + "type": "file", + "description": "List containing 1 or more bam/vcf files or a file containing filepaths", + "pattern": "*.{bam,vcf,vcf.gz,txt,fofn}" + } + }, + { + "input2": { + "type": "file", + "description": "Optional list containing 1 or more bam/vcf files or a file containing filepaths", + "pattern": "*.{bam,vcf,vcf.gz,txt,fofn}" + } + }, + { + "haplotype_map": { + "type": "file", + "description": "Haplotype map file", + "pattern": "*.{txt,vcf,vcf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "crosscheck_metrics": { + "type": "file", + "description": "Metrics created by crosscheckfingerprints", + "pattern": "*.{crosscheck_metrics.txt}" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "picard_fastqtosam", + "path": "modules/nf-core/picard/fastqtosam/meta.yml", + "type": "module", + "meta": { + "name": "picard_fastqtosam", + "description": "Converts a FASTQ file to an unaligned BAM or SAM file.", + "keywords": [ + "fastq", + "unaligned", + "bam" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360036510672-FastqToSam-Picard-", + "tool_dev_url": "https://github.com/broadinstitute/picard", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Unaligned bam file", + "pattern": "*.{bam}" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "picard_filtersamreads", + "path": "modules/nf-core/picard/filtersamreads/meta.yml", + "type": "module", + "meta": { + "name": "picard_filtersamreads", + "description": "Filters SAM/BAM files to include/exclude either aligned/unaligned reads or based on a read list", + "keywords": [ + "bam", + "filter" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://broadinstitute.github.io/picard/", + "tool_dev_url": "https://github.com/broadinstitute/picard", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "List of BAM files. If filtering without read list must be sorted by queryname with picard sortsam", + "pattern": "*.{bam}" + } + }, + { + "filter": { + "type": "value", + "description": "Picard filter type", + "pattern": "includeAligned|excludeAligned|includeReadList|excludeReadList" + } + }, + { + "readlist": { + "type": "file", + "description": "Optional text file containing reads IDs to include or exclude" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Filtered BAM file", + "pattern": "*.{bam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "picard_fixmateinformation", + "path": "modules/nf-core/picard/fixmateinformation/meta.yml", + "type": "module", + "meta": { + "name": "picard_fixmateinformation", + "description": "Verify mate-pair information between mates and fix if needed", + "keywords": [ + "mate-pair" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360036713471-FixMateInformation-Picard-", + "tool_dev_url": "https://github.com/broadinstitute/picard", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.{bam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "mate-pair verified BAM file", + "pattern": "*.{bam}" + } + } + ], + "authors": [ + "@sateeshperi", + "@mjcipriano", + "@hseabolt" + ] + } + }, + { + "name": "picard_liftovervcf", + "path": "modules/nf-core/picard/liftovervcf/meta.yml", + "type": "module", + "meta": { + "name": "picard_liftovervcf", + "description": "Lifts over a VCF file from one reference build to another.", + "keywords": [ + "vcf", + "picard", + "liftovervcf" + ], + "tools": [ + { + "picard": { + "description": "Move annotations from one assembly to another", + "homepage": "https://gatk.broadinstitute.org/hc/en-us/articles/360037060932-LiftoverVcf-Picard", + "documentation": "https://gatk.broadinstitute.org/hc/en-us/articles/360037060932-LiftoverVcf-Picard", + "tool_dev_url": "https://github.com/broadinstitute/picard", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" + } + }, + { + "input_vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "fasta file", + "pattern": "*.fasta" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "dict": { + "type": "file", + "description": "dictionary for fasta file", + "pattern": "*.{dict}" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "chain": { + "type": "file", + "description": "The liftover chain file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf_lifted": { + "type": "file", + "description": "VCF file containing successfully lifted variants", + "pattern": "*.{lifted.vcf.gz}" + } + }, + { + "vcf_unlifted": { + "type": "file", + "description": "VCF file containing unsuccessfully lifted variants", + "pattern": "*.{unlifted.vcf.gz}" + } + } + ], + "authors": [ + "@lucpen", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "picard_markduplicates", + "path": "modules/nf-core/picard/markduplicates/meta.yml", + "type": "module", + "meta": { + "name": "picard_markduplicates", + "description": "Locate and tag duplicate reads in a BAM file", + "keywords": [ + "markduplicates", + "pcr", + "duplicates", + "bam", + "sam", + "cram" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://broadinstitute.github.io/picard/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome fasta file", + "pattern": "*.{fasta,fa}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Reference genome fasta index", + "pattern": "*.{fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file with duplicate reads marked/removed", + "pattern": "*.{bam}" + } + }, + { + "bai": { + "type": "file", + "description": "An optional BAM index file. If desired, --CREATE_INDEX must be passed as a flag", + "pattern": "*.{bai}" + } + }, + { + "metrics": { + "type": "file", + "description": "Duplicate metrics file generated by picard", + "pattern": "*.{metrics.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@projectoriented", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "methylseq", + "version": "2.4.0" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "ssds", + "version": "dev" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "picard_mergesamfiles", + "path": "modules/nf-core/picard/mergesamfiles/meta.yml", + "type": "module", + "meta": { + "name": "picard_mergesamfiles", + "description": "Merges multiple BAM files into a single file", + "keywords": [ + "merge", + "alignment", + "bam", + "sam" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://broadinstitute.github.io/picard/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "List of BAM files", + "pattern": "*.{bam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Merged BAM file", + "pattern": "*.{bam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + } + ] + }, + { + "name": "picard_renamesampleinvcf", + "path": "modules/nf-core/picard/renamesampleinvcf/meta.yml", + "type": "module", + "meta": { + "name": "picard_renamesampleinvcf", + "description": "changes name of sample in the vcf file", + "keywords": [ + "picard", + "picard/renamesampleinvcf" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://broadinstitute.github.io/picard/", + "tool_dev_url": "https://github.com/broadinstitute/picard", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf,vcf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf,vcf.gz}" + } + } + ], + "authors": [ + "@Lucpen" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "picard_scatterintervalsbyns", + "path": "modules/nf-core/picard/scatterintervalsbyns/meta.yml", + "type": "module", + "meta": { + "name": "picard_scatterintervalsbyns", + "description": "Writes an interval list created by splitting a reference at Ns.A Program for breaking up a reference into intervals of alternating regions of N and ACGT bases", + "keywords": [ + "interval_list", + "scatter", + "regions" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://broadinstitute.github.io/picard/", + "tool_dev_url": "https://github.com/broadinstitute/picard", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing fasta information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Fasta file to derive the intervals from", + "pattern": "*.{fasta,fa,fna}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing fai information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Index of the fasta file", + "pattern": "*.fai" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing dictionary information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "dict": { + "type": "file", + "description": "Sequence dictionary of the fasta file", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "intervals": { + "type": "file", + "description": "The scattered intervals", + "pattern": "*.interval_list" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "picard_sortsam", + "path": "modules/nf-core/picard/sortsam/meta.yml", + "type": "module", + "meta": { + "name": "picard_sortsam", + "description": "Sorts BAM/SAM files based on a variety of picard specific criteria", + "keywords": [ + "sort", + "bam", + "sam" + ], + "tools": [ + { + "picard": { + "description": "A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS)\ndata and formats such as SAM/BAM/CRAM and VCF.\n", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://broadinstitute.github.io/picard/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,sam}" + } + }, + { + "sort_order": { + "type": "value", + "description": "Picard sort order type", + "pattern": "unsorted|queryname|coordinate|duplicate|unknown" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM/CRAM/SAM file", + "pattern": "*.{bam}" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "ssds", + "version": "dev" + } + ] + }, + { + "name": "picard_sortvcf", + "path": "modules/nf-core/picard/sortvcf/meta.yml", + "type": "module", + "meta": { + "name": "picard_sortvcf", + "description": "Sorts vcf files", + "keywords": [ + "sort", + "vcf", + "sortvcf" + ], + "tools": [ + { + "picard": { + "description": "Java tools for working with NGS data in the BAM/CRAM/SAM and VCF format", + "homepage": "https://broadinstitute.github.io/picard/", + "documentation": "https://broadinstitute.github.io/picard/command-line-overview.html#SortVcf", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome fasta file", + "pattern": "*.{fasta,fa}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "dict": { + "type": "file", + "description": "Reference genome dictionary file", + "pattern": "*.{dict}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Sorted VCF file", + "pattern": "*.{vcf}" + } + } + ], + "authors": [ + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "pilon", + "path": "modules/nf-core/pilon/meta.yml", + "type": "module", + "meta": { + "name": "pilon", + "description": "Automatically improve draft assemblies and find variation among strains, including large event detection", + "keywords": [ + "polishing", + "assembly", + "variant calling" + ], + "tools": [ + { + "pilon": { + "description": "Pilon is an automated genome assembly improvement and variant detection tool.", + "homepage": "https://github.com/broadinstitute/pilon/wiki", + "documentation": "https://github.com/broadinstitute/pilon/wiki/Requirements-&-Usage", + "tool_dev_url": "https://github.com/broadinstitute/pilon", + "doi": "10.1371/journal.pone.0112963", + "licence": "['GPL v2']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA of the input genome", + "pattern": "*.{fasta}" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file of reads aligned to the input genome", + "pattern": "*.{bam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAI file (BAM index) of BAM reads aligned to the input genome", + "pattern": "*.{bai}" + } + }, + { + "pilon_mode": { + "type": "string", + "description": "Indicates the type of bam file used (frags for paired-end sequencing of DNA fragments, such as Illumina paired-end reads of fragment size <1000bp, jumps for paired sequencing data of larger insert size, such as Illumina mate pair libraries, typically of insert size >1000bp, unpaired for unpaired sequencing reads, bam will automatically classify the BAM as one of the three types above (version 1.17 and higher).", + "enum": [ + "frags", + "jumps", + "unpaired", + "bam" + ] + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "improved_assembly": { + "type": "file", + "description": "fasta file, improved assembly", + "pattern": "*.{fasta}" + } + }, + { + "change_record": { + "type": "file", + "description": "file containing a space-delimited record of every change made in the assembly as instructed by the --fix option", + "pattern": "*.{change}" + } + }, + { + "vcf": { + "type": "file", + "description": "Pilon variant output", + "pattern": "*.{vcf}" + } + }, + { + "tracks_bed": { + "type": "file", + "description": "files that may be viewed in genome browsers such as IGV, GenomeView, and other applications that support these formats", + "pattern": "*.{bed}" + } + }, + { + "tracks_wig": { + "type": "file", + "description": "files that may be viewed in genome browsers such as IGV, GenomeView, and other applications that support these formats", + "pattern": "*.{wig}" + } + } + ], + "authors": [ + "@scorreard" + ] + } + }, + { + "name": "pindel_pindel", + "path": "modules/nf-core/pindel/pindel/meta.yml", + "type": "module", + "meta": { + "name": "pindel_pindel", + "description": "Pindel can detect breakpoints of large deletions, medium sized insertions, inversions, tandem duplications and other structural variants at single-based resolution from next-gen sequence data", + "keywords": [ + "deletions", + "insertions", + "tandem duplications" + ], + "tools": [ + { + "pindel": { + "description": "Pindel can detect breakpoints of large deletions, medium sized insertions, inversions, tandem duplications and other structural variants at single-based resolution from next-gen sequence data", + "homepage": "https://gmt.genome.wustl.edu/packages/pindel/", + "documentation": "https://gmt.genome.wustl.edu/packages/pindel/user-manual.html", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information, insert_size is either determined using Picard/CollectInsertSizeMetrics\nor a sensible default - setting ext.args2 to either in modules.conf\ne.g. [ id:'test', single_end:false, insert_size:500 ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file", + "pattern": "*.bai" + } + }, + { + "bed": { + "type": "file", + "description": "BED file containing regions of interest" + } + }, + { + "fasta": { + "type": "file", + "description": "Input reference genome fasta file" + } + }, + { + "fai": { + "type": "file", + "description": "Input reference genome fasta index file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bp": { + "type": "file", + "description": "File containing breakpoints", + "pattern": "*_{BP}" + } + }, + { + "cem": { + "type": "file", + "description": "File containing close end reads", + "pattern": "*_{CloseEndMapped}" + } + }, + { + "del": { + "type": "file", + "description": "File containing deletions", + "pattern": "*_{D}" + } + }, + { + "dd": { + "type": "file", + "description": "File containing dispersed duplications", + "pattern": "*_{DD}" + } + }, + { + "int_{final": { + "type": "file", + "description": "File containing interchromosomal events", + "pattern": "*_{INT_final}" + } + }, + { + "inv": { + "type": "file", + "description": "File containing inversions", + "pattern": "*_{INV}" + } + }, + { + "li": { + "type": "file", + "description": "File containing long insertions", + "pattern": "*_{LI}" + } + }, + { + "rp": { + "type": "file", + "description": "File containing read-pair evidence", + "pattern": "*_{RP}" + } + }, + { + "si": { + "type": "file", + "description": "File containing short insertions", + "pattern": "*_{SI}" + } + }, + { + "td": { + "type": "file", + "description": "File containing tandem duplications", + "pattern": "*_{TD}" + } + } + ], + "authors": [ + "@marrip" + ] + } + }, + { + "name": "pints_caller", + "path": "modules/nf-core/pints/caller/meta.yml", + "type": "module", + "meta": { + "name": "pints_caller", + "description": "Main caller script for peak calling", + "keywords": [ + "peak-calling", + "CoPRO", + "GRO-cap", + "PRO-cap", + "CAGE", + "NETCAGE", + "RAMPAGE", + "csRNA-seq", + "STRIPE-seq", + "PRO-seq", + "GRO-seq" + ], + "tools": [ + { + "pints": { + "description": "Peak Identifier for Nascent Transcripts Starts (PINTS)", + "homepage": "https://pints.yulab.org/", + "documentation": "https://github.com/hyulab/PINTS/blob/main/README.md", + "tool_dev_url": "https://github.com/hyulab/PINTS", + "doi": "10.1038/s41587-022-01211-7", + "licence": "['GPL']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bams": { + "type": "file", + "description": "BAM/ file", + "pattern": "*.{bam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "divergent_TREs": { + "type": "file", + "description": "Divergent TREs", + "pattern": "*_divergent_peaks.bed", + "optional": true + } + }, + { + "bidirectional_TREs": { + "type": "file", + "description": "Divergent TREs and convergent TREs", + "pattern": "*_bidirectional_peaks.bed", + "optional": true + } + }, + { + "unidirectional_TREs": { + "type": "file", + "description": "Unidirectional TREs, maybe lncRNAs transcribed from enhancers (e-lncRNAs)", + "pattern": "*_unidirectional_peaks.bed", + "optional": true + } + }, + { + "peakcalling_log": { + "type": "file", + "description": "Peakcalling log for debugging purposes", + "pattern": "peakcalling_*.log" + } + } + ], + "authors": [ + "@Emiller88" + ] + }, + "pipelines": [ + { + "name": "nascent", + "version": "2.1.1" + } + ] + }, + { + "name": "pirate", + "path": "modules/nf-core/pirate/meta.yml", + "type": "module", + "meta": { + "name": "pirate", + "description": "Pangenome toolbox for bacterial genomes", + "keywords": [ + "gff", + "pan-genome", + "alignment" + ], + "tools": [ + { + "pirate": { + "description": "Pangenome analysis and threshold evaluation toolbox", + "homepage": "https://github.com/SionBayliss/PIRATE", + "documentation": "https://github.com/SionBayliss/PIRATE/wiki", + "tool_dev_url": "https://github.com/SionBayliss/PIRATE", + "doi": "10.1093/gigascience/giz119", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gff": { + "type": "file", + "description": "A set of GFF3 formatted files", + "pattern": "*.{gff}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "results": { + "type": "directory", + "description": "Directory containing PIRATE result files", + "pattern": "*/*" + } + }, + { + "aln": { + "type": "file", + "description": "Core-genome alignment produced by PIRATE (Optional)", + "pattern": "*.{fasta}" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "plasmidfinder", + "path": "modules/nf-core/plasmidfinder/meta.yml", + "type": "module", + "meta": { + "name": "plasmidfinder", + "description": "Identify plasmids in bacterial sequences and assemblies", + "keywords": [ + "fasta", + "fastq", + "plasmid" + ], + "tools": [ + { + "plasmidfinder": { + "description": "PlasmidFinder allows identification of plasmids in total or partial sequenced isolates of bacteria.", + "homepage": "https://cge.cbs.dtu.dk/services/PlasmidFinder/", + "documentation": "https://bitbucket.org/genomicepidemiology/plasmidfinder", + "tool_dev_url": "https://bitbucket.org/genomicepidemiology/plasmidfinder", + "doi": "10.1128/AAC.02412-14", + "licence": "['Apache-2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "seqs": { + "type": "file", + "description": "Input FASTA or FASTQ formatted genome sequences", + "pattern": "*.{fastq.gz,fq.gz,fastq.gz,fna.gz,fa.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "The results from analysis in JSON format", + "pattern": "*.json" + } + }, + { + "txt": { + "type": "file", + "description": "The summary of results from analysis", + "pattern": "*.txt" + } + }, + { + "tsv": { + "type": "file", + "description": "The results from analysis in TSV format", + "pattern": "*.tsv" + } + }, + { + "genome_seq": { + "type": "file", + "description": "FASTA of sequences in the input with a hit", + "pattern": "*-hit_in_genome_seq.fsa" + } + }, + { + "plasmid_seq": { + "type": "file", + "description": "FASTA of plasmid sequences with a hit against the input", + "pattern": "*-plasmid_seqs.fsa" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "plasmidid", + "path": "modules/nf-core/plasmidid/meta.yml", + "type": "module", + "meta": { + "name": "plasmidid", + "description": "assembles bacterial plasmids", + "keywords": [ + "assembly", + "plasmid", + "bacterial" + ], + "tools": [ + { + "plasmidid": { + "description": "Pipeline for plasmid identification and reconstruction", + "homepage": "https://github.com/BU-ISCIII/plasmidID/wiki", + "documentation": "https://github.com/BU-ISCIII/plasmidID#readme", + "tool_dev_url": "https://github.com/BU-ISCIII/plasmidID", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "scaffold": { + "type": "file", + "description": "Fasta file containing scaffold\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA reference file", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "html": { + "type": "file", + "description": "html file with results rendered", + "pattern": "*.{html}" + } + }, + { + "tab": { + "type": "file", + "description": "Results in a tabular file", + "pattern": "*.{tab}" + } + }, + { + "images": { + "type": "directory", + "description": "Directory containing the images produced by plasmidid", + "pattern": "images" + } + }, + { + "logs": { + "type": "directory", + "description": "Directory containing the logs produced by plasmidid", + "pattern": "logs" + } + }, + { + "data": { + "type": "directory", + "description": "Directory containing the data produced by plasmidid", + "pattern": "data" + } + }, + { + "database": { + "type": "directory", + "description": "Directory containing the database produced by plasmidid", + "pattern": "database" + } + }, + { + "fasta_files": { + "type": "directory", + "description": "Directory containing the fasta files produced by plasmidid", + "pattern": "fasta_files" + } + }, + { + "kmer": { + "type": "directory", + "description": "Directory containing the kmer files produced by plasmidid", + "pattern": "database" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "platypus", + "path": "modules/nf-core/platypus/meta.yml", + "type": "module", + "meta": { + "name": "platypus", + "description": "Platypus is a tool that efficiently and accurately calling genetic variants from next-generation DNA sequencing data", + "keywords": [ + "variant calling", + "dna sequencing" + ], + "tools": [ + { + "platypus": { + "description": "Platypus is a tool designed for efficient and accurate variant-detection in high-throughput sequencing data.", + "homepage": "https://www.well.ox.ac.uk/research/research-groups/lunter-group/lunter-group/platypus-a-haplotype-based-variant-caller-for-next-generation-sequence-data", + "documentation": "https://www.well.ox.ac.uk/research/research-groups/lunter-group/lunter-group/platypus-documentation", + "tool_dev_url": "https://github.com/andyrimmer/Platypus", + "doi": "10.1038/ng.3036", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "tumor_file": { + "type": "file", + "description": "Tumor or metastatic sample, BAM or CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "tummor_file_bai": { + "type": "file", + "description": "Index of BAMfile", + "pattern": "*.{bai,crai}" + } + }, + { + "control_file": { + "type": "file", + "description": "Control (or blood) of matching tumor/metastatic sample, BAM or CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "control_file_bai": { + "type": "file", + "description": "Index of BAMfile", + "pattern": "*.{bai,crai}" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fa" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fai" + } + }, + { + "skipregions_file": { + "type": "file", + "description": "File with regions to skip, region as comma-separated list of chr:start-end, or just list of chr, or nothing", + "pattern": "*.bed|*.txt|*.tab" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Output VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Index of VCF file", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "log": { + "type": "file", + "description": "Log file", + "pattern": "*.log" + } + }, + { + "version": { + "type": "file", + "description": "File containing software version", + "pattern": "*.{version.txt}" + } + } + ], + "authors": [ + "@kubranarci" + ] + } + }, + { + "name": "plink2_extract", + "path": "modules/nf-core/plink2/extract/meta.yml", + "type": "module", + "meta": { + "name": "plink2_extract", + "description": "Subset plink pfiles with a text file of variant identifiers", + "keywords": [ + "plink2", + "extract" + ], + "tools": [ + { + "plink2": { + "description": "Whole genome association analysis toolset, designed to perform a range\nof basic, large-scale analyses in a computationally efficient manner\n", + "homepage": "http://www.cog-genomics.org/plink/2.0/", + "documentation": "http://www.cog-genomics.org/plink/2.0/general_usage", + "doi": "10.1186/s13742-015-0047-8", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "pgen": { + "type": "file", + "description": "PLINK 2 binary genotype table", + "pattern": "*.{pgen}" + } + }, + { + "psam": { + "type": "file", + "description": "PLINK 2 sample information file", + "pattern": "*.{psam}" + } + }, + { + "pvar": { + "type": "file", + "description": "PLINK 2 variant information file", + "pattern": "*.{pvar}" + } + }, + { + "variants": { + "type": "file", + "description": "A text file containing variant identifiers to keep (one per line)", + "pattern": "*.{keep}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "extract_pgen": { + "type": "file", + "description": "PLINK 2 binary genotype table, containing extracted variants", + "pattern": "*.{pgen}" + } + }, + { + "extract_psam": { + "type": "file", + "description": "PLINK 2 sample information file associated with the extracted data", + "pattern": "*.{psam}" + } + }, + { + "extract_pvar": { + "type": "file", + "description": "PLINK 2 variant information file, containing extracted variants", + "pattern": "*.{pvar.zst}" + } + } + ], + "authors": [ + "@nebfield" + ] + } + }, + { + "name": "plink2_score", + "path": "modules/nf-core/plink2/score/meta.yml", + "type": "module", + "meta": { + "name": "plink2_score", + "description": "Apply a scoring system to each sample in a plink 2 fileset", + "keywords": [ + "plink2", + "score" + ], + "tools": [ + { + "plink2": { + "description": "Whole genome association analysis toolset, designed to perform a range\nof basic, large-scale analyses in a computationally efficient manner\n", + "homepage": "http://www.cog-genomics.org/plink/2.0/", + "documentation": "http://www.cog-genomics.org/plink/2.0/general_usage", + "doi": "10.1186/s13742-015-0047-8", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "pgen": { + "type": "file", + "description": "PLINK 2 binary genotype table", + "pattern": "*.{pgen}" + } + }, + { + "psam": { + "type": "file", + "description": "PLINK 2 sample information file", + "pattern": "*.{psam}" + } + }, + { + "pvar": { + "type": "file", + "description": "PLINK 2 variant information file", + "pattern": "*.{pvar}" + } + }, + { + "scorefile": { + "type": "file", + "description": "A text file containing variant identifiers and weights", + "pattern": "*.{scores,txt,scorefile}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "score": { + "type": "file", + "description": "A text file containing sample scores, in plink 2 .sscore format", + "pattern": "*.{sscore}" + } + } + ], + "authors": [ + "@nebfield" + ] + } + }, + { + "name": "plink2_vcf", + "path": "modules/nf-core/plink2/vcf/meta.yml", + "type": "module", + "meta": { + "name": "plink2_vcf", + "description": "Import variant genetic data using plink2", + "keywords": [ + "plink2", + "import" + ], + "tools": [ + { + "plink2": { + "description": "Whole genome association analysis toolset, designed to perform a range\nof basic, large-scale analyses in a computationally efficient manner\n", + "homepage": "http://www.cog-genomics.org/plink/2.0/", + "documentation": "http://www.cog-genomics.org/plink/2.0/general_usage", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Variant calling file (vcf)", + "pattern": "*.{vcf}, *.{vcf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "pgen": { + "type": "file", + "description": "PLINK 2 binary genotype table", + "pattern": "*.{pgen}" + } + }, + { + "psam": { + "type": "file", + "description": "PLINK 2 sample information file", + "pattern": "*.{psam}" + } + }, + { + "pvar": { + "type": "file", + "description": "PLINK 2 variant information file", + "pattern": "*.{pvar.zst}" + } + } + ], + "authors": [ + "@nebfield" + ] + } + }, + { + "name": "plink_bcf", + "path": "modules/nf-core/plink/bcf/meta.yml", + "type": "module", + "meta": { + "name": "plink_bcf", + "description": "Analyses binary variant call format (BCF) files using plink", + "keywords": [ + "plink", + "bcf", + "bed", + "bim", + "fam" + ], + "tools": [ + { + "plink": { + "description": "Whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner.", + "homepage": "https://www.cog-genomics.org/plink", + "documentation": "https://www.cog-genomics.org/plink/1.9/data#", + "tool_dev_url": "https://www.cog-genomics.org/plink/1.9/dev", + "licence": [ + "GPL" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bcf": { + "type": "file", + "description": "Binary variant call format file (bcf)", + "pattern": "*.{bcf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "PLINK binary biallelic genotype table", + "pattern": "*.{bed}" + } + }, + { + "bim": { + "type": "file", + "description": "PLINK extended MAP file", + "pattern": "*.{bim}" + } + }, + { + "fam": { + "type": "file", + "description": "PLINK sample information file", + "pattern": "*.{fam}" + } + } + ], + "authors": [ + "@atrigila" + ] + } + }, + { + "name": "plink_exclude", + "path": "modules/nf-core/plink/exclude/meta.yml", + "type": "module", + "meta": { + "name": "plink_exclude", + "description": "Exclude variant identifiers from plink bfiles", + "keywords": [ + "exclude", + "plink" + ], + "tools": [ + { + "plink": { + "description": "Whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner.", + "homepage": "https://www.cog-genomics.org/plink", + "licence": [ + "GPL" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "PLINK binary biallelic genotype table", + "pattern": "*.{bed}" + } + }, + { + "bim": { + "type": "file", + "description": "PLINK extended MAP file", + "pattern": "*.{bim}" + } + }, + { + "fam": { + "type": "file", + "description": "PLINK sample information file", + "pattern": "*.{fam}" + } + }, + { + "variants": { + "type": "file", + "description": "A text file containing variant identifiers to remove (one per line)", + "pattern": "*.{txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "PLINK binary biallelic genotype table file", + "pattern": "*.{bed}" + } + }, + { + "bim": { + "type": "file", + "description": "PLINK extended MAP file", + "pattern": "*.{bim}" + } + }, + { + "fam": { + "type": "file", + "description": "PLINK sample information file", + "pattern": "*.{fam}" + } + } + ], + "authors": [ + "@atrigila" + ] + } + }, + { + "name": "plink_extract", + "path": "modules/nf-core/plink/extract/meta.yml", + "type": "module", + "meta": { + "name": "plink_extract", + "description": "Subset plink bfiles with a text file of variant identifiers", + "keywords": [ + "extract", + "plink" + ], + "tools": [ + { + "plink": { + "description": "Whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner.", + "homepage": "https://www.cog-genomics.org/plink", + "licence": [ + "GPL" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "PLINK binary biallelic genotype table", + "pattern": "*.{bed}" + } + }, + { + "bim": { + "type": "file", + "description": "PLINK extended MAP file", + "pattern": "*.{bim}" + } + }, + { + "fam": { + "type": "file", + "description": "PLINK sample information file", + "pattern": "*.{fam}" + } + }, + { + "variants": { + "type": "file", + "description": "A text file containing variant identifiers to keep (one per line)", + "pattern": "*.{keep}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "PLINK binary biallelic genotype table", + "pattern": "*.{bed}" + } + }, + { + "bim": { + "type": "file", + "description": "PLINK extended MAP file", + "pattern": "*.{bim}" + } + }, + { + "fam": { + "type": "file", + "description": "PLINK sample information file", + "pattern": "*.{fam}" + } + } + ], + "authors": [ + "@nebfield" + ] + } + }, + { + "name": "plink_indep", + "path": "modules/nf-core/plink/indep/meta.yml", + "type": "module", + "meta": { + "name": "plink_indep", + "description": "Produce a pruned subset of markers that are in approximate linkage equilibrium with each other.", + "keywords": [ + "plink", + "indep", + "variant pruning", + "bim", + "fam" + ], + "tools": [ + { + "plink": { + "description": "Whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner.", + "homepage": "https://www.cog-genomics.org/plink", + "documentation": "https://www.cog-genomics.org/plink/1.9/data#", + "tool_dev_url": "https://www.cog-genomics.org/plink/1.9/dev", + "licence": [ + "GPL" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "PLINK binary biallelic genotype table file", + "pattern": "*.{bed}" + } + }, + { + "bim": { + "type": "file", + "description": "PLINK extended MAP file", + "pattern": "*.{bim}" + } + }, + { + "fam": { + "type": "file", + "description": "PLINK sample information file", + "pattern": "*.{fam}" + } + }, + { + "window_size": { + "type": "value", + "description": "Window size in variant count or kilobase (if the 'kb' modifier is present) units, a variant count to shift the window at the end of each step, and a variance inflation factor (VIF) threshold.", + "pattern": "*.{}" + } + }, + { + "variant_count": { + "type": "value", + "description": "Variant count to shift the window at the end of each step.", + "pattern": "*.{}" + } + }, + { + "variance_inflation_factor": { + "type": "value", + "description": "Variance inflation factor (VIF) threshold. At each step, all variants in the current window with VIF exceeding the threshold are removed.", + "pattern": "*.{}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "prunein": { + "type": "file", + "description": "File with IDs of pruned subset of markers that are in approximate linkage equilibrium with each other", + "pattern": "*.{prune.in}" + } + }, + { + "pruneout": { + "type": "file", + "description": "File with IDs of excluded variants", + "pattern": "*.{prune.out}" + } + } + ], + "authors": [ + "@atrigila" + ] + } + }, + { + "name": "plink_indeppairwise", + "path": "modules/nf-core/plink/indeppairwise/meta.yml", + "type": "module", + "meta": { + "name": "plink_indeppairwise", + "description": "Produce a pruned subset of markers that are in approximate linkage equilibrium with each other. Pairs of variants in the current window with squared correlation greater than the threshold are noted and variants are greedily pruned from the window until no such pairs remain.", + "keywords": [ + "plink", + "indep pairwise", + "variant pruning", + "bim", + "fam" + ], + "tools": [ + { + "plink": { + "description": "Whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner.", + "homepage": "https://www.cog-genomics.org/plink", + "documentation": "https://www.cog-genomics.org/plink/1.9/data", + "tool_dev_url": "https://www.cog-genomics.org/plink/1.9/dev", + "licence": [ + "GPL" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "PLINK binary biallelic genotype table file", + "pattern": "*.{bed}" + } + }, + { + "bim": { + "type": "file", + "description": "PLINK extended MAP file", + "pattern": "*.{bim}" + } + }, + { + "fam": { + "type": "file", + "description": "PLINK sample information file", + "pattern": "*.{fam}" + } + }, + { + "window_size": { + "type": "number", + "description": "Window size in variant count or kilobase (if the 'kb' modifier is present) units, a variant count to shift the window at the end of each step, and a variance inflation factor (VIF) threshold.", + "pattern": "*.{}" + } + }, + { + "variant_count": { + "type": "number", + "description": "Variant count to shift the window at the end of each step.", + "pattern": "*.{}" + } + }, + { + "r2_threshold": { + "type": "number", + "description": "Pairwise r2 threshold. At each step, pairs of variants in the current window with squared correlation greater than the threshold are noted, and variants are greedily pruned from the window until no such pairs remain", + "pattern": "*.{}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "prunein": { + "type": "file", + "description": "File with IDs of pruned subset of markers that are in approximate linkage equilibrium with each other", + "pattern": "*.{prune.in}" + } + }, + { + "pruneout": { + "type": "file", + "description": "File with IDs of excluded variants", + "pattern": "*.{prune.out}" + } + } + ], + "authors": [ + "@atrigila" + ] + } + }, + { + "name": "plink_recode", + "path": "modules/nf-core/plink/recode/meta.yml", + "type": "module", + "meta": { + "name": "plink_recode", + "description": "Recodes plink bfiles into a new text fileset applying different modifiers", + "keywords": [ + "recode" + ], + "tools": [ + { + "plink": { + "description": "Whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner.", + "homepage": "https://www.cog-genomics.org/plink", + "documentation": "https://www.cog-genomics.org/plink/1.9/data#recode", + "tool_dev_url": "https://www.cog-genomics.org/plink/1.9/dev", + "licence": "['GPL']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "PLINK binary biallelic genotype table file", + "pattern": "*.{bed}" + } + }, + { + "bim": { + "type": "file", + "description": "PLINK extended MAP file", + "pattern": "*.{bim}" + } + }, + { + "fam": { + "type": "file", + "description": "PLINK sample information file", + "pattern": "*.{fam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "ped": { + "type": "file", + "description": "PLINK/MERLIN/Haploview text pedigree + genotype table file. Produced by the default \"--recode\" or by \"--recode 12\".", + "pattern": "*.{ped}" + } + }, + { + "map": { + "type": "file", + "description": "PLINK text fileset variant information file. Produced by the default \"--recode\" or by \"--recode 12\".", + "pattern": "*.{map}" + } + }, + { + "txt": { + "type": "file", + "description": "Text file. Produced by \"--recode 23\". Can only be used in a file with only one sample.", + "pattern": "*.{txt}" + } + }, + { + "raw": { + "type": "file", + "description": "Additive + dominant component file. Produced by \"--recode AD\" or \"--recode A\".", + "pattern": "*.{raw}" + } + }, + { + "traw": { + "type": "file", + "description": "Variant-major additive component file. Produced by \"--recode A-transpose\".", + "pattern": "*.{traw}" + } + }, + { + "beagle-dat": { + "type": "file", + "description": "Single BEAGLE unphased genotype file. Produced by \"--recode beagle\" in 'beagle-nomap' mode.", + "pattern": "*.{beagle.dat}" + } + }, + { + "chr-dat": { + "type": "file", + "description": "BEAGLE unphased genotype and variant information files. Produced by \"--recode beagle\".", + "pattern": "*.{*.chr-*.dat}" + } + }, + { + "chr-map": { + "type": "file", + "description": "BEAGLE variant information files. Produced by \"--recode beagle\".", + "pattern": "*.{*chr-*.map}" + } + }, + { + "geno": { + "type": "file", + "description": "BIMBAM genotype file. Produced by \"--recode bimbam\".", + "pattern": "*.{recode.geno.txt}" + } + }, + { + "pheno": { + "type": "file", + "description": "BIMBAM phenotype file. Produced by \"--recode bimbam\".", + "pattern": "*.{recode.pheno.txt}" + } + }, + { + "pos": { + "type": "file", + "description": "BIMBAM variant position file. Produced by \"--recode bimbam\".", + "pattern": "*.{recode.pos.txt}" + } + }, + { + "phase": { + "type": "file", + "description": "fastPHASE format. Produced by \"--recode fastphase\".", + "pattern": "*.{recode.phase.inp}" + } + }, + { + "info": { + "type": "file", + "description": "Haploview map file. Produced by \"--recode HV\".", + "pattern": "*.{info}" + } + }, + { + "lgen": { + "type": "file", + "description": "PLINK long-format genotype file. Produced by \"--recode lgen\".", + "pattern": "*.{lgen}" + } + }, + { + "list": { + "type": "file", + "description": "Genotype list file. Produced by \"--recode list\".", + "pattern": "*.{list}" + } + }, + { + "gen": { + "type": "file", + "description": "Oxford genotype file format. Produced by \"--recode oxford\".", + "pattern": "*.{gen}" + } + }, + { + "genz": { + "type": "file", + "description": "Compressed Oxford genotype file format. Produced by \"--recode oxford gen-gz\".", + "pattern": "*.{genz}" + } + }, + { + "sample": { + "type": "file", + "description": "Oxford sample information file. Produced by \"--recode oxford\".", + "pattern": "*.{sample}" + } + }, + { + "rlist": { + "type": "file", + "description": "Rare genotype list file. Produced by \"--recode rlist\".", + "pattern": "*.{rlist}" + } + }, + { + "strctin": { + "type": "file", + "description": "Structure-format file. Produced by \"--recode structure\".", + "pattern": "*.{strct_in}" + } + }, + { + "tped": { + "type": "file", + "description": "Transposed text PED file. Produced by \"--recode transpose\".", + "pattern": "*.{tped}" + } + }, + { + "tfam": { + "type": "file", + "description": "Transposed text FAM file. Produced by \"--recode transpose\".", + "pattern": "*.{tfam}" + } + }, + { + "vcf": { + "type": "file", + "description": "Variant calling file (VCF). Produced by \"--recode vcf\".", + "pattern": "*.{vcf}" + } + }, + { + "vcfgz": { + "type": "file", + "description": "Compressed variant calling file (VCF). Produced by \"--recode vcf bgz\".", + "pattern": "*.{vcf.gz}" + } + } + ], + "authors": [ + "@atrigila" + ] + } + }, + { + "name": "plink_vcf", + "path": "modules/nf-core/plink/vcf/meta.yml", + "type": "module", + "meta": { + "name": "plink_vcf", + "description": "Analyses variant calling files using plink", + "keywords": [ + "plink", + "vcf" + ], + "tools": [ + { + "plink": { + "description": "Whole genome association analysis toolset, designed to perform a range\nof basic, large-scale analyses in a computationally efficient manner\n", + "homepage": "https://www.cog-genomics.org/plink", + "tool_dev_url": "https://www.cog-genomics.org/plink/1.9/dev", + "licence": [ + "GPL" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Variant calling file (vcf)", + "pattern": "*.{vcf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "PLINK binary biallelic genotype table", + "pattern": "*.{bed}" + } + }, + { + "bim": { + "type": "file", + "description": "PLINK extended MAP file", + "pattern": "*.{bim}" + } + }, + { + "fam": { + "type": "file", + "description": "PLINK sample information file", + "pattern": "*.{fam}" + } + } + ], + "authors": [ + "@Mxrcon", + "@abhi18av" + ] + } + }, + { + "name": "pmdtools_filter", + "path": "modules/nf-core/pmdtools/filter/meta.yml", + "type": "module", + "meta": { + "name": "pmdtools_filter", + "description": "pmdtools command to filter ancient DNA molecules from others", + "keywords": [ + "pmdtools", + "aDNA", + "filter", + "damage" + ], + "tools": [ + { + "pmdtools": { + "description": "Compute postmortem damage patterns and decontaminate ancient genomes", + "homepage": "https://github.com/pontussk/PMDtools", + "documentation": "https://github.com/pontussk/PMDtools", + "tool_dev_url": "https://github.com/pontussk/PMDtools", + "doi": "10.1073/pnas.1318934111", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file", + "pattern": "*.bai" + } + }, + { + "threshold": { + "type": "value", + "description": "Post-mortem damage score threshold" + } + }, + { + "reference": { + "type": "file", + "description": "FASTA file", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Filtered BAM file", + "pattern": "*.bam" + } + } + ], + "authors": [ + "@alexandregilardet" + ] + } + }, + { + "name": "porechop_abi", + "path": "modules/nf-core/porechop/abi/meta.yml", + "type": "module", + "meta": { + "name": "porechop_abi", + "description": "Extension of Porechop whose purpose is to process adapter sequences in ONT reads.", + "keywords": [ + "porechop_abi", + "adapter", + "nanopore" + ], + "tools": [ + { + "porechop_abi": { + "description": "Extension of Porechop whose purpose is to process adapter sequences in ONT reads.", + "homepage": "https://github.com/bonsai-team/Porechop_ABI", + "documentation": "https://github.com/bonsai-team/Porechop_ABI", + "tool_dev_url": "https://github.com/bonsai-team/Porechop_ABI", + "doi": "10.1101/2022.07.07.499093", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "fastq/fastq.gz file", + "pattern": "*.{fastq,fastq.gz,fq,fq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "reads": { + "type": "file", + "description": "Adapter-trimmed fastq.gz file", + "pattern": "*fastq.gz" + } + }, + { + "log": { + "type": "file", + "description": "Log file containing stdout information", + "pattern": "*.log" + } + } + ], + "authors": [ + "@sofstam" + ] + } + }, + { + "name": "porechop_porechop", + "path": "modules/nf-core/porechop/porechop/meta.yml", + "type": "module", + "meta": { + "name": "porechop_porechop", + "description": "Adapter removal and demultiplexing of Oxford Nanopore reads", + "keywords": [ + "adapter", + "nanopore", + "demultiplexing" + ], + "tools": [ + { + "porechop": { + "description": "Adapter removal and demultiplexing of Oxford Nanopore reads", + "homepage": "https://github.com/rrwick/Porechop", + "documentation": "https://github.com/rrwick/Porechop", + "tool_dev_url": "https://github.com/rrwick/Porechop", + "doi": "10.1099/mgen.0.000132", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "fastq/fastq.gz file", + "pattern": "*.{fastq,fastq.gz,fq,fq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "reads": { + "type": "file", + "description": "Demultiplexed and/or adapter-trimmed fastq.gz file", + "pattern": "*.{fastq.gz}" + } + }, + { + "log": { + "type": "file", + "description": "Log file containing stdout information", + "pattern": "*.log" + } + } + ], + "authors": [ + "@ggabernet", + "@jasmezz", + "@d4straub", + "@LaurenceKuhl", + "@SusiJo", + "@jonasscheid", + "@jonoave", + "@GokceOGUZ", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "preseq_ccurve", + "path": "modules/nf-core/preseq/ccurve/meta.yml", + "type": "module", + "meta": { + "name": "preseq_ccurve", + "description": "Software for predicting library complexity and genome coverage in high-throughput sequencing", + "keywords": [ + "preseq", + "library", + "complexity" + ], + "tools": [ + { + "preseq": { + "description": "Software for predicting library complexity and genome coverage in high-throughput sequencing", + "homepage": "http://smithlabresearch.org/software/preseq/", + "documentation": "http://smithlabresearch.org/wp-content/uploads/manual.pdf", + "tool_dev_url": "https://github.com/smithlabcode/preseq", + "licence": [ + "GPL" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "ccurve": { + "type": "file", + "description": "File containing output of Preseq c curve", + "pattern": "*.{c_curve.txt}" + } + }, + { + "log": { + "type": "file", + "description": "Log file containing stderr produced by Preseq", + "pattern": "*.{log}" + } + } + ], + "authors": [ + "@drpatelh", + "@Emiller88" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "nascent", + "version": "2.1.1" + } + ] + }, + { + "name": "preseq_lcextrap", + "path": "modules/nf-core/preseq/lcextrap/meta.yml", + "type": "module", + "meta": { + "name": "preseq_lcextrap", + "description": "Software for predicting library complexity and genome coverage in high-throughput sequencing", + "keywords": [ + "preseq", + "library", + "complexity" + ], + "tools": [ + { + "preseq": { + "description": "Software for predicting library complexity and genome coverage in high-throughput sequencing", + "homepage": "http://smithlabresearch.org/software/preseq/", + "documentation": "http://smithlabresearch.org/wp-content/uploads/manual.pdf", + "tool_dev_url": "https://github.com/smithlabcode/preseq", + "licence": [ + "GPL" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "lc_extrap": { + "type": "file", + "description": "File containing output of Preseq lcextrap", + "pattern": "*.{lc_extrap.txt}" + } + }, + { + "log": { + "type": "file", + "description": "Log file containing stderr produced by Preseq", + "pattern": "*.{log}" + } + } + ], + "authors": [ + "@drpatelh", + "@Emiller88" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "methylseq", + "version": "2.4.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "pretextmap", + "path": "modules/nf-core/pretextmap/meta.yml", + "type": "module", + "meta": { + "name": "pretextmap", + "description": "converts sam/bam/cram/pairs into genome contact map", + "keywords": [ + "contact", + "bam", + "map" + ], + "tools": [ + { + "pretextmap": { + "description": "Paired REad TEXTure Mapper. Converts SAM formatted read pairs into genome contact maps.", + "homepage": "https://github.com/wtsi-hpag/PretextMap", + "documentation": "https://github.com/wtsi-hpag/PretextMap/blob/master/README.md", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file or pairs formatted reads file", + "pattern": "*.{bam,cram,sam,pairs.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "pretext": { + "type": "file", + "description": "pretext map", + "pattern": "*.pretext" + } + } + ], + "authors": [ + "@marrip", + "@getrudeln" + ] + } + }, + { + "name": "pretextsnapshot", + "path": "modules/nf-core/pretextsnapshot/meta.yml", + "type": "module", + "meta": { + "name": "pretextsnapshot", + "description": "a module to generate images from Pretext contact maps.", + "keywords": [ + "pretext", + "image", + "hic", + "png", + "jpg", + "bmp", + "contact maps" + ], + "tools": [ + { + "pretextsnapshot": { + "description": "Commandline image generator for Pretext Hi-C genome contact maps.", + "homepage": "https://github.com/wtsi-hpag/PretextSnapshot", + "tool_dev_url": "https://github.com/wtsi-hpag/PretextSnapshot", + "licence": "['https://github.com/wtsi-hpag/PretextSnapshot/blob/master/LICENSE']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "pretext_map": { + "type": "file", + "description": "pretext hic map", + "pattern": "*.pretext" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "image": { + "type": "file", + "description": "image of a hic contact map", + "pattern": "*.{png,jpg,bmp}" + } + } + ], + "authors": [ + "@epaule" + ] + } + }, + { + "name": "prinseqplusplus", + "path": "modules/nf-core/prinseqplusplus/meta.yml", + "type": "module", + "meta": { + "name": "prinseqplusplus", + "description": "PRINSEQ++ is a C++ implementation of the prinseq-lite.pl program. It can be used to filter, reformat or trim genomic and metagenomic sequence data", + "keywords": [ + "fastq", + "fasta", + "filter", + "trim" + ], + "tools": [ + { + "prinseqplusplus": { + "description": "PRINSEQ++ - Multi-threaded C++ sequence cleaning", + "homepage": "https://github.com/Adrian-Cantu/PRINSEQ-plus-plus", + "documentation": "https://github.com/Adrian-Cantu/PRINSEQ-plus-plus", + "tool_dev_url": "https://github.com/Adrian-Cantu/PRINSEQ-plus-plus", + "doi": "10.7287/peerj.preprints.27553v1", + "licence": "['GPL v2']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end\ndata, respectively.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "good_reads": { + "type": "file", + "description": "Reads passing filter(s) in gzipped FASTQ format", + "pattern": "*_good_out_{R1,R2}.fastq.gz" + } + }, + { + "single_reads": { + "type": "file", + "description": "Single reads without the pair passing filter(s) in gzipped FASTQ format\n", + "pattern": "*_single_out_{R1,R2}.fastq.gz" + } + }, + { + "bad_reads": { + "type": "file", + "description": "Reads without not passing filter(s) in gzipped FASTQ format\n", + "pattern": "*_bad_out_{R1,R2}.fastq.gz" + } + }, + { + "log": { + "type": "file", + "description": "Verbose level 2 STDOUT information in a log file\n", + "pattern": "*.log" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "prodigal", + "path": "modules/nf-core/prodigal/meta.yml", + "type": "module", + "meta": { + "name": "prodigal", + "description": "Prodigal (Prokaryotic Dynamic Programming Genefinding Algorithm) is a microbial (bacterial and archaeal) gene finding program", + "keywords": [ + "prokaryotes", + "gene finding", + "microbial" + ], + "tools": [ + { + "prodigal": { + "description": "Prodigal (Prokaryotic Dynamic Programming Genefinding Algorithm) is a microbial (bacterial and archaeal) gene finding program", + "homepage": "https://github.com/hyattpd/Prodigal", + "documentation": "https://github.com/hyattpd/prodigal/wiki", + "tool_dev_url": "https://github.com/hyattpd/Prodigal", + "doi": "10.1186/1471-2105-11-119", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "genome": { + "type": "file", + "description": "fasta/fasta.gz file" + } + }, + { + "output_format": { + "type": "string", + "description": "Output format (\"gbk\"/\"gff\"/\"sqn\"/\"sco\")" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "nucleotide_fasta": { + "type": "file", + "description": "nucleotide sequences file", + "pattern": "*.{fna}" + } + }, + { + "amino_acid_fasta": { + "type": "file", + "description": "protein translations file", + "pattern": "*.{faa}" + } + }, + { + "all_gene_annotations": { + "type": "file", + "description": "complete starts file", + "pattern": "*.{_all.txt}" + } + }, + { + "gene_annotations": { + "type": "file", + "description": "gene annotations in output_format given as input", + "pattern": "*.{output_format}" + } + } + ], + "authors": [ + "@grst" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + }, + { + "name": "mag", + "version": "2.3.2" + }, + { + "name": "metapep", + "version": "dev" + }, + { + "name": "metatdenovo", + "version": "dev" + } + ] + }, + { + "name": "prokka", + "path": "modules/nf-core/prokka/meta.yml", + "type": "module", + "meta": { + "name": "prokka", + "description": "Whole genome annotation of small genomes (bacterial, archeal, viral)", + "keywords": [ + "annotation", + "fasta", + "prokka" + ], + "tools": [ + { + "prokka": { + "description": "Rapid annotation of prokaryotic genomes", + "homepage": "https://github.com/tseemann/prokka", + "doi": "10.1093/bioinformatics/btu153", + "licence": [ + "GPL v2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file to be annotated. Has to contain at least a non-empty string dummy value.\n" + } + }, + { + "proteins": { + "type": "file", + "description": "FASTA file of trusted proteins to first annotate from (optional)" + } + }, + { + "prodigal_tf": { + "type": "file", + "description": "Training file to use for Prodigal (optional)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "gff": { + "type": "file", + "description": "annotation in GFF3 format, containing both sequences and annotations", + "pattern": "*.{gff}" + } + }, + { + "gbk": { + "type": "file", + "description": "annotation in GenBank format, containing both sequences and annotations", + "pattern": "*.{gbk}" + } + }, + { + "fna": { + "type": "file", + "description": "nucleotide FASTA file of the input contig sequences", + "pattern": "*.{fna}" + } + }, + { + "faa": { + "type": "file", + "description": "protein FASTA file of the translated CDS sequences", + "pattern": "*.{faa}" + } + }, + { + "ffn": { + "type": "file", + "description": "nucleotide FASTA file of all the prediction transcripts (CDS, rRNA, tRNA, tmRNA, misc_RNA)", + "pattern": "*.{ffn}" + } + }, + { + "sqn": { + "type": "file", + "description": "an ASN1 format \"Sequin\" file for submission to Genbank", + "pattern": "*.{sqn}" + } + }, + { + "fsa": { + "type": "file", + "description": "nucleotide FASTA file of the input contig sequences, used by \"tbl2asn\" to create the .sqn file", + "pattern": "*.{fsa}" + } + }, + { + "tbl": { + "type": "file", + "description": "feature Table file, used by \"tbl2asn\" to create the .sqn file", + "pattern": "*.{tbl}" + } + }, + { + "err": { + "type": "file", + "description": "unacceptable annotations - the NCBI discrepancy report.", + "pattern": "*.{err}" + } + }, + { + "log": { + "type": "file", + "description": "contains all the output that Prokka produced during its run", + "pattern": "*.{log}" + } + }, + { + "txt": { + "type": "file", + "description": "statistics relating to the annotated features found", + "pattern": "*.{txt}" + } + }, + { + "tsv": { + "type": "file", + "description": "tab-separated file of all features (locus_tag,ftype,len_bp,gene,EC_number,COG,product)", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@rpetit3" + ] + }, + "pipelines": [ + { + "name": "bacass", + "version": "2.0.0" + }, + { + "name": "funcscan", + "version": "1.1.2" + }, + { + "name": "mag", + "version": "2.3.2" + }, + { + "name": "metatdenovo", + "version": "dev" + } + ] + }, + { + "name": "proteus_readproteingroups", + "path": "modules/nf-core/proteus/readproteingroups/meta.yml", + "type": "module", + "meta": { + "name": "proteus_readproteingroups", + "description": "reads a maxQuant proteinGroups file with Proteus", + "keywords": [ + "proteomics", + "proteus", + "readproteingroups" + ], + "tools": [ + { + "proteus": { + "description": "R package for analysing proteomics data", + "homepage": "https://github.com/bartongroup/Proteus", + "documentation": "https://rdrr.io/github/bartongroup/Proteus/", + "tool_dev_url": "https://github.com/bartongroup/Proteus", + "doi": "10.1101/416511", + "licence": "['GPL v2']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing contrast information, e.g. [ variable:'treatment', reference:'treated', control:'saline', blocking:'' ]\n" + } + }, + { + "samplesheet": { + "type": "file", + "description": "CSV or TSV format sample sheet with sample metadata; check here for specifications: https://rdrr.io/github/bartongroup/Proteus/man/readProteinGroups.html\n" + } + }, + { + "intensities": { + "type": "file", + "description": "proteinGroups TXT file with protein intensities information from maxQuant; check here for specifications: https://rdrr.io/github/bartongroup/Proteus/man/readProteinGroups.html\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing contrast information, e.g. [ variable:'treatment', reference:'treated', control:'saline', blocking:'' ]\n" + } + }, + { + "contrast_variable": { + "type": "string", + "description": "The column in the sample sheet that should be used to define groups for\ncomparison\n" + } + } + ], + "output": [ + { + "dendro_plot": { + "type": "file", + "description": "PNG file; dendrogram of the normalized samples hierarchically clustered by their intensities\n" + } + }, + { + "mean_var_plot": { + "type": "file", + "description": "PNG file; plot of the log-intensity variance vs log-intensity mean of each condition in the normalized samples\n" + } + }, + { + "raw_dist_plot": { + "type": "file", + "description": "PNG file; plot of the intensity/ratio distributions of the raw samples\n" + } + }, + { + "norm_dist_plot": { + "type": "file", + "description": "PNG file; plot of the intensity/ratio distributions of the normalized samples\n" + } + }, + { + "raw_rdata": { + "type": "file", + "description": "RDS file of a proteinGroups object from Proteus, contains raw protein intensities and additional info\n" + } + }, + { + "norm_rdata": { + "type": "file", + "description": "RDS file of a proteinGroups object from Proteus, contains normalized protein intensities and additional info\n" + } + }, + { + "raw_tab": { + "type": "file", + "description": "TSV-format intensities table from Proteus, contains raw protein intensities\n" + } + }, + { + "norm_tab": { + "type": "file", + "description": "TSV-format intensities table from Proteus, contains normalized protein intensities\n" + } + }, + { + "session_info": { + "type": "file", + "description": "LOG file of the R sessionInfo from the module run\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@WackerO" + ] + } + }, + { + "name": "pureclip", + "path": "modules/nf-core/pureclip/meta.yml", + "type": "module", + "meta": { + "name": "pureclip", + "description": "PureCLIP is a tool to detect protein-RNA interaction footprints from single-nucleotide CLIP-seq data, such as iCLIP and eCLIP.", + "keywords": [ + "iCLIP", + "eCLIP", + "CLIP" + ], + "tools": [ + { + "pureclip": { + "description": "PureCLIP is a tool to detect protein-RNA interaction footprints from single-nucleotide CLIP-seq data, such as iCLIP and eCLIP.", + "homepage": "https://github.com/skrakau/PureCLIP", + "documentation": "https://pureclip.readthedocs.io/en/latest/GettingStarted/index.html", + "tool_dev_url": "https://github.com/skrakau/PureCLIP", + "doi": "10.1186/s13059-017-1364-2", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ipbam": { + "type": "file", + "description": "Sorted BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "controlbam": { + "type": "file", + "description": "Sorted BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "ipbai": { + "type": "file", + "description": "BAM index", + "pattern": "*.{bai}" + } + }, + { + "controlbai": { + "type": "file", + "description": "BAM index", + "pattern": "*.{bai}" + } + }, + { + "input_control": { + "type": "boolean", + "description": "Whether to run PureCLIP with an input control" + } + }, + { + "genome_fasta": { + "type": "file", + "description": "FASTA file of reference genome", + "pattern": "*.{fa,fasta,fa.gz,fasta.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "crosslinks": { + "type": "file", + "description": "Bed file of crosslinks", + "pattern": "*.{bed}" + } + }, + { + "peaks": { + "type": "file", + "description": "Bed file of peaks", + "pattern": "*.{bed}" + } + } + ], + "authors": [ + "@charlotteanne", + "@marcjones" + ] + } + }, + { + "name": "purecn_coverage", + "path": "modules/nf-core/purecn/coverage/meta.yml", + "type": "module", + "meta": { + "name": "purecn_coverage", + "description": "Calculate intervals coverage for each sample. N.B. the tool can not handle staging files with symlinks, stageInMode should be set to 'link'.", + "keywords": [ + "copy number alteration calling", + "intervals coverage", + "hybrid capture sequencing", + "targeted sequencing", + "DNA sequencing" + ], + "tools": [ + { + "purecn": { + "description": "Copy number calling and SNV classification using targeted short read sequencing", + "homepage": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", + "documentation": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", + "tool_dev_url": "https://github.com/lima1/PureCN", + "doi": "10.1186/s13029-016-0060-z", + "licence": "Artistic-2.0", + "args_id": "$args" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file", + "pattern": "*.{bai}" + } + }, + { + "intervals": { + "type": "file", + "description": "Annotated targets optimized for copy number calling", + "pattern": "*.txt" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "txt": { + "type": "file", + "description": "Intervals coverage file", + "pattern": "*.txt.gz" + } + }, + { + "png": { + "type": "file", + "description": "GC-normalized intervals coverage plot.\nGenerated only when GC-normalization is enabled.\n", + "pattern": "*.png" + } + }, + { + "loess_qc_txt": { + "type": "file", + "description": "GC-normalized intervals coverage metrics.\nGenerated only when GC-normalization is enabled.\n", + "pattern": "*_loess_qc.txt" + } + }, + { + "loess_txt": { + "type": "file", + "description": "GC-normalized intervals coverage file.\nGenerated only when GC-normalization is enabled.\n", + "pattern": "*_loess.txt.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@aldosr", + "@lbeltrame" + ] + } + }, + { + "name": "purecn_intervalfile", + "path": "modules/nf-core/purecn/intervalfile/meta.yml", + "type": "module", + "meta": { + "name": "purecn_intervalfile", + "description": "Generate on and off-target intervals for PureCN from a list of targets", + "keywords": [ + "copy number alteration calling", + "genomic intervals", + "hybrid capture sequencing", + "targeted sequencing", + "DNA sequencing" + ], + "tools": [ + { + "purecn": { + "description": "Copy number calling and SNV classification using targeted short read sequencing", + "homepage": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", + "documentation": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", + "tool_dev_url": "https://github.com/lima1/PureCN", + "doi": "10.1186/s13029-016-0060-z.", + "licence": "Artistic-2.0", + "args_id": "$args" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "target_bed": { + "type": "file", + "description": "BED file of target intervals", + "pattern": "*.bed" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'fasta' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA reference sequence of the genome being used", + "pattern": "*.fasta" + } + }, + { + "genome": { + "type": "string", + "description": "Genome used for the BED file (e.g., \"hg38\", \"mm10\"...)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "txt": { + "type": "file", + "pattern": "*.txt", + "description": "Annotated targets optimized for copy number calling\n" + } + }, + { + "bed": { + "type": "file", + "pattern": "*.bed", + "description": "Modified and optimized targets exported as a BED file.\nGenerate the file using the --export command-line switch\nIntervalFile.R.\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@aldosr", + "@lbeltrame" + ] + } + }, + { + "name": "purecn_normaldb", + "path": "modules/nf-core/purecn/normaldb/meta.yml", + "type": "module", + "meta": { + "name": "purecn_normaldb", + "description": "Build a normal database for coverage normalization from all the (GC-normalized) normal coverage files. N.B. as reported in https://www.bioconductor.org/packages/devel/bioc/vignettes/PureCN/inst/doc/Quick.html, it is advised to provide a normal panel (VCF format) to precompute mapping bias for faster runtimes.", + "keywords": [ + "copy number alteration calling", + "normal database", + "panel of normals", + "hybrid capture sequencing", + "targeted sequencing", + "DNA sequencing" + ], + "tools": [ + { + "purecn": { + "description": "Copy number calling and SNV classification using targeted short read sequencing", + "homepage": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", + "documentation": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", + "tool_dev_url": "https://github.com/lima1/PureCN", + "doi": "10.1186/s13029-016-0060-z", + "licence": "Artistic-2.0", + "args_id": "$args" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "coverage_files": { + "type": "file", + "description": "Coverage files from normal samples", + "pattern": "*.txt.gz" + } + }, + { + "normal_vcf": { + "type": "file", + "description": "Normal panel in VCF format, used to precompute mapping bias\nfor faster runtimes. Optional.\n", + "pattern": "*.vcf.gz" + } + }, + { + "genome": { + "type": "string", + "description": "Genome build" + } + }, + { + "assay": { + "type": "string", + "description": "Assay name" + } + } + ], + "output": [ + { + "rds": { + "type": "file", + "description": "File containing the generated panel of normals", + "pattern": "normalDB*.rds" + } + }, + { + "png": { + "type": "file", + "description": "Plot of interval weights calculated from the panel of normals", + "pattern": "interval_weights*.png" + } + }, + { + "bias_rds": { + "type": "file", + "description": "Calculated mapping bias from the normal files", + "pattern": "mapping_bias*.rds" + } + }, + { + "bias_bed": { + "type": "file", + "description": "Calculated mapping bias sites from the normal files", + "pattern": "mapping_bias_hq_sites*.bed" + } + }, + { + "low_cov_bed": { + "type": "file", + "description": "BED with possibly low coverage targets identified, only\ngenerated if there are low coverage targets\n", + "pattern": "low_coverage_targets*.bed" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@aldosr", + "@lbeltrame" + ] + } + }, + { + "name": "purecn_run", + "path": "modules/nf-core/purecn/run/meta.yml", + "type": "module", + "meta": { + "name": "purecn_run", + "description": "Run PureCN workflow to normalize, segment and determine purity and ploidy", + "keywords": [ + "copy number alteration calling", + "hybrid capture sequencing", + "targeted sequencing", + "DNA sequencing" + ], + "tools": [ + { + "purecn": { + "description": "Copy number calling and SNV classification using targeted short read sequencing", + "homepage": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", + "documentation": "https://bioconductor.org/packages/release/bioc/html/PureCN.html", + "tool_dev_url": "https://github.com/lima1/PureCN", + "doi": "10.1186/s13029-016-0060-z", + "licence": "Artistic-2.0", + "args_id": "$args" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "intervals": { + "type": "file", + "description": "BED file of target intervals, generated from IntervalFile.R\n", + "pattern": "{*.bed,*.txt}" + } + }, + { + "coverage": { + "type": "file", + "description": "Coverage file generated from Coverage.R", + "pattern": "*.txt" + } + }, + { + "normaldb": { + "type": "file", + "description": "Normal panel in RDS format, generated from NormalDB.R\n", + "pattern": "*.rds" + } + }, + { + "genome": { + "type": "string", + "description": "Genome build" + } + } + ], + "output": [ + { + "pdf": { + "type": "file", + "description": "PDF file containing copy number plots\n", + "pattern": "*.pdf" + } + }, + { + "local_optima_pdf": { + "type": "file", + "description": "PDF file containing local optima plots\n", + "pattern": "*_local_optima.pdf" + } + }, + { + "seg": { + "type": "file", + "description": "Tab-delimited file containing segmentation results\n", + "pattern": "*_dnacopy.seg" + } + }, + { + "genes_csv": { + "type": "file", + "description": "CSV file containing gene copy number calls. Optional\n", + "pattern": "*_genes.csv" + } + }, + { + "amplification_pvalues_csv": { + "type": "file", + "description": "CSV file containing amplification p-values. Optional\n", + "pattern": "*_amplification_pvalues.csv" + } + }, + { + "vcf_gz": { + "type": "file", + "description": "GZipped VCF file containing SNV calls. Optional\n", + "pattern": "*.vcf.gz" + } + }, + { + "variants_csv": { + "type": "file", + "description": "CSV file containing SNV calls. Optional\n", + "pattern": "*_variants.csv" + } + }, + { + "loh_csv": { + "type": "file", + "description": "CSV file containing LOH calls. Optional\n", + "pattern": "*_loh.csv" + } + }, + { + "chr_pdf": { + "type": "file", + "description": "PDF file containing chromosome plots. Optional\n", + "pattern": "*_chromosomes.pdf" + } + }, + { + "segmentation_pdf": { + "type": "file", + "description": "PDF file containing segmentation plots. Optional\n", + "pattern": "*_segmentation.pdf" + } + }, + { + "multisample.seg": { + "type": "file", + "description": "Tab-delimited file containing segmentation data from multiple samples. Optional\n", + "pattern": "*_multisample.seg" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@aldosr", + "@lbeltrame" + ] + } + }, + { + "name": "purgedups_calcuts", + "path": "modules/nf-core/purgedups/calcuts/meta.yml", + "type": "module", + "meta": { + "name": "purgedups_calcuts", + "description": "Calculate coverage cutoffs to determine when to purge duplicated sequence.", + "keywords": [ + "coverage", + "cutoff", + "purge duplications" + ], + "tools": [ + { + "purgedups": { + "description": "Purge_dups is a package used to purge haplotigs and overlaps in an assembly based on read depth", + "homepage": "https://github.com/dfguan/purge_dups", + "documentation": "https://github.com/dfguan/purge_dups", + "tool_dev_url": "https://github.com/dfguan/purge_dups", + "doi": "10.1093/bioinformatics/btaa025", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "stat": { + "type": "file", + "description": "Histogram of coverage", + "pattern": "*.stat" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "cutoff": { + "type": "file", + "description": "Cutoff file", + "pattern": "*.cutoffs" + } + }, + { + "log": { + "type": "file", + "description": "Log file", + "pattern": ".calcuts.log" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + } + }, + { + "name": "purgedups_getseqs", + "path": "modules/nf-core/purgedups/getseqs/meta.yml", + "type": "module", + "meta": { + "name": "purgedups_getseqs", + "description": "Separates out sequences purged of falsely duplicated sequences.", + "keywords": [ + "haplotype purging", + "duplicate purging", + "false duplications", + "assembly curation" + ], + "tools": [ + { + "purgedups": { + "description": "Purge_dups is a package used to purge haplotigs and overlaps in an assembly based on read depth", + "homepage": "https://github.com/dfguan/purge_dups", + "documentation": "https://github.com/dfguan/purge_dups", + "tool_dev_url": "https://github.com/dfguan/purge_dups", + "doi": "10.1093/bioinformatics/btaa025", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "assembly": { + "type": "file", + "description": "Draft assembly in fasta format", + "pattern": "*.fasta" + } + }, + { + "bed": { + "type": "file", + "description": "Bed file listing duplicated sequences, produced by PURGEDUPS_PURGEDUPS", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "haplotigs": { + "type": "file", + "description": "Fasta file containing purged haplotigs", + "pattern": "*.hap.fa" + } + }, + { + "purged": { + "type": "file", + "description": "Fasta file purged of duplicated haplotigs", + "pattern": "*.purged.fa" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + } + }, + { + "name": "purgedups_pbcstat", + "path": "modules/nf-core/purgedups/pbcstat/meta.yml", + "type": "module", + "meta": { + "name": "purgedups_pbcstat", + "description": "Create read depth histogram and base-level read depth for an assembly based on pacbio data", + "keywords": [ + "sort", + "genome assembly", + "purge duplications", + "read depth" + ], + "tools": [ + { + "purgedups": { + "description": "Purge_dups is a package used to purge haplotigs and overlaps in an assembly based on read depth", + "homepage": "https://github.com/dfguan/purge_dups", + "documentation": "https://github.com/dfguan/purge_dups", + "tool_dev_url": "https://github.com/dfguan/purge_dups", + "doi": "10.1093/bioinformatics/btaa025", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "paf_alignment": { + "type": "file", + "description": "PAF alignment file", + "pattern": "*.paf" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "stat": { + "type": "file", + "description": "PacBio Statistic file", + "pattern": "*.PB.stat" + } + }, + { + "basecov": { + "type": "file", + "description": "PacBio Base coverage file", + "pattern": "*.PB.base.cov" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + } + }, + { + "name": "purgedups_purgedups", + "path": "modules/nf-core/purgedups/purgedups/meta.yml", + "type": "module", + "meta": { + "name": "purgedups_purgedups", + "description": "Purge haplotigs and overlaps for an assembly", + "keywords": [ + "Haplotype purging", + "Duplication purging", + "False duplications", + "Assembly curation", + "Read depth" + ], + "tools": [ + { + "purgedups": { + "description": "Purge_dups is a package used to purge haplotigs and overlaps in an assembly based on read depth", + "homepage": "https://github.com/dfguan/purge_dups", + "documentation": "https://github.com/dfguan/purge_dups", + "tool_dev_url": "https://github.com/dfguan/purge_dups", + "doi": "10.1093/bioinformatics/btaa025", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "basecov": { + "type": "file", + "description": "A file containing a histogram of base coverage. Obtained from PURGEDUPS_PBCSTAT", + "pattern": "*.PB.base.cov" + } + }, + { + "cutoff": { + "type": "file", + "description": "A file containing duplication cutoff points. Obtained from PURGEDUPS_CALCUTS", + "pattern": "*.cutoffs" + } + }, + { + "paf": { + "type": "file", + "description": "A file of assembly alignments to itself", + "pattern": "*.paf(.gz)?" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "A bed file of sequences purged of false duplications", + "pattern": "*.bed" + } + }, + { + "log": { + "type": "file", + "description": "A log of the tool output", + "pattern": "*.log" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + } + }, + { + "name": "purgedups_splitfa", + "path": "modules/nf-core/purgedups/splitfa/meta.yml", + "type": "module", + "meta": { + "name": "purgedups_splitfa", + "description": "Split fasta file by 'N's to aid in self alignment for duplicate purging", + "keywords": [ + "split assembly", + "duplicate purging" + ], + "tools": [ + { + "purgedups": { + "description": "Purge_dups is a package used to purge haplotigs and overlaps in an assembly based on read depth", + "homepage": "https://github.com/dfguan/purge_dups", + "documentation": "https://github.com/dfguan/purge_dups", + "tool_dev_url": "https://github.com/dfguan/purge_dups", + "doi": "10.1093/bioinformatics/btaa025", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "assembly": { + "type": "file", + "description": "Draft assembly file", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "split_fasta": { + "type": "file", + "description": "Fasta split by N's", + "pattern": "*.fasta.gz" + } + } + ], + "authors": [ + "@mahesh-panchal" + ] + } + }, + { + "name": "pycoqc", + "path": "modules/nf-core/pycoqc/meta.yml", + "type": "module", + "meta": { + "name": "pycoqc", + "description": "write your description here", + "keywords": [ + "qc", + "quality control", + "sequencing", + "nanopore" + ], + "tools": [ + { + "pycoqc": { + "description": "PycoQC computes metrics and generates interactive QC plots for Oxford Nanopore technologies sequencing data", + "homepage": "https://github.com/tleonardi/pycoQC", + "documentation": "https://tleonardi.github.io/pycoQC/", + "tool_dev_url": "https://github.com/tleonardi/pycoQC", + "doi": "10.21105/joss.01236", + "licence": [ + "GNU General Public v3 (GPL v3)" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "summary": { + "type": "file", + "description": "sequencing summary file", + "pattern": "*.{txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "html": { + "type": "file", + "description": "Results in HTML format" + } + }, + { + "json": { + "type": "file", + "description": "Results in JSON format", + "pattern": "*.{json}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "pydamage_analyze", + "path": "modules/nf-core/pydamage/analyze/meta.yml", + "type": "module", + "meta": { + "name": "pydamage_analyze", + "description": "Damage parameter estimation for ancient DNA", + "keywords": [ + "ancient DNA", + "aDNA", + "de novo assembly", + "filtering", + "damage", + "deamination", + "miscoding lesions", + "C to T", + "palaeogenomics", + "archaeogenomics", + "palaeogenetics", + "archaeogenetics" + ], + "tools": [ + { + "pydamage": { + "description": "Damage parameter estimation for ancient DNA", + "homepage": "https://github.com/maxibor/pydamage", + "documentation": "https://pydamage.readthedocs.io/", + "tool_dev_url": "https://github.com/maxibor/pydamage", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "csv": { + "type": "file", + "description": "PyDamage results as csv files", + "pattern": "*.csv" + } + } + ], + "authors": [ + "@maxibor" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "pydamage_filter", + "path": "modules/nf-core/pydamage/filter/meta.yml", + "type": "module", + "meta": { + "name": "pydamage_filter", + "description": "Damage parameter estimation for ancient DNA", + "keywords": [ + "ancient DNA", + "aDNA", + "de novo assembly", + "filtering", + "damage", + "deamination", + "miscoding lesions", + "C to T", + "palaeogenomics", + "archaeogenomics", + "palaeogenetics", + "archaeogenetics" + ], + "tools": [ + { + "pydamage": { + "description": "Damage parameter estimation for ancient DNA", + "homepage": "https://github.com/maxibor/pydamage", + "documentation": "https://pydamage.readthedocs.io/", + "tool_dev_url": "https://github.com/maxibor/pydamage", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "csv": { + "type": "file", + "description": "csv file from pydamage analyze", + "pattern": "*.csv" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "csv": { + "type": "file", + "description": "PyDamage filtered results as csv file", + "pattern": "*.csv" + } + } + ], + "authors": [ + "@maxibor" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "pyrodigal", + "path": "modules/nf-core/pyrodigal/meta.yml", + "type": "module", + "meta": { + "name": "pyrodigal", + "description": "Pyrodigal is a Python module that provides bindings to Prodigal, a fast, reliable protein-coding gene prediction for prokaryotic genomes.", + "keywords": [ + "sort", + "annotation", + "prediction", + "prokaryote" + ], + "tools": [ + { + "pyrodigal": { + "description": "Pyrodigal is a Python module that provides bindings to Prodigal (ORF finder for microbial sequences) using Cython.", + "homepage": "https://pyrodigal.readthedocs.org/", + "documentation": "https://pyrodigal.readthedocs.org/", + "tool_dev_url": "https://github.com/althonos/pyrodigal/", + "doi": "10.21105/joss.04296", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file", + "pattern": "*.{fasta.gz,fa.gz,fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "gff": { + "type": "file", + "description": "gene annotations in gff format", + "pattern": "*.{gff.gz}" + } + }, + { + "faa": { + "type": "file", + "description": "protein translations file", + "pattern": "*.{faa.gz}" + } + }, + { + "fna": { + "type": "file", + "description": "nucleotide sequences file", + "pattern": "*.{fna.gz}" + } + }, + { + "score": { + "type": "file", + "description": "all potential genes (with scores)", + "pattern": "*.{score.gz}" + } + } + ], + "authors": [ + "@louperelo" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "qcat", + "path": "modules/nf-core/qcat/meta.yml", + "type": "module", + "meta": { + "name": "qcat", + "description": "Demultiplexer for Nanopore samples", + "keywords": [ + "demultiplex" + ], + "tools": [ + { + "qcat": { + "description": "A demultiplexer for Nanopore samples\n", + "homepage": "https://github.com/nanoporetech/qcat", + "documentation": "https://github.com/nanoporetech/qcat#qcat", + "licence": [ + "MPL-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Non-demultiplexed fastq files\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Demultiplexed fastq samples", + "pattern": "*.fastq.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@yuukiiwa", + "@drpatelh" + ] + } + }, + { + "name": "qualimap_bamqc", + "path": "modules/nf-core/qualimap/bamqc/meta.yml", + "type": "module", + "meta": { + "name": "qualimap_bamqc", + "description": "Evaluate alignment data", + "keywords": [ + "quality control", + "qc", + "bam" + ], + "tools": [ + { + "qualimap": { + "description": "Qualimap 2 is a platform-independent application written in\nJava and R that provides both a Graphical User Interface and\na command-line interface to facilitate the quality control of\nalignment sequencing data and its derivatives like feature counts.\n", + "homepage": "http://qualimap.bioinfo.cipf.es/", + "documentation": "http://qualimap.conesalab.org/doc_html/index.html", + "doi": "10.1093/bioinformatics/bts503", + "licence": [ + "GPL-2.0-only" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.{bam}" + } + }, + { + "gff": { + "type": "file", + "description": "Feature file with regions of interest", + "pattern": "*.{gff,gtf,bed}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "results": { + "type": "dir", + "description": "Qualimap results dir", + "pattern": "*/*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@phue" + ] + }, + "pipelines": [ + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "methylseq", + "version": "2.4.0" + }, + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "qualimap_bamqccram", + "path": "modules/nf-core/qualimap/bamqccram/meta.yml", + "type": "module", + "meta": { + "name": "qualimap_bamqccram", + "description": "Evaluate alignment data", + "keywords": [ + "quality control", + "qc", + "bam" + ], + "tools": [ + { + "qualimap": { + "description": "Qualimap 2 is a platform-independent application written in\nJava and R that provides both a Graphical User Interface and\na command-line interface to facilitate the quality control of\nalignment sequencing data and its derivatives like feature counts.\n", + "homepage": "http://qualimap.bioinfo.cipf.es/", + "documentation": "http://qualimap.conesalab.org/doc_html/index.html", + "doi": "10.1093/bioinformatics/bts503", + "licence": [ + "GPL-2.0-only" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bacramm": { + "type": "file", + "description": "BAM file", + "pattern": "*.{bam}" + } + }, + { + "gff": { + "type": "file", + "description": "Feature file with regions of interest", + "pattern": "*.{gff,gtf,bed}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference file of cram file", + "pattern": "*.{fasta,fa,fna}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "results": { + "type": "directory", + "description": "Qualimap results dir", + "pattern": "*/*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + }, + "pipelines": [ + { + "name": "methylseq", + "version": "2.4.0" + } + ] + }, + { + "name": "quast", + "path": "modules/nf-core/quast/meta.yml", + "type": "module", + "meta": { + "name": "quast", + "description": "Quality Assessment Tool for Genome Assemblies", + "keywords": [ + "quast", + "assembly", + "quality" + ], + "tools": [ + { + "quast": { + "description": "QUAST calculates quality metrics for genome assemblies\n", + "homepage": "http://bioinf.spbau.ru/quast", + "doi": "10.1093/bioinformatics/btt086", + "licence": [ + "GPL-2.0-only" + ] + } + } + ], + "input": [ + { + "consensus": { + "type": "file", + "description": "Fasta file containing the assembly of interest\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The genome assembly to be evaluated. Has to contain at least a non-empty string dummy value.\n" + } + }, + { + "use_fasta": { + "type": "boolean", + "description": "Whether to use the provided fasta reference genome file" + } + }, + { + "gff": { + "type": "file", + "description": "The genome GFF file. Has to contain at least a non-empty string dummy value." + } + }, + { + "use_gff": { + "type": "boolean", + "description": "Whether to use the provided gff reference annotation file" + } + } + ], + "output": [ + { + "quast": { + "type": "directory", + "description": "Directory containing complete quast report", + "pattern": "{prefix}/" + } + }, + { + "report": { + "type": "file", + "description": "tab-separated version of the summary, suitable for spreadsheets and mqc", + "pattern": "report.tsv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "bacass", + "version": "2.0.0" + }, + { + "name": "genomeassembler", + "version": "dev" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "racon", + "path": "modules/nf-core/racon/meta.yml", + "type": "module", + "meta": { + "name": "racon", + "description": "Consensus module for raw de novo DNA assembly of long uncorrected reads", + "keywords": [ + "assembly", + "pacbio", + "nanopore", + "polish" + ], + "tools": [ + { + "racon": { + "description": "Ultrafast consensus module for raw de novo genome assembly of long uncorrected reads.", + "homepage": "https://github.com/lbcb-sci/racon", + "documentation": "https://github.com/lbcb-sci/racon", + "tool_dev_url": "https://github.com/lbcb-sci/racon", + "doi": "10.1101/gr.214270.116", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files. Racon expects single end reads", + "pattern": "*.{fastq,fastq.gz,fq,fq.gz}" + } + }, + { + "assembly": { + "type": "file", + "description": "Genome assembly to be improved", + "pattern": "*.{fasta,fa}" + } + }, + { + "paf": { + "type": "file", + "description": "Alignment in PAF format", + "pattern": "*.paf" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "improved_assembly": { + "type": "file", + "description": "Improved genome assembly", + "pattern": "*_assembly_consensus.fasta.gz" + } + } + ], + "authors": [ + "@avantonder" + ] + }, + "pipelines": [ + { + "name": "crisprseq", + "version": "2.0.0" + } + ] + }, + { + "name": "rapidnj", + "path": "modules/nf-core/rapidnj/meta.yml", + "type": "module", + "meta": { + "name": "rapidnj", + "description": "Produces a Newick format phylogeny from a multiple sequence alignment using a Neighbour-Joining algorithm. Capable of bacterial genome size alignments.", + "keywords": [ + "phylogeny", + "newick", + "neighbour-joining" + ], + "tools": [ + { + "rapidnj": { + "description": "RapidNJ is an algorithmic engineered implementation of canonical neighbour-joining. It uses an efficient search heuristic to speed-up the core computations of the neighbour-joining method that enables RapidNJ to outperform other state-of-the-art neighbour-joining implementations.", + "homepage": "https://birc.au.dk/software/rapidnj", + "documentation": "https://birc.au.dk/software/rapidnj", + "tool_dev_url": "https://github.com/somme89/rapidNJ", + "doi": "10.1007/978-3-540-87361-7_10", + "licence": [ + "GPL v2" + ] + } + } + ], + "input": [ + { + "alignment": { + "type": "file", + "description": "A FASTA format multiple sequence alignment file", + "pattern": "*.{fasta,fas,fa,mfa}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "phylogeny": { + "type": "file", + "description": "A phylogeny in Newick format", + "pattern": "*.{tre}" + } + }, + { + "stockholm_alignment": { + "type": "file", + "description": "An alignment in Stockholm format", + "pattern": "*.{sth}" + } + } + ], + "authors": [ + "@aunderwo", + "@avantonder" + ] + } + }, + { + "name": "rasusa", + "path": "modules/nf-core/rasusa/meta.yml", + "type": "module", + "meta": { + "name": "rasusa", + "description": "Randomly subsample sequencing reads to a specified coverage", + "keywords": [ + "coverage", + "depth", + "subsampling" + ], + "tools": [ + { + "rasusa": { + "description": "Randomly subsample sequencing reads to a specified coverage", + "homepage": "https://github.com/mbhall88/rasusa", + "documentation": "https://github.com/mbhall88/rasusa/blob/master/README.md", + "tool_dev_url": "https://github.com/mbhall88/rasusa", + "doi": "10.5281/zenodo.3731394", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input paired-end FastQ files" + } + }, + { + "genome_size": { + "type": "string", + "description": "Genome size of the species" + } + }, + { + "depth_cutoff": { + "type": "integer", + "description": "Depth of coverage cutoff" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "reads": { + "type": "file", + "description": "Reads with subsampled coverage", + "pattern": "*.fastq.gz" + } + } + ], + "authors": [ + "@thanhleviet" + ] + } + }, + { + "name": "raven", + "path": "modules/nf-core/raven/meta.yml", + "type": "module", + "meta": { + "name": "raven", + "description": "De novo genome assembler for long uncorrected reads.", + "keywords": [ + "de novo", + "assembly", + "genome", + "genome assembler", + "long uncorrected reads" + ], + "tools": [ + { + "raven": { + "description": "Raven is a de novo genome assembler for long uncorrected reads.", + "homepage": "https://github.com/lbcb-sci/raven", + "documentation": "https://github.com/lbcb-sci/raven#usage", + "tool_dev_url": "https://github.com/lbcb-sci/raven", + "doi": "10.1038/s43588-021-00073-4", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', suffix:'bacteria' ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Input file in FASTA/FASTQ format.", + "pattern": "*.{fasta,fastq,fasta.gz,fastq.gz,fa,fq,fa.gz,fq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', suffix:'bacteria' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fasta": { + "type": "file", + "description": "Assembled FASTA file", + "pattern": "*.fasta.gz" + } + }, + { + "gfa": { + "type": "file", + "description": "Repeat graph", + "pattern": "*.gfa.gz" + } + } + ], + "authors": [ + "@fmalmeida" + ] + } + }, + { + "name": "raxmlng", + "path": "modules/nf-core/raxmlng/meta.yml", + "type": "module", + "meta": { + "name": "raxmlng", + "description": "RAxML-NG is a phylogenetic tree inference tool which uses maximum-likelihood (ML) optimality criterion.", + "keywords": [ + "phylogeny", + "newick", + "maximum likelihood" + ], + "tools": [ + { + "raxmlng": { + "description": "RAxML-NG is a phylogenetic tree inference tool which uses maximum-likelihood (ML) optimality criterion.", + "homepage": "https://github.com/amkozlov/raxml-ng", + "documentation": "https://github.com/amkozlov/raxml-ng/wiki", + "tool_dev_url": "https://github.com/amkozlov/raxml-ng", + "doi": "10.1093/bioinformatics/btz305", + "licence": [ + "GPL v2-or-later" + ] + } + } + ], + "input": [ + { + "alignment": { + "type": "file", + "description": "A FASTA format multiple sequence alignment file", + "pattern": "*.{fasta,fas,fa,mfa}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "phylogeny": { + "type": "file", + "description": "A phylogeny in Newick format", + "pattern": "*.{raxml.bestTree}" + } + }, + { + "phylogeny_bootstrapped": { + "type": "file", + "description": "A phylogeny in Newick format with bootstrap values", + "pattern": "*.{raxml.support}" + } + } + ], + "authors": [ + "@avantonder", + "@aunderwo" + ] + } + }, + { + "name": "rgi_main", + "path": "modules/nf-core/rgi/main/meta.yml", + "type": "module", + "meta": { + "name": "rgi_main", + "description": "Predict antibiotic resistance from protein or nucleotide data", + "keywords": [ + "bacteria", + "fasta", + "antibiotic resistance" + ], + "tools": [ + { + "rgi": { + "description": "This tool provides a preliminary annotation of your DNA sequence(s) based upon the data available in The Comprehensive Antibiotic Resistance Database (CARD). Hits to genes tagged with Antibiotic Resistance ontology terms will be highlighted. As CARD expands to include more pathogens, genomes, plasmids, and ontology terms this tool will grow increasingly powerful in providing first-pass detection of antibiotic resistance associated genes. See license at CARD website", + "homepage": "https://card.mcmaster.ca", + "documentation": "https://github.com/arpcard/rgi", + "tool_dev_url": "https://github.com/arpcard/rgi", + "doi": "10.1093/nar/gkz935", + "licence": [ + "https://card.mcmaster.ca/about" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Nucleotide or protein sequences in FASTA format", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz,faa,faa.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "JSON formatted file with RGI results", + "pattern": "*.{json}" + } + }, + { + "tsv": { + "type": "file", + "description": "Tab-delimited file with RGI results", + "pattern": "*.{txt}" + } + }, + { + "temp": { + "type": "directory", + "description": "Directory containing various intermediate files", + "pattern": "temp/" + } + }, + { + "tool_version": { + "type": "string", + "description": "The version of the tool in string format (useful for downstream tools such as hAMRronization)" + } + }, + { + "db_version": { + "type": "string", + "description": "The version of the used database in string format (useful for downstream tools such as hAMRronization)" + } + } + ], + "authors": [ + "@rpetit3", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + } + ] + }, + { + "name": "rhocall_annotate", + "path": "modules/nf-core/rhocall/annotate/meta.yml", + "type": "module", + "meta": { + "name": "rhocall_annotate", + "description": "Markup VCF file using rho-calls.", + "keywords": [ + "roh", + "rhocall", + "runs_of_homozygosity" + ], + "tools": [ + { + "rhocall": { + "description": "Call regions of homozygosity and make tentative UPD calls.", + "homepage": "https://github.com/dnil/rhocall", + "documentation": "https://github.com/dnil/rhocall", + "tool_dev_url": "https://github.com/dnil", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "vcf file", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "tbi": { + "type": "file", + "description": "vcf index file", + "pattern": "*.{tbi}" + } + }, + { + "roh": { + "type": "file", + "description": "Bcftools roh style TSV file with CHR,POS,AZ,QUAL", + "pattern": "*.{roh}" + } + }, + { + "bed": { + "type": "file", + "description": "BED file with AZ windows.", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "vcf file", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "rmarkdownnotebook", + "path": "modules/nf-core/rmarkdownnotebook/meta.yml", + "type": "module", + "meta": { + "name": "rmarkdownnotebook", + "description": "Render an rmarkdown notebook. Supports parametrization.", + "keywords": [ + "R", + "notebook", + "reports" + ], + "tools": [ + { + "rmarkdown": { + "description": "Dynamic Documents for R", + "homepage": "https://rmarkdown.rstudio.com/", + "documentation": "https://rmarkdown.rstudio.com/lesson-1.html", + "tool_dev_url": "https://github.com/rstudio/rmarkdown", + "licence": "GPL-3" + } + } + ], + "params": [ + { + "parametrize": { + "type": "boolean", + "description": "If true, parametrize the notebook" + } + }, + { + "implicit_params": { + "type": "boolean", + "description": "If true (default), include the implicit params\n * `input_dir`, which points to the directory containing the files added via `input_files`,\n * `artifact_dir`, which points to the directory where the notebook should place output files, and\n * `cpus`, which contains the value of ${task.cpus}\n" + } + }, + { + "meta_params": { + "type": "boolean", + "description": "If true, include a parameter `meta` which contains the information specified\nvia the `meta` input channel.\n" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "notebook": { + "type": "file", + "description": "Rmarkdown file", + "pattern": "*.{Rmd}" + } + }, + { + "parameters": { + "type": "map", + "description": "Groovy map with notebook parameters which will be passed to\nrmarkdown to generate parametrized reports.\n" + } + }, + { + "input_files": { + "type": "file", + "description": "One or multiple files serving as input data for the notebook.", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "report": { + "type": "file", + "description": "HTML report generated from Rmarkdown", + "pattern": "*.html" + } + }, + { + "session_info": { + "type": "file", + "description": "dump of R SessionInfo", + "pattern": "*.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@grst" + ] + }, + "pipelines": [ + { + "name": "differentialabundance", + "version": "1.2.0" + } + ] + }, + { + "name": "roary", + "path": "modules/nf-core/roary/meta.yml", + "type": "module", + "meta": { + "name": "roary", + "description": "Calculate pan-genome from annotated bacterial assemblies in GFF3 format", + "keywords": [ + "gff", + "pan-genome", + "alignment" + ], + "tools": [ + { + "roary": { + "description": "Rapid large-scale prokaryote pan genome analysis", + "homepage": "http://sanger-pathogens.github.io/Roary/", + "documentation": "http://sanger-pathogens.github.io/Roary/", + "tool_dev_url": "https://github.com/sanger-pathogens/Roary/", + "doi": "10.1093/bioinformatics/btv421", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gff": { + "type": "file", + "description": "A set of GFF3 formatted files", + "pattern": "*.{gff}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "results": { + "type": "directory", + "description": "Directory containing Roary result files", + "pattern": "*/*" + } + }, + { + "aln": { + "type": "file", + "description": "Core-genome alignment produced by Roary (Optional)", + "pattern": "*.{aln}" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "rsem_calculateexpression", + "path": "modules/nf-core/rsem/calculateexpression/meta.yml", + "type": "module", + "meta": { + "name": "rsem_calculateexpression", + "description": "Calculate expression with RSEM", + "keywords": [ + "rsem", + "expression", + "quantification" + ], + "tools": [ + { + "rseqc": { + "description": "RSEM: accurate transcript quantification from RNA-Seq data with or without a reference genome\n", + "homepage": "https://github.com/deweylab/RSEM", + "documentation": "https://github.com/deweylab/RSEM", + "doi": "10.1186/1471-2105-12-323", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Input reads for quantification", + "pattern": "*.fastq.gz" + } + }, + { + "index": { + "type": "file", + "description": "RSEM index", + "pattern": "rsem/*" + } + } + ], + "output": [ + { + "counts_gene": { + "type": "file", + "description": "Expression counts on gene level", + "pattern": "*.genes.results" + } + }, + { + "counts_transctips": { + "type": "file", + "description": "Expression counts on transcript level", + "pattern": "*.isoforms.results" + } + }, + { + "stat": { + "type": "file", + "description": "RSEM statistics", + "pattern": "*.stat" + } + }, + { + "logs": { + "type": "file", + "description": "RSEM logs", + "pattern": "*.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam_star": { + "type": "file", + "description": "BAM file generated by STAR (optional)", + "pattern": "*.STAR.genome.bam" + } + }, + { + "bam_genome": { + "type": "file", + "description": "Genome BAM file (optional)", + "pattern": "*.genome.bam" + } + }, + { + "bam_transcript": { + "type": "file", + "description": "Transcript BAM file (optional)", + "pattern": "*.transcript.bam" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "rsem_preparereference", + "path": "modules/nf-core/rsem/preparereference/meta.yml", + "type": "module", + "meta": { + "name": "rsem_preparereference", + "description": "Prepare a reference genome for RSEM", + "keywords": [ + "rsem", + "genome", + "index" + ], + "tools": [ + { + "rseqc": { + "description": "RSEM: accurate transcript quantification from RNA-Seq data with or without a reference genome\n", + "homepage": "https://github.com/deweylab/RSEM", + "documentation": "https://github.com/deweylab/RSEM", + "doi": "10.1186/1471-2105-12-323", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "The Fasta file of the reference genome", + "pattern": "*.{fasta,fa}" + } + }, + { + "gtf": { + "type": "file", + "description": "The GTF file of the reference genome", + "pattern": "*.gtf" + } + } + ], + "output": [ + { + "rsem": { + "type": "directory", + "description": "RSEM index directory", + "pattern": "rsem" + } + }, + { + "transcript_fasta": { + "type": "file", + "description": "Fasta file of transcripts", + "pattern": "rsem/*transcripts.fa" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + } + ] + }, + { + "name": "rseqc_bamstat", + "path": "modules/nf-core/rseqc/bamstat/meta.yml", + "type": "module", + "meta": { + "name": "rseqc_bamstat", + "description": "Generate statistics from a bam file", + "keywords": [ + "bam", + "qc", + "bamstat" + ], + "tools": [ + { + "rseqc": { + "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", + "homepage": "http://rseqc.sourceforge.net/", + "documentation": "http://rseqc.sourceforge.net/", + "doi": "10.1093/bioinformatics/bts356", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "the bam file to calculate statistics of", + "pattern": "*.{bam}" + } + } + ], + "output": [ + { + "txt": { + "type": "file", + "description": "bam statistics report", + "pattern": "*.bam_stat.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "rseqc_inferexperiment", + "path": "modules/nf-core/rseqc/inferexperiment/meta.yml", + "type": "module", + "meta": { + "name": "rseqc_inferexperiment", + "description": "Infer strandedness from sequencing reads", + "keywords": [ + "rnaseq", + "experiment" + ], + "tools": [ + { + "rseqc": { + "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", + "homepage": "http://rseqc.sourceforge.net/", + "documentation": "http://rseqc.sourceforge.net/", + "doi": "10.1093/bioinformatics/bts356", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "the bam file to calculate statistics of", + "pattern": "*.{bam}" + } + }, + { + "bed": { + "type": "file", + "description": "a bed file for the reference gene model", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "txt": { + "type": "file", + "description": "infer_experiment results report", + "pattern": "*.infer_experiment.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "rseqc_innerdistance", + "path": "modules/nf-core/rseqc/innerdistance/meta.yml", + "type": "module", + "meta": { + "name": "rseqc_innerdistance", + "description": "Calculate inner distance between read pairs.", + "keywords": [ + "fragment_size", + "inner_distance" + ], + "tools": [ + { + "rseqc": { + "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", + "homepage": "http://rseqc.sourceforge.net/", + "documentation": "http://rseqc.sourceforge.net/", + "doi": "10.1093/bioinformatics/bts356", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "the alignment in bam format", + "pattern": "*.{bam}" + } + }, + { + "bed": { + "type": "file", + "description": "a bed file for the reference gene model", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "distance": { + "type": "file", + "description": "the inner distances", + "pattern": "*.inner_distance.txt" + } + }, + { + "freq": { + "type": "file", + "description": "frequencies of different insert sizes", + "pattern": "*.inner_distance_freq.txt" + } + }, + { + "mean": { + "type": "file", + "description": "mean/median values of inner distances", + "pattern": "*.inner_distance_mean.txt" + } + }, + { + "pdf": { + "type": "file", + "description": "distribution plot of inner distances", + "pattern": "*.inner_distance_plot.pdf" + } + }, + { + "rscript": { + "type": "file", + "description": "script to reproduce the plot", + "pattern": "*.inner_distance_plot.R" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "rseqc_junctionannotation", + "path": "modules/nf-core/rseqc/junctionannotation/meta.yml", + "type": "module", + "meta": { + "name": "rseqc_junctionannotation", + "description": "compare detected splice junctions to reference gene model", + "keywords": [ + "junctions", + "splicing", + "rnaseq" + ], + "tools": [ + { + "rseqc": { + "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", + "homepage": "http://rseqc.sourceforge.net/", + "documentation": "http://rseqc.sourceforge.net/", + "doi": "10.1093/bioinformatics/bts356", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "the alignment in bam format", + "pattern": "*.{bam}" + } + }, + { + "bed": { + "type": "file", + "description": "a bed file for the reference gene model", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "bed": { + "type": "file", + "description": "bed file of annotated junctions", + "pattern": "*.junction.bed" + } + }, + { + "interact_bed": { + "type": "file", + "description": "Interact bed file", + "pattern": "*.Interact.bed" + } + }, + { + "xls": { + "type": "file", + "description": "xls file with junction information", + "pattern": "*.xls" + } + }, + { + "pdf": { + "type": "file", + "description": "junction plot", + "pattern": "*.junction.pdf" + } + }, + { + "events_pdf": { + "type": "file", + "description": "events plot", + "pattern": "*.events.pdf" + } + }, + { + "rscript": { + "type": "file", + "description": "Rscript to reproduce the plots", + "pattern": "*.r" + } + }, + { + "log": { + "type": "file", + "description": "Log file of execution", + "pattern": "*.junction_annotation.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "rseqc_junctionsaturation", + "path": "modules/nf-core/rseqc/junctionsaturation/meta.yml", + "type": "module", + "meta": { + "name": "rseqc_junctionsaturation", + "description": "compare detected splice junctions to reference gene model", + "keywords": [ + "junctions", + "splicing", + "rnaseq" + ], + "tools": [ + { + "rseqc": { + "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", + "homepage": "http://rseqc.sourceforge.net/", + "documentation": "http://rseqc.sourceforge.net/", + "doi": "10.1093/bioinformatics/bts356", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "the alignment in bam format", + "pattern": "*.{bam}" + } + }, + { + "bed": { + "type": "file", + "description": "a bed file for the reference gene model", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "pdf": { + "type": "file", + "description": "Junction saturation report", + "pattern": "*.pdf" + } + }, + { + "rscript": { + "type": "file", + "description": "Junction saturation R-script", + "pattern": "*.r" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "rseqc_readdistribution", + "path": "modules/nf-core/rseqc/readdistribution/meta.yml", + "type": "module", + "meta": { + "name": "rseqc_readdistribution", + "description": "Calculate how mapped reads are distributed over genomic features", + "keywords": [ + "read distribution", + "genomics", + "rnaseq" + ], + "tools": [ + { + "rseqc": { + "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", + "homepage": "http://rseqc.sourceforge.net/", + "documentation": "http://rseqc.sourceforge.net/", + "doi": "10.1093/bioinformatics/bts356", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "the alignment in bam format", + "pattern": "*.{bam}" + } + }, + { + "bed": { + "type": "file", + "description": "a bed file for the reference gene model", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "txt": { + "type": "file", + "description": "the read distribution report", + "pattern": "*.read_distribution.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "rseqc_readduplication", + "path": "modules/nf-core/rseqc/readduplication/meta.yml", + "type": "module", + "meta": { + "name": "rseqc_readduplication", + "description": "Calculate read duplication rate", + "keywords": [ + "rnaseq", + "duplication" + ], + "tools": [ + { + "rseqc": { + "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", + "homepage": "http://rseqc.sourceforge.net/", + "documentation": "http://rseqc.sourceforge.net/", + "doi": "10.1093/bioinformatics/bts356", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "the alignment in bam format", + "pattern": "*.{bam}" + } + }, + { + "bed": { + "type": "file", + "description": "a bed file for the reference gene model", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "seq_xls": { + "type": "file", + "description": "Read duplication rate determined from mapping position of read", + "pattern": "*seq.DupRate.xls" + } + }, + { + "pos_xls": { + "type": "file", + "description": "Read duplication rate determined from sequence of read", + "pattern": "*pos.DupRate.xls" + } + }, + { + "pdf": { + "type": "file", + "description": "plot of duplication rate", + "pattern": "*.pdf" + } + }, + { + "rscript": { + "type": "file", + "description": "script to reproduce the plot", + "pattern": "*.R" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "rseqc_tin", + "path": "modules/nf-core/rseqc/tin/meta.yml", + "type": "module", + "meta": { + "name": "rseqc_tin", + "description": "Calculte TIN (transcript integrity number) from RNA-seq reads", + "keywords": [ + "rnaseq", + "transcript", + "integrity" + ], + "tools": [ + { + "rseqc": { + "description": "RSeQC package provides a number of useful modules that can comprehensively evaluate\nhigh throughput sequence data especially RNA-seq data.\n", + "homepage": "http://rseqc.sourceforge.net/", + "documentation": "http://rseqc.sourceforge.net/", + "doi": "10.1093/bioinformatics/bts356", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Input BAM file", + "pattern": "*.{bam}" + } + }, + { + "bai": { + "type": "file", + "description": "Index for input BAM file", + "pattern": "*.{bai}" + } + }, + { + "bed": { + "type": "file", + "description": "BED file containing the reference gene model", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "txt": { + "type": "file", + "description": "TXT file containing tin.py results summary", + "pattern": "*.txt" + } + }, + { + "xls": { + "type": "file", + "description": "XLS file containing tin.py results", + "pattern": "*.xls" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "rtgtools_format", + "path": "modules/nf-core/rtgtools/format/meta.yml", + "type": "module", + "meta": { + "name": "rtgtools_format", + "description": "Converts the contents of sequence data files (FASTA/FASTQ/SAM/BAM) into the RTG Sequence Data File (SDF) format.", + "keywords": [ + "rtg", + "fasta", + "fastq", + "bam", + "sam" + ], + "tools": [ + { + "rtgtools": { + "description": "RealTimeGenomics Tools -- Utilities for accurate VCF comparison and manipulation", + "homepage": "https://www.realtimegenomics.com/products/rtg-tools", + "documentation": "https://github.com/RealTimeGenomics/rtg-tools", + "tool_dev_url": "https://github.com/RealTimeGenomics/rtg-tools", + "licence": "['BSD']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input1": { + "type": "file", + "description": "FASTA, FASTQ, BAM or SAM file. This should be the left input file when using paired end FASTQ/FASTA data", + "pattern": "*.{fasta,fa,fna,fastq,fastq.gz,fq,fq.gz,bam,sam}" + } + }, + { + "input2": { + "type": "file", + "description": "The right input file when using paired end FASTQ/FASTA data", + "pattern": "*.{fasta,fa,fna,fastq,fastq.gz,fq,fq.gz}" + } + }, + { + "sam_rg": { + "type": "file", + "description": "A file containing a single readgroup header as a SAM header. This can also be supplied as a string in `task.ext.args` as `--sam-rg `.", + "pattern": "*.{txt,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sdf": { + "type": "directory", + "description": "The sequence dictionary format folder created from the input file(s)", + "pattern": "*.sdf" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "rtgtools_pedfilter", + "path": "modules/nf-core/rtgtools/pedfilter/meta.yml", + "type": "module", + "meta": { + "name": "rtgtools_pedfilter", + "description": "Converts a PED file to VCF headers", + "keywords": [ + "rtgtools", + "pedfilter", + "vcf", + "ped" + ], + "tools": [ + { + "rtgtools": { + "description": "RealTimeGenomics Tools -- Utilities for accurate VCF comparison and manipulation", + "homepage": "https://www.realtimegenomics.com/products/rtg-tools", + "documentation": "https://github.com/RealTimeGenomics/rtg-tools", + "tool_dev_url": "https://github.com/RealTimeGenomics/rtg-tools", + "licence": "['BSD']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "The input file, can be either a PED or a VCF file", + "pattern": "*.{vcf,vcf.gz,ped}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "file", + "description": "The output file, can be either a filtered PED file\nor a VCF file containing the PED headers (needs --vcf as argument)\n", + "pattern": "*.{vcf.gz,ped}" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "rtgtools_rocplot", + "path": "modules/nf-core/rtgtools/rocplot/meta.yml", + "type": "module", + "meta": { + "name": "rtgtools_rocplot", + "description": "Plot ROC curves from vcfeval ROC data files, either to an image, or an interactive GUI. The interactive GUI isn't possible for nextflow.", + "keywords": [ + "rtgtools", + "rocplot", + "validation", + "vcf" + ], + "tools": [ + { + "rtgtools": { + "description": "RealTimeGenomics Tools -- Utilities for accurate VCF comparison and manipulation", + "homepage": "https://www.realtimegenomics.com/products/rtg-tools", + "documentation": "https://github.com/RealTimeGenomics/rtg-tools", + "tool_dev_url": "https://github.com/RealTimeGenomics/rtg-tools", + "licence": "['BSD']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "Input TSV ROC files created with RTGTOOLS_VCFEVAL", + "pattern": "*.tsv.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "png": { + "type": "file", + "description": "The resulting rocplot in PNG format", + "pattern": "*.png" + } + }, + { + "svg": { + "type": "file", + "description": "The resulting rocplot in SVG format", + "pattern": "*.svg" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "rtgtools_vcfeval", + "path": "modules/nf-core/rtgtools/vcfeval/meta.yml", + "type": "module", + "meta": { + "name": "rtgtools_vcfeval", + "description": "The VCFeval tool of RTG tools. It is used to evaluate called variants for agreement with a baseline variant set", + "keywords": [ + "benchmarking", + "vcf", + "rtg-tools" + ], + "tools": [ + { + "rtgtools": { + "description": "RealTimeGenomics Tools -- Utilities for accurate VCF comparison and manipulation", + "homepage": "https://www.realtimegenomics.com/products/rtg-tools", + "documentation": "https://github.com/RealTimeGenomics/rtg-tools", + "tool_dev_url": "https://github.com/RealTimeGenomics/rtg-tools", + "licence": "['BSD']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "query_vcf": { + "type": "file", + "description": "A VCF with called variants to benchmark against the standard", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "query_vcf_index": { + "type": "file", + "description": "The index of the called VCF (optional)", + "pattern": "*.tbi" + } + }, + { + "truth_vcf": { + "type": "file", + "description": "A standard VCF to compare against", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "truth_vcf_index": { + "type": "file", + "description": "The index of the standard VCF (optional)", + "pattern": "*.tbi" + } + }, + { + "truth_bed": { + "type": "file", + "description": "A BED file containining the strict regions where VCFeval should only evaluate the fully overlapping variants (optional)", + "pattern": "*.bed" + } + }, + { + "evaluation_bed": { + "type": "file", + "description": "A BED file containing the regions where VCFeval will evaluate every fully and partially overlapping variant (optional)", + "pattern": "*.bed" + } + }, + { + "sdf": { + "type": "file", + "description": "The SDF (RTG Sequence Data File) folder of the reference genome" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tp_vcf": { + "type": "file", + "description": "A VCF file for the true positive variants", + "pattern": "*.tp.vcf.gz" + } + }, + { + "tp_tbi": { + "type": "file", + "description": "The index of the VCF file for the true positive variants", + "pattern": "*.tp.vcf.gz.tbi" + } + }, + { + "fn_vcf": { + "type": "file", + "description": "A VCF file for the false negative variants", + "pattern": "*.fn.vcf.gz" + } + }, + { + "fn_tbi": { + "type": "file", + "description": "The index of the VCF file for the false negative variants", + "pattern": "*.fn.vcf.gz.tbi" + } + }, + { + "fp_vcf": { + "type": "file", + "description": "A VCF file for the false positive variants", + "pattern": "*.fp.vcf.gz" + } + }, + { + "fp_tbi": { + "type": "file", + "description": "The index of the VCF file for the false positive variants", + "pattern": "*.fp.vcf.gz.tbi" + } + }, + { + "baseline_vcf": { + "type": "file", + "description": "A VCF file for the true positive variants from the baseline", + "pattern": "*.tp-baseline.vcf.gz" + } + }, + { + "baseline_tbi": { + "type": "file", + "description": "The index of the VCF file for the true positive variants from the baseline", + "pattern": "*.tp-baseline.vcf.gz.tbi" + } + }, + { + "snp_roc": { + "type": "file", + "description": "TSV files containing ROC data for the SNPs", + "pattern": "*.snp_roc.tsv.gz" + } + }, + { + "non_snp_roc": { + "type": "file", + "description": "TSV files containing ROC data for all variants except SNPs", + "pattern": "*.non_snp_roc.tsv.gz" + } + }, + { + "weighted_roc": { + "type": "file", + "description": "TSV files containing weighted ROC data for all variants", + "pattern": "*.weighted_snp_roc.tsv.gz" + } + }, + { + "summary": { + "type": "file", + "description": "A TXT file containing the summary of the evaluation", + "pattern": "*.summary.txt" + } + }, + { + "phasing": { + "type": "file", + "description": "A TXT file containing the data on the phasing", + "pattern": "*.phasing.txt" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "salmon_index", + "path": "modules/nf-core/salmon/index/meta.yml", + "type": "module", + "meta": { + "name": "salmon_index", + "description": "Create index for salmon", + "keywords": [ + "index", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "salmon": { + "description": "Salmon is a tool for wicked-fast transcript quantification from RNA-seq data\n", + "homepage": "https://salmon.readthedocs.io/en/latest/salmon.html", + "manual": "https://salmon.readthedocs.io/en/latest/salmon.html", + "doi": "10.1038/nmeth.4197", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "genome_fasta": { + "type": "file", + "description": "Fasta file of the reference genome" + } + }, + { + "transcriptome_fasta": { + "type": "file", + "description": "Fasta file of the reference transcriptome" + } + } + ], + "output": [ + { + "index": { + "type": "directory", + "description": "Folder containing the star index files", + "pattern": "salmon" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kevinmenden", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + } + ] + }, + { + "name": "salmon_quant", + "path": "modules/nf-core/salmon/quant/meta.yml", + "type": "module", + "meta": { + "name": "salmon_quant", + "description": "gene/transcript quantification with Salmon", + "keywords": [ + "index", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "salmon": { + "description": "Salmon is a tool for wicked-fast transcript quantification from RNA-seq data\n", + "homepage": "https://salmon.readthedocs.io/en/latest/salmon.html", + "manual": "https://salmon.readthedocs.io/en/latest/salmon.html", + "doi": "10.1038/nmeth.4197", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files for single-end or paired-end data.\nMultiple single-end fastqs or pairs of paired-end fastqs are\nhandled.\n" + } + }, + { + "index": { + "type": "directory", + "description": "Folder containing the star index files" + } + }, + { + "gtf": { + "type": "file", + "description": "GTF of the reference transcriptome" + } + }, + { + "transcriptome_fasta": { + "type": "file", + "description": "Fasta file of the reference transcriptome" + } + }, + { + "alignment_mode": { + "type": "boolean", + "description": "whether to run salmon in alignment mode" + } + }, + { + "lib_type": { + "type": "string", + "description": "Override library type inferred based on strandedness defined in meta object\n" + } + } + ], + "output": [ + { + "results": { + "type": "directory", + "description": "Folder containing the quantification results for a specific sample", + "pattern": "${prefix}" + } + }, + { + "json_info": { + "type": "file", + "description": "File containing meta information from Salmon quant", + "pattern": "*info.json" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kevinmenden", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + } + ] + }, + { + "name": "salsa2", + "path": "modules/nf-core/salsa2/meta.yml", + "type": "module", + "meta": { + "name": "salsa2", + "description": "SALSA, A tool to scaffold long read assemblies with HiC", + "keywords": [ + "assembly", + "hi-c", + "scaffolding", + "long reads", + "salsa", + "salsa2" + ], + "tools": [ + { + "salsa2": { + "description": "Salsa is a tool to scaffold long read assemblies with Hi-C.", + "homepage": "https://github.com/marbl/SALSA", + "documentation": "https://github.com/marbl/SALSA", + "tool_dev_url": "https://github.com/marbl/SALSA", + "doi": "10.1186/s12864-017-3879-z", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Fasta file of assembly. Headers must not contain ':'", + "pattern": "*.{fa, fasta}" + } + }, + { + "index": { + "type": "file", + "description": "Fasta index file of assembly containing the length of contigs.", + "pattern": "*.{fa.fai, fasta.fai}" + } + }, + { + "bed": { + "type": "file", + "description": "BED file of alignments sorted by read names, e.g., from HiC-Pro", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Sequences for the scaffolds generated by the algorithm", + "pattern": "*_scaffolds_FINAL.fasta" + } + }, + { + "agp": { + "type": "file", + "description": "AGP style output for the scaffolds describing the assignment, orientation and ordering of contigs along the scaffolds", + "pattern": "*_scaffolds_FINAL.agp" + } + }, + { + "agp_original_coordinates": { + "type": "file", + "description": "Secondary output AGP file with names and coordinates matching the original input assembly (optional)", + "pattern": "*scaffolds_FINAL.original-coordinates.agp" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@scorreard" + ] + } + }, + { + "name": "sam2lca_analyze", + "path": "modules/nf-core/sam2lca/analyze/meta.yml", + "type": "module", + "meta": { + "name": "sam2lca_analyze", + "description": "Calling lowest common ancestors from multi-mapped reads in SAM/BAM/CRAM files", + "keywords": [ + "LCA", + "alignment", + "bam", + "metagenomics", + "Ancestor", + "multimapper" + ], + "tools": [ + { + "sam2lca": { + "description": "Lowest Common Ancestor on SAM/BAM/CRAM alignment files", + "homepage": "https://github.com/maxibor/sam2lca", + "documentation": "https://sam2lca.readthedocs.io", + "doi": "10.21105/joss.04360", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM/CRAM/SAM index", + "pattern": "*.{bai,.crai}" + } + }, + { + "database": { + "type": "file", + "description": "Directory containing the sam2lca database", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "csv": { + "type": "file", + "description": "CSV file containing the sam2lca results", + "pattern": "*.csv" + } + }, + { + "json": { + "type": "file", + "description": "JSON file containing the sam2lca results", + "pattern": "*.json" + } + }, + { + "bam": { + "type": "file", + "description": "Optional sorted BAM/CRAM/SAM file annotated with LCA taxonomic informations", + "pattern": "*.bam" + } + } + ], + "authors": [ + "@maxibor" + ] + } + }, + { + "name": "sambamba_flagstat", + "path": "modules/nf-core/sambamba/flagstat/meta.yml", + "type": "module", + "meta": { + "name": "sambamba_flagstat", + "description": "Outputs some statistics drawn from read flags.", + "keywords": [ + "stats", + "flagstat", + "sambamba" + ], + "tools": [ + { + "sambamba": { + "description": "Tools for working with SAM/BAM data", + "homepage": "https://lomereiter.github.io/sambamba/docs/sambamba-view.html", + "documentation": "https://lomereiter.github.io/sambamba/docs/sambamba-view.html", + "tool_dev_url": "https://github.com/biod/sambamba", + "licence": "['GPL v2']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.{bam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "stats": { + "type": "file", + "description": "Stats file", + "pattern": "*.{stats}" + } + } + ], + "authors": [ + "@kubranarci" + ] + } + }, + { + "name": "sambamba_markdup", + "path": "modules/nf-core/sambamba/markdup/meta.yml", + "type": "module", + "meta": { + "name": "sambamba_markdup", + "description": "find and mark duplicate reads in BAM file", + "keywords": [ + "markduplicates", + "duplicates", + "bam" + ], + "tools": [ + { + "sambamba": { + "description": "process your BAM data faster!", + "homepage": "https://lomereiter.github.io/sambamba/docs/sambamba-view.html", + "documentation": "https://lomereiter.github.io/sambamba/docs/sambamba-view.html", + "tool_dev_url": "https://github.com/biod/sambamba", + "licence": "['GPL v2']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "authors": [ + "@BioInf2305" + ] + } + }, + { + "name": "samblaster", + "path": "modules/nf-core/samblaster/meta.yml", + "type": "module", + "meta": { + "name": "samblaster", + "description": "This module combines samtools and samblaster in order to use\nsamblaster capability to filter or tag SAM files, with the advantage\nof maintaining both input and output in BAM format.\nSamblaster input must contain a sequence header: for this reason it has been piped\nwith the \"samtools view -h\" command.\nAdditional desired arguments for samtools can be passed using:\noptions.args2 for the input bam file\noptions.args3 for the output bam file\n", + "keywords": [ + "sort", + "duplicate marking", + "bam" + ], + "tools": [ + { + "samblaster": { + "description": "samblaster is a fast and flexible program for marking duplicates in read-id grouped paired-end SAM files.\nIt can also optionally output discordant read pairs and/or split read mappings to separate SAM files,\nand/or unmapped/clipped reads to a separate FASTQ file.\nBy default, samblaster reads SAM input from stdin and writes SAM to stdout.\n", + "documentation": "https://github.com/GregoryFaust/samblaster", + "tool_dev_url": "https://github.com/GregoryFaust/samblaster", + "doi": "10.1093/bioinformatics/btu314", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Tagged or filtered BAM file", + "pattern": "*.bam" + } + } + ], + "authors": [ + "@lescai" + ] + }, + "subworkflows": [ + "fastq_create_umi_consensus_fgbio" + ], + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "samtools_ampliconclip", + "path": "modules/nf-core/samtools/ampliconclip/meta.yml", + "type": "module", + "meta": { + "name": "samtools_ampliconclip", + "description": "Clips read alignments where they match BED file defined regions", + "keywords": [ + "amplicon", + "clipping", + "ampliconclip", + "samtools" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "bed": { + "type": "file", + "description": "BED file of regions to be removed (e.g. amplicon primers)", + "pattern": "*.{bed}" + } + }, + { + "save_cliprejects": { + "type": "value", + "description": "Save filtered reads to a file" + } + }, + { + "save_clipstats": { + "type": "value", + "description": "Save clipping stats to a file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Clipped reads BAM file", + "pattern": "*.{bam}" + } + }, + { + "stats": { + "type": "file", + "description": "Clipping statistics text file", + "pattern": "*.{clipstats.txt}" + } + }, + { + "rejects_bam": { + "type": "file", + "description": "Filtered reads BAM file", + "pattern": "*.{cliprejects.bam}" + } + } + ], + "authors": [ + "@bjohnnyd" + ] + } + }, + { + "name": "samtools_bam2fq", + "path": "modules/nf-core/samtools/bam2fq/meta.yml", + "type": "module", + "meta": { + "name": "samtools_bam2fq", + "description": "The module uses bam2fq method from samtools to\nconvert a SAM, BAM or CRAM file to FASTQ format\n", + "keywords": [ + "bam2fq", + "samtools", + "fastq" + ], + "tools": [ + { + "samtools": { + "description": "Tools for dealing with SAM, BAM and CRAM files", + "documentation": "http://www.htslib.org/doc/1.1/samtools.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "inputbam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "split": { + "type": "boolean", + "description": "TRUE/FALSE value to indicate if reads should be separated into\n/1, /2 and if present other, or singleton.\nNote: choosing TRUE will generate 4 different files.\nChoosing FALSE will produce a single file, which will be interleaved in case\nthe input contains paired reads.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "reads": { + "type": "file", + "description": "FASTQ files, which will be either a group of 4 files (read_1, read_2, other and singleton)\nor a single interleaved .fq.gz file if the user chooses not to split the reads.\n", + "pattern": "*.fq.gz" + } + } + ], + "authors": [ + "@lescai" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "samtools_calmd", + "path": "modules/nf-core/samtools/calmd/meta.yml", + "type": "module", + "meta": { + "name": "samtools_calmd", + "description": "calculates MD and NM tags", + "keywords": [ + "calmd", + "bam", + "cram" + ], + "tools": [ + { + "samtoolscalmd": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "tool_dev_url": "https://github.com/samtools/samtools", + "doi": "10.1093/bioinformatics/btp352", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA ref file", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "authors": [ + "@JackCurragh" + ] + } + }, + { + "name": "samtools_cat", + "path": "modules/nf-core/samtools/cat/meta.yml", + "type": "module", + "meta": { + "name": "samtools_cat", + "description": "Concatenate BAM or CRAM file", + "keywords": [ + "merge", + "bam", + "sam", + "cram" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_files": { + "type": "file", + "description": "BAM/CRAM files", + "pattern": "*.{bam,cram}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Concatenated BAM file", + "pattern": "*.{bam}" + } + }, + { + "cram": { + "type": "file", + "description": "Concatenated CRAM file", + "pattern": "*.{cram}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "samtools_collate", + "path": "modules/nf-core/samtools/collate/meta.yml", + "type": "module", + "meta": { + "name": "samtools_collate", + "description": "shuffles and groups reads together by their names", + "keywords": [ + "collate", + "bam" + ], + "tools": [ + { + "samtools": { + "description": "Tools for dealing with SAM, BAM and CRAM files", + "homepage": "http://www.htslib.org", + "documentation": "https://www.htslib.org/doc/samtools-collate.html", + "tool_dev_url": "https://github.com/samtools/samtools", + "doi": "10.1093/bioinformatics/btp352", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "file", + "description": "Collated BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "authors": [ + "@priyanka-surana" + ] + } + }, + { + "name": "samtools_collatefastq", + "path": "modules/nf-core/samtools/collatefastq/meta.yml", + "type": "module", + "meta": { + "name": "samtools_collatefastq", + "description": "The module uses collate and then fastq methods from samtools to\nconvert a SAM, BAM or CRAM file to FASTQ format\n", + "keywords": [ + "bam2fq", + "samtools", + "fastq" + ], + "tools": [ + { + "samtools": { + "description": "Tools for dealing with SAM, BAM and CRAM files", + "documentation": "http://www.htslib.org/doc/1.1/samtools.html", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome fasta file", + "pattern": "*.{fasta,fa}" + } + }, + { + "interleave": { + "type": "boolean", + "description": "If true, the output is a single interleaved paired-end FASTQ\nIf false, the output split paired-end FASTQ\n", + "default": false + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "R1 and R2 FASTQ files\n", + "pattern": "*_{1,2}.fq.gz" + } + }, + { + "fastq_interleaved": { + "type": "file", + "description": "Interleaved paired end FASTQ files\n", + "pattern": "*_interleaved.fq.gz" + } + }, + { + "fastq_other": { + "type": "file", + "description": "FASTQ files with reads where the READ1 and READ2 FLAG bits set are either both set or both unset.\n", + "pattern": "*_other.fq.gz" + } + }, + { + "fastq_singleton": { + "type": "file", + "description": "FASTQ files with singleton reads.\n", + "pattern": "*_singleton.fq.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@lescai", + "@maxulysse", + "@matthdsm" + ] + }, + "pipelines": [ + { + "name": "bamtofastq", + "version": "2.0.0" + }, + { + "name": "hlatyping", + "version": "2.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "samtools_convert", + "path": "modules/nf-core/samtools/convert/meta.yml", + "type": "module", + "meta": { + "name": "samtools_convert", + "description": "convert and then index CRAM -> BAM or BAM -> CRAM file", + "keywords": [ + "view", + "index", + "bam", + "cram" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "index": { + "type": "file", + "description": "BAM/CRAM index file", + "pattern": "*.{bai,crai}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference file to create the CRAM file", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "alignment_index": { + "type": "file", + "description": "filtered/converted BAM/CRAM file + index", + "pattern": "*{.bam/cram,.bai/crai}" + } + }, + { + "version": { + "type": "file", + "description": "File containing software version", + "pattern": "*.{version.txt}" + } + } + ], + "authors": [ + "@FriederikeHanssen", + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "samtools_coverage", + "path": "modules/nf-core/samtools/coverage/meta.yml", + "type": "module", + "meta": { + "name": "samtools_coverage", + "description": "produces a histogram or table of coverage per chromosome", + "keywords": [ + "depth", + "samtools", + "bam" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAM/CRAM index file", + "pattern": "*.{bai,crai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "coverage": { + "type": "file", + "description": "Tabulated text containing the coverage at each position or region or an ASCII-art histogram (with --histogram).", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@LouisLeNezet" + ] + } + }, + { + "name": "samtools_depth", + "path": "modules/nf-core/samtools/depth/meta.yml", + "type": "module", + "meta": { + "name": "samtools_depth", + "description": "Computes the depth at each position or region.", + "keywords": [ + "depth", + "samtools", + "statistics", + "coverage" + ], + "tools": [ + { + "samtools": { + "description": "Tools for dealing with SAM, BAM and CRAM files; samtools depth – computes the read depth at each position or region", + "homepage": "http://www.htslib.org", + "documentation": "http://www.htslib.org/doc/samtools-depth.html", + "tool_dev_url": "https://github.com/samtools/samtools", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "sorted BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "The output of samtools depth has three columns - the name of the contig or chromosome, the position and the number of reads aligned at that position", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@louperelo" + ] + } + }, + { + "name": "samtools_dict", + "path": "modules/nf-core/samtools/dict/meta.yml", + "type": "module", + "meta": { + "name": "samtools_dict", + "description": "Create a sequence dictionary file from a FASTA file", + "keywords": [ + "dict", + "fasta" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "dict": { + "type": "file", + "description": "FASTA dictionary file", + "pattern": "*.{dict}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@muffato" + ] + } + }, + { + "name": "samtools_faidx", + "path": "modules/nf-core/samtools/faidx/meta.yml", + "type": "module", + "meta": { + "name": "samtools_faidx", + "description": "Index FASTA file", + "keywords": [ + "index", + "fasta", + "faidx" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file", + "pattern": "*.{fa,fasta}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "FASTA index file", + "pattern": "*.{fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "FASTA index file", + "pattern": "*.{fai}" + } + }, + { + "gzi": { + "type": "file", + "description": "Optional gzip index file for compressed inputs", + "pattern": "*.gzi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@ewels", + "@phue" + ] + }, + "pipelines": [ + { + "name": "bamtofastq", + "version": "2.0.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "crisprseq", + "version": "2.0.0" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "mag", + "version": "2.3.2" + }, + { + "name": "methylseq", + "version": "2.4.0" + }, + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "pangenome", + "version": "dev" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "samtools_fasta", + "path": "modules/nf-core/samtools/fasta/meta.yml", + "type": "module", + "meta": { + "name": "samtools_fasta", + "description": "Converts a SAM/BAM/CRAM file to FASTA", + "keywords": [ + "bam", + "sam", + "cram", + "fasta" + ], + "tools": [ + { + "samtools": { + "description": "Tools for dealing with SAM, BAM and CRAM files", + "homepage": "http://www.htslib.org", + "documentation": "https://www.htslib.org/doc/samtools-fasta.html", + "tool_dev_url": "https://github.com/samtools/samtools", + "doi": "10.1093/bioinformatics/btp352", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "interleave": { + "type": "boolean", + "description": "Set true for interleaved fasta files" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fasta": { + "type": "file", + "description": "Compressed FASTA file(s) with reads with either the READ1 or READ2 flag set in separate files.", + "pattern": "*_{1,2}.fasta.gz" + } + }, + { + "interleaved": { + "type": "file", + "description": "Compressed FASTA file with reads with either the READ1 or READ2 flag set in a combined file. Needs collated input file.", + "pattern": "*_interleaved.fasta.gz" + } + }, + { + "singleton": { + "type": "file", + "description": "Compressed FASTA file with singleton reads", + "pattern": "*_singleton.fasta.gz" + } + }, + { + "other": { + "type": "file", + "description": "Compressed FASTA file with reads with either both READ1 and READ2 flags set or unset", + "pattern": "*_other.fasta.gz" + } + } + ], + "authors": [ + "@priyanka-surana" + ] + } + }, + { + "name": "samtools_fastq", + "path": "modules/nf-core/samtools/fastq/meta.yml", + "type": "module", + "meta": { + "name": "samtools_fastq", + "description": "Converts a SAM/BAM/CRAM file to FASTQ", + "keywords": [ + "bam", + "sam", + "cram", + "fastq" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "interleave": { + "type": "boolean", + "description": "Set true for interleaved fastq file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fastq": { + "type": "file", + "description": "Compressed FASTQ file(s) with reads with either the READ1 or READ2 flag set in separate files.", + "pattern": "*_{1,2}.fastq.gz" + } + }, + { + "interleaved": { + "type": "file", + "description": "Compressed FASTQ file with reads with either the READ1 or READ2 flag set in a combined file. Needs collated input file.", + "pattern": "*_interleaved.fastq.gz" + } + }, + { + "singleton": { + "type": "file", + "description": "Compressed FASTQ file with singleton reads", + "pattern": "*_singleton.fastq.gz" + } + }, + { + "other": { + "type": "file", + "description": "Compressed FASTQ file with reads with either both READ1 and READ2 flags set or unset", + "pattern": "*_other.fastq.gz" + } + } + ], + "authors": [ + "@priyanka-surana", + "@suzannejin" + ] + }, + "pipelines": [ + { + "name": "genomeassembler", + "version": "dev" + }, + { + "name": "hgtseq", + "version": "1.1.0" + } + ] + }, + { + "name": "samtools_fixmate", + "path": "modules/nf-core/samtools/fixmate/meta.yml", + "type": "module", + "meta": { + "name": "samtools_fixmate", + "description": "Samtools fixmate is a tool that can fill in information (insert size, cigar, mapq) about paired end reads onto the corresponding other read. Also has options to remove secondary/unmapped alignments and recalculate whether reads are proper pairs.", + "keywords": [ + "fixmate", + "samtools", + "insert size", + "repair", + "bam", + "paired", + "read pairs" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "tool_dev_url": "https://github.com/samtools/samtools", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file, must be sorted by name, not coordinate", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "A BAM/CRAM/SAM file with mate information added and/or proper pairs recalled", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "authors": [ + "@sppearce" + ] + } + }, + { + "name": "samtools_flagstat", + "path": "modules/nf-core/samtools/flagstat/meta.yml", + "type": "module", + "meta": { + "name": "samtools_flagstat", + "description": "Counts the number of alignments in a BAM/CRAM/SAM file for each FLAG type", + "keywords": [ + "stats", + "mapping", + "counts", + "bam", + "sam", + "cram" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "bai": { + "type": "file", + "description": "Index for BAM/CRAM/SAM file", + "pattern": "*.{bai,crai,sai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "flagstat": { + "type": "file", + "description": "File containing samtools flagstat output", + "pattern": "*.{flagstat}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "bamtofastq", + "version": "2.0.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "methylseq", + "version": "2.4.0" + }, + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "smrnaseq", + "version": "2.2.1" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "samtools_getrg", + "path": "modules/nf-core/samtools/getrg/meta.yml", + "type": "module", + "meta": { + "name": "samtools_getrg", + "description": "filter/convert SAM/BAM/CRAM file", + "keywords": [ + "view", + "bam", + "sam", + "cram", + "readgroup" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "readgroup": { + "type": "stdout", + "description": "File containing readgroup string(s)" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "samtools_idxstats", + "path": "modules/nf-core/samtools/idxstats/meta.yml", + "type": "module", + "meta": { + "name": "samtools_idxstats", + "description": "Reports alignment summary statistics for a BAM/CRAM/SAM file", + "keywords": [ + "stats", + "mapping", + "counts", + "chromosome", + "bam", + "sam", + "cram" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "bai": { + "type": "file", + "description": "Index for BAM/CRAM/SAM file", + "pattern": "*.{bai,crai,sai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "idxstats": { + "type": "file", + "description": "File containing samtools idxstats output", + "pattern": "*.{idxstats}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "bamtofastq", + "version": "2.0.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "smrnaseq", + "version": "2.2.1" + }, + { + "name": "ssds", + "version": "dev" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "samtools_import", + "path": "modules/nf-core/samtools/import/meta.yml", + "type": "module", + "meta": { + "name": "samtools_import", + "description": "converts FASTQ files to unmapped SAM/BAM/CRAM", + "keywords": [ + "import", + "fastq", + "bam", + "sam", + "cram" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "reads": { + "type": "file", + "description": "fastq data to be converted to SAM/BAM/CRAM", + "pattern": "*.{fastq,fq,fastq.gz,fq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test', single_end:false ]`\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sam": { + "type": "file", + "description": "SAM file", + "pattern": "*.sam" + } + }, + { + "bam": { + "type": "file", + "description": "Unaligned BAM file", + "pattern": "*.bam" + } + }, + { + "cram": { + "type": "file", + "description": "Unaligned CRAM file", + "pattern": "*.cram" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "samtools_index", + "path": "modules/nf-core/samtools/index/meta.yml", + "type": "module", + "meta": { + "name": "samtools_index", + "description": "Index SAM/BAM/CRAM file", + "keywords": [ + "index", + "bam", + "sam", + "cram" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bai": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "crai": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "csi": { + "type": "file", + "description": "CSI index file", + "pattern": "*.{csi}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@ewels", + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "bacass", + "version": "2.0.0" + }, + { + "name": "bamtofastq", + "version": "2.0.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "crisprseq", + "version": "2.0.0" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "methylseq", + "version": "2.4.0" + }, + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "smrnaseq", + "version": "2.2.1" + }, + { + "name": "ssds", + "version": "dev" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + }, + { + "name": "variantcatalogue", + "version": "dev" + }, + { + "name": "viralintegration", + "version": "0.1.1" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "samtools_markdup", + "path": "modules/nf-core/samtools/markdup/meta.yml", + "type": "module", + "meta": { + "name": "samtools_markdup", + "description": "mark duplicate alignments in a coordinate sorted file", + "keywords": [ + "bam", + "duplicates", + "markduplicates", + "samtools" + ], + "tools": [ + { + "samtools": { + "description": "Tools for dealing with SAM, BAM and CRAM files", + "homepage": "http://www.htslib.org", + "documentation": "https://www.htslib.org/doc/samtools-markdup.html", + "tool_dev_url": "https://github.com/samtools/samtools", + "doi": "10.1093/bioinformatics/btp352", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "output": { + "type": "file", + "description": "Sorted BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "authors": [ + "@priyanka-surana" + ] + } + }, + { + "name": "samtools_merge", + "path": "modules/nf-core/samtools/merge/meta.yml", + "type": "module", + "meta": { + "name": "samtools_merge", + "description": "Merge BAM or CRAM file", + "keywords": [ + "merge", + "bam", + "sam", + "cram" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_files": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference file the CRAM was created with (optional)", + "pattern": "*.{fasta,fa}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Index of the reference file the CRAM was created with (optional)", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.{bam}" + } + }, + { + "cram": { + "type": "file", + "description": "CRAM file", + "pattern": "*.{cram}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "csi": { + "type": "file", + "description": "BAM index file (optional)", + "pattern": "*.csi" + } + } + ], + "authors": [ + "@drpatelh", + "@yuukiiwa ", + "@maxulysse", + "@FriederikeHanssen", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "bamtofastq", + "version": "2.0.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "samtools_mpileup", + "path": "modules/nf-core/samtools/mpileup/meta.yml", + "type": "module", + "meta": { + "name": "samtools_mpileup", + "description": "BAM", + "keywords": [ + "mpileup", + "bam", + "sam", + "cram" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA reference file", + "pattern": "*.{fasta,fa}" + } + }, + { + "intervals": { + "type": "file", + "description": "Interval FILE", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "mpileup": { + "type": "file", + "description": "mpileup file", + "pattern": "*.{mpileup}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@joseespinosa" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "samtools_sort", + "path": "modules/nf-core/samtools/sort/meta.yml", + "type": "module", + "meta": { + "name": "samtools_sort", + "description": "Sort SAM/BAM/CRAM file", + "keywords": [ + "sort", + "bam", + "sam", + "cram" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "csi": { + "type": "file", + "description": "BAM index file (optional)", + "pattern": "*.csi" + } + } + ], + "authors": [ + "@drpatelh", + "@ewels" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "bacass", + "version": "2.0.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "methylseq", + "version": "2.4.0" + }, + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "smrnaseq", + "version": "2.2.1" + }, + { + "name": "viralintegration", + "version": "0.1.1" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "samtools_stats", + "path": "modules/nf-core/samtools/stats/meta.yml", + "type": "module", + "meta": { + "name": "samtools_stats", + "description": "Produces comprehensive statistics from SAM/BAM/CRAM file", + "keywords": [ + "statistics", + "counts", + "bam", + "sam", + "cram" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file from alignment", + "pattern": "*.{bam,cram}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAI/CRAI file from alignment", + "pattern": "*.{bai,crai}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference file the CRAM was created with (optional)", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "stats": { + "type": "file", + "description": "File containing samtools stats output", + "pattern": "*.{stats}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@FriederikeHanssen", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "bamtofastq", + "version": "2.0.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "methylseq", + "version": "2.4.0" + }, + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "smrnaseq", + "version": "2.2.1" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "samtools_view", + "path": "modules/nf-core/samtools/view/meta.yml", + "type": "module", + "meta": { + "name": "samtools_view", + "description": "filter/convert SAM/BAM/CRAM file", + "keywords": [ + "view", + "bam", + "sam", + "cram" + ], + "tools": [ + { + "samtools": { + "description": "SAMtools is a set of utilities for interacting with and post-processing\nshort DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.\nThese files are generated as output by short read aligners like BWA.\n", + "homepage": "http://www.htslib.org/", + "documentation": "http://www.htslib.org/doc/samtools.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "index": { + "type": "file", + "description": "BAM.BAI/BAM.CSI/CRAM.CRAI file (optional)", + "pattern": "*.{.bai,.csi,.crai}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference file the CRAM was created with (optional)", + "pattern": "*.{fasta,fa}" + } + }, + { + "qname": { + "type": "file", + "description": "Optional file with read names to output only select alignments", + "pattern": "*.{txt,list}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "optional filtered/converted BAM file", + "pattern": "*.{bam}" + } + }, + { + "cram": { + "type": "file", + "description": "optional filtered/converted CRAM file", + "pattern": "*.{cram}" + } + }, + { + "sam": { + "type": "file", + "description": "optional filtered/converted SAM file", + "pattern": "*.{sam}" + } + }, + { + "bai": { + "type": "file", + "description": "optional BAM file index", + "pattern": "*.{bai}" + } + }, + { + "csi": { + "type": "file", + "description": "optional tabix BAM file index", + "pattern": "*.{csi}" + } + }, + { + "crai": { + "type": "file", + "description": "optional CRAM file index", + "pattern": "*.{crai}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@joseespinosa", + "@FriederikeHanssen", + "@priyanka-surana" + ] + }, + "pipelines": [ + { + "name": "bamtofastq", + "version": "2.0.0" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "hlatyping", + "version": "2.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "ssds", + "version": "dev" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "scimap_mcmicro", + "path": "modules/nf-core/scimap/mcmicro/meta.yml", + "type": "module", + "meta": { + "name": "scimap_mcmicro", + "description": "SCIMAP is a suite of tools that enables spatial single-cell analyses", + "keywords": [ + "sort", + "spatial", + "single cell" + ], + "tools": [ + { + "scimap": { + "description": "Scimap is a scalable toolkit for analyzing spatial molecular data.", + "homepage": "https://scimap.xyz/", + "documentation": "https://scimap.xyz/All%20Functions/A.%20Pre%20Processing/sm.pp.mcmicro_to_scimap/", + "tool_dev_url": "https://github.com/labsyspharm/scimap", + "licence": "MIT License" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "cellByFeature": { + "type": "file", + "description": "CSV file with cell by feature table", + "pattern": "*.{csv}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "annotedDataCsv": { + "type": "file", + "description": "Sorted CSV file", + "pattern": "*.{csv}" + } + }, + { + "annotedDataH5ad": { + "type": "file", + "description": "Sorted H5AD file", + "pattern": "*.{h5ad}" + } + } + ], + "authors": [ + "@luiskuhn" + ] + } + }, + { + "name": "scoary", + "path": "modules/nf-core/scoary/meta.yml", + "type": "module", + "meta": { + "name": "scoary", + "description": "Use pangenome outputs for GWAS", + "keywords": [ + "gwas", + "pangenome", + "prokaryote" + ], + "tools": [ + { + "scoary": { + "description": "Microbial pan-GWAS using the output from Roary", + "homepage": "https://github.com/AdmiralenOla/Scoary", + "documentation": "https://github.com/AdmiralenOla/Scoary", + "tool_dev_url": "https://github.com/AdmiralenOla/Scoary", + "doi": "10.1186/s13059-016-1108-8", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "genes": { + "type": "file", + "description": "A presence/absence matrix of genes in the pan-genome", + "pattern": "*.csv" + } + }, + { + "traits": { + "type": "file", + "description": "A CSV file containing trait information per-sample", + "pattern": "*.csv" + } + }, + { + "tree": { + "type": "file", + "description": "A Newick formtted tree for phylogenetic analyses", + "pattern": "*.{dnd,nwk,treefile}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "csv": { + "type": "file", + "description": "Gene associations in a CSV file per trait", + "pattern": "*.csv" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "scramble_clusteranalysis", + "path": "modules/nf-core/scramble/clusteranalysis/meta.yml", + "type": "module", + "meta": { + "name": "scramble_clusteranalysis", + "description": "The Cluster Analysis tool of Scramble analyses and interprets the soft-clipped clusters found by `cluster_identifier`", + "keywords": [ + "soft-clipped clusters", + "scramble" + ], + "tools": [ + { + "scramble": { + "description": "Soft Clipped Read Alignment Mapper", + "homepage": "https://github.com/GeneDx/scramble", + "documentation": "https://github.com/GeneDx/scramble", + "tool_dev_url": "https://github.com/GeneDx/scramble", + "licence": "['CC']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "clusters": { + "type": "file", + "description": "Tab-delimited text file containing soft-clipped clusters. Has to be generated using scramble/clusteridentifier", + "pattern": "*clusters.txt" + } + }, + { + "fasta": { + "type": "file", + "description": "Optional fasta reference file. This file is needed to create a VCF file and to evaluate predicted deletions.", + "pattern": "*.{fasta,fa}" + } + }, + { + "mei_ref": { + "type": "file", + "description": "Optional fasta file containing the MEI reference. This file should only be supplied in special occasions where the default isn't correct", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "meis_tab": { + "type": "file", + "description": "Tab-delimited text file containing MEI calls", + "pattern": "*_MEIs.txt" + } + }, + { + "dels_tab": { + "type": "file", + "description": "Tab-delimited text file containing predicted deletions", + "pattern": "*_PredictedDeletions.txt" + } + }, + { + "vcf": { + "type": "file", + "description": "A VCF file containing the MEI calls and/or the predicted deletions (depending on the given arguments)", + "pattern": "*.vcf" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "scramble_clusteridentifier", + "path": "modules/nf-core/scramble/clusteridentifier/meta.yml", + "type": "module", + "meta": { + "name": "scramble_clusteridentifier", + "description": "The cluster_identifier tool of Scramble identifies soft clipped clusters", + "keywords": [ + "bam", + "cram", + "soft-clipped clusters" + ], + "tools": [ + { + "scramble": { + "description": "Soft Clipped Read Alignment Mapper", + "homepage": "https://github.com/GeneDx/scramble", + "documentation": "https://github.com/GeneDx/scramble", + "tool_dev_url": "https://github.com/GeneDx/scramble", + "licence": "['CC']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "input_index": { + "type": "file", + "description": "Index of the BAM/CRAM file", + "pattern": "*.{bai,crai}" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference FASTA file (mandatory when using CRAM files)", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "clusters": { + "type": "file", + "description": "Tab-delimited file containing the soft-clipped clusters", + "pattern": "*.clusters.txt" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "seacr_callpeak", + "path": "modules/nf-core/seacr/callpeak/meta.yml", + "type": "module", + "meta": { + "name": "seacr_callpeak", + "description": "Call peaks using SEACR on sequenced reads in bedgraph format", + "keywords": [ + "peak-caller", + "peaks", + "bedgraph", + "cut&tag", + "cut&run", + "chromatin", + "seacr" + ], + "tools": [ + { + "seacr": { + "description": "SEACR is intended to call peaks and enriched regions from sparse CUT&RUN\nor chromatin profiling data in which background is dominated by \"zeroes\"\n(i.e. regions with no read coverage).\n", + "homepage": "https://github.com/FredHutch/SEACR", + "documentation": "https://github.com/FredHutch/SEACR", + "licence": [ + "GPL-2.0-only" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bedgraph": { + "type": "file", + "description": "The target bedgraph file from which the peaks will be calculated.\n" + } + }, + { + "ctrlbedgraph": { + "type": "file", + "description": "Control (IgG) data bedgraph file to generate an empirical threshold for peak calling.\n" + } + }, + { + "threshold": { + "type": "integer", + "description": "Threshold value used to call peaks if the ctrlbedgraph input is set to []. Set to 1 if using a control bedgraph\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Bed file containing the calculated peaks.", + "pattern": "*.bed" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@chris-cheshire" + ] + }, + "pipelines": [ + { + "name": "cutandrun", + "version": "3.1" + } + ] + }, + { + "name": "segemehl_align", + "path": "modules/nf-core/segemehl/align/meta.yml", + "type": "module", + "meta": { + "name": "segemehl_align", + "description": "A multi-split mapping algorithm for circular RNA, splicing, trans-splicing and fusion detection", + "keywords": [ + "alignment", + "circrna", + "splicing", + "fusions" + ], + "tools": [ + { + "segemehl": { + "description": "A multi-split mapping algorithm for circular RNA, splicing, trans-splicing and fusion detection", + "homepage": "https://www.bioinf.uni-leipzig.de/Software/segemehl/", + "documentation": "https://www.bioinf.uni-leipzig.de/Software/segemehl/", + "doi": "10.1186/gb-2014-15-2-r34", + "licence": "GPL v3" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "FASTA or FASTQ files", + "pattern": "*.{fa,fasta,fq,fastq,fq.gz,fastq.gz}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome FASTA file used to construct Segemehl", + "pattern": "*.{fa,fasta}" + } + }, + { + "index": { + "type": "file", + "description": "Segemehl Index file from SEGEMEHL_INDEX", + "pattern": "*.idx" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "results": { + "type": "directory", + "description": "Directory containing genomic alignments in SAM format\n (please add \"-b\" flag to task.ext.args for BAM)\nIn addition to split-read alignments files when -S parameter used.\n [ *.{sam,bam}, *.trns.txt, *.mult.bed, *.sngl.bed ]\n", + "pattern": "${meta.id}*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@BarryDigby" + ] + }, + "pipelines": [ + { + "name": "circrna", + "version": "dev" + } + ] + }, + { + "name": "segemehl_index", + "path": "modules/nf-core/segemehl/index/meta.yml", + "type": "module", + "meta": { + "name": "segemehl_index", + "description": "Generate genome indices for segemehl align", + "keywords": [ + "index", + "circrna", + "splicing", + "fusions" + ], + "tools": [ + { + "segemehl": { + "description": "A multi-split mapping algorithm for circular RNA, splicing, trans-splicing and fusion detection", + "homepage": "https://www.bioinf.uni-leipzig.de/Software/segemehl/", + "documentation": "https://www.bioinf.uni-leipzig.de/Software/segemehl/", + "doi": "10.1186/gb-2014-15-2-r34", + "licence": "GPL v3" + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Reference genome FASTA file", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "index": { + "type": "file", + "description": "Segemehl index file", + "pattern": "*.{idx}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@BarryDigby" + ] + }, + "pipelines": [ + { + "name": "circrna", + "version": "dev" + } + ] + }, + { + "name": "semibin_singleeasybin", + "path": "modules/nf-core/semibin/singleeasybin/meta.yml", + "type": "module", + "meta": { + "name": "semibin_singleeasybin", + "description": "metagenomic binning with self-supervised learning", + "keywords": [ + "binning", + "assembly-binning", + "metagenomics" + ], + "tools": [ + { + "semibin": { + "description": "Metagenomic binning with semi-supervised siamese neural network", + "homepage": "https://github.com/BigDataBiology/SemiBin", + "documentation": "https://semibin.readthedocs.io/en/latest/", + "tool_dev_url": "https://github.com/BigDataBiology/SemiBin", + "doi": "10.1038/s41467-022-29843-y", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "fasta": { + "type": "file", + "description": "Fasta file of the assembled contigs", + "pattern": "*.{fa,fasta,fna,fa.gz,fasta.gz,fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "csv": { + "type": "file", + "description": "generated files", + "pattern": "*.csv" + } + }, + { + "h5": { + "type": "file", + "description": "trained model", + "pattern": "*.h5" + } + }, + { + "output_prerecluster_bins": { + "type": "file", + "description": "output_prerecluster_bins", + "pattern": "output_prerecluster_bins/*.fa" + } + }, + { + "output_recluster_bins": { + "type": "file", + "description": "output_recluster_bins", + "pattern": "output_recluster_bins/*.fa" + } + }, + { + "tsv": { + "type": "file", + "description": "information of bins", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@BigDataBiology" + ] + } + }, + { + "name": "sentieon_applyvarcal", + "path": "modules/nf-core/sentieon/applyvarcal/meta.yml", + "type": "module", + "meta": { + "name": "sentieon_applyvarcal", + "description": "Apply a score cutoff to filter variants based on a recalibration table.\nSentieon's Aplyvarcal performs the second pass in a two-stage process called Variant Quality Score Recalibration (VQSR).\nSpecifically, it applies filtering to the input variants based on the recalibration table produced\nin the previous step VarCal and a target sensitivity value.\nhttps://support.sentieon.com/manual/usages/general/#applyvarcal-algorithm\n", + "keywords": [ + "sentieon", + "applyvarcal", + "varcal", + "VQSR" + ], + "tools": [ + { + "sentieon": { + "description": "Sentieon® provides complete solutions for secondary DNA/RNA analysis for a variety of sequencing platforms, including short and long reads.\nOur software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system.\n", + "homepage": "https://www.sentieon.com/", + "documentation": "https://www.sentieon.com/" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file to be recalibrated, this should be the same file as used for the first stage VariantRecalibrator.", + "pattern": "*.vcf" + } + }, + { + "vcf_tbi": { + "type": "file", + "description": "tabix index for the input vcf file.", + "pattern": "*.vcf.tbi" + } + }, + { + "recal": { + "type": "file", + "description": "Recalibration file produced when the input vcf was run through VariantRecalibrator in stage 1.", + "pattern": "*.recal" + } + }, + { + "recal_index": { + "type": "file", + "description": "Index file for the recalibration file.", + "pattern": ".recal.idx" + } + }, + { + "tranches": { + "type": "file", + "description": "Tranches file produced when the input vcf was run through VariantRecalibrator in stage 1.", + "pattern": ".tranches" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "vcf": { + "type": "file", + "description": "compressed vcf file containing the recalibrated variants.", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Index of recalibrated vcf file.", + "pattern": "*vcf.gz.tbi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions.", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@assp8200" + ] + } + }, + { + "name": "sentieon_bwaindex", + "path": "modules/nf-core/sentieon/bwaindex/meta.yml", + "type": "module", + "meta": { + "name": "sentieon_bwaindex", + "description": "Create BWA index for reference genome", + "keywords": [ + "index", + "fasta", + "genome", + "reference", + "sentieon" + ], + "tools": [ + { + "sentieon": { + "description": "Sentieon® provides complete solutions for secondary DNA/RNA analysis for a variety of sequencing platforms, including short and long reads.\nOur software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system.\n", + "homepage": "https://www.sentieon.com/", + "documentation": "https://www.sentieon.com/" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input genome fasta file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "file", + "description": "BWA genome index files", + "pattern": "*.{amb,ann,bwt,pac,sa}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@maxulysse" + ] + } + }, + { + "name": "sentieon_bwamem", + "path": "modules/nf-core/sentieon/bwamem/meta.yml", + "type": "module", + "meta": { + "name": "sentieon_bwamem", + "description": "Performs fastq alignment to a fasta reference using Sentieon's BWA MEM", + "keywords": [ + "mem", + "bwa", + "alignment", + "map", + "fastq", + "bam", + "sentieon" + ], + "tools": [ + { + "sentieon": { + "description": "Sentieon® provides complete solutions for secondary DNA/RNA analysis for a variety of sequencing platforms, including short and long reads.\nOur software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system.\n", + "homepage": "https://www.sentieon.com/", + "documentation": "https://www.sentieon.com/" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Genome fastq files (single-end or paired-end)" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "file", + "description": "BWA genome index files", + "pattern": "*.{amb,ann,bwt,pac,sa}" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome fasta file", + "pattern": "*.{fa,fasta}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the FASTA reference.", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file.", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "BAI file", + "pattern": "*.bai" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@asp8200" + ] + } + }, + { + "name": "sentieon_dedup", + "path": "modules/nf-core/sentieon/dedup/meta.yml", + "type": "module", + "meta": { + "name": "sentieon_dedup", + "description": "Runs the sentieon tool LocusCollector followed by Dedup. LocusCollector collects read information that is used by Dedup which in turn marks or removes duplicate reads.", + "keywords": [ + "mem", + "dedup", + "map", + "bam", + "cram", + "sentieon" + ], + "tools": [ + { + "sentieon": { + "description": "Sentieon® provides complete solutions for secondary DNA/RNA analysis for a variety of sequencing platforms, including short and long reads.\nOur software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system.\n", + "homepage": "https://www.sentieon.com/", + "documentation": "https://www.sentieon.com/" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file.", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "BAI file", + "pattern": "*.bai" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome fasta file", + "pattern": "*.{fa,fasta}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the FASTA reference.", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "cram": { + "type": "file", + "description": "CRAM file", + "pattern": "*.cram" + } + }, + { + "crai": { + "type": "file", + "description": "CRAM index file", + "pattern": "*.crai" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file.", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "BAI file", + "pattern": "*.bai" + } + }, + { + "score": { + "type": "file", + "description": "The score file indicates which reads LocusCollector finds are likely duplicates.", + "pattern": "*.score" + } + }, + { + "metrics": { + "type": "file", + "description": "Output file containing Dedup metrics incl. histogram data.", + "pattern": "*.metrics" + } + }, + { + "metrics_multiqc_tsv": { + "type": "file", + "description": "Output tsv-file containing Dedup metrics excl. histogram data.", + "pattern": "*.metrics.multiqc.tsv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@asp8200" + ] + } + }, + { + "name": "sentieon_gvcftyper", + "path": "modules/nf-core/sentieon/gvcftyper/meta.yml", + "type": "module", + "meta": { + "name": "SENTIEON_GVCFTYPER", + "description": "Perform joint genotyping on one or more samples pre-called with Sentieon's Haplotyper.\n", + "keywords": [ + "joint genotyping", + "genotype", + "gvcf" + ], + "tools": [ + { + "sentieon": { + "description": "Sentieon® provides complete solutions for secondary DNA/RNA analysis for a variety of sequencing platforms, including short and long reads.\nOur software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system.\n", + "homepage": "https://www.sentieon.com/", + "documentation": "https://www.sentieon.com/" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gvcfs": { + "type": "file", + "description": "gVCF(.gz) file\n", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "tbis": { + "type": "file", + "description": "index of gvcf file\n", + "pattern": "*.tbi" + } + }, + { + "intervals": { + "type": "file", + "description": "Interval file with the genomic regions included in the library (optional)" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Reference fasta index file", + "pattern": "*.fai" + } + }, + { + "dbsnp": { + "type": "file", + "description": "dbSNP VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "dbsnp_tbi": { + "type": "file", + "description": "dbSNP VCF index file", + "pattern": "*.tbi" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Genotyped VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Tbi index for VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@asp8200" + ] + } + }, + { + "name": "sentieon_haplotyper", + "path": "modules/nf-core/sentieon/haplotyper/meta.yml", + "type": "module", + "meta": { + "name": "sentieon_haplotyper", + "description": "Runs Sentieon's haplotyper for germline variant calling.", + "keywords": [ + "sentieon", + "haplotypecaller", + "haplotype" + ], + "tools": [ + { + "sentieon": { + "description": "Sentieon® provides complete solutions for secondary DNA/RNA analysis for a variety of sequencing platforms, including short and long reads.\nOur software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system.\n", + "homepage": "https://www.sentieon.com/", + "documentation": "https://www.sentieon.com/" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file from alignment", + "pattern": "*.{bam,cram}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAI/CRAI file from alignment", + "pattern": "*.{bai,crai}" + } + }, + { + "intervals": { + "type": "file", + "description": "Bed file with the genomic regions included in the library (optional)" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome fasta file", + "pattern": "*.{fa,fasta}" + } + }, + { + "fai": { + "type": "file", + "description": "The index of the FASTA reference.", + "pattern": "*.fai" + } + }, + { + "dbsnp": { + "type": "file", + "description": "VCF file containing known sites (optional)" + } + }, + { + "dbsnp_tbi": { + "type": "file", + "description": "VCF index of dbsnp (optional)" + } + }, + { + "emit_vcf": { + "type": "string", + "description": "Controls the vcf output from the haplotyper.\nIf emit_vcf is set to \"all\" then the haplotyper will output a vcf generated by the haplotyper in emit-mode \"all\".\nIf emit_vcf is set to \"confident\" then the haplotyper will output a vcf generated by the haplotyper in emit-mode \"confident\".\nIf emit_vcf is set to \"variant\" then the haplotyper will output a vcf generated by the haplotyper in emit_mode \"confident\".\n" + } + }, + { + "emit_gvcf": { + "type": "boolean", + "description": "If true, the haplotyper will output a gvcf" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information.\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed VCF file", + "pattern": "*.unfiltered.vcf.gz" + } + }, + { + "vcf_tbi": { + "type": "file", + "description": "Index of VCF file", + "pattern": "*.unfiltered.vcf.gz.tbi" + } + }, + { + "gvcf": { + "type": "file", + "description": "Compressed GVCF file", + "pattern": "*.g.vcf.gz" + } + }, + { + "gvcf_tbi": { + "type": "file", + "description": "Index of GVCF file", + "pattern": "*.g.vcf.gz.tbi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@asp8200" + ] + } + }, + { + "name": "sentieon_varcal", + "path": "modules/nf-core/sentieon/varcal/meta.yml", + "type": "module", + "meta": { + "name": "sentieon_varcal", + "description": "Module for Sentieons VarCal. The VarCal algorithm calculates the Variant Quality Score Recalibration (VQSR).\nVarCal builds a recalibration model for scoring variant quality.\nhttps://support.sentieon.com/manual/usages/general/#varcal-algorithm\n", + "keywords": [ + "sentieon", + "varcal", + "variant recalibration" + ], + "tools": [ + { + "sentieon": { + "description": "Sentieon® provides complete solutions for secondary DNA/RNA analysis for a variety of sequencing platforms, including short and long reads.\nOur software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system.\n", + "homepage": "https://www.sentieon.com/", + "documentation": "https://www.sentieon.com/" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "input vcf file containing the variants to be recalibrated", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "tbi file matching with -vcf", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "resource_vcf": { + "type": "file", + "description": "all resource vcf files that are used with the corresponding '--resource' label", + "pattern": "*.vcf.gz" + } + }, + { + "resource_tbi": { + "type": "file", + "description": "all resource tbi files that are used with the corresponding '--resource' label", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "labels": { + "type": "string", + "description": "necessary arguments for Sentieon's VarCal. Specified to directly match the resources provided. More information can be found at https://support.sentieon.com/manual/usages/general/#varcal-algorithm" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "fasta.fai" + } + } + ], + "output": [ + { + "recal": { + "type": "file", + "description": "Output recal file used by ApplyVQSR", + "pattern": "*.recal" + } + }, + { + "idx": { + "type": "file", + "description": "Index file for the recal output file", + "pattern": "*.idx" + } + }, + { + "tranches": { + "type": "file", + "description": "Output tranches file used by ApplyVQSR", + "pattern": "*.tranches" + } + }, + { + "plots": { + "type": "file", + "description": "Optional output rscript file to aid in visualization of the input data and learned model.", + "pattern": "*plots.R" + } + }, + { + "version": { + "type": "file", + "description": "File containing software versions", + "pattern": "*.versions.yml" + } + } + ], + "authors": [ + "@asp8200" + ] + } + }, + { + "name": "seqkit_grep", + "path": "modules/nf-core/seqkit/grep/meta.yml", + "type": "module", + "meta": { + "name": "seqkit_grep", + "description": "Select sequences from a large file based on name/ID", + "keywords": [ + "filter", + "seqkit", + "subseq", + "grep" + ], + "tools": [ + { + "seqkit": { + "description": "Cross-platform and ultrafast toolkit for FASTA/Q file manipulation, written by Wei Shen.", + "homepage": "https://bioinf.shenwei.me/seqkit/usage/", + "documentation": "https://bioinf.shenwei.me/seqkit/usage/", + "tool_dev_url": "https://github.com/shenwei356/seqkit/", + "doi": "10.1371/journal.pone.0163962", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sequence": { + "type": "file", + "description": "Fasta or fastq file containing sequences to be filtered\n", + "pattern": "*.{fa,fna,faa,fasta,fq,fastq}[.gz]" + } + }, + { + "pattern": { + "type": "file", + "description": "pattern file (one record per line). If no pattern is given, a string can be specificied within the args using '-p pattern_string'\n", + "pattern": "*.{txt,tsv}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "filter": { + "type": "file", + "description": "Fasta or fastq file containing the filtered sequences\n", + "pattern": "*.{fa,fq}[.gz]" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "seqkit_pair", + "path": "modules/nf-core/seqkit/pair/meta.yml", + "type": "module", + "meta": { + "name": "seqkit_pair", + "description": "match up paired-end reads from two fastq files", + "keywords": [ + "seqkit", + "pair" + ], + "tools": [ + { + "seqkit": { + "description": "Cross-platform and ultrafast toolkit for FASTA/Q file manipulation, written by Wei Shen.", + "homepage": "https://bioinf.shenwei.me/seqkit/usage/", + "documentation": "https://bioinf.shenwei.me/seqkit/usage/", + "tool_dev_url": "https://github.com/shenwei356/seqkit/", + "doi": "10.1371/journal.pone.0163962", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input paired-end FastQ files.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "reads": { + "type": "file", + "description": "Paired fastq reads", + "pattern": "*.paired.fastq.gz" + } + }, + { + "unpaired_reads": { + "type": "file", + "description": "Unpaired reads (optional)", + "pattern": "*.unpaired.fastq.gz" + } + } + ], + "authors": [ + "@sateeshperi", + "@mjcipriano", + "@hseabolt" + ] + } + }, + { + "name": "seqkit_replace", + "path": "modules/nf-core/seqkit/replace/meta.yml", + "type": "module", + "meta": { + "name": "seqkit_replace", + "description": "Use seqkit to find/replace strings within sequences and sequence headers", + "keywords": [ + "seqkit", + "replace" + ], + "tools": [ + { + "seqkit": { + "description": "Cross-platform and ultrafast toolkit for FASTA/Q file manipulation, written by Wei Shen.", + "homepage": "https://bioinf.shenwei.me/seqkit/usage/", + "documentation": "https://bioinf.shenwei.me/seqkit/usage/", + "tool_dev_url": "https://github.com/shenwei356/seqkit/", + "doi": "10.1371/journal.pone.016396" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastx": { + "type": "file", + "description": "fasta/q file", + "pattern": "*.{fasta,fastq,fa,fq,fas,fna,faa}*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fastx": { + "type": "file", + "description": "fasta/q file with replaced values", + "pattern": "*.{fasta,fastq,fa,fq,fas,fna,faa}*" + } + } + ], + "authors": [ + "@mjcipriano" + ] + } + }, + { + "name": "seqkit_sliding", + "path": "modules/nf-core/seqkit/sliding/meta.yml", + "type": "module", + "meta": { + "name": "seqkit_sliding", + "description": "Use seqkit to generate sliding windows of input fasta", + "keywords": [ + "seqkit", + "sliding", + "windows" + ], + "tools": [ + { + "seqkit": { + "description": "Cross-platform and ultrafast toolkit for FASTA/Q file manipulation, written by Wei Shen.", + "homepage": "https://bioinf.shenwei.me/seqkit/usage/", + "documentation": "https://bioinf.shenwei.me/seqkit/usage/", + "tool_dev_url": "https://github.com/shenwei356/seqkit/", + "doi": "10.1371/journal.pone.016396" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastx": { + "type": "file", + "description": "fasta/q file", + "pattern": "*.{fasta,fastq,fa,fq,fas,fna,faa}*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "windows": { + "type": "file", + "description": "fasta/q window file", + "pattern": "*.{fasta,fastq,fa,fq,fas,fna,faa}*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@DLBPointon" + ] + } + }, + { + "name": "seqkit_split2", + "path": "modules/nf-core/seqkit/split2/meta.yml", + "type": "module", + "meta": { + "name": "seqkit_split2", + "description": "Split single or paired-end fastq.gz files", + "keywords": [ + "split", + "fastq" + ], + "tools": [ + { + "seqkit": { + "description": "Cross-platform and ultrafast toolkit for FASTA/Q file manipulation, written by Wei Shen.\n", + "homepage": "https://github.com/shenwei356/seqkit", + "documentation": "https://bioinf.shenwei.me/seqkit/", + "doi": "10.1371/journal.pone.0163962", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "FastQ files", + "pattern": "*.{fq.gz/fastq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Split fastq files", + "pattern": "*.{fq.gz/fastq.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + } + }, + { + "name": "seqkit_stats", + "path": "modules/nf-core/seqkit/stats/meta.yml", + "type": "module", + "meta": { + "name": "seqkit_stats", + "description": "simple statistics of FASTA/Q files", + "keywords": [ + "seqkit", + "stats" + ], + "tools": [ + { + "seqkit": { + "description": "Cross-platform and ultrafast toolkit for FASTA/Q file manipulation, written by Wei Shen.", + "homepage": "https://bioinf.shenwei.me/seqkit/usage/", + "documentation": "https://bioinf.shenwei.me/seqkit/usage/", + "tool_dev_url": "https://github.com/shenwei356/seqkit/", + "doi": "10.1371/journal.pone.0163962", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Either FASTA or FASTQ files.\n", + "pattern": "*.{fa,fna,faa,fasta,fq,fastq}[.gz]" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "stats": { + "type": "file", + "description": "Tab-separated output file with basic sequence statistics.\n", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@Midnighter" + ] + } + }, + { + "name": "seqsero2", + "path": "modules/nf-core/seqsero2/meta.yml", + "type": "module", + "meta": { + "name": "seqsero2", + "description": "Salmonella serotype prediction from reads and assemblies", + "keywords": [ + "fasta", + "fastq", + "salmonella", + "sertotype" + ], + "tools": [ + { + "seqsero2": { + "description": "Salmonella serotype prediction from genome sequencing data", + "homepage": "https://github.com/denglab/SeqSero2", + "documentation": "https://github.com/denglab/SeqSero2", + "tool_dev_url": "https://github.com/denglab/SeqSero2", + "doi": "10.1128/AEM.01746-19", + "licence": [ + "GPL v2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "seqs": { + "type": "file", + "description": "FASTQ or FASTA formated sequences", + "pattern": "*.{fq.gz,fastq.gz,fna.gz,fna,fasta.gz,fasta,fa.gz,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "log": { + "type": "file", + "description": "A log of serotype antigen results", + "pattern": "*_log.txt" + } + }, + { + "tsv": { + "type": "file", + "description": "Tab-delimited summary of the SeqSero2 results", + "pattern": "*_result.tsv" + } + }, + { + "txt": { + "type": "file", + "description": "Detailed summary of the SeqSero2 results", + "pattern": "*_result.txt" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "seqtk_cutn", + "path": "modules/nf-core/seqtk/cutn/meta.yml", + "type": "module", + "meta": { + "name": "seqtk_cutn", + "description": "Generates a BED file containing genomic locations of lengths of N.", + "keywords": [ + "cut", + "fasta", + "seqtk" + ], + "tools": [ + { + "seqtk": { + "description": "Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format. Seqtk mergepe command merges pair-end reads into one interleaved file.", + "homepage": "https://github.com/lh3/seqtk", + "documentation": "https://docs.csc.fi/apps/seqtk/", + "tool_dev_url": "https://github.com/lh3/seqtk", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "A single fasta file to be split.", + "pattern": "*.{fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "The output bed which summarised locations of cuts", + "pattern": "*.{bed}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@DLBPointon" + ] + } + }, + { + "name": "seqtk_mergepe", + "path": "modules/nf-core/seqtk/mergepe/meta.yml", + "type": "module", + "meta": { + "name": "seqtk_mergepe", + "description": "Interleave pair-end reads from FastQ files", + "keywords": [ + "interleave" + ], + "tools": [ + { + "seqtk": { + "description": "Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format. Seqtk mergepe command merges pair-end reads into one interleaved file.", + "homepage": "https://github.com/lh3/seqtk", + "documentation": "https://docs.csc.fi/apps/seqtk/", + "tool_dev_url": "https://github.com/lh3/seqtk", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,respectively.", + "pattern": "*.{fastq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "reads": { + "type": "file", + "description": "If single-end reads, the output is the same as the input, 1 FastQ file for each read. If pair-end reads, the read pairs will be interleaved and output as 1 FastQ file for each read pair.", + "pattern": "*.{fastq.gz}" + } + } + ], + "authors": [ + "@emnilsson" + ] + }, + "pipelines": [ + { + "name": "metatdenovo", + "version": "dev" + } + ] + }, + { + "name": "seqtk_rename", + "path": "modules/nf-core/seqtk/rename/meta.yml", + "type": "module", + "meta": { + "name": "seqtk_rename", + "description": "Rename sequence names in FASTQ or FASTA files.", + "keywords": [ + "rename" + ], + "tools": [ + { + "seqtk": { + "description": "Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format. The seqtk rename command renames sequence names.", + "homepage": "https://github.com/lh3/seqtk", + "documentation": "https://docs.csc.fi/apps/seqtk/", + "tool_dev_url": "https://github.com/lh3/seqtk", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "sequences": { + "type": "file", + "description": "A FASTQ or FASTA file", + "pattern": "*.{fastq.gz, fastq, fq, fq.gz, fasta, fastq.gz, fa, fa.gz, fas, fas.gz, fna, fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sequences": { + "type": "file", + "description": "FASTQ/FASTA file containing renamed sequences", + "pattern": "*.{fastq.gz, fasta.gz}" + } + } + ], + "authors": [ + "@hseabolt", + "@mjcipriano", + "@sateeshperi" + ] + } + }, + { + "name": "seqtk_sample", + "path": "modules/nf-core/seqtk/sample/meta.yml", + "type": "module", + "meta": { + "name": "seqtk_sample", + "description": "Subsample reads from FASTQ files", + "keywords": [ + "sample" + ], + "tools": [ + { + "seqtk": { + "description": "Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format. Seqtk sample command subsamples sequences.", + "homepage": "https://github.com/lh3/seqtk", + "documentation": "https://docs.csc.fi/apps/seqtk/", + "tool_dev_url": "https://github.com/lh3/seqtk", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files", + "pattern": "*.{fastq.gz}" + } + }, + { + "sample_size": { + "type": "value", + "description": "Number of reads to sample." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "reads": { + "type": "file", + "description": "Subsampled FastQ files", + "pattern": "*.{fastq.gz}" + } + } + ], + "authors": [ + "@kaurravneet4123", + "@sidorov-si", + "@adamrtalbot" + ] + } + }, + { + "name": "seqtk_seq", + "path": "modules/nf-core/seqtk/seq/meta.yml", + "type": "module", + "meta": { + "name": "seqtk_seq", + "description": "Common transformation operations on FASTA or FASTQ files.", + "keywords": [ + "seq" + ], + "tools": [ + { + "seqtk": { + "description": "Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format. The seqtk seq command enables common transformation operations on FASTA or FASTQ files.", + "homepage": "https://github.com/lh3/seqtk", + "documentation": "https://docs.csc.fi/apps/seqtk/", + "tool_dev_url": "https://github.com/lh3/seqtk", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "sequences": { + "type": "file", + "description": "A FASTQ or FASTA file", + "pattern": "*.{fastq.gz, fastq, fq, fq.gz, fasta, fastq.gz, fa, fa.gz, fas, fas.gz, fna, fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sequences": { + "type": "file", + "description": "FASTQ/FASTA file containing renamed sequences", + "pattern": "*.{fastq.gz, fasta.gz}" + } + } + ], + "authors": [ + "@hseabolt", + "@mjcipriano", + "@sateeshperi" + ] + }, + "pipelines": [ + { + "name": "crisprseq", + "version": "2.0.0" + }, + { + "name": "radseq", + "version": "dev" + } + ] + }, + { + "name": "seqtk_subseq", + "path": "modules/nf-core/seqtk/subseq/meta.yml", + "type": "module", + "meta": { + "name": "seqtk_subseq", + "description": "Select only sequences that match the filtering condition", + "keywords": [ + "filtering,selection" + ], + "tools": [ + { + "seqtk": { + "description": "Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format", + "homepage": "https://github.com/lh3/seqtk", + "documentation": "https://docs.csc.fi/apps/seqtk/", + "tool_dev_url": "https://github.com/lh3/seqtk", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "sequences": { + "type": "file", + "description": "FASTQ/FASTA file", + "pattern": "*.{fq,fq.gz,fa,fa.gz}" + } + }, + { + "filter_list": { + "type": "file", + "description": "BED file or a text file with a list of sequence names", + "pattern": "*.{bed,lst}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sequences": { + "type": "file", + "description": "FASTQ/FASTA file", + "pattern": "*.{fq.gz,fa.gz}" + } + } + ], + "authors": [ + "@sidorov-si" + ] + } + }, + { + "name": "sequencetools_pileupcaller", + "path": "modules/nf-core/sequencetools/pileupcaller/meta.yml", + "type": "module", + "meta": { + "name": "sequencetools_pileupcaller", + "description": "PileupCaller is a tool to create genotype calls from bam files using read-sampling methods", + "keywords": [ + "genotyping", + "mpileup", + "random draw", + "pseudohaploid", + "pseudodiploid", + "freqsum", + "plink", + "bed", + "eigenstrat" + ], + "tools": [ + { + "sequencetools": { + "description": "Tools for population genetics on sequencing data", + "homepage": "https://github.com/stschiff/sequenceTools", + "documentation": "https://github.com/stschiff/sequenceTools#readme", + "tool_dev_url": "https://github.com/stschiff/sequenceTools", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "mpileup": { + "type": "file", + "description": "samtools mpileup output." + } + }, + { + "snpfile": { + "type": "file", + "description": "Eigenstrat format .snp file of the sites in the mpileup file to call genotypes on.\nOnly alleles matching the Ref and Alt alleles of the provided snp file will be called.\n" + } + }, + { + "calling_method": { + "type": "value", + "description": "The desired calling method for pileupcaller. One of 'randomHaploid', 'randomDiploid', or 'majorityCall'." + } + }, + { + "output_format": { + "type": "value", + "description": "The desired output format. One of 'PLINK', 'EIGENSTRAT', or 'FREQSUM'." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "eigenstrat": { + "type": "file", + "description": "A tuple containing the output Eigenstrat-formatted geno, snp and ind files.", + "pattern": "*.{geno,snp,ind}.txt" + } + }, + { + "plink": { + "type": "file", + "description": "A tuple containing the output Plink-formatted bed, bim and fam files.", + "pattern": "*.{bed,bim,fam}" + } + }, + { + "freqsum": { + "type": "file", + "description": "The output freqsum-formatted file.", + "pattern": "*.freqsum.gz" + } + } + ], + "authors": [ + "@TCLamnidis" + ] + } + }, + { + "name": "sequenzautils_bam2seqz", + "path": "modules/nf-core/sequenzautils/bam2seqz/meta.yml", + "type": "module", + "meta": { + "name": "sequenzautils_bam2seqz", + "description": "Sequenza-utils bam2seqz process BAM and Wiggle files to produce a seqz file", + "keywords": [ + "bam2seqz" + ], + "tools": [ + { + "sequenzautils": { + "description": "Sequenza-utils provides 3 main command line programs to transform common NGS file format - such as FASTA, BAM - to input files for the Sequenza R package. The program - bam2seqz - process a paired set of BAM/pileup files (tumour and matching normal), and GC-content genome-wide information, to extract the common positions with A and B alleles frequencies.", + "homepage": "https://sequenza-utils.readthedocs.io/en/latest/index.html", + "documentation": "https://sequenza-utils.readthedocs.io/en/latest/index.html", + "doi": "10.1093/annonc/mdu479", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "normalbam": { + "type": "file", + "description": "BAM file from the reference/normal sample", + "pattern": "*.{bam}" + } + }, + { + "tumourbam": { + "type": "file", + "description": "BAM file from the tumour sample", + "pattern": "*.{bam}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference FASTA file", + "pattern": "*.{fasta}" + } + }, + { + "wigfile": { + "type": "file", + "description": "GC content wiggle file", + "pattern": "*.{wig.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "seqz": { + "type": "file", + "description": "Seqz file", + "pattern": "*.{seqz.gz}" + } + } + ], + "authors": [ + "@kaurravneet4123" + ] + } + }, + { + "name": "sequenzautils_gcwiggle", + "path": "modules/nf-core/sequenzautils/gcwiggle/meta.yml", + "type": "module", + "meta": { + "name": "sequenzautils_gcwiggle", + "description": "Sequenza-utils gc_wiggle computes the GC percentage across the sequences, and returns a file in the UCSC wiggle format, given a fasta file and a window size.", + "keywords": [ + "gc_wiggle" + ], + "tools": [ + { + "sequenzautils": { + "description": "Sequenza-utils provides 3 main command line programs to transform common NGS file format - such as FASTA, BAM - to input files for the Sequenza R package. The program -gc_wiggle- takes fasta file as an input, computes GC percentage across the sequences and returns a file in the UCSC wiggle format.", + "homepage": "https://sequenza-utils.readthedocs.io/en/latest/index.html", + "documentation": "https://sequenza-utils.readthedocs.io/en/latest/index.html", + "doi": "10.1093/annonc/mdu479", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file", + "pattern": "*.{fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "wig": { + "type": "file", + "description": "GC Wiggle track file", + "pattern": "*.{wig.gz}" + } + } + ], + "authors": [ + "@kaurravneet4123" + ] + } + }, + { + "name": "seqwish_induce", + "path": "modules/nf-core/seqwish/induce/meta.yml", + "type": "module", + "meta": { + "name": "seqwish_induce", + "description": "Induce a variation graph in GFA format from alignments in PAF format", + "keywords": [ + "induce", + "paf", + "gfa", + "graph", + "variation graph" + ], + "tools": [ + { + "seqwish": { + "description": "seqwish implements a lossless conversion from pairwise alignments between\nsequences to a variation graph encoding the sequences and their alignments.\n", + "homepage": "https://github.com/ekg/seqwish", + "documentation": "https://github.com/ekg/seqwish", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "paf": { + "type": "list", + "description": "comma-separated PAF file(s) of alignments, single entry allowed", + "pattern": "[*.{paf,paf.gz},*.{paf,paf.gz},...]" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file used to generate alignments", + "pattern": "*.{fa,fa.gz,fasta,fasta.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gfa": { + "type": "file", + "description": "Variation graph in GFA 1.0 format", + "pattern": "*.{gfa}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@heuermh" + ] + }, + "pipelines": [ + { + "name": "pangenome", + "version": "dev" + } + ] + }, + { + "name": "seroba_run", + "path": "modules/nf-core/seroba/run/meta.yml", + "type": "module", + "meta": { + "name": "seroba_run", + "description": "Determine Streptococcus pneumoniae serotype from Illumina paired-end reads", + "keywords": [ + "fastq", + "serotype", + "Streptococcus pneumoniae" + ], + "tools": [ + { + "seroba": { + "description": "SeroBA is a k-mer based pipeline to identify the Serotype from Illumina NGS reads for given references.", + "homepage": "https://sanger-pathogens.github.io/seroba/", + "documentation": "https://sanger-pathogens.github.io/seroba/", + "tool_dev_url": "https://github.com/sanger-pathogens/seroba", + "doi": "10.1099/mgen.0.000186", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Input Illunina paired-end FASTQ files", + "pattern": "*.{fq.gz,fastq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "The predicted serotype in tab-delimited format", + "pattern": "*.tsv" + } + }, + { + "txt": { + "type": "file", + "description": "A detailed description of the predicted serotype", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "sexdeterrmine", + "path": "modules/nf-core/sexdeterrmine/meta.yml", + "type": "module", + "meta": { + "name": "sexdeterrmine", + "description": "Calculate the relative coverage on the Gonosomes vs Autosomes from the output of samtools depth, with error bars.", + "keywords": [ + "sex determination", + "genetic sex", + "relative coverage", + "ancient dna" + ], + "tools": [ + { + "sexdeterrmine": { + "description": "A python script carry out calculate the relative coverage of X and Y chromosomes, and their associated error bars, out of capture data.", + "homepage": "https://github.com/TCLamnidis/Sex.DetERRmine", + "documentation": "https://github.com/TCLamnidis/Sex.DetERRmine/README.md", + "tool_dev_url": "https://github.com/TCLamnidis/Sex.DetERRmine", + "doi": "10.1038/s41467-018-07483-5", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "depth": { + "type": "file", + "description": "Output from samtools depth (with header)", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "JSON formatted table of relative coverages on the X and Y, with associated error bars.", + "pattern": "*.json" + } + }, + { + "tsv": { + "type": "file", + "description": "TSV table of relative coverages on the X and Y, with associated error bars.", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@TCLamnidis" + ] + } + }, + { + "name": "sgdemux", + "path": "modules/nf-core/sgdemux/meta.yml", + "type": "module", + "meta": { + "name": "sgdemux", + "description": "Demultiplex bgzip'd fastq files", + "keywords": [ + "demultiplex", + "fastq", + "bgzip" + ], + "tools": [ + { + "sgdemux": { + "description": "Tool for demultiplexing sequencing data generated on Singular Genomics' sequencing instruments.", + "homepage": "https://github.com/Singular-Genomics/singular-demux", + "documentation": "https://github.com/Singular-Genomics/singular-demux#sgdemux", + "licence": "['For Singular G4™ Sequencing Platform only']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sample_sheet": { + "type": "file", + "description": "sample_sheet file (either a Singular Genomics sample sheet, or a two column csv wih Sample_Barcode and Sample_ID)", + "pattern": "*.{csv}" + } + }, + { + "fastqs_dir": { + "type": "directory", + "description": "Input directory containing bgzipped (not gzip) FASTQ files" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sample_fastq": { + "type": "file", + "description": "Demultiplexed per-sample FASTQ files", + "pattern": "output/*_R*.fastq.gz" + } + }, + { + "metrics": { + "type": "file", + "description": "Demultiplexing summary stats; control_reads_omitted failing_reads_omitted, total_templates\n", + "pattern": "output/metrics.tsv" + } + }, + { + "most_frequent_unmatched": { + "type": "file", + "description": "File containing approx. counts of barcodes that did not match the expected barcodes\n", + "pattern": "output/most_frequence_unmatched.tsv" + } + }, + { + "per_project_metrics": { + "type": "file", + "description": "Summary metrics for samples in the same project", + "pattern": "output/per_project_metrics.tsv" + } + }, + { + "per_sample_metrics": { + "type": "file", + "description": "Summary metrics for each sample", + "pattern": "output/per_sample_metrics.tsv" + } + }, + { + "sample_barcode_hop_metrics": { + "type": "file", + "description": "File output for dual-indexed runs with barcodes which are unexpected combinations of\nexpected barcodes e.g. expected barcodes = AA-TT/GG-CC and observed barcodes = AA-CC/GG-TT\n", + "pattern": "output/sample_barcode_hop_metrics/tsv" + } + } + ], + "authors": [ + "Samantha White: @samfulcrum" + ] + }, + "pipelines": [ + { + "name": "demultiplex", + "version": "1.3.2" + } + ] + }, + { + "name": "shapeit5_ligate", + "path": "modules/nf-core/shapeit5/ligate/meta.yml", + "type": "module", + "meta": { + "name": "shapeit5_ligate", + "description": "Ligate multiple phased BCF/VCF files into a single whole chromosome file.\nTypically run to ligate multiple chunks of phased common variants.\n", + "keywords": [ + "ligate", + "haplotype", + "shapeit" + ], + "tools": [ + { + "shapeit5": { + "description": "Fast and accurate method for estimation of haplotypes (phasing)", + "homepage": "https://odelaneau.github.io/shapeit5/", + "documentation": "https://odelaneau.github.io/shapeit5/docs/documentation", + "tool_dev_url": "https://github.com/odelaneau/shapeit5", + "doi": "10.1101/2022.10.19.512867 ", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_list": { + "type": "file", + "description": "VCF/BCF files containing genotype probabilities (GP field).\nThe files should be ordered by genomic position.\n", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "input_list_index": { + "type": "file", + "description": "VCF/BCF files index.", + "pattern": "*.csi" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "merged_variants": { + "type": "file", + "description": "Output VCF/BCF file for the merged regions.\nPhased information (HS field) is updated accordingly for the full region.\n", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + } + ], + "authors": [ + "@louislenezet" + ] + } + }, + { + "name": "shapeit5_phasecommon", + "path": "modules/nf-core/shapeit5/phasecommon/meta.yml", + "type": "module", + "meta": { + "name": "shapeit5_phasecommon", + "description": "Tool to phase common sites, typically SNP array data, or the first step of WES/WGS data.", + "keywords": [ + "phasing", + "haplotype", + "shapeit" + ], + "tools": [ + { + "shapeit5": { + "description": "Fast and accurate method for estimation of haplotypes (phasing)", + "homepage": "https://odelaneau.github.io/shapeit5/", + "documentation": "https://odelaneau.github.io/shapeit5/docs/documentation", + "tool_dev_url": "https://github.com/odelaneau/shapeit5", + "doi": "10.1101/2022.10.19.512867 ", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "Target dataset in VCF/BCF format defined at all variable positions.\nThe file could possibly be without GT field (for efficiency reasons a file containing only the positions is recommended).\n", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "input_index": { + "type": "file", + "description": "Index file of the input VCF/BCF file containing genotype likelihoods.", + "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" + } + }, + { + "pedigree": { + "type": "file", + "description": "Pedigree information in the following format: offspring father mother.\n", + "pattern": "*.{txt, tsv}" + } + }, + { + "region": { + "type": "string", + "description": "Target region, usually a full chromosome (e.g. chr20:1000000-2000000 or chr20).\nFor chrX, please treat PAR and non-PAR regions as different choromosome in order to avoid mixing ploidy.\n", + "pattern": "chrXX:leftBufferPosition-rightBufferPosition" + } + }, + { + "reference": { + "type": "file", + "description": "Reference panel of haplotypes in VCF/BCF format.", + "pattern": "*.{vcf.gz,bcf.gz}" + } + }, + { + "reference_index": { + "type": "file", + "description": "Index file of the Reference panel file.", + "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" + } + }, + { + "scaffold": { + "type": "file", + "description": "Scaffold of haplotypes in VCF/BCF format.", + "pattern": "*.{vcf.gz,bcf.gz}" + } + }, + { + "scaffold_index": { + "type": "file", + "description": "Index file of the scaffold file.", + "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" + } + }, + { + "map": { + "type": "file", + "description": "File containing the genetic map.", + "pattern": "*.gmap" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "phased_variants": { + "type": "file", + "description": "Phased haplotypes in VCF/BCF format.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@LouisLeNezet" + ] + } + }, + { + "name": "shapeit5_phaserare", + "path": "modules/nf-core/shapeit5/phaserare/meta.yml", + "type": "module", + "meta": { + "name": "shapeit5_phaserare", + "description": "Tool to phase rare variants onto a scaffold of common variants (output of phase_common / ligate).\nRequire feature AVX2.\n", + "keywords": [ + "phasing", + "rare variants", + "haplotype", + "shapeit" + ], + "tools": [ + { + "shapeit5": { + "description": "Fast and accurate method for estimation of haplotypes (phasing)", + "homepage": "https://odelaneau.github.io/shapeit5/", + "documentation": "https://odelaneau.github.io/shapeit5/docs/documentation", + "tool_dev_url": "https://github.com/odelaneau/shapeit5", + "doi": "10.1101/2022.10.19.512867 ", + "licence": "['MIT']" + } + } + ], + "requirement": "AVX2", + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_plain": { + "type": "file", + "description": "Genotypes to be phased in plain VCF/BCF format.\n", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "input_plain_index": { + "type": "file", + "description": "Index file of the input_plain VCF/BCF file containing genotype likelihoods.", + "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" + } + }, + { + "input_region": { + "type": "string", + "description": "Region to be considered in --input-plain (e.g. chr20:1000000-2000000 or chr20).\nFor chrX, please treat PAR and non-PAR regions as different choromosome in order to avoid mixing ploidy.\n", + "pattern": "chrXX:leftBufferPosition-rightBufferPosition" + } + }, + { + "pedigree": { + "type": "file", + "description": "Pedigree information in the following format: offspring father mother.\n", + "pattern": "*.{txt, tsv}" + } + }, + { + "scaffold": { + "type": "file", + "description": "Scaffold of haplotypes in VCF/BCF format.", + "pattern": "*.{vcf.gz,bcf.gz}" + } + }, + { + "scaffold_index": { + "type": "file", + "description": "Index file of the scaffold file.", + "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" + } + }, + { + "scaffold_region": { + "type": "string", + "description": "Region to be considered in --scaffold (e.g. chr20:1000000-2000000 or chr20).\n", + "pattern": "chrXX:leftBufferPosition-rightBufferPosition" + } + }, + { + "map": { + "type": "file", + "description": "File containing the genetic map.", + "pattern": "*.gmap" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "phased_variants": { + "type": "file", + "description": "Phased haplotypes in VCF/BCF format.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@LouisLeNezet" + ] + } + }, + { + "name": "shapeit5_switch", + "path": "modules/nf-core/shapeit5/switch/meta.yml", + "type": "module", + "meta": { + "name": "shapeit5_switch", + "description": "Program to compute switch error rate and genotyping error rate given simulated or trio data.", + "keywords": [ + "error", + "phasing" + ], + "tools": [ + { + "shapeit5": { + "description": "Fast and accurate method for estimation of haplotypes (phasing)", + "homepage": "https://odelaneau.github.io/shapeit5/", + "documentation": "https://odelaneau.github.io/shapeit5/docs/documentation", + "tool_dev_url": "https://github.com/odelaneau/shapeit5", + "doi": "10.1101/2022.10.19.512867 ", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "estimate": { + "type": "file", + "description": "Imputed data.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "estimate_index": { + "type": "file", + "description": "Index file of the freq VCF/BCF file.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "region": { + "type": "string", + "description": "Target region used for imputation, including left and right buffers (e.g. chr20:1000000-2000000).", + "pattern": "chrXX:leftBufferPosition-rightBufferPosition" + } + }, + { + "pedigree": { + "type": "file", + "description": "Pedigree information in the following format: offspring father mother.\n", + "pattern": "*.{txt, tsv}" + } + }, + { + "truth": { + "type": "file", + "description": "Validation dataset called at the same positions as the imputed file.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "truth_index": { + "type": "file", + "description": "Index file of the truth VCF/BCF file.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "freq": { + "type": "file", + "description": "File containing allele frequencies at each site.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "freq_index": { + "type": "file", + "description": "Index file of the freq VCF/BCF file.", + "pattern": "*.{vcf.gz.csi,bcf.gz.csi}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "errors": { + "type": "file", + "description": "Estimates errors from the phased file.", + "pattern": "*.txt.gz" + } + } + ], + "authors": [ + "@LouisLeNezet" + ] + } + }, + { + "name": "shasta", + "path": "modules/nf-core/shasta/meta.yml", + "type": "module", + "meta": { + "name": "shasta", + "description": "The goal of the Shasta long read assembler is to rapidly produce accurate assembled sequence using DNA reads generated by Oxford Nanopore flow cells as input. Please note Assembler is design to focus on speed, so assembly may be considered somewhat non-deterministic as final assembly may vary across executions. See https://github.com/chanzuckerberg/shasta/issues/296.", + "keywords": [ + "nanopore", + "de-novo", + "assembly", + "longread" + ], + "tools": [ + { + "shasta": { + "description": "Rapidly produce accurate assembled sequence using as input DNA reads generated by Oxford Nanopore flow cells.", + "homepage": "https://chanzuckerberg.github.io/shasta/index.html", + "documentation": "https://chanzuckerberg.github.io/shasta/index.html", + "tool_dev_url": "https://github.com/chanzuckerberg/shasta", + "doi": "10.1038/s41587-020-0503-6", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Input file in FASTQ format.", + "pattern": "*.{fastq,fastq.gz,fq,fq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "assembly": { + "type": "file", + "description": "Assembled FASTA file", + "pattern": "${prefix}_Assembly.fasta.gz" + } + }, + { + "gfa": { + "type": "file", + "description": "Repeat graph", + "pattern": "${prefix}_Assembly.gfa.gz" + } + }, + { + "results": { + "type": "dir", + "description": "Resulting assembly directory", + "pattern": "ShastaRun" + } + } + ], + "authors": [ + "@fmalmeida" + ] + } + }, + { + "name": "shasum", + "path": "modules/nf-core/shasum/meta.yml", + "type": "module", + "meta": { + "name": "shasum", + "description": "Print SHA256 (256-bit) checksums.", + "keywords": [ + "checksum", + "sha256", + "256 bit" + ], + "tools": [ + { + "md5sum": { + "description": "Create an SHA256 (256-bit) checksum.", + "homepage": "https://www.gnu.org", + "documentation": "https://linux.die.net/man/1/shasum", + "licence": "GPLv3+" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "file": { + "type": "file", + "description": "Any file", + "pattern": "*.*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "checksum": { + "type": "file", + "description": "File containing checksum", + "pattern": "*.sha256" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "shigatyper", + "path": "modules/nf-core/shigatyper/meta.yml", + "type": "module", + "meta": { + "name": "shigatyper", + "description": "Determine Shigella serotype from Illumina or Oxford Nanopore reads", + "keywords": [ + "fastq", + "shigella", + "serotype" + ], + "tools": [ + { + "shigatyper": { + "description": "Typing tool for Shigella spp. from WGS Illumina sequencing", + "homepage": "https://github.com/CFSAN-Biostatistics/shigatyper", + "documentation": "https://github.com/CFSAN-Biostatistics/shigatyper", + "tool_dev_url": "https://github.com/CFSAN-Biostatistics/shigatyper", + "doi": "10.1128/AEM.00165-19", + "licence": "['Public Domain']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false, is_ont:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Illumina or Nanopore FASTQ file", + "pattern": "*.fastq.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "A TSV formatted file with ShigaTyper results", + "pattern": "*.tsv" + } + }, + { + "hits": { + "type": "file", + "description": "A TSV formatted file with individual gene hits", + "pattern": "*-hits.tsv" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "shigeifinder", + "path": "modules/nf-core/shigeifinder/meta.yml", + "type": "module", + "meta": { + "name": "shigeifinder", + "description": "Determine Shigella serotype from assemblies or Illumina paired-end reads", + "keywords": [ + "fastq", + "fasta", + "shigella", + "serotype" + ], + "tools": [ + { + "shigeifinder": { + "description": "Cluster informed Shigella and EIEC serotyping tool from Illumina reads and assemblies", + "homepage": "https://mgtdb.unsw.edu.au/ShigEiFinder/", + "documentation": "https://github.com/LanLab/ShigEiFinder", + "tool_dev_url": "https://github.com/LanLab/ShigEiFinder", + "doi": "10.1099/mgen.0.000704", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "seqs": { + "type": "file", + "description": "Assembly or paired-end Illumina reads", + "pattern": "*.{fasta,fasta.gz,fastq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "A TSV formatted file with ShigEiFinder results", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "shinyngs_app", + "path": "modules/nf-core/shinyngs/app/meta.yml", + "type": "module", + "meta": { + "name": "shinyngs_app", + "description": "build and deploy Shiny apps for interactively mining differential abundance data", + "keywords": [ + "differential", + "expression", + "rna-seq", + "deseq2" + ], + "tools": [ + { + "shinyngs": { + "description": "Provides Shiny applications for various array and NGS applications. Currently very RNA-seq centric, with plans for expansion.", + "homepage": "https://github.com/pinin4fjords/shinyngs", + "documentation": "https://rawgit.com/pinin4fjords/shinyngs/master/vignettes/shinyngs.html", + "tool_dev_url": "https://github.com/pinin4fjords/shinyngs", + "licence": "['AGPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing information on experiment, at a minimum an id.\ne.g. [ id:'test' ]\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing information on experiment, at a minimum an id. To match meta.\ne.g. [ id:'test' ]\n" + } + }, + { + "sample": { + "type": "file", + "description": "CSV-format sample sheet with sample metadata\n" + } + }, + { + "feature_meta": { + "type": "file", + "description": "TSV-format feature (e.g. gene) metadata\n" + } + }, + { + "assay_files": { + "type": "file", + "description": "List of TSV-format matrix files representing different measures for the same samples (e.g. raw and normalised).\n" + } + }, + { + "contrasts": { + "type": "file", + "description": "CSV-format file with four columns identifying the sample sheet variable, reference level, treatment level, and optionally a comma-separated list of covariates used as blocking factors.\n" + } + }, + { + "differential_results": { + "type": "file", + "description": "List of TSV-format differential analysis outputs, one per row of the contrasts file\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing information on experiment.\ne.g. [ id:'test' ]\n" + } + }, + { + "data": { + "type": "file", + "description": "A shinyngs ExploratorySummarizedExperiment\nobject serialized with saveRDS().\n", + "pattern": "app/data.rds" + } + }, + { + "app": { + "type": "file", + "description": "The mini R script required build an application from data.rds.\n", + "pattern": "app/app.R" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@pinin4fjords" + ] + }, + "pipelines": [ + { + "name": "differentialabundance", + "version": "1.2.0" + } + ] + }, + { + "name": "shinyngs_staticdifferential", + "path": "modules/nf-core/shinyngs/staticdifferential/meta.yml", + "type": "module", + "meta": { + "name": "shinyngs_staticdifferential", + "description": "Make plots for interpretation of differential abundance statistics", + "keywords": [ + "rnaseq", + "plot", + "differential", + "shinyngs" + ], + "tools": [ + { + "shinyngs": { + "description": "Provides Shiny applications for various array and NGS applications. Currently very RNA-seq centric, with plans for expansion.", + "homepage": "https://github.com/pinin4fjords/shinyngs", + "documentation": "https://rawgit.com/pinin4fjords/shinyngs/master/vignettes/shinyngs.html", + "tool_dev_url": "https://github.com/pinin4fjords/shinyngs", + "licence": "['AGPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing contrast information, to be passed as reference\nand target levels, like '--reference_level $meta.reference\n--treatment_level $meta.target'\ne.g. [ variable:'treatment', reference:'treated', control:'saline', blocking:'' ]\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing information on experiment represented by max,\nfeatures and samples, at a minimum an id.\ne.g. [ id:'test' ]\n" + } + }, + { + "differential_results": { + "type": "file", + "description": "CSV or TSV-format tabular file with differential analysis outputs\n" + } + }, + { + "sample": { + "type": "file", + "description": "CSV or TSV-format sample sheet with sample metadata\n" + } + }, + { + "feature_meta": { + "type": "file", + "description": "CSV or TSV-format feature (e.g. gene) metadata\n" + } + }, + { + "assay_file": { + "type": "file", + "description": "CSV or TSV matrix file to use alongside differential statistics in\ninterpretation. Usually a normalised form.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing contrast information\ne.g. [ variable:'treatment', reference:'treated', control:'saline', blocking:'' ]\n" + } + }, + { + "volcanos_png": { + "type": "file", + "description": "Meta-keyed tuple containing a PNG output for a volcano plot built from\nthe differential result table.\n" + } + }, + { + "volcanos_html": { + "type": "file", + "description": "Meta-keyed tuple containing an HTML output for a volcano plot built\nfrom the differential result table.\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@pinin4fjords" + ] + }, + "pipelines": [ + { + "name": "differentialabundance", + "version": "1.2.0" + } + ] + }, + { + "name": "shinyngs_staticexploratory", + "path": "modules/nf-core/shinyngs/staticexploratory/meta.yml", + "type": "module", + "meta": { + "name": "shinyngs_staticexploratory", + "description": "Make exploratory plots for analysis of matrix data, including PCA, Boxplots and density plots", + "keywords": [ + "exploratory", + "plot", + "boxplot", + "density", + "PCA" + ], + "tools": [ + { + "shinyngs": { + "description": "Provides Shiny applications for various array and NGS applications. Currently very RNA-seq centric, with plans for expansion.", + "homepage": "https://github.com/pinin4fjords/shinyngs", + "documentation": "https://rawgit.com/pinin4fjords/shinyngs/master/vignettes/shinyngs.html", + "tool_dev_url": "https://github.com/pinin4fjords/shinyngs", + "licence": "['AGPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing information on variables for use in plots,\nprobably experimental information, but at a minimum an id.\ne.g. [ id:'treatment' ]\n" + } + }, + { + "sample": { + "type": "file", + "description": "CSV-format sample sheet with sample metadata\n" + } + }, + { + "feature_meta": { + "type": "file", + "description": "TSV-format feature (e.g. gene) metadata\n" + } + }, + { + "assay_files": { + "type": "file", + "description": "List of TSV-format matrix files representing different measures for the same samples (e.g. raw and normalised).\n" + } + } + ], + "output": [ + { + "boxplots_png": { + "type": "file", + "description": "Meta-keyed tuple containing PNG output for box plots covering input\nmatrices.\n" + } + }, + { + "boxplots_html": { + "type": "file", + "description": "Meta-keyed tuple containing HTML output for box plots covering input\nmatrices.\n" + } + }, + { + "densities_png": { + "type": "file", + "description": "Meta-keyed tuple containing PNG output for density plots\ncovering input matrices.\n" + } + }, + { + "densities_html": { + "type": "file", + "description": "Meta-keyed tuple containing HTML output for density plots\ncovering input matrices.\n" + } + }, + { + "pca2d_png": { + "type": "file", + "description": "Meta-keyed tuple containing a PNG output for 2D PCA plots covering\nspecified input matrix (by default the last one in the input list.\n" + } + }, + { + "pca2d_html": { + "type": "file", + "description": "Meta-keyed tuple containing an HTML output for 2D PCA plots covering\nspecified input matrix (by default the last one in the input list.\n" + } + }, + { + "pca3d_png": { + "type": "file", + "description": "Meta-keyed tuple containing a PNG output for 3D PCA plots covering\nspecified input matrix (by default the last one in the input list.\n" + } + }, + { + "pca3d_html": { + "type": "file", + "description": "Meta-keyed tuple containing an HTML output for 3D PCA plots covering\nspecified input matrix (by default the last one in the input list.\n" + } + }, + { + "mad_png": { + "type": "file", + "description": "Meta-keyed tuple containing a PNG output for MAD correlation plots\ncovering specified input matrix (by default the last one in the input\nlist.\n" + } + }, + { + "mad_dendro": { + "type": "file", + "description": "Meta-keyed tuple containing an HTML output for MAD correlation plots\ncovering specified input matrix (by default the last one in the input\nlist.\n" + } + }, + { + "dendro": { + "type": "file", + "description": "Meta-keyed tuple containing a PNG, for a sample clustering\ndendrogramcovering specified input matrix (by default the last one in\nthe input list.\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@pinin4fjords" + ] + }, + "pipelines": [ + { + "name": "differentialabundance", + "version": "1.2.0" + } + ] + }, + { + "name": "shinyngs_validatefomcomponents", + "path": "modules/nf-core/shinyngs/validatefomcomponents/meta.yml", + "type": "module", + "meta": { + "name": "shinyngs_validatefomcomponents", + "description": "validate consistency of feature and sample annotations with matrices and contrasts", + "keywords": [ + "expression", + "features", + "observations", + "validation" + ], + "tools": [ + { + "shinyngs": { + "description": "Provides Shiny applications for various array and NGS applications. Currently very RNA-seq centric, with plans for expansion.", + "homepage": "https://github.com/pinin4fjords/shinyngs", + "documentation": "https://rawgit.com/pinin4fjords/shinyngs/master/vignettes/shinyngs.html", + "tool_dev_url": "https://github.com/pinin4fjords/shinyngs", + "licence": "['AGPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing information on experiment, at a minimum an id.\ne.g. [ id:'test' ]\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing information on features.\ne.g. [ id:'test' ]\n" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing information on contrasts.\ne.g. [ id:'test' ]\n" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing information on experiment, at a minimum an id. To match meta.\ne.g. [ id:'test' ]\n" + } + }, + { + "sample": { + "type": "file", + "description": "CSV-format sample sheet with sample metadata\n" + } + }, + { + "feature_meta": { + "type": "file", + "description": "TSV-format feature (e.g. gene) metadata\n" + } + }, + { + "assay_files": { + "type": "file", + "description": "List of TSV-format matrix files representing different measures for the same samples (e.g. raw and normalised).\n" + } + }, + { + "contrasts": { + "type": "file", + "description": "CSV-format file with four columns identifying the sample sheet variable, reference level, treatment level, and optionally a comma-separated list of covariates used as blocking factors.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing information on experiment.\ne.g. [ id:'test' ]\n" + } + }, + { + "sample_meta": { + "type": "file", + "description": "File containing validated sample metadata", + "pattern": "/*.sample_metadata.tsv" + } + }, + { + "feature_meta": { + "type": "file", + "description": "File containing validated feature metadata", + "pattern": "/*.feature_metadata.tsv", + "optional": true + } + }, + { + "assays": { + "type": "file", + "description": "Files containing validated matrices", + "pattern": "/*.assay.tsv" + } + }, + { + "contrasts": { + "type": "file", + "description": "Files containing validated matrices", + "pattern": "/*.contrasts_file.tsv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@pinin4fjords" + ] + }, + "pipelines": [ + { + "name": "differentialabundance", + "version": "1.2.0" + } + ] + }, + { + "name": "shovill", + "path": "modules/nf-core/shovill/meta.yml", + "type": "module", + "meta": { + "name": "shovill", + "description": "Assemble bacterial isolate genomes from Illumina paired-end reads", + "keywords": [ + "bacterial", + "assembly", + "illumina" + ], + "tools": [ + { + "shovill": { + "description": "Microbial assembly pipeline for Illumina paired-end reads", + "homepage": "https://github.com/tseemann/shovill", + "documentation": "https://github.com/tseemann/shovill/blob/master/README.md", + "licence": [ + "GPL v2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input paired-end FastQ files" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "contigs": { + "type": "file", + "description": "The final assembly produced by Shovill", + "pattern": "contigs.fa" + } + }, + { + "corrections": { + "type": "file", + "description": "List of post-assembly corrections made by Shovill", + "pattern": "shovill.corrections" + } + }, + { + "log": { + "type": "file", + "description": "Full log file for bug reporting", + "pattern": "shovill.log" + } + }, + { + "raw_contigs": { + "type": "file", + "description": "Raw assembly produced by the assembler (SKESA, SPAdes, MEGAHIT, or Velvet)", + "pattern": "{skesa,spades,megahit,velvet}.fasta" + } + }, + { + "gfa": { + "type": "file", + "description": "Assembly graph produced by MEGAHIT, SPAdes, or Velvet", + "pattern": "contigs.{fastg,gfa,LastGraph}" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "sickle", + "path": "modules/nf-core/sickle/meta.yml", + "type": "module", + "meta": { + "name": "sickle", + "description": "A windowed adaptive trimming tool for FASTQ files using quality", + "keywords": [ + "fastq", + "sliding window", + "trimming" + ], + "tools": [ + { + "sickle": { + "description": "a tool that determines clipping of reads on 3' end and 5'end based on base quality ", + "homepage": "https://github.com/najoshi/sickle", + "tool_dev_url": "https://github.com/najoshi/sickle", + "licence": "['MIT License']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data, respectively. File of forward reads must be supplied first and reverse reads as the second e.g. [\"read.1.fastq.gz\",\"read.2.fastq.gz\"]", + "pattern": "*.{fq,fastq,fq.gz,fastq.gz}" + } + }, + { + "qual_type": { + "type": "string", + "description": "sickle needs a base quality values, which could be either illumina, solexa or sanger", + "pattern": "illumina or solexa or sanger" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false, qual:'Illumina' ]\n" + } + }, + { + "single_trimmed": { + "type": "file", + "description": "5' or 3' trimmed (based on base quality) single-end fastq file", + "pattern": "*.se.trimmed.fastq.gz" + } + }, + { + "paired1_trimmed": { + "type": "file", + "description": "5' or 3' trimmed (based on base quality) R1 fastq file", + "pattern": "*.pe1.trimmed.fastq.gz" + } + }, + { + "paired2_trimmed": { + "type": "file", + "description": "5' or 3' trimmed (based on base quality) R2 fastq file", + "pattern": "*.pe2.trimmed.fastq.gz" + } + }, + { + "log": { + "type": "file", + "description": "log file", + "pattern": "*.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@BioInf2305" + ] + } + }, + { + "name": "simpleaf_index", + "path": "modules/nf-core/simpleaf/index/meta.yml", + "type": "module", + "meta": { + "name": "simpleaf_index", + "description": "Indexing of transcriptome for gene expression quantification using SimpleAF", + "keywords": [ + "indexing", + "transcriptome", + "gene expression", + "SimpleAF" + ], + "tools": [ + { + "simpleaf": { + "description": "SimpleAF is a tool for quantification of gene expression from RNA-seq data\n", + "homepage": "https://github.com/COMBINE-lab/simpleaf", + "licence": [ + "BSD-3-Clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing information on genome_fasta\n" + } + }, + { + "genome_fasta": { + "type": "file", + "description": "FASTA file containing the genome sequence\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing information on genome_gtf\n" + } + }, + { + "genome_gtf": { + "type": "file", + "description": "GTF file containing transcript annotations. Optional if transcript FASTA file is provided.\n" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing information on transcript_fasta\n" + } + }, + { + "transcript_fasta": { + "type": "file", + "description": "FASTA file containing the transcript sequences. Optional if transcript GTF file is provided.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing information on genome_fasta or transcript_fasta (whichever was used)\n" + } + }, + { + "index": { + "type": "directory", + "description": "Folder containing the Salmon index files\n", + "pattern": "salmon/index" + } + }, + { + "transcript_tsv": { + "type": "file", + "description": "Transcript-to-gene mapping file in 3-column TSV format\n", + "pattern": "salmon/ref/*_t2g_3col.tsv" + } + }, + { + "salmon": { + "type": "directory", + "description": "Folder containing the Salmon files\n", + "pattern": "salmon" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions\n", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@fmalmeida", + "@maxulysse", + "@Khajidu", + "@apeltzer", + "@pinin4fjords" + ] + } + }, + { + "name": "simpleaf_quant", + "path": "modules/nf-core/simpleaf/quant/meta.yml", + "type": "module", + "meta": { + "name": "simpleaf_quant", + "description": "simpleaf is a program to simplify and customize the running and configuration of single-cell processing with alevin-fry.", + "keywords": [ + "quantification", + "gene expression", + "SimpleAF" + ], + "tools": [ + { + "simpleaf": { + "description": "SimpleAF is a tool for quantification of gene expression from RNA-seq data\n", + "homepage": "https://github.com/COMBINE-lab/simpleaf", + "licence": [ + "BSD-3-Clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files for paired-end data.\nReads should be grouped by pairs.\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing index information\n" + } + }, + { + "index": { + "type": "directory", + "description": "Folder containing the index files" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing txp2gene information\n" + } + }, + { + "txp2gene": { + "type": "file", + "description": "File mapping transcripts to genes.\n" + } + }, + { + "chemistry": { + "type": "string", + "description": "Chemistry used for library preparation. It can be a string describing\nthe specific chemistry or the geometry of the barcode, UMI, and\nmappable read. For example, \"10xv2\" and \"10xv3\" will apply the\nappropriate settings for 10x Chromium v2 and v3 protocols,\nrespectively. Alternatively, you can provide a general geometry string\nif your chemistry is not pre-registered. For example, instead of\n\"10xv2\", you could use \"1{b[16]u[10]x:}2{r:}\", or instead of \"10xv3\",\nyou could use \"1{b[16]u[12]x:}2{r:}\".\n" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing whitelist information\n" + } + }, + { + "whitelist": { + "type": "file", + "description": "Whitelist file containing valid cell barcodes. Optional.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "alevin_results": { + "type": "directory", + "description": "Folder containing the Alevin results for a specific sample\n", + "pattern": "*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@fmalmeida", + "@maxulysse", + "@Khajidu", + "@apeltzer", + "@pinin4fjords" + ] + } + }, + { + "name": "sistr", + "path": "modules/nf-core/sistr/meta.yml", + "type": "module", + "meta": { + "name": "sistr", + "description": "Serovar prediction of salmonella assemblies", + "keywords": [ + "bacteria", + "fasta", + "salmonella" + ], + "tools": [ + { + "sistr": { + "description": "Salmonella In Silico Typing Resource (SISTR) commandline tool for serovar prediction", + "homepage": "https://github.com/phac-nml/sistr_cmd", + "documentation": "https://github.com/phac-nml/sistr_cmd", + "tool_dev_url": "https://github.com/phac-nml/sistr_cmd", + "doi": "10.1371/journal.pone.0147101", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Nucleotide or protein sequences in FASTA format", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz,faa,faa.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "SISTR serovar prediction", + "pattern": "*.{tsv}" + } + }, + { + "allele_json": { + "type": "file", + "description": "Allele sequences and info to JSON", + "pattern": "*.{json}" + } + }, + { + "allele_fasta": { + "type": "file", + "description": "FASTA file destination of novel cgMLST alleles", + "pattern": "*.{fasta}" + } + }, + { + "cgmlst_csv": { + "type": "file", + "description": "CSV file destination for cgMLST allelic profiles", + "pattern": "*.{csv}" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "slimfastq", + "path": "modules/nf-core/slimfastq/meta.yml", + "type": "module", + "meta": { + "name": "slimfastq", + "description": "Fast, efficient, lossless compression of FASTQ files.", + "keywords": [ + "FASTQ", + "compression", + "lossless" + ], + "tools": [ + { + "slimfastq": { + "description": "slimfastq efficiently compresses/decompresses FASTQ files", + "homepage": "https://github.com/Infinidat/slimfastq", + "tool_dev_url": "https://github.com/Infinidat/slimfastq", + "licence": "['BSD-3-clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "Either a single-end FASTQ file or paired-end files.", + "pattern": "*.{fq.gz,fastq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sfq": { + "type": "file", + "description": "Either one or two sequence files in slimfastq compressed format.", + "pattern": "*.{sfq}" + } + } + ], + "authors": [ + "@Midnighter" + ] + } + }, + { + "name": "smncopynumbercaller", + "path": "modules/nf-core/smncopynumbercaller/meta.yml", + "type": "module", + "meta": { + "name": "smncopynumbercaller", + "description": "tool to call the copy number of full-length SMN1, full-length SMN2, as well as SMN2Δ7–8 (SMN2 with a deletion of Exon7-8) from a whole-genome sequencing (WGS) BAM file.", + "keywords": [ + "copy number, BAM, CRAM, SMN1, SMN2" + ], + "tools": [ + { + "smncopynumbercaller": { + "description": "call copy number of SMN1, SMN2, SMN2Δ7–8 from a bam file", + "homepage": "https://github.com/Illumina/SMNCopyNumberCaller", + "documentation": "https://github.com/Illumina/SMNCopyNumberCaller", + "tool_dev_url": "https://github.com/Illumina/SMNCopyNumberCaller", + "doi": "10.1038/s41436-020-0754-0", + "licence": "Apache License Version 2.0" + } + } + ], + "input": [ + { + "bam": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM/CRAM index file", + "pattern": "*.{bai,crai}" + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "run_metrics": { + "type": "file", + "description": "File containing run parameters of SMNCopyNumberCaller", + "pattern": "*.{json}" + } + }, + { + "smncopynumber": { + "type": "file", + "description": "File containing the output of SMNCopyNumberCaller", + "pattern": "*.{tsv}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@peterpru" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "smoothxg", + "path": "modules/nf-core/smoothxg/meta.yml", + "type": "module", + "meta": { + "name": "smoothxg", + "description": "Linearize and simplify variation graph in GFA format using blocked partial order alignment", + "keywords": [ + "gfa", + "graph", + "pangenome", + "variation graph", + "POA" + ], + "tools": [ + { + "smoothxg": { + "description": "smoothxg linearizes and simplifies variation graphs using blocked partial\norder alignment.\n", + "homepage": "https://github.com/pangenome/smoothxg", + "documentation": "https://github.com/pangenome/smoothxg", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gfa": { + "type": "file", + "description": "Variation graph in GFA 1.0 format", + "pattern": "*.{gfa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gfa": { + "type": "file", + "description": "Linearized and simplified graph in GFA 1.0 format", + "pattern": "*.smoothxg.{gfa}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "maf": { + "type": "file", + "description": "write the multiple sequence alignments (MSAs) in MAF format in this file (optional)", + "pattern": "*.{maf}" + } + } + ], + "authors": [ + "@heuermh, @subwaystation" + ] + }, + "pipelines": [ + { + "name": "pangenome", + "version": "dev" + } + ] + }, + { + "name": "smoove_call", + "path": "modules/nf-core/smoove/call/meta.yml", + "type": "module", + "meta": { + "name": "smoove_call", + "description": "smoove simplifies and speeds calling and genotyping SVs for short reads. It also improves specificity by removing many spurious alignment signals that are indicative of low-level noise and often contribute to spurious calls. Developped by Brent Pedersen.", + "keywords": [ + "structural variants", + "SV", + "vcf", + "wgs" + ], + "tools": [ + { + "smoove": { + "description": "structural variant calling and genotyping with existing tools, but, smoothly", + "homepage": "https://github.com/brentp/smoove", + "documentation": "https://brentp.github.io/post/smoove/", + "tool_dev_url": "https://github.com/brentp/smoove", + "licence": "['Apache-2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "index": { + "type": "file", + "description": "Index of BAM/CRAM file", + "pattern": "*.{bai,crai}" + } + }, + { + "exclude_beds": { + "type": "file", + "description": "A BED file containing the regions to exclude from the SV calling", + "pattern": "*.bed" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.{fasta,fna,fa}" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed VCF file", + "pattern": "*.vcf.gz" + } + } + ], + "authors": [ + "@scorreard", + "@nvnieuwk" + ] + } + }, + { + "name": "snapaligner_align", + "path": "modules/nf-core/snapaligner/align/meta.yml", + "type": "module", + "meta": { + "name": "snapaligner_align", + "description": "Performs fastq alignment to a fasta reference using SNAP", + "keywords": [ + "alignment", + "map", + "fastq", + "bam", + "sam" + ], + "tools": [ + { + "snapaligner": { + "description": "Scalable Nucleotide Alignment Program -- a fast and accurate read aligner for high-throughput sequencing data", + "homepage": "http://snap.cs.berkeley.edu", + "documentation": "https://1drv.ms/b/s!AhuEg_0yZD86hcpblUt-muHKYsG8fA?e=R8ogug", + "tool_dev_url": "https://github.com/amplab/snap", + "doi": "10.1101/2021.11.23.469039", + "licence": "['Apache v2']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input fastq files of size 2 for paired fastq or 1 for bam or single fastq", + "pattern": "*.{fastq.gz,fq.gz,fastq,fq,bam}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "index": { + "type": "file", + "description": "List of SNAP genome index files", + "pattern": "{Genome,GenomeIndex,GenomeIndexHash,OverflowTable}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Aligned BAM file", + "pattern": "*.{bam}" + } + }, + { + "bai": { + "type": "file", + "description": "Optional aligned BAM file index", + "pattern": "*.{bai}" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "snapaligner_index", + "path": "modules/nf-core/snapaligner/index/meta.yml", + "type": "module", + "meta": { + "name": "snapaligner_index", + "description": "Create a SNAP index for reference genome", + "keywords": [ + "index", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "snapaligner": { + "description": "Scalable Nucleotide Alignment Program -- a fast and accurate read aligner for high-throughput sequencing data", + "homepage": "http://snap.cs.berkeley.edu", + "documentation": "https://1drv.ms/b/s!AhuEg_0yZD86hcpblUt-muHKYsG8fA?e=R8ogug", + "tool_dev_url": "https://github.com/amplab/snap", + "doi": "10.1101/2021.11.23.469039", + "licence": "['Apache v2']" + } + } + ], + "input": [ + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Input genome fasta file" + } + }, + { + "altcontigfile": { + "type": "file", + "description": "Optional file with a list of alt contig names, one per line." + } + }, + { + "nonaltcontigfile": { + "type": "file", + "description": "Optional file that contains a list of contigs (one per line) that will not be marked ALT regardless of size." + } + }, + { + "altliftoverfile": { + "type": "file", + "description": "Optional file containing ALT-to-REF mappings (SAM format). e.g., hs38DH.fa.alt from bwa-kit." + } + } + ], + "output": [ + { + "index": { + "type": "file", + "description": "SNAP genome index files", + "pattern": "{Genome,GenomeIndex,GenomeIndexHash,OverflowTable}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "sniffles", + "path": "modules/nf-core/sniffles/meta.yml", + "type": "module", + "meta": { + "name": "sniffles", + "description": "structural-variant calling with sniffles", + "keywords": [ + "sniffles", + "structural-variant calling" + ], + "tools": [ + { + "sniffles": { + "description": "a fast structural variant caller for long-read sequencing", + "homepage": "https://github.com/fritzsedlazeck/Sniffles", + "documentation": "https://github.com/fritzsedlazeck/Sniffles#readme", + "tool_dev_url": "https://github.com/fritzsedlazeck/Sniffles", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "Index of BAM file", + "pattern": "*.bai" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'fasta' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference database in FASTA format\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "snf": { + "type": "file", + "description": "Compressed SNF file", + "pattern": "*.snf.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@christopher-hakkaart", + "@yuukiiwa" + ] + } + }, + { + "name": "snippy_core", + "path": "modules/nf-core/snippy/core/meta.yml", + "type": "module", + "meta": { + "name": "snippy_core", + "description": "Core-SNP alignment from Snippy outputs", + "keywords": [ + "core", + "alignment", + "bacteria", + "snippy" + ], + "tools": [ + { + "snippy": { + "description": "Rapid bacterial SNP calling and core genome alignments", + "homepage": "https://github.com/tseemann/snippy", + "documentation": "https://github.com/tseemann/snippy", + "tool_dev_url": "https://github.com/tseemann/snippy", + "licence": "['GPL v2']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Annotated variants in VCF format", + "pattern": "*.vcf.gz" + } + }, + { + "aligned_fa": { + "type": "file", + "description": "A version of the reference but with - at position with depth=0 and N for 0 < depth < --mincov (does not have variants)", + "pattern": "*.aligned.fa.gz" + } + }, + { + "reference": { + "type": "file", + "description": "Reference genome in GenBank (preferred) or FASTA format", + "pattern": "*.{gbk,gbk.gz,gbff,gbff.gz,fa,fa.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "aln": { + "type": "file", + "description": "A core SNP alignment in FASTA format", + "pattern": "*.aln" + } + }, + { + "full_aln": { + "type": "file", + "description": "A whole genome SNP alignment (includes invariant sites)", + "pattern": "*.full.aln" + } + }, + { + "tab": { + "type": "file", + "description": "Tab-separated columnar list of core SNP sites with alleles but NO annotations", + "pattern": "*.tab" + } + }, + { + "vcf": { + "type": "file", + "description": "Multi-sample VCF file with genotype GT tags for all discovered alleles", + "pattern": "*.vcf" + } + }, + { + "txt": { + "type": "file", + "description": "Tab-separated columnar list of alignment/core-size statistics", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "snippy_run", + "path": "modules/nf-core/snippy/run/meta.yml", + "type": "module", + "meta": { + "name": "snippy_run", + "description": "Rapid haploid variant calling", + "keywords": [ + "variant", + "fastq", + "bacteria" + ], + "tools": [ + { + "snippy": { + "description": "Rapid bacterial SNP calling and core genome alignments", + "homepage": "https://github.com/tseemann/snippy", + "documentation": "https://github.com/tseemann/snippy", + "tool_dev_url": "https://github.com/tseemann/snippy", + "licence": "['GPL v2']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n", + "pattern": "*.{fq,fastq,fq.gz,fastq.gz}" + } + }, + { + "index": { + "type": "file", + "description": "Reference genome in GenBank (preferred) or FASTA format", + "pattern": "*.{gbk,gbk.gz,fa,fa.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tab": { + "type": "file", + "description": "A simple tab-separated summary of all the variants", + "pattern": "*.tab" + } + }, + { + "csv": { + "type": "file", + "description": "A comma-separated version of the .tab file", + "pattern": "*.csv" + } + }, + { + "html": { + "type": "file", + "description": "A HTML version of the .tab file", + "pattern": "*.html" + } + }, + { + "vcf": { + "type": "file", + "description": "The final annotated variants in VCF format", + "pattern": "*.vcf" + } + }, + { + "bed": { + "type": "file", + "description": "The variants in BED format", + "pattern": "*.bed" + } + }, + { + "gff": { + "type": "file", + "description": "The variants in GFF3 format", + "pattern": "*.gff" + } + }, + { + "bam": { + "type": "file", + "description": "The alignments in BAM format. Includes unmapped, multimapping reads. Excludes duplicates.", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "Index for the .bam file", + "pattern": "*.bam.bai" + } + }, + { + "log": { + "type": "file", + "description": "A log file with the commands run and their outputs", + "pattern": "*.log" + } + }, + { + "aligned_fa": { + "type": "file", + "description": "A version of the reference but with - at position with depth=0 and N for 0 < depth < --mincov (does not have variants)", + "pattern": "*.aligned.fa" + } + }, + { + "consensus_fa": { + "type": "file", + "description": "A version of the reference genome with all variants instantiated", + "pattern": "*.consensus.fa" + } + }, + { + "consensus_subs_fa": { + "type": "file", + "description": "A version of the reference genome with only substitution variants instantiated", + "pattern": "*.consensus.subs.fa" + } + }, + { + "raw_vcf": { + "type": "file", + "description": "The unfiltered variant calls from Freebayes", + "pattern": "*.raw.vcf" + } + }, + { + "filt_vcf": { + "type": "file", + "description": "The filtered variant calls from Freebayes", + "pattern": "*.filt.vcf" + } + }, + { + "vcf_gz": { + "type": "file", + "description": "Compressed .vcf file via BGZIP", + "pattern": "*.vcf.gz" + } + }, + { + "vcf_csi": { + "type": "file", + "description": "Index for the .vcf.gz via bcftools index", + "pattern": "*.vcf.gz.csi" + } + }, + { + "txt": { + "type": "file", + "description": "Tab-separated columnar list of statistics", + "pattern": "*.txt" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "snpdists", + "path": "modules/nf-core/snpdists/meta.yml", + "type": "module", + "meta": { + "name": "snpdists", + "description": "Pairwise SNP distance matrix from a FASTA sequence alignment", + "keywords": [ + "snp-dists", + "distance-matrix" + ], + "tools": [ + { + "snpdists": { + "description": "Convert a FASTA alignment to SNP distance matrix", + "homepage": "https://github.com/tseemann/snp-dists", + "documentation": "https://github.com/tseemann/snp-dists", + "tool_dev_url": "https://github.com/tseemann/snp-dists", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "alignment": { + "type": "file", + "description": "The input FASTA sequence alignment file", + "pattern": "*.{fasta,fasta.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tsv": { + "type": "file", + "description": "The output TSV file containing SNP distance matrix", + "pattern": "*.tsv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@abhi18av" + ] + } + }, + { + "name": "snpeff_download", + "path": "modules/nf-core/snpeff/download/meta.yml", + "type": "module", + "meta": { + "name": "SNPEFF_DOWNLOAD", + "description": "Genetic variant annotation and functional effect prediction toolbox", + "keywords": [ + "annotation" + ], + "tools": [ + { + "snpeff": { + "description": "SnpEff is a variant annotation and effect prediction tool.\nIt annotates and predicts the effects of genetic variants on genes and proteins (such as amino acid changes).\n", + "homepage": "https://pcingola.github.io/SnpEff/", + "documentation": "https://pcingola.github.io/SnpEff/se_introduction/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "vcf to annotate\n" + } + }, + { + "db": { + "type": "value", + "description": "which db to annotate with\n" + } + } + ], + "output": [ + { + "cache": { + "type": "file", + "description": "snpEff cache\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "snpeff_snpeff", + "path": "modules/nf-core/snpeff/snpeff/meta.yml", + "type": "module", + "meta": { + "name": "SNPEFF_SNPEFF", + "description": "Genetic variant annotation and functional effect prediction toolbox", + "keywords": [ + "annotation", + "variant", + "effect prediction" + ], + "tools": [ + { + "snpeff": { + "description": "SnpEff is a variant annotation and effect prediction tool.\nIt annotates and predicts the effects of genetic variants on genes and proteins (such as amino acid changes).\n", + "homepage": "https://pcingola.github.io/SnpEff/", + "documentation": "https://pcingola.github.io/SnpEff/se_introduction/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "vcf to annotate\n" + } + }, + { + "db": { + "type": "string", + "description": "which db to annotate with\n" + } + }, + { + "cache": { + "type": "file", + "description": "path to snpEff cache (optional)\n" + } + } + ], + "output": [ + { + "vcf": { + "type": "file", + "description": "annotated vcf\n", + "pattern": "*.ann.vcf" + } + }, + { + "report": { + "type": "file", + "description": "snpEff report csv file", + "pattern": "*.csv" + } + }, + { + "summary_html": { + "type": "file", + "description": "snpEff summary statistics in html file", + "pattern": "*.html" + } + }, + { + "genes_txt": { + "type": "file", + "description": "txt (tab separated) file having counts of the number of variants affecting each transcript and gene", + "pattern": "*.genes.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "snpsift_annotate", + "path": "modules/nf-core/snpsift/annotate/meta.yml", + "type": "module", + "meta": { + "name": "snpsift_annotate", + "description": "Annotate a VCF file with another VCF file", + "keywords": [ + "variant calling", + "annotate", + "snpsift", + "cancer genomics" + ], + "tools": [ + { + "snpsift": { + "description": "SnpSift is a toolbox that allows you to filter and manipulate annotated files", + "homepage": "https://pcingola.github.io/SnpEff/ss_introduction/", + "documentation": "https://pcingola.github.io/SnpEff/ss_introduction/", + "tool_dev_url": "https://github.com/pcingola/SnpEff", + "doi": "10.3389/fgene.2012.00035", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information regarding vcf file provided\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf, vcf.gz}" + } + }, + { + "vcf_tbi": { + "type": "file", + "description": "Tabix file for compressed vcf provided", + "pattern": "*.{tbi}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy map containing sample information regarding database provided\n" + } + }, + { + "database": { + "type": "file", + "description": "Database for use to annotate", + "pattern": "*.{vcf/vcf.gz}" + } + }, + { + "dbs_tbi": { + "type": "file", + "description": "Tabix file for compressed database provided", + "pattern": "*.{tbi}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Variant Calling File annotated", + "pattern": "*.{vcf}" + } + } + ], + "authors": [ + "@LlaneroHiboreo" + ] + } + }, + { + "name": "snpsift_dbnsfp", + "path": "modules/nf-core/snpsift/dbnsfp/meta.yml", + "type": "module", + "meta": { + "name": "snpsift_dbnsfp", + "description": "The dbNSFP is an integrated database of functional predictions from multiple algorithms", + "keywords": [ + "variant calling", + "dbnsfp", + "snpsift", + "cancer genomics", + "predictions" + ], + "tools": [ + { + "snpsift": { + "description": "SnpSift is a toolbox that allows you to filter and manipulate annotated files", + "homepage": "https://pcingola.github.io/SnpEff/ss_introduction/", + "documentation": "https://pcingola.github.io/SnpEff/ss_dbnsfp/", + "tool_dev_url": "https://github.com/pcingola/SnpEff", + "doi": "10.3389/fgene.2012.00035", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information regarding vcf file provided\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf, vcf.gz}" + } + }, + { + "vcf_tbi": { + "type": "file", + "description": "Tabix file for compressed vcf provided", + "pattern": "*.{tbi}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy map containing sample information regarding database provided\n" + } + }, + { + "database": { + "type": "file", + "description": "Database for use to annotate", + "pattern": "*.{vcf/vcf.gz}" + } + }, + { + "dbs_tbi": { + "type": "file", + "description": "Tabix file for compressed database provided", + "pattern": "*.{tbi}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Variant Calling File annotated", + "pattern": "*.{vcf}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@LlaneroHiboreo" + ] + } + }, + { + "name": "snpsift_split", + "path": "modules/nf-core/snpsift/split/meta.yml", + "type": "module", + "meta": { + "name": "snpsift_split", + "description": "Splits/Joins VCF(s) file into chromosomes", + "keywords": [ + "split", + "join", + "vcf" + ], + "tools": [ + { + "snpsift": { + "description": "SnpSift is a toolbox that allows you to filter and manipulate annotated files", + "homepage": "https://pcingola.github.io/SnpEff/ss_introduction/", + "documentation": "https://pcingola.github.io/SnpEff/ss_introduction/", + "tool_dev_url": "https://github.com/pcingola/SnpEff", + "doi": "10.3389/fgene.2012.00035", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file (split) or list of files (join)", + "description": "VCF file(s)", + "pattern": "*.{vcf,vcf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "out_vcfs": { + "type": "file", + "description": "Split/Joined VCF file(s)", + "pattern": "*.vcf" + } + } + ], + "authors": [ + "@SusiJo", + "@jonasscheid" + ] + } + }, + { + "name": "snpsites", + "path": "modules/nf-core/snpsites/meta.yml", + "type": "module", + "meta": { + "name": "snpsites", + "description": "Rapidly extracts SNPs from a multi-FASTA alignment.", + "keywords": [ + "SNPs", + "invariant", + "constant" + ], + "tools": [ + { + "snpsites": { + "description": "Rapidly extracts SNPs from a multi-FASTA alignment.", + "homepage": "https://www.sanger.ac.uk/tool/snp-sites/", + "documentation": "https://github.com/sanger-pathogens/snp-sites", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "alignment": { + "type": "file", + "description": "fasta alignment file", + "pattern": "*.{fasta,fas,fa,aln}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fasta": { + "type": "file", + "description": "Variant fasta file", + "pattern": "*.{fas}" + } + }, + { + "constant_sites": { + "type": "file", + "description": "Text file containing counts of constant sites", + "pattern": "*.{sites.txt}" + } + } + ], + "authors": [ + "@avantonder" + ] + } + }, + { + "name": "somalier_ancestry", + "path": "modules/nf-core/somalier/ancestry/meta.yml", + "type": "module", + "meta": { + "name": "somalier_ancestry", + "description": "Somalier can extract informative sites, evaluate relatedness, and perform quality-control on BAM/CRAM/BCF/VCF/GVCF or from jointly-called VCFs", + "keywords": [ + "relatedness", + "QC", + "bam", + "cram", + "vcf", + "gvcf", + "ancestry", + "identity", + "kinship", + "informative sites", + "family" + ], + "tools": [ + { + "somalier": { + "description": "Somalier can extract informative sites, evaluate relatedness, and perform quality-control on BAM/CRAM/BCF/VCF/GVCF or from jointly-called VCFs", + "homepage": "https://github.com/brentp/somalier", + "documentation": "https://github.com/brentp/somalier", + "tool_dev_url": "https://github.com/brentp/somalier", + "doi": "10.1186/s13073-020-00761-2", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "query_somalier_files": { + "type": "file", + "description": "Set of somalier files for query samples. Obtained via somalier extract.", + "pattern": "*.{somalier}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing labelled samples information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "labelled_somalier_files": { + "type": "file", + "description": "Set of somalier files for labelled samples. e.g. Somalier files for 1kg https://zenodo.org/record/3479773/files/1kg.somalier.tar.gz?download=1", + "pattern": "*.{somalier}" + } + }, + { + "labels_tsv": { + "type": "file", + "description": "TSV for labelled samples. e.g. Somalier labels for 1kg https://raw.githubusercontent.com/brentp/somalier/master/scripts/ancestry-labels-1kg.tsv", + "pattern": "*.{tsv}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "TSV with ancestry information for query and labelled samples.", + "pattern": "*.{-ancestry.tsv}" + } + }, + { + "html": { + "type": "file", + "description": "html file with ancestry information for query and labelled samples.", + "pattern": "*.{-ancestry.html}" + } + } + ], + "authors": [ + "@atrigila" + ] + } + }, + { + "name": "somalier_extract", + "path": "modules/nf-core/somalier/extract/meta.yml", + "type": "module", + "meta": { + "name": "somalier_extract", + "description": "Somalier can extract informative sites, evaluate relatedness, and perform quality-control on BAM/CRAM/BCF/VCF/GVCF or from jointly-called VCFs", + "keywords": [ + "relatedness", + "QC", + "bam", + "cram", + "vcf", + "gvcf", + "ancestry", + "identity", + "kinship", + "informative sites", + "family" + ], + "tools": [ + { + "somalier": { + "description": "Somalier can extract informative sites, evaluate relatedness, and perform quality-control on BAM/CRAM/BCF/VCF/GVCF or from jointly-called VCFs", + "homepage": "https://github.com/brentp/somalier", + "documentation": "https://github.com/brentp/somalier/blob/master/README.md", + "tool_dev_url": "https://github.com/brentp/somalier", + "doi": "10.1186/s13073-020-00761-2", + "licence": "MIT License" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM/SAM/BCF/VCF/GVCF or jointly-called VCF file" + } + }, + { + "input_index": { + "type": "file", + "description": "index file of the input data, e.g., bam.bai, cram.crai" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.{fasta,fna,fas,fa}" + } + }, + { + "fai": { + "type": "file", + "description": "FASTA index file", + "pattern": "*.fai" + } + }, + { + "sites": { + "type": "file", + "description": "sites file in VCF format which can be taken from https://github.com/brentp/somalier", + "pattern": "*.vcf.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "extract": { + "type": "file", + "description": "binary output file based on extracted sites", + "pattern": "*.{somalier}" + } + } + ], + "authors": [ + "@ashotmarg", + "@nvnieuwk" + ] + } + }, + { + "name": "somalier_relate", + "path": "modules/nf-core/somalier/relate/meta.yml", + "type": "module", + "meta": { + "name": "somalier_relate", + "description": "Somalier can extract informative sites, evaluate relatedness, and perform quality-control on BAM/CRAM/BCF/VCF/GVCF or from jointly-called VCFs", + "keywords": [ + "relatedness", + "QC", + "bam", + "cram", + "vcf", + "gvcf", + "ancestry", + "identity", + "kinship", + "informative sites", + "family" + ], + "tools": [ + { + "somalier": { + "description": "Somalier can extract informative sites, evaluate relatedness, and perform quality-control on BAM/CRAM/BCF/VCF/GVCF or from jointly-called VCFs", + "homepage": "https://github.com/brentp/somalier", + "documentation": "https://github.com/brentp/somalier/blob/master/README.md", + "tool_dev_url": "https://github.com/brentp/somalier", + "doi": "10.1186/s13073-020-00761-2", + "licence": "MIT License" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "extract": { + "type": "file(s)", + "description": "extract file(s) from Somalier extract", + "pattern": "*.somalier" + } + }, + { + "ped": { + "type": "file", + "description": "optional path to a ped or fam file indicating the expected relationships among samples", + "pattern": "*.{ped,fam}" + } + }, + { + "sample_groups": { + "type": "file", + "description": "optional path to expected groups of samples such as tumor normal pairs specified as comma-separated groups per line", + "pattern": "*.{txt,csv}" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "html": { + "type": "file", + "description": "html file", + "pattern": "*.html" + } + }, + { + "pairs_tsv": { + "type": "file", + "description": "tsv file with output stats for pairs of samples", + "pattern": "*.pairs.tsv" + } + }, + { + "samples_tsv": { + "type": "file", + "description": "tsv file with sample-level information", + "pattern": "*.samples.tsv" + } + } + ], + "authors": [ + "@ashotmarg", + "@nvnieuwk" + ] + } + }, + { + "name": "sortmerna", + "path": "modules/nf-core/sortmerna/meta.yml", + "type": "module", + "meta": { + "name": "sortmerna", + "description": "Local sequence alignment tool for filtering, mapping and clustering.", + "keywords": [ + "filtering", + "mapping", + "clustering", + "rRNA", + "ribosomal RNA" + ], + "tools": [ + { + "SortMeRNA": { + "description": "The core algorithm is based on approximate seeds and allows for sensitive analysis of NGS reads. The main application of SortMeRNA is filtering rRNA from metatranscriptomic data. SortMeRNA takes as input files of reads (fasta, fastq, fasta.gz, fastq.gz) and one or multiple rRNA database file(s), and sorts apart aligned and rejected reads into two files. Additional applications include clustering and taxonomy assignation available through QIIME v1.9.1. SortMeRNA works with Illumina, Ion Torrent and PacBio data, and can produce SAM and BLAST-like alignments.", + "homepage": "https://hpc.nih.gov/apps/sortmeRNA.html", + "documentation": "https://github.com/biocore/sortmerna/wiki/", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "fastas": { + "type": "file", + "description": "Path to reference file(s)\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "The filtered fastq reads", + "pattern": "*fastq.gz" + } + }, + { + "log": { + "type": "file", + "description": "SortMeRNA log file", + "pattern": "*sortmerna.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@mashehu" + ] + }, + "pipelines": [ + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "sourmash_compare", + "path": "modules/nf-core/sourmash/compare/meta.yml", + "type": "module", + "meta": { + "name": "sourmash_compare", + "description": "Compare many FracMinHash signatures generated by sourmash sketch.", + "keywords": [ + "compare", + "FracMinHash sketch", + "containment", + "sourmash", + "metagenomics", + "genomics", + "kmer" + ], + "tools": [ + { + "sourmash": { + "description": "Compute and compare FracMinHash signatures for DNA and protein data sets.", + "homepage": "https://sourmash.readthedocs.io/", + "documentation": "https://sourmash.readthedocs.io/", + "tool_dev_url": "https://github.com/sourmash-bio/sourmash", + "doi": "10.21105/joss.00027", + "licence": "['BSD-3-clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "signatures": { + "type": "file", + "description": "Files containing signatures (hash sketches) of samples", + "pattern": "*.{sig}" + } + }, + { + "file_list": { + "type": "file", + "description": "An optional file specifying a list of file paths that should be appended to the input signatures.\n" + } + }, + { + "save_numpy_matrix": { + "type": "boolean", + "description": "If true, output will contain a (dis)similarity matrix numpy binary format.\nAt least one of save_numpy_matrix or save_csv is required.\n" + } + }, + { + "save_csv": { + "type": "boolean", + "description": "If true, output will contain a (dis)similarity matrix in CSV format\nAt least one of save_numpy_matrix or save_csv is required.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "numpy_matrix": { + "type": "file", + "description": "An optional (dis)similarity matrix numpy binary format", + "pattern": "*.comp" + } + }, + { + "csv": { + "type": "file", + "description": "An optional (dis)similarity matrix in CSV format", + "pattern": "*.comp.csv" + } + }, + { + "labels": { + "type": "file", + "description": "A text file that specifies the labels in the output numpy_matrix", + "pattern": "*.comp.labels.txt" + } + } + ], + "authors": [ + "@taylorreiter" + ] + } + }, + { + "name": "sourmash_gather", + "path": "modules/nf-core/sourmash/gather/meta.yml", + "type": "module", + "meta": { + "name": "sourmash_gather", + "description": "Search a metagenome sourmash signature against one or many reference databases and return the minimum set of genomes that contain the k-mers in the metagenome.", + "keywords": [ + "FracMinHash sketch", + "signature", + "kmer", + "containment", + "sourmash", + "genomics", + "metagenomics", + "taxonomic classification", + "taxonomic profiling" + ], + "tools": [ + { + "sourmash": { + "description": "Compute and compare FracMinHash signatures for DNA data sets.", + "homepage": "https://sourmash.readthedocs.io/", + "documentation": "https://sourmash.readthedocs.io/", + "tool_dev_url": "https://github.com/sourmash-bio/sourmash", + "doi": "10.21105/joss.00027", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "signature": { + "type": "file", + "description": "File containing signatures (hash sketches) of a sample", + "pattern": "*.{sig}" + } + }, + { + "db": { + "type": "file", + "description": "Sourmash database (a list of signatures, SBTs, or signature zip files)" + } + }, + { + "save_unassigned": { + "type": "boolean", + "description": "If true, output will contain a file that is a sourmash signature containing the unassigned hashes from the query\n" + } + }, + { + "save_matches_sig": { + "type": "boolean", + "description": "If true, output will contain a file that is a sourmash signature composed of the FracMinHash sketches that were matched in the database and that matched the query\n" + } + }, + { + "save_prefetch": { + "type": "boolean", + "description": "If true, output will contain a file with all prefetch-matched signatures from the database\n" + } + }, + { + "save_prefetch_csv": { + "type": "boolean", + "description": "If true, output will contain a csv file with the names of all prefetch-matched signatures\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "result": { + "type": "file", + "description": "Table with signatures classified as belonging to any of the genomes\nin the sourmash database(s).\n", + "pattern": "*{csv.gz}" + } + }, + { + "matches": { + "type": "file", + "description": "A signature containing FracMinHash sketches of genomes\nin the sourmash database.\n", + "pattern": "*{sig.zip}" + } + }, + { + "unassigned": { + "type": "file", + "description": "A FracMinHash sketch containing hashes (k-mers) that did not match to any of the genomes\nin the sourmash database(s).\n", + "pattern": "*{sig.zip}" + } + }, + { + "prefetch": { + "type": "file", + "description": "All prefetch-matched signatures from the database.\n", + "pattern": "*{sig.zip}" + } + }, + { + "prefetchcsv": { + "type": "file", + "description": "The names of all prefetch-matched signatures from the database in CSV format.\n", + "pattern": "*{csv.gz}" + } + } + ], + "authors": [ + "@vmikk", + "@taylorreiter" + ] + } + }, + { + "name": "sourmash_index", + "path": "modules/nf-core/sourmash/index/meta.yml", + "type": "module", + "meta": { + "name": "sourmash_index", + "description": "Create a database of sourmash signatures (a group of FracMinHash sketches) to be used as references.", + "keywords": [ + "signatures", + "sourmash", + "genomics", + "metagenomics", + "mapping", + "kmer" + ], + "tools": [ + { + "sourmash": { + "description": "Compute and compare FracMinHash signatures for DNA data sets.", + "homepage": "https://sourmash.readthedocs.io/", + "documentation": "https://sourmash.readthedocs.io/", + "tool_dev_url": "https://github.com/sourmash-bio/sourmash", + "doi": "10.21105/joss.00027", + "licence": "['BSD-3-clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "signatures": { + "type": "file", + "description": "Files containing signature (hash sketches) of reference genomes", + "pattern": "*.{sig}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "signature_index": { + "type": "file", + "description": "Database of signatures", + "pattern": "*.{sbt.zip}" + } + } + ], + "authors": [ + "@emnilsson" + ] + } + }, + { + "name": "sourmash_sketch", + "path": "modules/nf-core/sourmash/sketch/meta.yml", + "type": "module", + "meta": { + "name": "sourmash_sketch", + "description": "Create a signature (a group of FracMinHash sketches) of a sequence using sourmash", + "keywords": [ + "hash sketch", + "sourmash", + "genomics", + "metagenomics", + "taxonomic classification", + "taxonomic profiling", + "kmer" + ], + "tools": [ + { + "sourmash": { + "description": "Compute and compare FracMinHash signatures for DNA and protein data sets.", + "homepage": "https://sourmash.readthedocs.io/", + "documentation": "https://sourmash.readthedocs.io/", + "tool_dev_url": "https://github.com/sourmash-bio/sourmash", + "doi": "10.21105/joss.00027", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sequence": { + "type": "file", + "description": "FASTA or FASTQ file containing (genomic, transcriptomic, or proteomic) sequence data", + "pattern": "*.{fna,fa,fasta,fastq,fq,faa}.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "signatures": { + "type": "file", + "description": "FracMinHash signature of the given sequence", + "pattern": "*.{sig}" + } + } + ], + "authors": [ + "@Midnighter" + ] + } + }, + { + "name": "sourmash_taxannotate", + "path": "modules/nf-core/sourmash/taxannotate/meta.yml", + "type": "module", + "meta": { + "name": "sourmash_taxannotate", + "description": "Annotate list of metagenome members (based on sourmash signature matches) with taxonomic information.", + "keywords": [ + "fracminhash sketch", + "signature", + "kmer", + "containment", + "sourmash", + "genomics", + "metagenomics", + "taxonomic classification", + "taxonomic profiling" + ], + "tools": [ + { + "sourmash": { + "description": "Compute and compare FracMinHash signatures for DNA data sets.", + "homepage": "https://sourmash.readthedocs.io/", + "documentation": "https://sourmash.readthedocs.io/", + "tool_dev_url": "https://github.com/sourmash-bio/sourmash", + "doi": "10.21105/joss.00027", + "licence": [ + "BSD-3-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gather_results": { + "type": "file", + "description": "Mandatory table with signatures classified as belonging to any of the genomes\nin the sourmash database(s), result of `sourmash gather` command.\n" + } + }, + { + "taxonomy": { + "type": "file", + "description": "One or more databases with lineages (in CSV format, Mandatory)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "result": { + "type": "file", + "description": "Table with signatures classified as belonging to any of the genomes\nin the sourmash database(s) with an additional 'lineage' column\ncontaining the taxonomic information for each database match.\n", + "pattern": "*{csv.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@vmikk", + "@taylorreiter" + ] + } + }, + { + "name": "spaceranger_count", + "path": "modules/nf-core/spaceranger/count/meta.yml", + "type": "module", + "meta": { + "name": "spaceranger_count", + "description": "Module to use the 10x Spaceranger pipeline to proces 10x spatial transcriptomics data", + "keywords": [ + "align", + "count", + "spatial", + "spaceranger", + "imaging" + ], + "tools": [ + { + "spaceranger": { + "description": "Visium Spatial Gene Expression is a next-generation molecular profiling solution for classifying tissue\nbased on total mRNA. Space Ranger is a set of analysis pipelines that process Visium Spatial Gene Expression\ndata with brightfield and fluorescence microscope images. Space Ranger allows users to map the whole\ntranscriptome in formalin fixed paraffin embedded (FFPE) and fresh frozen tissues to discover novel\ninsights into normal development, disease pathology, and clinical translational research. Space Ranger provides\npipelines for end to end analysis of Visium Spatial Gene Expression experiments.\n", + "homepage": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", + "documentation": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", + "tool_dev_url": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", + "licence": "10x Genomics EULA" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', slide:'10L13-020', area: 'B1']\n\n`id`, `slide` and `area` are mandatory information!\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n", + "pattern": "${Sample_Name}_S1_L00${Lane_Number}_${I1,I2,R1,R2}_001.fastq.gz" + } + }, + { + "image": { + "type": "file", + "description": "Brightfield tissue H&E image in JPEG or TIFF format.", + "pattern": "*.{tif,tiff,jpg,jpeg}" + } + }, + { + "cytaimage": { + "type": "file", + "description": "CytAssist instrument captured eosin stained Brightfield tissue image with fiducial\nframe in TIFF format. The size of this image is set at 3k in both dimensions and this image should\nnot be modified any way before passing it as input to either Space Ranger or Loupe Browser.\n", + "pattern": "*.{tif,tiff}" + } + }, + { + "darkimage": { + "type": "file", + "description": "Optional for dark background fluorescence microscope image input. Multi-channel, dark-background fluorescence\nimage as either a single, multi-layer TIFF file or as multiple TIFF or JPEG files.\n", + "pattern": "*.{tif,tiff,jpg,jpeg}" + } + }, + { + "colorizedimage": { + "type": "file", + "description": "Required for color composite fluorescence microscope image input.\nA color composite of one or more fluorescence image channels saved as a single-page,\nsingle-file color TIFF or JPEG.\n", + "pattern": "*.{tif,tiff,jpg,jpeg}" + } + }, + { + "alignment": { + "type": "file", + "description": "OPTIONAL - Path to manual image alignment.", + "pattern": "*.json" + } + }, + { + "slidefile": { + "type": "file", + "description": "OPTIONAL - Path to slide specifications.", + "pattern": "*.json" + } + }, + { + "reference": { + "type": "directory", + "description": "Folder containing all the reference indices needed by Spaceranger" + } + }, + { + "probeset": { + "type": "file", + "description": "OPTIONAL - Probe set specification.", + "pattern": "*.csv" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "outs": { + "type": "file", + "description": "Files containing the outputs of Cell Ranger, see official 10X Genomics documentation for a complete list", + "pattern": "${meta.id}/outs/*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@grst" + ] + }, + "pipelines": [ + { + "name": "spatialtranscriptomics", + "version": "dev" + } + ] + }, + { + "name": "spaceranger_mkgtf", + "path": "modules/nf-core/spaceranger/mkgtf/meta.yml", + "type": "module", + "meta": { + "name": "spaceranger_mkgtf", + "description": "Module to build a filtered GTF needed by the 10x Genomics Cell Ranger tool. Uses the cellranger mkgtf command.", + "keywords": [ + "reference", + "mkref", + "index", + "spaceranger" + ], + "tools": [ + { + "spaceranger": { + "description": "Visium Spatial Gene Expression is a next-generation molecular profiling solution for classifying tissue\nbased on total mRNA. Space Ranger is a set of analysis pipelines that process Visium Spatial Gene Expression\ndata with brightfield and fluorescence microscope images. Space Ranger allows users to map the whole\ntranscriptome in formalin fixed paraffin embedded (FFPE) and fresh frozen tissues to discover novel\ninsights into normal development, disease pathology, and clinical translational research. Space Ranger provides\npipelines for end to end analysis of Visium Spatial Gene Expression experiments.\n", + "homepage": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", + "documentation": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", + "tool_dev_url": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", + "licence": "10x Genomics EULA" + } + } + ], + "input": [ + { + "gtf": { + "type": "file", + "description": "The reference GTF transcriptome file", + "pattern": "*.gtf" + } + } + ], + "output": [ + { + "gtf": { + "type": "directory", + "description": "The filtered GTF transcriptome file", + "pattern": "*.filtered.gtf" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@grst" + ] + } + }, + { + "name": "spaceranger_mkref", + "path": "modules/nf-core/spaceranger/mkref/meta.yml", + "type": "module", + "meta": { + "name": "spaceranger_mkref", + "description": "Module to build the reference needed by the 10x Genomics Spaceranger tool. Uses the spaceranger mkref command.", + "keywords": [ + "reference", + "mkref", + "index", + "spaceranger" + ], + "tools": [ + { + "spaceranger": { + "description": "Visium Spatial Gene Expression is a next-generation molecular profiling solution for classifying tissue\nbased on total mRNA. Space Ranger is a set of analysis pipelines that process Visium Spatial Gene Expression\ndata with brightfield and fluorescence microscope images. Space Ranger allows users to map the whole\ntranscriptome in formalin fixed paraffin embedded (FFPE) and fresh frozen tissues to discover novel\ninsights into normal development, disease pathology, and clinical translational research. Space Ranger provides\npipelines for end to end analysis of Visium Spatial Gene Expression experiments.\n", + "homepage": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", + "documentation": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", + "tool_dev_url": "https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger", + "licence": "10x Genomics EULA" + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Reference genome FASTA file", + "pattern": "*.{fasta,fa}" + } + }, + { + "gtf": { + "type": "file", + "description": "Reference transcriptome GTF file", + "pattern": "*.gtf" + } + }, + { + "reference_name": { + "type": "string", + "description": "The name to give the new reference folder", + "pattern": "str" + } + } + ], + "output": [ + { + "reference": { + "type": "directory", + "description": "Folder containing all the reference indices needed by Cell Ranger" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@grst" + ] + } + }, + { + "name": "spades", + "path": "modules/nf-core/spades/meta.yml", + "type": "module", + "meta": { + "name": "spades", + "description": "Assembles a small genome (bacterial, fungal, viral)", + "keywords": [ + "genome", + "assembly", + "genome assembler", + "small genome", + "de novo assembler" + ], + "tools": [ + { + "spades": { + "description": "SPAdes (St. Petersburg genome assembler) is intended for both standard isolates and single-cell MDA bacteria assemblies.", + "homepage": "http://cab.spbu.ru/files/release3.15.0/manual.html", + "documentation": "http://cab.spbu.ru/files/release3.15.0/manual.html", + "tool_dev_url": "https://github.com/ablab/spades", + "doi": "10.1089/cmb.2012.0021", + "licence": [ + "GPL v2" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "illumina": { + "type": "file", + "description": "List of input FastQ (Illumina or PacBio CCS reads) files\nof size 1 and 2 for single-end and paired-end data,\nrespectively. This input data type is required.\n" + } + }, + { + "pacbio": { + "type": "file", + "description": "List of input PacBio CLR FastQ files of size 1.\n" + } + }, + { + "nanopore": { + "type": "file", + "description": "List of input FastQ files of size 1, originating from Oxford Nanopore technology.\n" + } + }, + { + "yml": { + "type": "file", + "description": "Path to yml file containing read information.\nThe raw FASTQ files listed in this YAML file MUST be supplied to the respective illumina/pacbio/nanopore input channel(s) _in addition_ to this YML.\nFile entries in this yml must contain only the file name and no paths.\n", + "pattern": "*.{yml,yaml}" + } + }, + { + "hmm": { + "type": "file", + "description": "File or directory with amino acid HMMs for Spades HMM-guided mode." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "scaffolds": { + "type": "file", + "description": "Fasta file containing scaffolds\n", + "pattern": "*.fa.gz" + } + }, + { + "contigs": { + "type": "file", + "description": "Fasta file containing contigs\n", + "pattern": "*.fa.gz" + } + }, + { + "transcripts": { + "type": "file", + "description": "Fasta file containing transcripts\n", + "pattern": "*.fa.gz" + } + }, + { + "gene_clusters": { + "type": "file", + "description": "Fasta file containing gene_clusters\n", + "pattern": "*.fa.gz" + } + }, + { + "gfa": { + "type": "file", + "description": "gfa file containing assembly\n", + "pattern": "*.gfa.gz" + } + }, + { + "log": { + "type": "file", + "description": "Spades log file\n", + "pattern": "*.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@JoseEspinosa", + "@drpatelh", + "@d4straub" + ] + }, + "pipelines": [ + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "spatyper", + "path": "modules/nf-core/spatyper/meta.yml", + "type": "module", + "meta": { + "name": "spatyper", + "description": "Computational method for finding spa types.", + "keywords": [ + "fasta", + "spatype" + ], + "tools": [ + { + "spatyper": { + "description": "Computational method for finding spa types.", + "homepage": "https://github.com/HCGB-IGTP/spaTyper", + "documentation": "https://github.com/HCGB-IGTP/spaTyper", + "tool_dev_url": "https://github.com/HCGB-IGTP/spaTyper", + "doi": "10.5281/zenodo.4063625", + "licence": [ + "LGPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA assembly file", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" + } + }, + { + "repeats": { + "type": "file", + "description": "spa repeat sequences in FASTA format (Optional)", + "pattern": "*.{fasta}" + } + }, + { + "repeat_order": { + "type": "file", + "description": "spa types and order of repeats (Optional)", + "pattern": "*.{txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "Tab-delimited results", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "sratools_fasterqdump", + "path": "modules/nf-core/sratools/fasterqdump/meta.yml", + "type": "module", + "meta": { + "name": "sratools_fasterqdump", + "description": "Extract sequencing reads in FASTQ format from a given NCBI Sequence Read Archive (SRA).", + "keywords": [ + "sequencing", + "FASTQ", + "dump" + ], + "tools": [ + { + "sratools": { + "description": "SRA Toolkit and SDK from NCBI", + "homepage": "https://github.com/ncbi/sra-tools", + "documentation": "https://github.com/ncbi/sra-tools/wiki", + "tool_dev_url": "https://github.com/ncbi/sra-tools", + "licence": [ + "Public Domain" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sra": { + "type": "directory", + "description": "Directory containing ETL data for the given SRA.", + "pattern": "*/*.sra" + } + }, + { + "ncbi_settings": { + "type": "file", + "description": "An NCBI user settings file.\n", + "pattern": "*.mkfg" + } + }, + { + "certificate": { + "type": "file", + "description": "Path to a JWT cart file used to access protected dbGAP data on SRA using the sra-toolkit\n", + "pattern": "*.cart" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "reads": { + "type": "file", + "description": "Extracted FASTQ file or files if the sequencing reads are paired-end.", + "pattern": "*.fastq.gz" + } + } + ], + "authors": [ + "@Midnighter" + ] + }, + "pipelines": [ + { + "name": "fetchngs", + "version": "1.10.0" + } + ] + }, + { + "name": "sratools_prefetch", + "path": "modules/nf-core/sratools/prefetch/meta.yml", + "type": "module", + "meta": { + "name": "sratools_prefetch", + "description": "Download sequencing data from the NCBI Sequence Read Archive (SRA).", + "keywords": [ + "sequencing", + "fastq", + "prefetch" + ], + "tools": [ + { + "sratools": { + "description": "SRA Toolkit and SDK from NCBI", + "homepage": "https://github.com/ncbi/sra-tools", + "documentation": "https://github.com/ncbi/sra-tools/wiki", + "tool_dev_url": "https://github.com/ncbi/sra-tools", + "licence": [ + "Public Domain" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" + } + }, + { + "id": { + "type": "string", + "description": "A string denoting an SRA id.\n" + } + }, + { + "ncbi_settings": { + "type": "file", + "description": "An NCBI user settings file.\n", + "pattern": "*.mkfg" + } + }, + { + "certificate": { + "type": "file", + "description": "Path to a JWT cart file used to access protected dbGAP data on SRA using the sra-toolkit\n", + "pattern": "*.cart" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sra": { + "type": "directory", + "description": "Directory containing the ETL data for the given SRA id.\n", + "pattern": "*/*.sra" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Midnighter" + ] + }, + "pipelines": [ + { + "name": "fetchngs", + "version": "1.10.0" + } + ] + }, + { + "name": "srst2_srst2", + "path": "modules/nf-core/srst2/srst2/meta.yml", + "type": "module", + "meta": { + "name": "srst2_srst2", + "description": "Short Read Sequence Typing for Bacterial Pathogens is a program designed to take Illumina sequence data,\na MLST database and/or a database of gene sequences (e.g. resistance genes, virulence genes, etc)\nand report the presence of STs and/or reference genes.\n", + "keywords": [ + "mlst", + "typing", + "illumina" + ], + "tools": [ + { + "srst2": { + "description": "Short Read Sequence Typing for Bacterial Pathogens", + "homepage": "http://katholt.github.io/srst2/", + "documentation": "https://github.com/katholt/srst2/blob/master/README.md", + "tool_dev_url": "https://github.com/katholt/srst2", + "doi": "10.1186/s13073-014-0090-6", + "licence": [ + "BSD" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map0.2.0-4", + "description": "Groovy Map containing sample information\nid: should be the identification number or sample name\nsingle_end: should be true for single end data and false for paired in data\ndb: should be either 'gene' to use the --gene_db option or \"mlst\" to use the --mlst_db option\ne.g. [ id:'sample', single_end:false , db:'gene']\n" + } + }, + { + "fasta": { + "type": "file", + "description": "gzipped fasta file. If files are NOT in\nMiSeq format sample_S1_L001_R1_001.fastq.gz uses --forward and --reverse parameters; otherwise\ndefault is _1, i.e. expect forward reads as sample_1.fastq.gz).\n", + "pattern": "*.fastq.gz" + } + }, + { + "db": { + "type": "file", + "description": "Database in FASTA format", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'sample', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "txt": { + "type": "file", + "description": "A detailed report, with one row per gene per sample described here github.com/katholt/srst2#gene-typing", + "pattern": "*_fullgenes_*_results.txt" + } + }, + { + "txt": { + "type": "file", + "description": "A tabulated summary report of samples x genes.", + "pattern": "*_genes_*_results.txt" + } + }, + { + "txt": { + "type": "file", + "description": "A tabulated summary report of mlst subtyping.", + "pattern": "*_mlst_*_results.txt" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM file", + "pattern": "*.sorted.bam" + } + }, + { + "pileup": { + "type": "file", + "description": "SAMtools pileup file", + "pattern": "*.pileup" + } + } + ], + "authors": [ + "@jvhagey" + ] + } + }, + { + "name": "ssuissero", + "path": "modules/nf-core/ssuissero/meta.yml", + "type": "module", + "meta": { + "name": "ssuissero", + "description": "Serotype prediction of Streptococcus suis assemblies", + "keywords": [ + "bacteria", + "fasta", + "streptococcus" + ], + "tools": [ + { + "ssuissero": { + "description": "Rapid Streptococcus suis serotyping pipeline for Nanopore Data", + "homepage": "https://github.com/jimmyliu1326/SsuisSero", + "documentation": "https://github.com/jimmyliu1326/SsuisSero", + "tool_dev_url": "https://github.com/jimmyliu1326/SsuisSero", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Assembly in FASTA format", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz,faa,faa.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "Tab-delimited serotype prediction", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "stadeniolib_scramble", + "path": "modules/nf-core/stadeniolib/scramble/meta.yml", + "type": "module", + "meta": { + "name": "stadeniolib_scramble", + "description": "Advanced sequence file format conversions", + "keywords": [ + "sam", + "bam", + "cram", + "compression" + ], + "tools": [ + { + "scramble": { + "description": "Staden Package 'io_lib' (sometimes referred to as libstaden-read by distributions). This contains code for reading and writing a variety of Bioinformatics / DNA Sequence formats.", + "homepage": "https://github.com/jkbonfield/io_lib", + "documentation": "https://github.com/jkbonfield/io_lib/blob/master/README.md", + "tool_dev_url": "https://github.com/jkbonfield/io_lib", + "licence": "['BSD']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome in FASTA format", + "pattern": "*.{fa,fasta}" + } + }, + { + "fai": { + "type": "file", + "description": "FASTA index file from samtools faidx", + "pattern": "*.{fai}" + } + }, + { + "gzi": { + "type": "file", + "description": "Optional gzip index file for BAM inputs", + "pattern": "*.gzi" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "reads": { + "type": "file", + "description": "Converted reads", + "pattern": "*.{sam, bam, cram}" + } + }, + { + "gzi": { + "type": "Optional file", + "description": "gzip index file for BAM outputs", + "pattern": ".{bam.gzi}" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "staphopiasccmec", + "path": "modules/nf-core/staphopiasccmec/meta.yml", + "type": "module", + "meta": { + "name": "staphopiasccmec", + "description": "Predicts Staphylococcus aureus SCCmec type based on primers.", + "keywords": [ + "amr", + "fasta", + "sccmec" + ], + "tools": [ + { + "staphopiasccmec": { + "description": "Predicts Staphylococcus aureus SCCmec type based on primers.", + "homepage": "https://staphopia.emory.edu", + "documentation": "https://github.com/staphopia/staphopia-sccmec", + "tool_dev_url": "https://github.com/staphopia/staphopia-sccmec", + "doi": "10.7717/peerj.5261", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA assembly file", + "pattern": "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tsv": { + "type": "file", + "description": "Tab-delimited results", + "pattern": "*.{tsv}" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "star_align", + "path": "modules/nf-core/star/align/meta.yml", + "type": "module", + "meta": { + "name": "star_align", + "description": "Align reads to a reference genome using STAR", + "keywords": [ + "align", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "star": { + "description": "STAR is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", + "homepage": "https://github.com/alexdobin/STAR", + "manual": "https://github.com/alexdobin/STAR/blob/master/doc/STARmanual.pdf", + "doi": "10.1093/bioinformatics/bts635", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "index": { + "type": "directory", + "description": "STAR genome index", + "pattern": "star" + } + } + ], + "output": [ + { + "bam": { + "type": "file", + "description": "Output BAM file containing read alignments", + "pattern": "*.{bam}" + } + }, + { + "log_final": { + "type": "file", + "description": "STAR final log file", + "pattern": "*Log.final.out" + } + }, + { + "log_out": { + "type": "file", + "description": "STAR lot out file", + "pattern": "*Log.out" + } + }, + { + "log_progress": { + "type": "file", + "description": "STAR log progress file", + "pattern": "*Log.progress.out" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam_sorted": { + "type": "file", + "description": "Sorted BAM file of read alignments (optional)", + "pattern": "*sortedByCoord.out.bam" + } + }, + { + "bam_transcript": { + "type": "file", + "description": "Output BAM file of transcriptome alignment (optional)", + "pattern": "*toTranscriptome.out.bam" + } + }, + { + "bam_unsorted": { + "type": "file", + "description": "Unsorted BAM file of read alignments (optional)", + "pattern": "*Aligned.unsort.out.bam" + } + }, + { + "fastq": { + "type": "file", + "description": "Unmapped FastQ files (optional)", + "pattern": "*fastq.gz" + } + }, + { + "tab": { + "type": "file", + "description": "STAR output tab file(s) (optional)", + "pattern": "*.tab" + } + }, + { + "junction": { + "type": "file", + "description": "STAR chimeric junction output file (optional)", + "pattern": "*.out.junction" + } + }, + { + "wig": { + "type": "file", + "description": "STAR output wiggle format file(s) (optional)", + "pattern": "*.wig" + } + }, + { + "bedgraph": { + "type": "file", + "description": "STAR output bedGraph format file(s) (optional)", + "pattern": "*.bg" + } + } + ], + "authors": [ + "@kevinmenden", + "@drpatelh", + "@praveenraj2018" + ] + }, + "pipelines": [ + { + "name": "circrna", + "version": "dev" + }, + { + "name": "marsseq", + "version": "1.0.3" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "viralintegration", + "version": "0.1.1" + } + ] + }, + { + "name": "star_genomegenerate", + "path": "modules/nf-core/star/genomegenerate/meta.yml", + "type": "module", + "meta": { + "name": "star_genomegenerate", + "description": "Create index for STAR", + "keywords": [ + "index", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "star": { + "description": "STAR is a software package for mapping DNA sequences against\na large reference genome, such as the human genome.\n", + "homepage": "https://github.com/alexdobin/STAR", + "manual": "https://github.com/alexdobin/STAR/blob/master/doc/STARmanual.pdf", + "doi": "10.1093/bioinformatics/bts635", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Fasta file of the reference genome" + } + }, + { + "gtf": { + "type": "file", + "description": "GTF file of the reference genome" + } + } + ], + "output": [ + { + "index": { + "type": "directory", + "description": "Folder containing the star index files", + "pattern": "star" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kevinmenden", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "circrna", + "version": "dev" + }, + { + "name": "marsseq", + "version": "1.0.3" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "scrnaseq", + "version": "2.3.2" + }, + { + "name": "viralintegration", + "version": "0.1.1" + } + ] + }, + { + "name": "stranger", + "path": "modules/nf-core/stranger/meta.yml", + "type": "module", + "meta": { + "name": "stranger", + "description": "Annotates output files from ExpansionHunter with the pathologic implications of the repeat sizes.", + "keywords": [ + "STR", + "repeat_expansions", + "annotate", + "vcf" + ], + "tools": [ + { + "stranger": { + "description": "Annotate VCF files with str variants", + "homepage": "https://github.com/moonso/stranger", + "documentation": "https://github.com/moonso/stranger", + "tool_dev_url": "https://github.com/moonso/stranger", + "doi": "10.5281/zenodo.4548873", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF with repeat expansions", + "pattern": "*.{vcf.gz,vcf}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "variant_catalog": { + "type": "file", + "description": "json file with repeat expansion sites to genotype", + "pattern": "*.{json}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "annotated VCF with keys STR_STATUS, NormalMax and PathologicMin", + "pattern": "*.{vcf.gz}" + } + } + ], + "authors": [ + "@ljmesi" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "strelka_germline", + "path": "modules/nf-core/strelka/germline/meta.yml", + "type": "module", + "meta": { + "name": "strelka_germline", + "description": "Strelka2 is a fast and accurate small variant caller optimized for analysis of germline variation", + "keywords": [ + "variantcalling", + "germline", + "wgs", + "vcf", + "variants" + ], + "tools": [ + { + "strelka": { + "description": "Strelka calls somatic and germline small variants from mapped sequencing reads", + "homepage": "https://github.com/Illumina/strelka", + "documentation": "https://github.com/Illumina/strelka/blob/v2.9.x/docs/userGuide/README.md", + "tool_dev_url": "https://github.com/Illumina/strelka", + "doi": "10.1038/s41592-018-0051-x", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "input_index": { + "type": "file", + "description": "BAM/CRAI index file", + "pattern": "*.{bai,crai}" + } + }, + { + "target_bed": { + "type": "file", + "description": "An optional bed file", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "vcf": { + "type": "file", + "description": "gzipped germline variant file", + "pattern": "*.{vcf.gz}" + } + }, + { + "vcf_tbi": { + "type": "file", + "description": "index file for the vcf file", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "genome_vcf": { + "type": "file", + "description": "variant records and compressed non-variant blocks", + "pattern": "*_genome.vcf.gz" + } + }, + { + "genome_vcf_tbi": { + "type": "file", + "description": "index file for the genome_vcf file", + "pattern": "*_genome.vcf.gz.tbi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@arontommi" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "strelka_somatic", + "path": "modules/nf-core/strelka/somatic/meta.yml", + "type": "module", + "meta": { + "name": "strelka_somatic", + "description": "Strelka2 is a fast and accurate small variant caller optimized for analysis of germline variation in small cohorts and somatic variation in tumor/normal sample pairs", + "keywords": [ + "variant calling", + "germline", + "wgs", + "vcf", + "variants" + ], + "tools": [ + { + "strelka": { + "description": "Strelka calls somatic and germline small variants from mapped sequencing reads", + "homepage": "https://github.com/Illumina/strelka", + "documentation": "https://github.com/Illumina/strelka/blob/v2.9.x/docs/userGuide/README.md", + "tool_dev_url": "https://github.com/Illumina/strelka", + "doi": "10.1038/s41592-018-0051-x", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input_normal": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "input_index_normal": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "input_tumor": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "input_index_tumor": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "manta_candidate_small_indels": { + "type": "file", + "description": "VCF.gz file", + "pattern": "*.{vcf.gz}" + } + }, + { + "manta_candidate_small_indels_tbi": { + "type": "file", + "description": "VCF.gz index file", + "pattern": "*.tbi" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome reference FASTA file", + "pattern": "*.{fa,fasta}" + } + }, + { + "fai": { + "type": "file", + "description": "Genome reference FASTA index file", + "pattern": "*.{fa.fai,fasta.fai}" + } + }, + { + "target_bed": { + "type": "file", + "description": "BED file containing target regions for variant calling", + "pattern": "*.{bed}" + } + }, + { + "target_bed_tbi": { + "type": "file", + "description": "Index for BED file containing target regions for variant calling", + "pattern": "*.{bed.tbi}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf_indels": { + "type": "file", + "description": "Gzipped VCF file containing variants", + "pattern": "*.{vcf.gz}" + } + }, + { + "vcf_indels_tbi": { + "type": "file", + "description": "Index for gzipped VCF file containing variants", + "pattern": "*.{vcf.gz.tbi}" + } + }, + { + "vcf_snvs": { + "type": "file", + "description": "Gzipped VCF file containing variants", + "pattern": "*.{vcf.gz}" + } + }, + { + "vcf_snvs_tbi": { + "type": "file", + "description": "Index for gzipped VCF file containing variants", + "pattern": "*.{vcf.gz.tbi}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "stringtie_merge", + "path": "modules/nf-core/stringtie/merge/meta.yml", + "type": "module", + "meta": { + "name": "stringtie_merge", + "description": "Merges the annotation gtf file and the stringtie output gtf files", + "keywords": [ + "merge", + "gtf", + "reference" + ], + "tools": [ + { + "stringtie2": { + "description": "Transcript assembly and quantification for RNA-Seq\n", + "homepage": "https://ccb.jhu.edu/software/stringtie/index.shtml", + "documentation": "https://ccb.jhu.edu/software/stringtie/index.shtml?t=manual", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "stringtie_gtf": { + "type": "file", + "description": "Stringtie transcript gtf output(s).\n", + "pattern": "*.gtf" + } + }, + { + "annotation_gtf": { + "type": "file", + "description": "Annotation gtf file (optional).\n", + "pattern": "*.gtf" + } + } + ], + "output": [ + { + "merged_gtf": { + "type": "map", + "description": "Merged gtf from annotation and stringtie output gtfs.\n", + "pattern": "*.gtf" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@yuukiiwa" + ] + }, + "pipelines": [ + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "rnafusion", + "version": "2.3.4" + } + ] + }, + { + "name": "stringtie_stringtie", + "path": "modules/nf-core/stringtie/stringtie/meta.yml", + "type": "module", + "meta": { + "name": "stringtie_stringtie", + "description": "Transcript assembly and quantification for RNA-Se", + "keywords": [ + "transcript", + "assembly", + "quantification", + "gtf" + ], + "tools": [ + { + "stringtie2": { + "description": "Transcript assembly and quantification for RNA-Seq\n", + "homepage": "https://ccb.jhu.edu/software/stringtie/index.shtml", + "documentation": "https://ccb.jhu.edu/software/stringtie/index.shtml?t=manual", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Stringtie transcript gtf output(s).\n" + } + }, + { + "annotation_gtf": { + "type": "file", + "description": "Annotation gtf file (optional).\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "transcript_gtf": { + "type": "file", + "description": "transcript gtf", + "pattern": "*.{transcripts.gtf}" + } + }, + { + "coverage_gtf": { + "type": "file", + "description": "coverage gtf", + "pattern": "*.{coverage.gtf}" + } + }, + { + "abudance": { + "type": "file", + "description": "abudance", + "pattern": "*.{abudance.txt}" + } + }, + { + "ballgown": { + "type": "file", + "description": "for running ballgown", + "pattern": "*.{ballgown}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "circrna", + "version": "dev" + }, + { + "name": "rnafusion", + "version": "2.3.4" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "subread_featurecounts", + "path": "modules/nf-core/subread/featurecounts/meta.yml", + "type": "module", + "meta": { + "name": "subread_featurecounts", + "description": "Count reads that map to genomic features", + "keywords": [ + "counts", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "featurecounts": { + "description": "featureCounts is a highly efficient general-purpose read summarization program that counts mapped reads for genomic features such as genes, exons, promoter, gene bodies, genomic bins and chromosomal locations. It can be used to count both RNA-seq and genomic DNA-seq reads.", + "homepage": "http://bioinf.wehi.edu.au/featureCounts/", + "documentation": "http://bioinf.wehi.edu.au/subread-package/SubreadUsersGuide.pdf", + "doi": "10.1093/bioinformatics/btt656", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/SAM file containing read alignments", + "pattern": "*.{bam}" + } + }, + { + "annotation": { + "type": "file", + "description": "Genomic features annotation in GTF or SAF", + "pattern": "*.{gtf,saf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "counts": { + "type": "file", + "description": "Counts of reads mapping to features", + "pattern": "*featureCounts.txt" + } + }, + { + "summary": { + "type": "file", + "description": "Summary log file", + "pattern": "*.featureCounts.txt.summary" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@ntoda03" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + } + ] + }, + { + "name": "survivor_filter", + "path": "modules/nf-core/survivor/filter/meta.yml", + "type": "module", + "meta": { + "name": "survivor_filter", + "description": "Filter a vcf file based on size and/or regions to ignore", + "keywords": [ + "survivor", + "filter", + "vcf", + "structural variants" + ], + "tools": [ + { + "survivor": { + "description": "Toolset for SV simulation, comparison and filtering", + "homepage": "https://github.com/fritzsedlazeck/SURVIVOR/wiki", + "documentation": "https://github.com/fritzsedlazeck/SURVIVOR/wiki", + "tool_dev_url": "https://github.com/fritzsedlazeck/SURVIVOR", + "doi": "10.1038/NCOMMS14061", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file to filter", + "pattern": "*.{vcf}" + } + }, + { + "bed": { + "type": "file", + "description": "BED file with regions to ignore (NA to disable)" + } + }, + { + "minsv": { + "type": "integer", + "description": "Min SV size (-1 to disable)" + } + }, + { + "maxsv": { + "type": "integer", + "description": "Max SV size (-1 to disable)" + } + }, + { + "minallelefreq": { + "type": "float", + "description": "Min allele frequency (0-1)" + } + }, + { + "minnumreads": { + "type": "integer", + "description": "Min number of reads support [RE flag (-1 to disable)]" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Filtered VCF file", + "pattern": "*.{vcf}" + } + } + ], + "authors": [ + "@LlaneroHiboreo" + ] + } + }, + { + "name": "survivor_merge", + "path": "modules/nf-core/survivor/merge/meta.yml", + "type": "module", + "meta": { + "name": "survivor_merge", + "description": "Compare or merge VCF files to generate a consensus or multi sample VCF files.", + "keywords": [ + "survivor", + "merge", + "vcf", + "structural variants" + ], + "tools": [ + { + "survivor": { + "description": "Toolset for SV simulation, comparison and filtering", + "homepage": "https://github.com/fritzsedlazeck/SURVIVOR/wiki", + "documentation": "https://github.com/fritzsedlazeck/SURVIVOR/wiki", + "tool_dev_url": "https://github.com/fritzsedlazeck/SURVIVOR", + "doi": "10.1038/NCOMMS14061", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcfs": { + "type": "files", + "description": "The VCF files to be merged\nGzipped VCF files are not supported: https://github.com/fritzsedlazeck/SURVIVOR/issues/158\n", + "pattern": "*.vcf" + } + }, + { + "max_distance_breakpoints": { + "type": "integer", + "description": "Max distance between breakpoints (0-1 percent of length, 1- number of bp)" + } + }, + { + "min_supporting_callers": { + "type": "integer", + "description": "Minimum number of supporting caller" + } + }, + { + "account_for_type": { + "type": "integer", + "description": "Take the type into account (1==yes, else no)" + } + }, + { + "account_for_sv_strands": { + "type": "integer", + "description": "Take the strands of SVs into account (1==yes, else no)" + } + }, + { + "estimate_distanced_by_sv_size": { + "type": "integer", + "description": "Estimate distance based on the size of SV (1==yes, else no)" + } + }, + { + "min_sv_size": { + "type": "integer", + "description": "Minimum size of SVs to be taken into account" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "The merged VCF file", + "pattern": "*.vcf" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "svaba", + "path": "modules/nf-core/svaba/meta.yml", + "type": "module", + "meta": { + "name": "svaba", + "description": "SvABA is an efficient and accurate method for detecting SVs from short-read sequencing data using genome-wide local assembly with low memory and computing requirements", + "keywords": [ + "sv", + "structural variants", + "detecting svs", + "short-read sequencing" + ], + "tools": [ + { + "svaba": { + "description": "Structural variation and indel detection by local assembly", + "homepage": "https://github.com/walaj/svaba", + "documentation": "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5880247/", + "tool_dev_url": "https://github.com/walaj/svaba", + "doi": "10.1101/gr.221028.117", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\nid: should be the identification number or sample name. If there is normal file meta should be common\ne.g. [ id:'test' ]\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing FASTA information\nid: should be the identification number for alignment file and should be the same used to create BWA index files\ne.g. [ id:'fasta' ]\n" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing BWA information\nid: should be the identification number same as fasta file\ne.g. [ id:'bwa' ]\n" + } + }, + { + "meta4": { + "type": "map", + "description": "Groovy Map containing dbSNP information\nid: should be the identification number for dbSNP files\ne.g. [ id:'test' ]\n" + } + }, + { + "meta5": { + "type": "map", + "description": "Groovy Map containing regions information\nid: should be the identification number for regions\ne.g. [ id:'test' ]\n" + } + }, + { + "tumorbam": { + "type": "file", + "description": "Tumor or metastatic sample, BAM, SAM or CRAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "tummorbai": { + "type": "file", + "description": "Index", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "normalbam": { + "type": "file", + "description": "Control (or normal) of matching tumor/metastatic sample, BAM, SAM or CRAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "normalbai": { + "type": "file", + "description": "Index", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "bwa_index": { + "type": "file", + "description": "BWA genome index files", + "pattern": "Directory containing BWA index *.{amb,ann,bwt,pac,sa}" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file", + "pattern": "*.{fasta|fa}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "Index of FASTA file", + "pattern": "*.{fai}" + } + }, + { + "dbsnp": { + "type": "file", + "description": "VCF file including dbSNP variants", + "pattern": "*.vcf.gz" + } + }, + { + "dbsnp_tbi": { + "type": "file", + "description": "Index of VCF file including dbSNP variants", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "regions": { + "type": "file", + "description": "Targeted intervals. Accepts BED file or Samtools-style string", + "pattern": "*.bed|*.txt|*.tab" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "sv": { + "type": "file", + "description": "Filtered SVs for tumor only cases", + "pattern": "*.vcf.gz" + } + }, + { + "indel": { + "type": "file", + "description": "Filtered Indels for tumor only cases", + "pattern": "*.vcf.gz" + } + }, + { + "som_sv": { + "type": "file", + "description": "Somatic filtered SVs for tumor/normal paired samples", + "pattern": "*.vcf.gz" + } + }, + { + "som_indel": { + "type": "file", + "description": "Somatic filtered Indels for tumor/normal paired samples", + "pattern": "*.vcf.gz" + } + }, + { + "germ_sv": { + "type": "file", + "description": "Germline filtered SVs for tumor/normal paired samples", + "pattern": "*.vcf.gz" + } + }, + { + "germ_indel": { + "type": "file", + "description": "Germline filtered Indels for tumor/normal paired samples", + "pattern": "*.vcf.gz" + } + }, + { + "unfiltered_sv": { + "type": "file", + "description": "Unfiltered SVs for tumor only cases", + "pattern": "*.vcf.gz" + } + }, + { + "unfiltered_indel": { + "type": "file", + "description": "Unfiltered Indels for tumor only cases", + "pattern": "*.vcf.gz" + } + }, + { + "unfiltered_som_sv": { + "type": "file", + "description": "Unfiltered somatic SVs for tumor/normal paired samples", + "pattern": "*.vcf.gz" + } + }, + { + "unfiltered_som_indel": { + "type": "file", + "description": "Unfiltered somatic Indels for tumor/normal paired samples", + "pattern": "*.vcf.gz" + } + }, + { + "unfiltered_germ_sv": { + "type": "file", + "description": "Unfiltered germline SVs for tumor/normal paired samples", + "pattern": "*.vcf.gz" + } + }, + { + "unfiltered_germ_indel": { + "type": "file", + "description": "Unfiltered germline Indels for tumor/normal paired samples", + "pattern": "*.vcf.gz" + } + }, + { + "raw_calls": { + "type": "file", + "description": "Raw, unfiltered variants", + "pattern": "*.txt.gz" + } + }, + { + "discordants": { + "type": "file", + "description": "Information on all clusters of discordant reads identified with 2+ reads", + "pattern": "*.txt.gz" + } + }, + { + "log": { + "type": "file", + "description": "Log file", + "pattern": "*.txt.gz" + } + } + ], + "authors": [ + "@kubranarci" + ] + } + }, + { + "name": "svdb_merge", + "path": "modules/nf-core/svdb/merge/meta.yml", + "type": "module", + "meta": { + "name": "svdb_merge", + "description": "The merge module merges structural variants within one or more vcf files.", + "keywords": [ + "structural variants", + "vcf", + "merge" + ], + "tools": [ + { + "svdb": { + "description": "structural variant database software", + "homepage": "https://github.com/J35P312/SVDB", + "documentation": "https://github.com/J35P312/SVDB/blob/master/README.md", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "priority": { + "type": "list", + "description": "prioritise the input vcf files according to this list, e.g ['tiddit','cnvnator']" + } + }, + { + "vcfs": { + "type": "list", + "description": "Two or more VCF files. Order of files should correspond to the order of tags used for priority.", + "pattern": "*.{vcf,vcf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "merged VCF file", + "pattern": "*_sv_merge.vcf.gz" + } + } + ], + "authors": [ + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "svdb_query", + "path": "modules/nf-core/svdb/query/meta.yml", + "type": "module", + "meta": { + "name": "svdb_query", + "description": "Query a structural variant database, using a vcf file as query", + "keywords": [ + "structural variants" + ], + "tools": [ + { + "svdb": { + "description": "structural variant database software", + "homepage": "https://github.com/J35P312/SVDB", + "documentation": "https://github.com/J35P312/SVDB/blob/master/README.md", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "in_occs": { + "type": "list", + "description": "A list of allele count tags" + } + }, + { + "in_frqs": { + "type": "list", + "description": "A list of allele frequency tags" + } + }, + { + "vcf": { + "type": "file", + "description": "query vcf file", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "vcf_db": { + "type": "file", + "description": "database vcf file", + "pattern": "*.{vcf,vcf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "out_occs": { + "type": "list", + "description": "A list of allele count tags" + } + }, + { + "out_frqs": { + "type": "list", + "description": "A list of allele frequency tags" + } + }, + { + "vcf": { + "type": "file", + "description": "Annotated output VCF file", + "pattern": "*_query.vcf" + } + } + ], + "authors": [ + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "svtk_baftest", + "path": "modules/nf-core/svtk/baftest/meta.yml", + "type": "module", + "meta": { + "name": "svtk_baftest", + "description": "Performs tests on BAF files", + "keywords": [ + "svtk", + "svtk/baftest", + "baftest", + "baf", + "bed", + "structural variants" + ], + "tools": [ + { + "svtk": { + "description": "Utilities for consolidating, filtering, resolving, and annotating structural variants.", + "homepage": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "documentation": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "tool_dev_url": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "A BED file created with `svtk vcf2bed`", + "pattern": "*.bed" + } + }, + { + "baf": { + "type": "file", + "description": "A BAF file created with `gatk PrintSVEvidence`", + "pattern": "*.baf.txt.gz" + } + }, + { + "baf_index": { + "type": "file", + "description": "The index of the BAF file", + "pattern": "*.baf.txt.gz.tbi" + } + }, + { + "batch": { + "type": "file", + "description": "A text file containing information about the sample(s)", + "pattern": "*.txt" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "metrics": { + "type": "file", + "description": "The results file from the BAF test", + "pattern": "*.metrics" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "svtk_countsvtypes", + "path": "modules/nf-core/svtk/countsvtypes/meta.yml", + "type": "module", + "meta": { + "name": "svtk_countsvtypes", + "description": "Count the instances of each SVTYPE observed in each sample in a VCF.", + "keywords": [ + "svtk", + "countsvtypes", + "vcf", + "structural variants" + ], + "tools": [ + { + "svtk": { + "description": "Utilities for consolidating, filtering, resolving, and annotating structural variants.", + "homepage": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "documentation": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "tool_dev_url": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "doi": "10.1038/s41586-020-2287-8", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "The VCF file containing structural variants", + "pattern": "*.vcf.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "counts": { + "type": "file", + "description": "A tab-delimited file containing the counts of the SV types", + "pattern": "*.tsv" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "svtk_rdtest2vcf", + "path": "modules/nf-core/svtk/rdtest2vcf/meta.yml", + "type": "module", + "meta": { + "name": "svtk_rdtest2vcf", + "description": "Convert an RdTest-formatted bed to the standard VCF format.", + "keywords": [ + "svtk", + "rdtest2vcf", + "bed", + "rdtest", + "vcf" + ], + "tools": [ + { + "svtk": { + "description": "Utilities for consolidating, filtering, resolving, and annotating structural variants.", + "homepage": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "documentation": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "tool_dev_url": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "doi": "10.1038/s41586-020-2287-8", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "An RdTest-formatted bed", + "pattern": "*.bed" + } + }, + { + "samples": { + "type": "file", + "description": "A text file containing the names of all samples that need to be added to the VCF", + "pattern": "*.txt" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The reference file of a FASTA file containing the contigs", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "The converted VCF", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "The index of the converted VCF", + "pattern": "*.vcf.gz.tbi" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "svtk_standardize", + "path": "modules/nf-core/svtk/standardize/meta.yml", + "type": "module", + "meta": { + "name": "svtk_standardize", + "description": "Convert SV calls to a standardized format.", + "keywords": [ + "svtk", + "structural variants", + "SV", + "vcf", + "standardization" + ], + "tools": [ + { + "svtk": { + "description": "Utilities for consolidating, filtering, resolving, and annotating structural variants.", + "homepage": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "documentation": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "tool_dev_url": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "args": { + "type": "map", + "description": "Groovy Map containing tool parameters. MUST follow the structure/keywords below and be provided via modules.config. Parameters must be set between quotes.\n```\n{\n [\n \"args\": \"\",\n \"caller\": \"delly\" // Should be either delly, lumpy, manta, wham or melt\n ]\n}\n```\n" + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "A gzipped VCF file to be standardized", + "pattern": "*.vcf.gz" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "Optional fasta index file that specifies the contigs to be used in the VCF header (defaults to all contigs of GRCh37)", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "standardized_vcf": { + "type": "file", + "description": "A gzipped version of the standardized VCF file", + "pattern": "*.std.vcf.gz" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "svtk_vcf2bed", + "path": "modules/nf-core/svtk/vcf2bed/meta.yml", + "type": "module", + "meta": { + "name": "svtk_vcf2bed", + "description": "Converts VCFs containing structural variants to BED format", + "keywords": [ + "vcf", + "bed", + "vcf2bed", + "svtk", + "structural variants" + ], + "tools": [ + { + "svtk": { + "description": "Utilities for consolidating, filtering, resolving, and annotating structural variants.", + "homepage": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "documentation": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "tool_dev_url": "https://github.com/broadinstitute/gatk-sv/tree/master/src/svtk", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "A VCF file created with a structural variant caller", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "The index for the VCF file", + "pattern": "*.vcf.gz.tbi" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "The created BED file", + "pattern": "*.bed" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "svtyper_svtyper", + "path": "modules/nf-core/svtyper/svtyper/meta.yml", + "type": "module", + "meta": { + "name": "svtyper_svtyper", + "description": "SVTyper performs breakpoint genotyping of structural variants (SVs) using whole genome sequencing data", + "keywords": [ + "sv", + "structural variants", + "genotyping" + ], + "tools": [ + { + "svtyper": { + "description": "Compute genotype of structural variants based on breakpoint depth", + "homepage": "https://github.com/hall-lab/svtyper", + "documentation": "https://github.com/hall-lab/svtyper", + "tool_dev_url": "https://github.com/hall-lab/svtyper", + "doi": "10.1038/nmeth.3505", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test']\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing sample information for FASTA file\ne.g. [ id:'fasta']\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "vcf": { + "type": "file", + "description": "Matching VCF of alignments", + "pattern": "*.vcf" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file used to generate alignments", + "pattern": "*.{fa,fasta}" + } + }, + { + "fai": { + "type": "file", + "description": "FAI file used to generate alignments", + "pattern": "*.{fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "json": { + "type": "file", + "description": "JSON file including Library information", + "pattern": "*.json" + } + }, + { + "gt_vcf": { + "type": "file", + "description": "Genotyped SVs", + "pattern": "*.vcf" + } + }, + { + "relevant_bam": { + "type": "file", + "description": "Relevant alignments", + "pattern": "*.bam" + } + } + ], + "authors": [ + "@kubranarci" + ] + } + }, + { + "name": "tabix_bgzip", + "path": "modules/nf-core/tabix/bgzip/meta.yml", + "type": "module", + "meta": { + "name": "tabix_bgzip", + "description": "Compresses/decompresses files", + "keywords": [ + "compress", + "decompress", + "bgzip", + "tabix" + ], + "tools": [ + { + "bgzip": { + "description": "Bgzip compresses or decompresses files in a similar manner to, and compatible with, gzip.\n", + "homepage": "https://www.htslib.org/doc/tabix.html", + "documentation": "http://www.htslib.org/doc/bgzip.html", + "doi": "10.1093/bioinformatics/btp352", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "file to compress or to decompress" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "output": { + "type": "file", + "description": "Output compressed/decompressed file", + "pattern": "*." + } + }, + { + "gzi": { + "type": "file", + "description": "Optional gzip index file for compressed inputs", + "pattern": "*.gzi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh", + "@maxulysse", + "@nvnieuwk" + ] + }, + "pipelines": [ + { + "name": "funcscan", + "version": "1.1.2" + }, + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "pangenome", + "version": "dev" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "tabix_bgziptabix", + "path": "modules/nf-core/tabix/bgziptabix/meta.yml", + "type": "module", + "meta": { + "name": "tabix_bgziptabix", + "description": "bgzip a sorted tab-delimited genome file and then create tabix index", + "keywords": [ + "bgzip", + "compress", + "index", + "tabix", + "vcf" + ], + "tools": [ + { + "tabix": { + "description": "Generic indexer for TAB-delimited genome position files.", + "homepage": "https://www.htslib.org/doc/tabix.html", + "documentation": "https://www.htslib.org/doc/tabix.1.html", + "doi": "10.1093/bioinformatics/btq671", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tab": { + "type": "file", + "description": "TAB-delimited genome position file", + "pattern": "*.{bed,gff,sam,vcf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gz": { + "type": "file", + "description": "Output compressed file", + "pattern": "*.{gz}" + } + }, + { + "tbi": { + "type": "file", + "description": "tabix index file", + "pattern": "*.{gz.tbi}" + } + }, + { + "csi": { + "type": "file", + "description": "tabix alternate index file", + "pattern": "*.{gz.csi}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@maxulysse", + "@DLBPointon" + ] + }, + "pipelines": [ + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "tabix_tabix", + "path": "modules/nf-core/tabix/tabix/meta.yml", + "type": "module", + "meta": { + "name": "tabix_tabix", + "description": "create tabix index from a sorted bgzip tab-delimited genome file", + "keywords": [ + "index", + "tabix", + "vcf" + ], + "tools": [ + { + "tabix": { + "description": "Generic indexer for TAB-delimited genome position files.", + "homepage": "https://www.htslib.org/doc/tabix.html", + "documentation": "https://www.htslib.org/doc/tabix.1.html", + "doi": "10.1093/bioinformatics/btq671", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tab": { + "type": "file", + "description": "TAB-delimited genome position file compressed with bgzip", + "pattern": "*.{bed.gz,gff.gz,sam.gz,vcf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "tbi": { + "type": "file", + "description": "tabix index file", + "pattern": "*.{tbi}" + } + }, + { + "csi": { + "type": "file", + "description": "coordinate sorted index file", + "pattern": "*.{csi}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh", + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "variantcatalogue", + "version": "dev" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "tailfindr", + "path": "modules/nf-core/tailfindr/meta.yml", + "type": "module", + "meta": { + "name": "tailfindr", + "description": "Estimating poly(A)-tail lengths from basecalled fast5 files produced by Nanopore sequencing of RNA and DNA", + "keywords": [ + "polya tail", + "fast5", + "nanopore" + ], + "tools": [ + { + "tailfindr": { + "description": "An R package for estimating poly(A)-tail lengths in Oxford Nanopore RNA and DNA reads.", + "homepage": "https://github.com/adnaniazi/tailfindr", + "documentation": "https://github.com/adnaniazi/tailfindr/blob/master/README.md", + "tool_dev_url": "https://github.com/adnaniazi/tailfindr", + "doi": "10.1261/rna.071332.119", + "licence": "['AGPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "fast5": { + "type": "file", + "description": "fast5 file", + "pattern": "*.fast5" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "csv_gz": { + "type": "file", + "description": "Compressed csv file", + "pattern": "*.csv.gz" + } + } + ], + "authors": [ + "@lucacozzuto" + ] + } + }, + { + "name": "taxpasta_merge", + "path": "modules/nf-core/taxpasta/merge/meta.yml", + "type": "module", + "meta": { + "name": "taxpasta_merge", + "description": "Standardise and merge two or more taxonomic profiles into a single table", + "keywords": [ + "taxonomic profile", + "standardise", + "standardisation", + "metagenomics", + "taxonomic profiling", + "otu tables", + "taxon tables" + ], + "tools": [ + { + "taxpasta": { + "description": "TAXonomic Profile Aggregation and STAndardisation", + "homepage": "https://taxpasta.readthedocs.io/", + "documentation": "https://taxpasta.readthedocs.io/", + "tool_dev_url": "https://github.com/taxprofiler/taxpasta", + "licence": "['Apache-2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "profiles": { + "type": "file", + "description": "A list of taxonomic profiler output files (typically in text format, mandatory)", + "pattern": "*.{tsv,csv,arrow,parquet,biom}" + } + }, + { + "samplesheet": { + "type": "file", + "description": "A samplesheet describing the sample name and a filepath to a taxonomic abundance profile that needs to be relative from the work environment. The profiles must be provided even if you give a samplesheet as argument (optional)", + "pattern": "*.{tsv,csv,ods,xlsx,arrow,parquet}" + } + }, + { + "taxonomy": { + "type": "directory", + "description": "Directory containing at a minimum nodes.dmp and names.dmp files (optional)", + "pattern": "*/" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "merged_profiles": { + "type": "file", + "description": "Output file with standardised multiple profiles in one go and have all profiles combined into a single table.", + "pattern": "*.{tsv,csv,ods,xlsx,arrow,parquet,biom}" + } + } + ], + "authors": [ + "@sofstam", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "taxprofiler", + "version": "1.0.1" + } + ] + }, + { + "name": "taxpasta_standardise", + "path": "modules/nf-core/taxpasta/standardise/meta.yml", + "type": "module", + "meta": { + "name": "taxpasta_standardise", + "description": "Standardise the output of a wide range of taxonomic profilers", + "keywords": [ + "taxonomic profile", + "standardise", + "standardisation", + "metagenomics", + "taxonomic profiling", + "otu tables", + "taxon tables" + ], + "tools": [ + { + "taxpasta": { + "description": "TAXonomic Profile Aggregation and STAndardisation", + "homepage": "https://taxpasta.readthedocs.io/", + "documentation": "https://taxpasta.readthedocs.io/", + "tool_dev_url": "https://github.com/taxprofiler/taxpasta", + "licence": "['Apache-2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "profile": { + "type": "file", + "description": "profiler output file (mandatory)", + "pattern": "*" + } + }, + { + "taxonomy": { + "type": "directory", + "description": "Directory containing at a minimum nodes.dmp and names.dmp files (optional)", + "pattern": "*/" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "standardised_profile": { + "type": "file", + "description": "Standardised taxonomic profile", + "pattern": "*.{tsv,csv,arrow,parquet,biom}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Midnighter" + ] + } + }, + { + "name": "tbprofiler_profile", + "path": "modules/nf-core/tbprofiler/profile/meta.yml", + "type": "module", + "meta": { + "name": "tbprofiler_profile", + "description": "A tool to detect resistance and lineages of M. tuberculosis genomes", + "keywords": [ + "Mycobacterium tuberculosis", + "resistance", + "serotype" + ], + "tools": [ + { + "tbprofiler": { + "description": "Profiling tool for Mycobacterium tuberculosis to detect drug resistance and lineage from WGS data", + "homepage": "https://github.com/jodyphelan/TBProfiler", + "documentation": "https://jodyphelan.gitbook.io/tb-profiler/", + "tool_dev_url": "https://github.com/jodyphelan/TBProfiler", + "doi": "10.1186/s13073-019-0650-x", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "FASTQ file", + "pattern": "*.{fastq.gz,fq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file with alignment details", + "pattern": "*.bam" + } + }, + { + "csv": { + "type": "file", + "description": "Optional CSV formated result file of resistance and strain type", + "pattern": "*.csv" + } + }, + { + "json": { + "type": "file", + "description": "JSON formated result file of resistance and strain type", + "pattern": "*.json" + } + }, + { + "txt": { + "type": "file", + "description": "Optional text file of resistance and strain type", + "pattern": "*.txt" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF with variant info again refernce genomes", + "pattern": "*.vcf" + } + } + ], + "authors": [ + "@rpetit3" + ] + } + }, + { + "name": "tiara_tiara", + "path": "modules/nf-core/tiara/tiara/meta.yml", + "type": "module", + "meta": { + "name": "tiara_tiara", + "description": "Domain-level classification of contigs to bacterial, archaeal, eukaryotic, or organelle", + "keywords": [ + "contigs", + "metagenomics", + "classify" + ], + "tools": [ + { + "tiara": { + "description": "Deep-learning-based approach for identification of eukaryotic sequences in the metagenomic data powered by PyTorch.", + "homepage": "https://ibe-uw.github.io/tiara/", + "documentation": "https://ibe-uw.github.io/tiara/\"", + "tool_dev_url": "https://github.com/ibe-uw/tiara", + "doi": "10.1093/bioinformatics/btab672", + "licence": "MIT" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file of assembled contigs.", + "pattern": "*.{fa,fa.gz,fasta,fasta.gz,fna,fna.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "classifications": { + "type": "file", + "description": "TSV file containing per-contig classification probabilities and overall classifications. Gzipped if flag --gz is set.", + "pattern": "*.{txt,txt.gz}" + } + }, + { + "log": { + "type": "file", + "description": "Log file containing tiara model parameters. Gzipped if flag --gz is set.", + "pattern": "log_*.{txt,txt.gz}" + } + }, + { + "fasta": { + "type": "file", + "description": "(optional) - fasta files for each domain category specified in command flag `-tf`, containing classified contigs\n", + "pattern": "*.{fasta,fasta.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@prototaxites" + ] + } + }, + { + "name": "tiddit_cov", + "path": "modules/nf-core/tiddit/cov/meta.yml", + "type": "module", + "meta": { + "name": "tiddit_cov", + "description": "Computes the coverage of different regions from the bam file.", + "keywords": [ + "coverage", + "bam", + "statistics", + "chromosomal rearrangements" + ], + "tools": [ + { + "tiddit": { + "description": "TIDDIT - structural variant calling.", + "homepage": "https://github.com/SciLifeLab/TIDDIT", + "documentation": "https://github.com/SciLifeLab/TIDDIT/blob/master/README.md", + "doi": "10.12688/f1000research.11168.1", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome file. Only needed when passing in CRAM instead of BAM.\nIf not using CRAM, please pass an empty file instead.\n", + "pattern": "*.fasta" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "cov": { + "type": "file", + "description": "The coverage of different regions. Optional.", + "pattern": "*.tab" + } + }, + { + "wig": { + "type": "file", + "description": "The coverage of different regions in WIG format. Optional.", + "pattern": "*.wig" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@projectoriented", + "@ramprasadn" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "tiddit_sv", + "path": "modules/nf-core/tiddit/sv/meta.yml", + "type": "module", + "meta": { + "name": "tiddit_sv", + "description": "Identify chromosomal rearrangements.", + "keywords": [ + "structural", + "variants", + "vcf" + ], + "tools": [ + { + "sv": { + "description": "Search for structural variants.", + "homepage": "https://github.com/SciLifeLab/TIDDIT", + "documentation": "https://github.com/SciLifeLab/TIDDIT/blob/master/README.md", + "doi": "10.12688/f1000research.11168.1", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "index": { + "type": "file", + "description": "BAM/CRAM index file", + "pattern": "*.{bai,crai}" + } + }, + { + "fasta": { + "type": "file", + "description": "Input FASTA file", + "pattern": "*.{fasta,fa}" + } + }, + { + "bwa_index": { + "type": "file", + "description": "BWA genome index files", + "pattern": "Directory containing BWA index *.{amb,ann,bwt,pac,sa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "vcf", + "pattern": "*.{vcf}" + } + }, + { + "ploidy": { + "type": "file", + "description": "tab", + "pattern": "*.{ploidies.tab}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "transdecoder_longorf", + "path": "modules/nf-core/transdecoder/longorf/meta.yml", + "type": "module", + "meta": { + "name": "transdecoder_longorf", + "description": "TransDecoder itentifies candidate coding regions within transcript sequences. it is used to build gff file.", + "keywords": [ + "eucaryotes", + "gff" + ], + "tools": [ + { + "transdecoder": { + "description": "TransDecoder identifies candidate coding regions within transcript sequences, such as those generated by de novo RNA-Seq transcript assembly using Trinity, or constructed based on RNA-Seq alignments to the genome using Tophat and Cufflinks.", + "homepage": "https://github.com/TransDecoder", + "documentation": "https://github.com/TransDecoder/TransDecoder/wiki", + "tool_dev_url": "https://github.com/TransDecoder/TransDecoder", + "licence": [ + "Broad Institute" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "fasta file", + "pattern": "*.{fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "pep": { + "type": "Amino acids fasta file", + "description": "all ORFs meeting the minimum length criteria, regardless of coding potential. file", + "pattern": "*.{pep}" + } + }, + { + "gff3": { + "type": "gff file", + "description": "positions of all ORFs as found in the target transcripts. file", + "pattern": "*.{gff3}" + } + }, + { + "cds": { + "type": "fasta file", + "description": "the nucleotide coding sequence for all detected ORFs. file", + "pattern": "*{cds}" + } + }, + { + "dat": { + "type": "tsv file", + "description": "nucleotide frequencies", + "pattern": "*{dat}" + } + }, + { + "folder": { + "type": "directory", + "description": "contains all the files from the run" + } + } + ], + "authors": [ + "@Danilo2771" + ] + }, + "pipelines": [ + { + "name": "metatdenovo", + "version": "dev" + } + ] + }, + { + "name": "transdecoder_predict", + "path": "modules/nf-core/transdecoder/predict/meta.yml", + "type": "module", + "meta": { + "name": "transdecoder_predict", + "description": "TransDecoder identifies candidate coding regions within transcript sequences. It is used to build gff file. You can use this module after transdecoder_longorf", + "keywords": [ + "eukaryotes", + "gff" + ], + "tools": [ + { + "transdecoder": { + "description": "TransDecoder identifies candidate coding regions within transcript sequences, such as those generated by de novo RNA-Seq transcript assembly using Trinity, or constructed based on RNA-Seq alignments to the genome using Tophat and Cufflinks.", + "homepage": "https://github.com/TransDecoder", + "documentation": "https://github.com/TransDecoder/TransDecoder/wiki", + "tool_dev_url": "https://github.com/TransDecoder/TransDecoder", + "licence": [ + "Broad Institute" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "fasta file", + "pattern": "*.{fasta}" + } + }, + { + "fold": { + "type": "directory", + "description": "Output from the module transdecoder_longorf", + "pattern": "*" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "pep": { + "type": "amino acids fasta file", + "description": "All ORFs meeting the minimum length criteria, regardless of coding potential", + "pattern": "*.{pep}" + } + }, + { + "gff3": { + "type": "gff3 file", + "description": "Positions of all ORFs as found in the target transcripts", + "pattern": "*.{gff3}" + } + }, + { + "cds": { + "type": "nucleotide fasta file", + "description": "the nucleotide coding sequence for all detected ORFs", + "pattern": "*{cds}" + } + }, + { + "bed": { + "type": "bed file", + "description": "bed file", + "pattern": "*{bed}" + } + } + ], + "authors": [ + "@Danilo2771" + ] + }, + "pipelines": [ + { + "name": "metatdenovo", + "version": "dev" + } + ] + }, + { + "name": "trimgalore", + "path": "modules/nf-core/trimgalore/meta.yml", + "type": "module", + "meta": { + "name": "trimgalore", + "description": "Trim FastQ files using Trim Galore!", + "keywords": [ + "trimming", + "adapters", + "sequencing adapters", + "fastq" + ], + "tools": [ + { + "trimgalore": { + "description": "A wrapper tool around Cutadapt and FastQC to consistently apply quality\nand adapter trimming to FastQ files, with some extra functionality for\nMspI-digested RRBS-type (Reduced Representation Bisufite-Seq) libraries.\n", + "homepage": "https://www.bioinformatics.babraham.ac.uk/projects/trim_galore/", + "documentation": "https://github.com/FelixKrueger/TrimGalore/blob/master/Docs/Trim_Galore_User_Guide.md", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input adapter trimmed FastQ files of size 1 and 2 for\nsingle-end and paired-end data, respectively.\n", + "pattern": "*{3prime,5prime,trimmed,val}*.fq.gz" + } + }, + { + "unpaired": { + "type": "file", + "description": "FastQ files containing unpaired reads from read 1 or read 2\n", + "pattern": "*unpaired*.fq.gz" + } + }, + { + "html": { + "type": "file", + "description": "FastQC report (optional)", + "pattern": "*_{fastqc.html}" + } + }, + { + "zip": { + "type": "file", + "description": "FastQC report archive (optional)", + "pattern": "*_{fastqc.zip}" + } + }, + { + "log": { + "type": "file", + "description": "Trim Galore! trimming report", + "pattern": "*_{report.txt}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@ewels", + "@FelixKrueger" + ] + }, + "subworkflows": [ + "fastq_fastqc_umitools_trimgalore" + ], + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "methylseq", + "version": "2.4.0" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "ssds", + "version": "dev" + } + ] + }, + { + "name": "trimmomatic", + "path": "modules/nf-core/trimmomatic/meta.yml", + "type": "module", + "meta": { + "name": "trimmomatic", + "description": "Performs quality and adapter trimming on paired end and single end reads", + "keywords": [ + "trimming", + "adapter trimming", + "quality trimming" + ], + "tools": [ + { + "trimmomatic": { + "description": "A flexible read trimming tool for Illumina NGS data", + "homepage": "http://www.usadellab.org/cms/?page=trimmomatic", + "documentation": "https://github.com/usadellab/Trimmomatic", + "doi": "10.1093/bioinformatics/btu170", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Input FastQ files of size 1 or 2 for single-end and paired-end data, respectively.\n", + "pattern": "*.fastq.gz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "trimmed_reads": { + "type": "file", + "description": "The trimmed/modified paired end fastq reads", + "pattern": "*.paired.trim*.fastq.gz" + } + }, + { + "unpaired_reads": { + "type": "file", + "description": "The trimmed/modified unpaired end fastq reads", + "pattern": "*.unpaired.trim_*.fastq.gz" + } + }, + { + "log": { + "type": "file", + "description": "trimmomatic log file", + "pattern": "*.log" + } + }, + { + "summary": { + "type": "file", + "description": "trimmomatic summary file of surviving and dropped reads", + "pattern": "*.summary" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@alyssa-ab" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "variantcatalogue", + "version": "dev" + }, + { + "name": "viralintegration", + "version": "0.1.1" + } + ] + }, + { + "name": "trinity", + "path": "modules/nf-core/trinity/meta.yml", + "type": "module", + "meta": { + "name": "trinity", + "description": "Assembles a de novo transcriptome from RNAseq reads", + "keywords": [ + "assembly", + "de novo assembler", + "fasta", + "fastq" + ], + "tools": [ + { + "trinity": { + "description": "Trinity assembles transcript sequences from Illumina RNA-Seq data.", + "homepage": "https://github.com/trinityrnaseq/trinityrnaseq/wiki", + "documentation": "https://github.com/trinityrnaseq/trinityrnaseq/wiki", + "tool_dev_url": "https://github.com/trinityrnaseq/trinityrnaseq/", + "doi": "10.1038/nbt.1883", + "licence": "['BSD-3-clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "fasta/fastq file of reads to be assembled into a transcriptome", + "pattern": "*.{fa|fasta|fq|fastq}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "transcript_fasta": { + "type": "file", + "description": "de novo assembled transcripts fasta file compressed", + "pattern": "*.fa.gz" + } + } + ], + "authors": [ + "@timslittle" + ] + } + }, + { + "name": "ucsc_bedclip", + "path": "modules/nf-core/ucsc/bedclip/meta.yml", + "type": "module", + "meta": { + "name": "ucsc_bedclip", + "description": "Remove lines from bed file that refer to off-chromosome locations.", + "keywords": [ + "bed", + "genomics", + "ucsc" + ], + "tools": [ + { + "ucsc": { + "description": "Remove lines from bed file that refer to off-chromosome locations.", + "homepage": "http://hgdownload.cse.ucsc.edu/admin/exe/", + "licence": [ + "varies; see http://genome.ucsc.edu/license" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bedgraph": { + "type": "file", + "description": "bedGraph file", + "pattern": "*.{bedgraph}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bedgraph": { + "type": "file", + "description": "bedGraph file", + "pattern": "*.{bedgraph}" + } + } + ], + "authors": [ + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + } + ] + }, + { + "name": "ucsc_bedgraphtobigwig", + "path": "modules/nf-core/ucsc/bedgraphtobigwig/meta.yml", + "type": "module", + "meta": { + "name": "ucsc_bedgraphtobigwig", + "description": "Convert a bedGraph file to bigWig format.", + "keywords": [ + "bedgraph", + "bigwig", + "ucsc", + "bedgraphtobigwig", + "converter" + ], + "tools": [ + { + "ucsc": { + "description": "Convert a bedGraph file to bigWig format.", + "homepage": "http://hgdownload.cse.ucsc.edu/admin/exe/", + "documentation": "https://genome.ucsc.edu/goldenPath/help/bigWig.html", + "licence": [ + "varies; see http://genome.ucsc.edu/license" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bedgraph": { + "type": "file", + "description": "bedGraph file", + "pattern": "*.{bedGraph}" + } + }, + { + "sizes": { + "type": "file", + "description": "chromosome sizes file", + "pattern": "*.{sizes}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bigwig": { + "type": "file", + "description": "bigWig file", + "pattern": "*.{bigWig}" + } + } + ], + "authors": [ + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "ssds", + "version": "dev" + } + ] + }, + { + "name": "ucsc_bedtobigbed", + "path": "modules/nf-core/ucsc/bedtobigbed/meta.yml", + "type": "module", + "meta": { + "name": "ucsc_bedtobigbed", + "description": "Convert file from bed to bigBed format", + "keywords": [ + "bed", + "bigbed", + "ucsc", + "bedtobigbed", + "converter" + ], + "tools": [ + { + "ucsc": { + "description": "Convert file from bed to bigBed format", + "homepage": "http://hgdownload.cse.ucsc.edu/admin/exe/", + "documentation": "https://genome.ucsc.edu/goldenPath/help/bigBed.html", + "licence": [ + "varies; see http://genome.ucsc.edu/license" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "bed file", + "pattern": "*.{bed}" + } + }, + { + "sizes": { + "type": "file", + "description": "chromosome sizes file", + "pattern": "*.{sizes}" + } + }, + { + "autosql": { + "type": "file", + "description": "autoSql file to describe the columns of the BED file", + "pattern": "*.{as}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bigbed": { + "type": "file", + "description": "bigBed file", + "pattern": "*.{bigBed}" + } + } + ], + "authors": [ + "@drpatelh" + ] + } + }, + { + "name": "ucsc_bigwigaverageoverbed", + "path": "modules/nf-core/ucsc/bigwigaverageoverbed/meta.yml", + "type": "module", + "meta": { + "name": "ucsc_bigwigaverageoverbed", + "description": "compute average score of bigwig over bed file", + "keywords": [ + "bigwig", + "bedGraph", + "ucsc" + ], + "tools": [ + { + "ucsc": { + "description": "Compute average score of big wig over each bed, which may have introns.", + "homepage": "http://hgdownload.cse.ucsc.edu/admin/exe/", + "documentation": "http://www.genome.ucsc.edu/goldenPath/help/bigWig.html", + "licence": [ + "varies; see http://genome.ucsc.edu/license" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "bed file", + "pattern": "*.{bed}" + } + }, + { + "bigwig": { + "type": "file", + "description": "bigwig file", + "pattern": "*.{bigwig,bw}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "tab": { + "type": "file", + "description": "tab file", + "pattern": "*.{tab}" + } + } + ], + "authors": [ + "@jianhong" + ] + }, + "pipelines": [ + { + "name": "hicar", + "version": "1.0.0" + } + ] + }, + { + "name": "ucsc_gtftogenepred", + "path": "modules/nf-core/ucsc/gtftogenepred/meta.yml", + "type": "module", + "meta": { + "name": "ucsc_gtftogenepred", + "description": "compute average score of bigwig over bed file", + "keywords": [ + "gtf", + "genepred", + "refflat", + "ucsc", + "gtftogenepred" + ], + "tools": [ + { + "ucsc": { + "description": "Convert GTF files to GenePred format", + "homepage": "http://hgdownload.cse.ucsc.edu/admin/exe/", + "licence": [ + "varies; see http://genome.ucsc.edu/license" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gtf": { + "type": "file", + "description": "GTF file", + "pattern": "*.{gtf}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "genepred": { + "type": "file", + "description": "genepred file", + "pattern": "*.{genepred}" + } + }, + { + "refflat": { + "type": "file", + "description": "refflat file", + "pattern": "*.{refflat}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@BarryDigby", + "@anoronh4" + ] + } + }, + { + "name": "ucsc_liftover", + "path": "modules/nf-core/ucsc/liftover/meta.yml", + "type": "module", + "meta": { + "name": "ucsc_liftover", + "description": "convert between genome builds", + "keywords": [ + "bed", + "ucsc", + "ucsc/liftover" + ], + "tools": [ + { + "ucsc": { + "description": "Move annotations from one assembly to another", + "homepage": "http://hgdownload.cse.ucsc.edu/admin/exe/", + "licence": [ + "varies; see http://genome.ucsc.edu/license" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "Browser Extensible Data (BED) file", + "pattern": "*.{bed}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "version": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + }, + { + "lifted": { + "type": "file", + "description": "BED file containing successfully lifted variants", + "pattern": "*.{lifted.bed}" + } + }, + { + "unlifted": { + "type": "file", + "description": "BED file containing variants that couldn't be lifted", + "pattern": "*.{unlifted.bed}" + } + } + ], + "authors": [ + "@nebfield" + ] + } + }, + { + "name": "ucsc_wigtobigwig", + "path": "modules/nf-core/ucsc/wigtobigwig/meta.yml", + "type": "module", + "meta": { + "name": "ucsc_wigtobigwig", + "description": "Convert ascii format wig file to binary big wig format", + "keywords": [ + "wig", + "bigwig", + "ucsc" + ], + "tools": [ + { + "ucsc": { + "description": "Convert ascii format wig file (in fixedStep, variableStep\nor bedGraph format) to binary big wig format\n", + "homepage": "http://www.genome.ucsc.edu/goldenPath/help/bigWig.html", + "licence": [ + "varies; see http://genome.ucsc.edu/license" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "wig": { + "type": "file", + "description": "wig file", + "pattern": "*.{wig}" + } + }, + { + "chromsizes": { + "type": "file", + "description": "chromosome sizes file" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bw": { + "type": "file", + "description": "bigwig file", + "pattern": "*.{bw}" + } + } + ], + "authors": [ + "@jianhong", + "@projectoriented" + ] + }, + "pipelines": [ + { + "name": "hicar", + "version": "1.0.0" + }, + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "ultra_align", + "path": "modules/nf-core/ultra/align/meta.yml", + "type": "module", + "meta": { + "name": "ultra_align", + "description": "uLTRA aligner - A wrapper around minimap2 to improve small exon detection - Map reads on genome", + "keywords": [ + "uLTRA", + "align", + "minimap2", + "long_read", + "isoseq", + "ont" + ], + "tools": [ + { + "ultra": { + "description": "Splice aligner of long transcriptomic reads to genome.", + "homepage": "https://github.com/ksahlin/uLTRA", + "documentation": "https://github.com/ksahlin/uLTRA", + "tool_dev_url": "https://github.com/ksahlin/uLTRA", + "doi": "10.1093/bioinformatics/btab540", + "licence": "['GNU GPLV3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "A fasta or fastq file of reads to align", + "pattern": "*.{fa,fasta,fastq}" + } + }, + { + "genome": { + "type": "file", + "description": "A fasta file of reference genome", + "pattern": "*.{fa,fasta}" + } + }, + { + "pickle": { + "type": "file", + "description": "Pickle files generated by uLTRA index", + "pattern": "*.pickle" + } + }, + { + "db": { + "type": "file", + "description": "Database generated by uLTRA index", + "pattern": "*.db" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "The aligned reads in bam format", + "pattern": "*.bam" + } + } + ], + "authors": [ + "@sguizard" + ] + }, + "pipelines": [ + { + "name": "isoseq", + "version": "1.1.4" + } + ] + }, + { + "name": "ultra_index", + "path": "modules/nf-core/ultra/index/meta.yml", + "type": "module", + "meta": { + "name": "ultra_index", + "description": "uLTRA aligner - A wrapper around minimap2 to improve small exon detection - Index gtf file for reads alignment", + "keywords": [ + "uLTRA", + "index", + "minimap2", + "long_read", + "isoseq", + "ont" + ], + "tools": [ + { + "ultra": { + "description": "Splice aligner of long transcriptomic reads to genome.", + "homepage": "https://github.com/ksahlin/uLTRA", + "documentation": "https://github.com/ksahlin/uLTRA", + "tool_dev_url": "https://github.com/ksahlin/uLTRA", + "doi": "10.1093/bioinformatics/btab540", + "licence": "['GNU GPLV3']" + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "A fasta file of the genome to use as reference for mapping", + "pattern": "*.{fasta, fa}" + } + }, + { + "gtf": { + "type": "file", + "description": "An annotation file of the reference genome in GTF format", + "pattern": "*.gtf" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "pickle": { + "type": "file", + "description": "Index files generated by uLTRA index", + "pattern": "*.pickle" + } + }, + { + "pickle": { + "type": "file", + "description": "database file generated by uLTRA index", + "pattern": "*.db" + } + } + ], + "authors": [ + "@sguizard" + ] + }, + "pipelines": [ + { + "name": "isoseq", + "version": "1.1.4" + } + ] + }, + { + "name": "ultra_pipeline", + "path": "modules/nf-core/ultra/pipeline/meta.yml", + "type": "module", + "meta": { + "name": "ultra_pipeline", + "description": "uLTRA aligner - A wrapper around minimap2 to improve small exon detection", + "keywords": [ + "uLTRA", + "minimap2" + ], + "tools": [ + { + "ultra": { + "description": "Splice aligner of long transcriptomic reads to genome.", + "homepage": "https://github.com/ksahlin/uLTRA", + "documentation": "https://github.com/ksahlin/uLTRA", + "tool_dev_url": "https://github.com/ksahlin/uLTRA", + "doi": "10.1093/bioinformatics/btab540", + "licence": [ + "GNU GPLV3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "A fasta or fastq file of reads to align", + "pattern": "*.{fasta,fastq}" + } + }, + { + "genome": { + "type": "file", + "description": "fasta file of reference genome", + "pattern": "*.fasta" + } + }, + { + "gtf": { + "type": "file", + "description": "A annotation of use the genome", + "pattern": "*.gtf" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "sam": { + "type": "file", + "description": "The aligned reads in sam format", + "pattern": "*.sam" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@sguizard", + "@lassefolkersen", + "@ksahlin" + ] + } + }, + { + "name": "ultraplex", + "path": "modules/nf-core/ultraplex/meta.yml", + "type": "module", + "meta": { + "name": "ultraplex", + "description": "Ultraplex is an all-in-one software package for processing and demultiplexing fastq files.", + "keywords": [ + "demultiplex", + "fastq", + "umi" + ], + "tools": [ + { + "ultraplex": { + "description": "fastq demultiplexer", + "homepage": "https://github.com/ulelab/ultraplex", + "documentation": "https://github.com/ulelab/ultraplex", + "tool_dev_url": "https://github.com/ulelab/ultraplex", + "doi": "10.5281/zenodo.465128", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "Zipped FASTQ file", + "pattern": "*.{fastq.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "Demultiplexed sample FASTQ files", + "pattern": "*[!no_match].fastq.gz" + } + }, + { + "no_match_fastq": { + "type": "file", + "description": "FASTQ file containing reads that could not be demultiplexed", + "pattern": "*no_match.fastq.gz" + } + }, + { + "report": { + "type": "file", + "description": "File containing demultiplexing log", + "pattern": "*.log" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@CharlotteAnne", + "@oscarwilkins", + "@chris-cheshire", + "@marc-jones", + "@iraiosub", + "@samirelanduk" + ] + } + }, + { + "name": "umicollapse", + "path": "modules/nf-core/umicollapse/meta.yml", + "type": "module", + "meta": { + "name": "umicollapse", + "description": "Deduplicate reads based on the mapping co-ordinate and the UMI attached to the read.", + "keywords": [ + "umicollapse", + "deduplication", + "genomics" + ], + "tools": [ + { + "umicollapse": { + "description": "UMICollapse contains tools for dealing with Unique Molecular Identifiers (UMIs)/Random Molecular Tags (RMTs).", + "homepage": "https://github.com/Daniel-Liu-c0deb0t/UMICollapse", + "documentation": "https://github.com/Daniel-Liu-c0deb0t/UMICollapse", + "tool_dev_url": "https://github.com/Daniel-Liu-c0deb0t/UMICollapse", + "doi": "10.7717/peerj.8275", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\n e.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file containing reads to be deduplicated via UMIs.\n", + "pattern": "*.{bam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index files corresponding to the input BAM file.\n", + "pattern": "*.{bai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\n e.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file with deduplicated UMIs.", + "pattern": "*.{bam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@CharlotteAnne", + "@chris-cheshire" + ] + } + }, + { + "name": "umitools_dedup", + "path": "modules/nf-core/umitools/dedup/meta.yml", + "type": "module", + "meta": { + "name": "umitools_dedup", + "description": "Deduplicate reads based on the mapping co-ordinate and the UMI attached to the read.", + "keywords": [ + "umitools", + "deduplication", + "dedup" + ], + "tools": [ + { + "umi_tools": { + "description": "UMI-tools contains tools for dealing with Unique Molecular Identifiers (UMIs)/Random Molecular Tags (RMTs) and single cell RNA-Seq cell barcodes\n", + "documentation": "https://umi-tools.readthedocs.io/en/latest/", + "license": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file containing reads to be deduplicated via UMIs.\n", + "pattern": "*.{bam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index files corresponding to the input BAM file.\n", + "pattern": "*.{bai}" + } + }, + { + "get_output_stats": { + "type": "boolean", + "description": "Whether or not to generate output stats.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file with deduplicated UMIs.", + "pattern": "*.{bam}" + } + }, + { + "log": { + "type": "file", + "description": "File with logging information", + "pattern": "*.{log}" + } + }, + { + "tsv_edit_distance": { + "type": "file", + "description": "Reports the (binned) average edit distance between the UMIs at each position.", + "pattern": "*edit_distance.tsv" + } + }, + { + "tsv_per_umi": { + "type": "file", + "description": "UMI-level summary statistics.", + "pattern": "*per_umi.tsv" + } + }, + { + "tsv_umi_per_position": { + "type": "file", + "description": "Tabulates the counts for unique combinations of UMI and position.", + "pattern": "*per_position.tsv" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@grst", + "@klkeys" + ] + }, + "pipelines": [ + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "radseq", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "umitools_extract", + "path": "modules/nf-core/umitools/extract/meta.yml", + "type": "module", + "meta": { + "name": "umitools_extract", + "description": "Extracts UMI barcode from a read and add it to the read name, leaving any sample barcode in place", + "keywords": [ + "umitools", + "extract" + ], + "tools": [ + { + "umi_tools": { + "description": "UMI-tools contains tools for dealing with Unique Molecular Identifiers (UMIs)/Random Molecular Tags (RMTs) and single cell RNA-Seq cell barcodes\n", + "documentation": "https://umi-tools.readthedocs.io/en/latest/", + "license": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "list", + "description": "List of input FASTQ files whose UMIs will be extracted.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Extracted FASTQ files. | For single-end reads, pattern is \\${prefix}.umi_extract.fastq.gz. | For paired-end reads, pattern is \\${prefix}.umi_extract_{1,2}.fastq.gz.\n", + "pattern": "*.{fastq.gz}" + } + }, + { + "log": { + "type": "file", + "description": "Logfile for umi_tools", + "pattern": "*.{log}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@grst" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + } + ] + }, + { + "name": "unicycler", + "path": "modules/nf-core/unicycler/meta.yml", + "type": "module", + "meta": { + "name": "unicycler", + "description": "Assembles bacterial genomes", + "keywords": [ + "genome", + "assembly", + "genome assembler", + "small genome" + ], + "tools": [ + { + "unicycler": { + "description": "Hybrid assembly pipeline for bacterial genomes", + "homepage": "https://github.com/rrwick/Unicycler", + "documentation": "https://github.com/rrwick/Unicycler", + "tool_dev_url": "https://github.com/rrwick/Unicycler", + "doi": "10.1371/journal.pcbi.1005595", + "licence": [ + "GPL v3" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "shortreads": { + "type": "file", + "description": "List of input Illumina FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "longreads": { + "type": "file", + "description": "List of input FastQ files of size 1, PacBio or Nanopore long reads.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "scaffolds": { + "type": "file", + "description": "Fasta file containing scaffolds", + "pattern": "*.{scaffolds.fa.gz}" + } + }, + { + "gfa": { + "type": "file", + "description": "gfa file containing assembly", + "pattern": "*.{assembly.gfa.gz}" + } + }, + { + "log": { + "type": "file", + "description": "unicycler log file", + "pattern": "*.{log}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@JoseEspinosa", + "@drpatelh", + "@d4straub" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "universc", + "path": "modules/nf-core/universc/meta.yml", + "type": "module", + "meta": { + "name": "universc", + "description": "Module to run UniverSC an open-source pipeline to demultiplex and process single-cell RNA-Seq data", + "keywords": [ + "demultiplex", + "align", + "single-cell", + "scRNA-Seq", + "count", + "umi" + ], + "tools": [ + { + "universc": { + "description": "UniverSC: a flexible cross-platform single-cell data processing pipeline", + "homepage": "https://hub.docker.com/r/tomkellygenetics/universc", + "documentation": "https://raw.githubusercontent.com/minoda-lab/universc/master/man/launch_universc.sh", + "tool_dev_url": "https://github.com/minoda-lab/universc", + "doi": "10.1101/2021.01.19.427209", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "FASTQ or FASTQ.GZ file, list of 2 files for paired-end data", + "pattern": "*.{fastq,fq,fastq.gz,fq.gz}" + } + } + ], + "output": [ + { + "outs": { + "type": "file", + "description": "Files containing the outputs of Cell Ranger", + "pattern": "sample-${meta.id}/outs/*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software version", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@kbattenb", + "@tomkellygenetics" + ] + }, + "pipelines": [ + { + "name": "scrnaseq", + "version": "2.3.2" + } + ] + }, + { + "name": "untar", + "path": "modules/nf-core/untar/meta.yml", + "type": "module", + "meta": { + "name": "untar", + "description": "Extract files.", + "keywords": [ + "untar", + "uncompress", + "extract" + ], + "tools": [ + { + "untar": { + "description": "Extract tar.gz files.\n", + "documentation": "https://www.gnu.org/software/tar/manual/", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" } + }, + { + "archive": { + "type": "file", + "description": "File to be untar", + "pattern": "*.{tar}.{gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "untar": { + "type": "directory", + "description": "Directory containing contents of archive", + "pattern": "*/" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh", + "@matthdsm", + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "chipseq", + "version": "2.0.0" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "demultiplex", + "version": "1.3.2" + }, + { + "name": "differentialabundance", + "version": "1.2.0" + }, + { + "name": "funcscan", + "version": "1.1.2" + }, + { + "name": "hgtseq", + "version": "1.1.0" + }, + { + "name": "nanoseq", + "version": "3.1.0" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "proteinfold", + "version": "1.0.0" + }, + { + "name": "raredisease", + "version": "1.0.0" + }, + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "rnavar", + "version": "1.0.0" + }, + { + "name": "sarek", + "version": "3.2.3" + }, + { + "name": "spatialtranscriptomics", + "version": "dev" + }, + { + "name": "taxprofiler", + "version": "1.0.1" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "untarfiles", + "path": "modules/nf-core/untarfiles/meta.yml", + "type": "module", + "meta": { + "name": "untarfiles", + "description": "Extract files.", + "keywords": [ + "untar", + "uncompress", + "files" + ], + "tools": [ + { + "untar": { + "description": "Extract tar.gz files.\n", + "documentation": "https://www.gnu.org/software/tar/manual/", + "licence": [ + "GPL-3.0-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "archive": { + "type": "file", + "description": "File to be untar", + "pattern": "*.{tar}.{gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "files": { + "type": "string", + "description": "A list containing references to individual archive files", + "pattern": "*/**" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@joseespinosa", + "@drpatelh", + "@matthdsm", + "@jfy133", + "@pinin4fjords" + ] + } + }, + { + "name": "unzip", + "path": "modules/nf-core/unzip/meta.yml", + "type": "module", + "meta": { + "name": "unzip", + "description": "Unzip ZIP archive files", + "keywords": [ + "unzip", + "decompression" + ], + "tools": [ + { + "unzip": { + "description": "p7zip is a quick port of 7z.exe and 7za.exe (command line version of 7zip, see www.7-zip.org) for Unix.", + "homepage": "https://sourceforge.net/projects/p7zip/", + "documentation": "https://sourceforge.net/projects/p7zip/", + "tool_dev_url": "https://sourceforge.net/projects/p7zip\"", + "licence": [ + "LGPL-2.1-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "archive": { + "type": "file", + "description": "ZIP file", + "pattern": "*.zip" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "unzipped_archive": { + "type": "directory", + "description": "Directory contents of the unzipped archive", + "pattern": "${archive.baseName}/" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "unzipfiles", + "path": "modules/nf-core/unzipfiles/meta.yml", + "type": "module", + "meta": { + "name": "unzipfiles", + "description": "Unzip ZIP archive files", + "keywords": [ + "unzip", + "decompression" + ], + "tools": [ + { + "unzip": { + "description": "p7zip is a quick port of 7z.exe and 7za.exe (command line version of 7zip, see www.7-zip.org) for Unix.", + "homepage": "https://sourceforge.net/projects/p7zip/", + "documentation": "https://sourceforge.net/projects/p7zip/", + "tool_dev_url": "https://sourceforge.net/projects/p7zip\"", + "licence": [ + "LGPL-2.1-or-later" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "archive": { + "type": "file", + "description": "ZIP file", + "pattern": "*.zip" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "files": { + "type": "list", + "description": "A list containing references to individual archive files", + "pattern": "*/**" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@jfy133", + "@pinin4fjords" + ] + } + }, + { + "name": "upd", + "path": "modules/nf-core/upd/meta.yml", + "type": "module", + "meta": { + "name": "upd", + "description": "Simple software to call UPD regions from germline exome/wgs trios.", + "keywords": [ + "upd", + "uniparental", + "disomy" + ], + "tools": [ + { + "upd": { + "description": "Simple software to call UPD regions from germline exome/wgs trios.", + "homepage": "https://github.com/bjhall/upd", + "documentation": "https://github.com/bjhall/upd", + "tool_dev_url": "https://github.com/bjhall/upd", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf,vcf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bed": { + "type": "file", + "description": "BED file", + "pattern": "*.{bed}" + } + } + ], + "authors": [ + "@hrydbeck" + ] + } + }, + { + "name": "vardictjava", + "path": "modules/nf-core/vardictjava/meta.yml", + "type": "module", + "meta": { + "name": "vardictjava", + "description": "The Java port of the VarDict variant caller", + "keywords": [ + "variant calling", + "vcf", + "bam", + "snv", + "sv" + ], + "tools": [ + { + "vardictjava": { + "description": "Java port of the VarDict variant discovery program", + "homepage": "https://github.com/AstraZeneca-NGS/VarDictJava", + "documentation": "https://github.com/AstraZeneca-NGS/VarDictJava", + "tool_dev_url": "https://github.com/AstraZeneca-NGS/VarDictJava", + "doi": "10.1093/nar/gkw227 ", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bams": { + "type": "file", + "description": "One or two BAM files. Supply two BAM files to run Vardict in paired mode.", + "pattern": "*.bam" + } + }, + { + "bais": { + "type": "file", + "description": "Index/indices of the BAM file(s)", + "pattern": "*.bai" + } + }, + { + "bed": { + "type": "file", + "description": "BED with the regions of interest", + "pattern": "*.bed" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing fasta information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA of the reference genome", + "pattern": "*.{fa,fasta}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing fasta information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the FASTA of the reference genome", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file output", + "pattern": "*.vcf.gz" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "variantbam", + "path": "modules/nf-core/variantbam/meta.yml", + "type": "module", + "meta": { + "name": "variantbam", + "description": "Filtering, downsampling and profiling alignments in BAM/CRAM formats", + "keywords": [ + "filter", + "bam", + "subsample", + "downsample", + "downsample bam", + "subsample bam" + ], + "tools": [ + { + "variantbam": { + "description": "Filtering and profiling of next-generational sequencing data using region-specific rules", + "homepage": "https://github.com/walaj/VariantBam", + "documentation": "https://github.com/walaj/VariantBam#table-of-contents", + "tool_dev_url": "https://github.com/walaj/VariantBam", + "doi": "10.1093/bioinformatics/btw111", + "licence": [ + "Apache-2.0" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM file", + "pattern": "*.{bam,cram}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Filtered or downsampled BAM file", + "pattern": "*.{bam}" + } + } + ], + "authors": [ + "@bjohnnyd" + ] + } + }, + { + "name": "varlociraptor_callvariants", + "path": "modules/nf-core/varlociraptor/callvariants/meta.yml", + "type": "module", + "meta": { + "name": "varlociraptor_callvariants", + "description": "Call variants for a given scenario specified with the varlociraptor calling grammar, preprocessed by varlociraptor preprocessing", + "keywords": [ + "observations", + "variants", + "calling" + ], + "tools": [ + { + "varlociraptor": { + "description": "Flexible, uncertainty-aware variant calling with parameter free filtration via FDR control.", + "homepage": "https://varlociraptor.github.io/docs/estimating/", + "documentation": "https://varlociraptor.github.io/docs/calling/", + "tool_dev_url": "https://github.com/varlociraptor/varlociraptor", + "doi": "10.1186/s13059-020-01993-6", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "normal_vcf": { + "type": "file", + "description": "Sorted VCF/BCF file (list)", + "pattern": "*.{bcf,vcf,vcf.gz}" + } + }, + { + "tumor_vcf": { + "type": "file", + "description": "Sorted VCF/BCF file (optional)", + "pattern": "*.{bcf,bcf.gz,vcf,vcf.gz}" + } + }, + { + "scenario": { + "type": "file", + "description": "Yaml file containing scenario information (optional)", + "pattern": "*.{yml,yaml}" + } + }, + { + "scenario_sample": { + "type": "string", + "description": "(List of) sample name(s) to be processed as named in the scenario yml (optional)", + "pattern": "*.{bcf,vcf,vcf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf_gz": { + "type": "file", + "description": "Compressed VCF file containing sample observations", + "pattern": "*.vcf.gz" + } + }, + { + "bcf_gz": { + "type": "file", + "description": "BCF file containing sample observations", + "pattern": "*.bcf.gz" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file containing sample observations", + "pattern": "*.vcf" + } + }, + { + "bcf": { + "type": "file", + "description": "BCF file containing sample observations", + "pattern": "*.bcf" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + } + }, + { + "name": "varlociraptor_estimatealignmentproperties", + "path": "modules/nf-core/varlociraptor/estimatealignmentproperties/meta.yml", + "type": "module", + "meta": { + "name": "varlociraptor_estimatealignmentproperties", + "description": "In order to judge about candidate indel and structural variants, Varlociraptor needs to know about certain properties of the underlying sequencing experiment in combination with the used read aligner.", + "keywords": [ + "estimation", + "alignment", + "variants" + ], + "tools": [ + { + "varlociraptor": { + "description": "Flexible, uncertainty-aware variant calling with parameter free filtration via FDR control.", + "homepage": "https://varlociraptor.github.io/docs/estimating/", + "documentation": "https://varlociraptor.github.io/docs/estimating/", + "tool_dev_url": "https://github.com/varlociraptor/varlociraptor", + "doi": "10.1186/s13059-020-01993-6", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference fasta file", + "pattern": "*.{fasta}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference index information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Index for reference fasta file (must be with samtools index)", + "pattern": "*.{fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "alignment_properties_json": { + "type": "file", + "description": "File containing alignment properties", + "pattern": "*.alignment-properties.json" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + } + }, + { + "name": "varlociraptor_preprocess", + "path": "modules/nf-core/varlociraptor/preprocess/meta.yml", + "type": "module", + "meta": { + "name": "varlociraptor_preprocess", + "description": "Obtains per-sample observations for the actual calling process with varlociraptor calls", + "keywords": [ + "observations", + "variants", + "preprocessing" + ], + "tools": [ + { + "varlociraptor": { + "description": "Flexible, uncertainty-aware variant calling with parameter free filtration via FDR control.", + "homepage": "https://varlociraptor.github.io/docs/estimating/", + "documentation": "https://varlociraptor.github.io/docs/calling/", + "tool_dev_url": "https://github.com/varlociraptor/varlociraptor", + "doi": "10.1186/s13059-020-01993-6", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "candidates": { + "type": "file", + "description": "Sorted BCF/VCF file", + "pattern": "*.{bcf,vcf,vcf.gz}" + } + }, + { + "alignment_json": { + "type": "file", + "description": "File containing alignment properties obtained with varlociraptor/estimatealignmentproperties", + "pattern": "*.json" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference fasta file", + "pattern": "*.{fasta}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference index information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fai": { + "type": "file", + "description": "Index for reference fasta file (must be with samtools index)", + "pattern": "*.{fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf_gz": { + "type": "file", + "description": "Compressed VCF file containing sample observations", + "pattern": "*.vcf.gz" + } + }, + { + "bcf_gz": { + "type": "file", + "description": "BCF file containing sample observations", + "pattern": "*.bcf.gz" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file containing sample observations", + "pattern": "*.vcf" + } + }, + { + "bcf": { + "type": "file", + "description": "BCF file containing sample observations", + "pattern": "*.bcf" + } + } + ], + "authors": [ + "@FriederikeHanssen" + ] + } + }, + { + "name": "vcf2db", + "path": "modules/nf-core/vcf2db/meta.yml", + "type": "module", + "meta": { + "name": "vcf2db", + "description": "A tool to create a Gemini-compatible DB file from an annotated VCF", + "keywords": [ + "vcf2db", + "vcf", + "gemini" + ], + "tools": [ + { + "vcf2db": { + "description": "Create a gemini-compatible database from a VCF", + "homepage": "https://github.com/quinlan-lab/vcf2db", + "documentation": "https://github.com/quinlan-lab/vcf2db", + "tool_dev_url": "https://github.com/quinlan-lab/vcf2db", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "ped": { + "type": "file", + "description": "PED file", + "pattern": "*.ped" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "db": { + "type": "file", + "description": "Gemini-compatible database file", + "pattern": "*.db" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "vcf2maf", + "path": "modules/nf-core/vcf2maf/meta.yml", + "type": "module", + "meta": { + "name": "vcf2maf", + "description": "vcf2maf", + "keywords": [ + "vcf", + "maf", + "annotation" + ], + "tools": [ + { + "vcf2maf": { + "description": "\"Convert a VCF into a MAF where each variant is annotated to only one of all possible gene isoforms using vcf2maf. vcf2maf is designed to work with VEP, so it is recommended to have VEP and vcf2maf installed when running this module. Running VEP requires a VEP cache to be present. It is recommended to set the --species and --ncbi-build in ext.args (use the module config). If you wish to skip VEP, add `--inhibit-vep` to ext.args. It may also be necessary to set --tumor-id and --normal-id for correct parsing of the VCF.\"\n", + "homepage": "https://github.com/mskcc/vcf2maf", + "documentation": "https://github.com/mskcc/vcf2maf", + "tool_dev_url": "https://github.com/mskcc/vcf2maf", + "doi": "10.5281/zenodo.593251", + "licence": "['Apache-2.0']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "vcf to convert to MAF format. Must be uncompressed.\n" + } + }, + { + "vep_cache": { + "type": "file", + "description": "Path to VEP cache dir. Required for correct running of VEP.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "maf": { + "type": "file", + "description": "MAF file produced from VCF", + "pattern": "*.maf" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@adamrtalbot" + ] + } + }, + { + "name": "vcfanno", + "path": "modules/nf-core/vcfanno/meta.yml", + "type": "module", + "meta": { + "name": "vcfanno", + "description": "quickly annotate your VCF with any number of INFO fields from any number of VCFs or BED files", + "keywords": [ + "vcf", + "bed", + "annotate", + "variant", + "lua", + "toml" + ], + "tools": [ + { + "vcfanno": { + "description": "annotate a VCF with other VCFs/BEDs/tabixed files", + "documentation": "https://github.com/brentp/vcfanno#vcfanno", + "tool_dev_url": "https://github.com/brentp/vcfanno", + "doi": "10.1186/s13059-016-0973-5", + "license": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "query VCF file", + "pattern": "*.{vcf, vcf.gz}" + } + }, + { + "vcf_tabix": { + "type": "file", + "description": "tabix index of query VCF - only needed if vcf is compressed", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "specific_resources": { + "type": "map", + "description": "A list of sample specific reference files defined in toml config, must also include indices if bgzipped." + } + }, + { + "toml": { + "type": "file", + "description": "configuration file with reference file basenames", + "pattern": "*.toml" + } + }, + { + "lua": { + "type": "file", + "description": "Lua file for custom annotations", + "pattern": "*.lua" + } + }, + { + "resources": { + "type": "map", + "description": "List of reference files defined in toml config, must also include indices if bgzipped." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Annotated VCF file", + "pattern": "*.vcf" + } + } + ], + "authors": [ + "@projectoriented", + "@matthdsm" + ] + }, + "pipelines": [ + { + "name": "raredisease", + "version": "1.0.0" + } + ] + }, + { + "name": "vcflib_vcfbreakmulti", + "path": "modules/nf-core/vcflib/vcfbreakmulti/meta.yml", + "type": "module", + "meta": { + "name": "vcflib_vcfbreakmulti", + "description": "If multiple alleles are specified in a single record, break the record into several lines preserving allele-specific INFO fields", + "keywords": [ + "vcflib", + "vcflib/vcfbreakmulti" + ], + "tools": [ + { + "vcflib": { + "description": "Command-line tools for manipulating VCF files", + "homepage": "https://github.com/vcflib/vcflib", + "documentation": "https://github.com/vcflib/vcflib#USAGE", + "doi": "10.1101/2021.05.21.445151", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed VCF file", + "pattern": "*.{.vcf.gz,vcf}" + } + }, + { + "tbi": { + "type": "file", + "description": "Index of VCF file", + "pattern": "*.vcf.gz.tbi" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed VCF file", + "pattern": "*.vcf.gz" + } + } + ], + "authors": [ + "@lucpen" + ] + } + }, + { + "name": "vcflib_vcffilter", + "path": "modules/nf-core/vcflib/vcffilter/meta.yml", + "type": "module", + "meta": { + "name": "vcflib_vcffilter", + "description": "Command line tools for parsing and manipulating VCF files.", + "keywords": [ + "filter", + "variant", + "vcf", + "quality" + ], + "tools": [ + { + "vcflib": { + "description": "Command line tools for parsing and manipulating VCF files.", + "homepage": "https://github.com/vcflib/vcflib", + "documentation": "https://github.com/vcflib/vcflib", + "tool_dev_url": "https://github.com/vcflib/vcflib", + "doi": "10.1371/journal.pcbi.1009123", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test_sample_1' ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "VCF file", + "pattern": "*.{vcf,vcf.gz}" + } + }, + { + "tbi": { + "type": "file", + "description": "Index file", + "pattern": "*.{tbi}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Filtered VCF file", + "pattern": "*.{vcf.gz}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@zachary-foster" + ] + } + }, + { + "name": "vcflib_vcfuniq", + "path": "modules/nf-core/vcflib/vcfuniq/meta.yml", + "type": "module", + "meta": { + "name": "vcflib_vcfuniq", + "description": "List unique genotypes. Like GNU uniq, but for VCF records. Remove records which have the same position, ref, and alt as the previous record.", + "keywords": [ + "vcf", + "uniq", + "deduplicate" + ], + "tools": [ + { + "vcflib": { + "description": "Command-line tools for manipulating VCF files", + "homepage": "https://github.com/vcflib/vcflib", + "documentation": "https://github.com/vcflib/vcflib#USAGE", + "doi": "10.1101/2021.05.21.445151", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Index of VCF file", + "pattern": "*.vcf.gz.tbi" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed VCF file", + "pattern": "*.vcf.gz" + } + } + ], + "authors": [ + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "vcftools", + "path": "modules/nf-core/vcftools/meta.yml", + "type": "module", + "meta": { + "name": "vcftools", + "description": "A set of tools written in Perl and C++ for working with VCF files", + "keywords": [ + "VCF", + "sort" + ], + "tools": [ + { + "vcftools": { + "description": "A set of tools written in Perl and C++ for working with VCF files. This package only contains the C++ libraries whereas the package perl-vcftools-vcf contains the perl libraries", + "homepage": "http://vcftools.sourceforge.net/", + "documentation": "http://vcftools.sourceforge.net/man_latest.html", + "licence": [ + "LGPL" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "variant_file": { + "type": "file", + "description": "variant input file which can be vcf, vcf.gz, or bcf format." + } + }, + { + "bed": { + "type": "file", + "description": "bed file which can be used with different arguments in vcftools (optional)" + } + }, + { + "diff_variant_file": { + "type": "file", + "description": "secondary variant file which can be used with the 'diff' suite of tools (optional)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "vcf file (optional)", + "pattern": "*.vcf" + } + }, + { + "bcf": { + "type": "file", + "description": "bcf file (optional)", + "pattern": "*.bcf" + } + }, + { + "frq": { + "type": "file", + "description": "Allele frequency for each site (optional)", + "pattern": "*.frq" + } + }, + { + "frq_count": { + "type": "file", + "description": "Allele counts for each site (optional)", + "pattern": "*.frq.count" + } + }, + { + "idepth": { + "type": "file", + "description": "mean depth per individual (optional)", + "pattern": "*.idepth" + } + }, + { + "ldepth": { + "type": "file", + "description": "depth per site summed across individuals (optional)", + "pattern": "*.ildepth" + } + }, + { + "ldepth_mean": { + "type": "file", + "description": "mean depth per site calculated across individuals (optional)", + "pattern": "*.ldepth.mean" + } + }, + { + "gdepth": { + "type": "file", + "description": "depth for each genotype in vcf file (optional)", + "pattern": "*.gdepth" + } + }, + { + "hap_ld": { + "type": "file", + "description": "r2, D, and D’ statistics using phased haplotypes (optional)", + "pattern": "*.hap.ld" + } + }, + { + "geno_ld": { + "type": "file", + "description": "squared correlation coefficient between genotypes encoded as 0, 1 and 2 to represent the number of non-reference alleles in each individual (optional)", + "pattern": "*.geno.ld" + } + }, + { + "geno_chisq": { + "type": "file", + "description": "test for genotype independence via the chi-squared statistic (optional)", + "pattern": "*.geno.chisq" + } + }, + { + "list_hap_ld": { + "type": "file", + "description": "r2 statistics of the sites contained in the provided input file verses all other sites (optional)", + "pattern": "*.list.hap.ld" + } + }, + { + "list_geno_ld": { + "type": "file", + "description": "r2 statistics of the sites contained in the provided input file verses all other sites (optional)", + "pattern": "*.list.geno.ld" + } + }, + { + "interchrom_hap_ld": { + "type": "file", + "description": "r2 statistics for sites (haplotypes) on different chromosomes (optional)", + "pattern": "*.interchrom.hap.ld" + } + }, + { + "interchrom_geno_ld": { + "type": "file", + "description": "r2 statistics for sites (genotypes) on different chromosomes (optional)", + "pattern": "*.interchrom.geno.ld" + } + }, + { + "tstv": { + "type": "file", + "description": "Transition / Transversion ratio in bins of size defined in options (optional)", + "pattern": "*.TsTv" + } + }, + { + "tstv_summary": { + "type": "file", + "description": "Summary of all Transitions and Transversions (optional)", + "pattern": "*.TsTv.summary" + } + }, + { + "tstv_count": { + "type": "file", + "description": "Transition / Transversion ratio as a function of alternative allele count (optional)", + "pattern": "*.TsTv.count" + } + }, + { + "tstv_qual": { + "type": "file", + "description": "Transition / Transversion ratio as a function of SNP quality threshold (optional)", + "pattern": "*.TsTv.qual" + } + }, + { + "filter_summary": { + "type": "file", + "description": "Summary of the number of SNPs and Ts/Tv ratio for each FILTER category (optional)", + "pattern": "*.FILTER.summary" + } + }, + { + "sites_pi": { + "type": "file", + "description": "Nucleotide divergency on a per-site basis (optional)", + "pattern": "*.sites.pi" + } + }, + { + "windowed_pi": { + "type": "file", + "description": "Nucleotide diversity in windows, with window size determined by options (optional)", + "pattern": "*windowed.pi" + } + }, + { + "weir_fst": { + "type": "file", + "description": "Fst estimate from Weir and Cockerham’s 1984 paper (optional)", + "pattern": "*.weir.fst" + } + }, + { + "heterozygosity": { + "type": "file", + "description": "Heterozygosity on a per-individual basis (optional)", + "pattern": "*.het" + } + }, + { + "hwe": { + "type": "file", + "description": "Contains the Observed numbers of Homozygotes and Heterozygotes and the corresponding Expected numbers under HWE (optional)", + "pattern": "*.hwe" + } + }, + { + "tajima_d": { + "type": "file", + "description": "Tajima’s D statistic in bins with size of the specified number in options (optional)", + "pattern": "*.Tajima.D" + } + }, + { + "freq_burden": { + "type": "file", + "description": "Number of variants within each individual of a specific frequency in options (optional)", + "pattern": "*.ifreqburden" + } + }, + { + "lroh": { + "type": "file", + "description": "Long Runs of Homozygosity (optional)", + "pattern": "*.LROH" + } + }, + { + "relatedness": { + "type": "file", + "description": "Relatedness statistic based on the method of Yang et al, Nature Genetics 2010 (doi:10.1038/ng.608) (optional)", + "pattern": "*.relatedness" + } + }, + { + "relatedness2": { + "type": "file", + "description": "Relatedness statistic based on the method of Manichaikul et al., BIOINFORMATICS 2010 (doi:10.1093/bioinformatics/btq559) (optional)", + "pattern": "*.relatedness2" + } + }, + { + "lqual": { + "type": "file", + "description": "per-site SNP quality (optional)", + "pattern": "*.lqual" + } + }, + { + "missing_individual": { + "type": "file", + "description": "Missingness on a per-individual basis (optional)", + "pattern": "*.imiss" + } + }, + { + "missing_site": { + "type": "file", + "description": "Missingness on a per-site basis (optional)", + "pattern": "*.lmiss" + } + }, + { + "snp_density": { + "type": "file", + "description": "Number and density of SNPs in bins of size defined by option (optional)", + "pattern": "*.snpden" + } + }, + { + "kept_sites": { + "type": "file", + "description": "All sites that have been kept after filtering (optional)", + "pattern": "*.kept.sites" + } + }, + { + "removed_sites": { + "type": "file", + "description": "All sites that have been removed after filtering (optional)", + "pattern": "*.removed.sites" + } + }, + { + "singeltons": { + "type": "file", + "description": "Location of singletons, and the individual they occur in (optional)", + "pattern": "*.singeltons" + } + }, + { + "indel_hist": { + "type": "file", + "description": "Histogram file of the length of all indels (including SNPs) (optional)", + "pattern": "*.indel_hist" + } + }, + { + "hapcount": { + "type": "file", + "description": "Unique haplotypes within user specified bins (optional)", + "pattern": "*.hapcount" + } + }, + { + "mendel": { + "type": "file", + "description": "Mendel errors identified in trios (optional)", + "pattern": "*.mendel" + } + }, + { + "format": { + "type": "file", + "description": "Extracted information from the genotype fields in the VCF file relating to a specfied FORMAT identifier (optional)", + "pattern": "*.FORMAT" + } + }, + { + "info": { + "type": "file", + "description": "Extracted information from the INFO field in the VCF file (optional)", + "pattern": "*.INFO" + } + }, + { + "genotypes_matrix": { + "type": "file", + "description": "Genotypes output as large matrix.\nGenotypes of each individual on a separate line.\nGenotypes are represented as 0, 1 and 2, where the number represent that number of non-reference alleles.\nMissing genotypes are represented by -1 (optional)\n", + "pattern": "*.012" + } + }, + { + "genotypes_matrix_individual": { + "type": "file", + "description": "Details the individuals included in the main genotypes_matrix file (optional)", + "pattern": "*.012.indv" + } + }, + { + "genotypes_matrix_position": { + "type": "file", + "description": "Details the site locations included in the main genotypes_matrix file (optional)", + "pattern": "*.012.pos" + } + }, + { + "impute_hap": { + "type": "file", + "description": "Phased haplotypes in IMPUTE reference-panel format (optional)", + "pattern": "*.impute.hap" + } + }, + { + "impute_hap_legend": { + "type": "file", + "description": "Impute haplotype legend file (optional)", + "pattern": "*.impute.hap.legend" + } + }, + { + "impute_hap_indv": { + "type": "file", + "description": "Impute haplotype individuals file (optional)", + "pattern": "*.impute.hap.indv" + } + }, + { + "ldhat_sites": { + "type": "file", + "description": "Output data in LDhat format, sites (optional)", + "pattern": "*.ldhat.sites" + } + }, + { + "ldhat_locs": { + "type": "file", + "description": "output data in LDhat format, locations (optional)", + "pattern": "*.ldhat.locs" + } + }, + { + "beagle_gl": { + "type": "file", + "description": "Genotype likelihoods for biallelic sites (optional)", + "pattern": "*.BEAGLE.GL" + } + }, + { + "beagle_pl": { + "type": "file", + "description": "Genotype likelihoods for biallelic sites (optional)", + "pattern": "*.BEAGLE.PL" + } + }, + { + "ped": { + "type": "file", + "description": "output the genotype data in PLINK PED format (optional)", + "pattern": "*.ped" + } + }, + { + "map_": { + "type": "file", + "description": "output the genotype data in PLINK PED format (optional)", + "pattern": "*.map" + } + }, + { + "tped": { + "type": "file", + "description": "output the genotype data in PLINK PED format (optional)", + "pattern": "*.tped" + } + }, + { + "tfam": { + "type": "file", + "description": "output the genotype data in PLINK PED format (optional)", + "pattern": "*.tfam" + } + }, + { + "diff_sites_in_files": { + "type": "file", + "description": "Sites that are common / unique to each file specified in optional inputs (optional)", + "pattern": "*.diff.sites.in.files" + } + }, + { + "diff_indv_in_files": { + "type": "file", + "description": "Individuals that are common / unique to each file specified in optional inputs (optional)", + "pattern": "*.diff.indv.in.files" + } + }, + { + "diff_sites": { + "type": "file", + "description": "Discordance on a site by site basis, specified in optional inputs (optional)", + "pattern": "*.diff.sites" + } + }, + { + "diff_indv": { + "type": "file", + "description": "Discordance on a individual by individual basis, specified in optional inputs (optional)", + "pattern": "*.diff.indv" + } + }, + { + "diff_discd_matrix": { + "type": "file", + "description": "Discordance matrix between files specified in optional inputs (optional)", + "pattern": "*.diff.discordance.matrix" + } + }, + { + "diff_switch_error": { + "type": "file", + "description": "Switch errors found between sites (optional)", + "pattern": "*.diff.switch" + } + } + ], + "authors": [ + "@Mark-S-Hill" + ] + }, + "pipelines": [ + { + "name": "rnadnavar", + "version": "dev" + }, + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "verifybamid_verifybamid", + "path": "modules/nf-core/verifybamid/verifybamid/meta.yml", + "type": "module", + "meta": { + "name": "VERIFYBAMID_VERIFYBAMID", + "description": "Detecting and estimating inter-sample DNA contamination became a crucial quality assessment step to ensure high quality sequence reads and reliable downstream analysis.", + "keywords": [ + "qc", + "contamination", + "bam" + ], + "tools": [ + { + "verifybamid": { + "description": "verifyBamID is a software that verifies whether the reads in particular file match previously known genotypes for an individual (or group of individuals), and checks whether the reads are contaminated as a mixture of two samples.", + "homepage": "https://genome.sph.umich.edu/wiki/VerifyBamID", + "documentation": "http://genome.sph.umich.edu/wiki/VerifyBamID", + "tool_dev_url": "https://github.com/statgen/verifyBamID", + "doi": "10.1016/j.ajhg.2012.09.004", + "licence": "['GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file, a sorted, indexed, base quality recalibrated, and duplication-marked BAM file.\nIt also requires to contain \"@RG\" header lines to annotation different readGroups (sequencing runs and lanes).\nThe SM tag in the \"@RG\" header should match with one of the genotyped sample.\n", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file BAI", + "pattern": "*.bai" + } + }, + { + "refvcf": { + "type": "file", + "description": "The input VCF file contains\n(1) external genotype information and/or\n(2) allele frequency information as AF entry or AC/AN entries in the INFO field.\n", + "pattern": "*.{vcf,vcf.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "log": { + "type": "file", + "description": "Detailed summary of the verifyBamID result.", + "pattern": "*.log" + } + }, + { + "selfsm": { + "type": "file", + "description": "Per-sample statistics describing how well the sample matches to the annotated sample.", + "pattern": "*.selfSM" + } + }, + { + "depthsm": { + "type": "file", + "description": "The depth distribution of the sequence reads per sample", + "pattern": "*.depthSM" + } + }, + { + "selfrg": { + "type": "file", + "description": "Per-readGroup statistics describing how well each lane matches to the annotated sample. (available only without --ignoreRG option)", + "pattern": "*.selfRG" + } + }, + { + "depthrg": { + "type": "file", + "description": "The depth distribution of the sequence reads per readGroup. (available only without --ignoreRG option)", + "pattern": "*.depthRG" + } + }, + { + "bestsm": { + "type": "file", + "description": "Per-sample best-match statistics with best-matching sample among the genotyped sample (available only with --best option)", + "pattern": "*.bestSM" + } + }, + { + "bestrg": { + "type": "file", + "description": "Per-readgroup best-match statistics with best-matching sample among the genotyped sample (available only with --best and without --ignoreRG option)", + "pattern": "*.bestRG" + } + } + ], + "authors": [ + "@manifestoso" + ] + } + }, + { + "name": "verifybamid_verifybamid2", + "path": "modules/nf-core/verifybamid/verifybamid2/meta.yml", + "type": "module", + "meta": { + "name": "VERIFYBAMID_VERIFYBAMID2", + "description": "Detecting and estimating inter-sample DNA contamination became a crucial quality assessment step to ensure high quality sequence reads and reliable downstream analysis.", + "keywords": [ + "contamination", + "bam" + ], + "tools": [ + { + "verifybamid2": { + "description": "A robust tool for DNA contamination estimation from sequence reads using ancestry-agnostic method.", + "homepage": "http://griffan.github.io/VerifyBamID", + "documentation": "http://griffan.github.io/VerifyBamID", + "tool_dev_url": "https://github.com/Griffan/VerifyBamID", + "doi": "10.1101/gr.246934.118", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAI/CRAI/CSI index file", + "pattern": "*.{bai,crai,csi}" + } + }, + { + "svd_ud": { + "type": "file", + "description": ".UD matrix file from SVD result of genotype matrix", + "pattern": "*.UD" + } + }, + { + "svd_mu": { + "type": "file", + "description": ".mu matrix file of genotype matrix", + "pattern": "*.mu" + } + }, + { + "svd_bed": { + "type": "file", + "description": ".Bed file for markers used in this analysis,format(chr\\tpos-1\\tpos\\trefAllele\\taltAllele)[Required]", + "pattern": "*.bed" + } + }, + { + "references": { + "type": "file", + "description": "reference file [Required]", + "pattern": "*.fasta" + } + }, + { + "refvcf": { + "type": "file", + "description": "Reference panel VCF with genotype information, for generation of .UD .mu .bed files [Optional]", + "pattern": "*.vcf" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "mu": { + "type": "file", + "description": ".mu matrix file of genotype matrix from customized reference vcf input", + "pattern": "*.mu" + } + }, + { + "ud": { + "type": "file", + "description": ".UD matrix file from customized reference vcf input", + "pattern": "*.UD" + } + }, + { + "bed": { + "type": "file", + "description": ".Bed file from customized reference marker vcf input", + "pattern": "*.bed" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "log": { + "type": "file", + "description": "Detailed summary of the VerifyBamId2 results", + "pattern": "*.log" + } + }, + { + "self_sm": { + "type": "file", + "description": "Shares the same format as legacy VB1 and the key information FREEMIX indicates the estimated contamination level.", + "pattern": "*.selfSM" + } + }, + { + "ancenstry": { + "type": "file", + "description": "PC coordinates for both intended sample and contaminating sample, with each row being one PC.", + "pattern": "*.Ancestry" + } + } + ], + "authors": [ + "@manifestoso" + ] + } + }, + { + "name": "vg_construct", + "path": "modules/nf-core/vg/construct/meta.yml", + "type": "module", + "meta": { + "name": "vg_construct", + "description": "Constructs a graph from a reference and variant calls or a multiple sequence alignment file", + "keywords": [ + "vg", + "graph", + "construct", + "fasta", + "vcf", + "structural variants" + ], + "tools": [ + { + "vg": { + "description": "Variation graph data structures, interchange formats, alignment, genotyping,\nand variant calling methods.\n", + "homepage": "https://github.com/vgteam/vg", + "documentation": "https://github.com/vgteam/vg/wiki", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file(s)", + "description": "Either one or more VCF files containing different contigs or a multiple sequence alignment file\n", + "pattern": "*.{vcf.gz,fa,fasta,fna,clustal}" + } + }, + { + "tbis": { + "type": "file(s)", + "description": "The index files for the VCF files", + "pattern": "*.tbi" + } + }, + { + "insertions_fasta": { + "type": "file", + "description": "A FASTA file containing insertion sequences (referred to in the VCF file(s))", + "pattern": "*.{fa,fasta,fna}" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference FASTA file (cannot be used in combination with `msa`, but is required when using `vcfs`)", + "pattern": "*.{fa,fasta,fna}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the reference FASTA file", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "graph": { + "type": "file", + "description": "The constructed graph", + "pattern": "*.vg" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "vg_deconstruct", + "path": "modules/nf-core/vg/deconstruct/meta.yml", + "type": "module", + "meta": { + "name": "vg_deconstruct", + "description": "Deconstruct snarls present in a variation graph in GFA format to variants in VCF format", + "keywords": [ + "vcf", + "gfa", + "graph", + "pangenome graph", + "variation graph", + "graph projection to vcf" + ], + "tools": [ + { + "vg": { + "description": "Variation graph data structures, interchange formats, alignment, genotyping,\nand variant calling methods.\n", + "homepage": "https://github.com/vgteam/vg", + "documentation": "https://github.com/vgteam/vg/wiki", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "gfa": { + "type": "file", + "description": "Variation graph in GFA format", + "pattern": "*.{gfa}" + } + }, + { + "pb": { + "type": "file", + "description": "Optional snarls file (from vg snarls) to avoid recomputing. Usually ends with \"pb\". See \"vg snarls\".", + "pattern": "*.{pb}" + } + }, + { + "gbwt": { + "type": "file", + "description": "Optional GBWT file (from vg gbwt) so to only consider alt traversals that correspond to GBWT threads FILE.", + "pattern": "*.{gbwt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "Variants in VCF format", + "pattern": "*.{vcf}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@heuermh, @subwaystation" + ] + } + }, + { + "name": "vg_index", + "path": "modules/nf-core/vg/index/meta.yml", + "type": "module", + "meta": { + "name": "vg_index", + "description": "write your description here", + "keywords": [ + "vg", + "index", + "graph", + "structural_variants" + ], + "tools": [ + { + "vg": { + "description": "Variation graph data structures, interchange formats, alignment, genotyping,\nand variant calling methods.\n", + "homepage": "https://github.com/vgteam/vg", + "documentation": "https://github.com/vgteam/vg/wiki", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "input": { + "type": "file(s)", + "description": "One or more input graph files created with `vg/construct`", + "pattern": "*.vg" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "xg": { + "type": "file", + "description": "File containing a succint, queryable version of the input graph(s) or read for GCSA or distance indexing", + "pattern": "*.xg" + } + }, + { + "vg_index": { + "type": "file", + "description": "An index of the graph(s) created when `--index-sorted-vg` is supplied.", + "pattern": "*.vgi" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "vrhyme_extractunbinned", + "path": "modules/nf-core/vrhyme/extractunbinned/meta.yml", + "type": "module", + "meta": { + "name": "vrhyme_extractunbinned", + "description": "Extracting sequences that were unbinnned by vRhyme into a FASTA file", + "keywords": [ + "bin", + "binning", + "link", + "vrhyme", + "extractunbinned" + ], + "tools": [ + { + "vrhyme": { + "description": "vRhyme functions by utilizing coverage variance comparisons and supervised machine learning classification of sequence features to construct viral metagenome-assembled genomes (vMAGs).", + "homepage": "https://github.com/AnantharamanLab/vRhyme", + "documentation": "https://github.com/AnantharamanLab/vRhyme", + "tool_dev_url": "https://github.com/AnantharamanLab/vRhyme", + "doi": "10.1093/nar/gkac341", + "licence": "['GPL v3 license', 'GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file containing contigs/scaffolds input into vRhyme", + "pattern": "*.{fasta,fna,fa}" + } + }, + { + "membership": { + "type": "file", + "description": "TSV file containing information regarding which bins input sequences were placed information", + "pattern": "*.{tsv}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "unbinnned_sequences": { + "type": "file", + "description": "FASTA file containing sequences unbinned by vRhyme", + "pattern": "*_unbinned_sequences.fasta" + } + } + ], + "authors": [ + "@CarsonJM" + ] + } + }, + { + "name": "vrhyme_linkbins", + "path": "modules/nf-core/vrhyme/linkbins/meta.yml", + "type": "module", + "meta": { + "name": "vrhyme_linkbins", + "description": "Linking bins output by vRhyme to create one sequences per bin", + "keywords": [ + "bin", + "binning", + "link", + "vrhyme", + "linkbins" + ], + "tools": [ + { + "vrhyme": { + "description": "vRhyme functions by utilizing coverage variance comparisons and supervised machine learning classification of sequence features to construct viral metagenome-assembled genomes (vMAGs).", + "homepage": "https://github.com/AnantharamanLab/vRhyme", + "documentation": "https://github.com/AnantharamanLab/vRhyme", + "tool_dev_url": "https://github.com/AnantharamanLab/vRhyme", + "doi": "10.1093/nar/gkac341", + "licence": "['GPL v3 license', 'GPL v3']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bins": { + "type": "directory", + "description": "Directory file containing bin FASTA files output by vRhyme (each bin having multiple sequences)" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "linked_bins": { + "type": "file", + "description": "FASTA file containing all bins that have been linked by N's", + "pattern": "*_linked_bins.fasta" + } + } + ], + "authors": [ + "@CarsonJM" + ] + } + }, + { + "name": "vrhyme_vrhyme", + "path": "modules/nf-core/vrhyme/vrhyme/meta.yml", + "type": "module", + "meta": { + "name": "vrhyme_vrhyme", + "description": "Binning virus genomes from metagenomes", + "keywords": [ + "binning", + "bin", + "phage", + "virus", + "vrhyme" + ], + "tools": [ + { + "vrhyme": { + "description": "vRhyme functions by utilizing coverage variance comparisons and supervised machine learning classification of sequence features to construct viral metagenome-assembled genomes (vMAGs).", + "homepage": "https://github.com/AnantharamanLab/vRhyme", + "documentation": "https://github.com/AnantharamanLab/vRhyme", + "tool_dev_url": "https://github.com/AnantharamanLab/vRhyme", + "doi": "10.1093/nar/gkac341", + "licence": "['GPL v3', 'GPL v3 license']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Preprocessed FASTQ file containing sample reads", + "pattern": "*.{fastq}" + } + }, + { + "fasta": { + "type": "file", + "description": "Contigs/scaffolds identified as viral", + "pattern": "*.{fna,fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bins": { + "type": "directory", + "description": "Directory containing bin FASTA files", + "pattern": "**/vRhyme_best_bins_fasta/" + } + }, + { + "membership": { + "type": "file", + "description": "TSV file describing the contig/scaffold membership of each bin", + "pattern": "vRhyme_best_bins.*.membership.tsv" + } + }, + { + "summary": { + "type": "file", + "description": "TSV file summarizing the attributes of each bin", + "pattern": "vRhyme_best_bins.*.summary.tsv" + } + } + ], + "authors": [ + "@CarsonJM" + ] + } + }, + { + "name": "vsearch_cluster", + "path": "modules/nf-core/vsearch/cluster/meta.yml", + "type": "module", + "meta": { + "name": "vsearch_cluster", + "description": "Cluster sequences using a single-pass, greedy centroid-based clustering algorithm.", + "keywords": [ + "vsearch", + "clustering", + "microbiome" + ], + "tools": [ + { + "vsearch": { + "description": "VSEARCH is a versatile open-source tool for microbiome analysis, including chimera detection, clustering, dereplication and rereplication, extraction, FASTA/FASTQ/SFF file processing, masking, orienting, pair-wise alignment, restriction site cutting, searching, shuffling, sorting, subsampling, and taxonomic classification of amplicon sequences for metagenomics, genomics, and population genetics. (USEARCH alternative)", + "homepage": "https://github.com/torognes/vsearch", + "documentation": "https://github.com/torognes/vsearch/releases/download/v2.21.1/vsearch_manual.pdf", + "tool_dev_url": "https://github.com/torognes/vsearch", + "doi": "10.7717/peerj.2584", + "licence": [ + "GPL v3-or-later OR BSD-2-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test' ]" + } + }, + { + "fasta": { + "type": "file", + "description": "Sequences to cluster in FASTA format", + "pattern": "*.{fasta,fa,fasta.gz,fa.gz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "aln": { + "type": "file", + "description": "Results in pairwise alignment format", + "pattern": "*.aln.gz" + } + }, + { + "biom": { + "type": "file", + "description": "Results in an OTU table in the biom version 1.0 file format", + "pattern": "*.biom.gz" + } + }, + { + "mothur": { + "type": "file", + "description": "Results in an OTU table in the mothur ’shared’ tab-separated plain text file format", + "pattern": "*.mothur.tsv.gz" + } + }, + { + "otu": { + "type": "file", + "description": "Results in an OTU table in the classic tab-separated plain text format", + "pattern": "*.otu.tsv.gz" + } + }, + { + "bam": { + "type": "file", + "description": "Results written in bam format", + "pattern": "*.bam" + } + }, + { + "out": { + "type": "file", + "description": "Results in tab-separated output, columns defined by user", + "pattern": "*.out.tsv.gz" + } + }, + { + "blast": { + "type": "file", + "description": "Tab delimited results in blast-like tabular format", + "pattern": "*.blast.tsv.gz" + } + }, + { + "uc": { + "type": "file", + "description": "Tab delimited results in a uclust-like format with 10 columns", + "pattern": "*.uc.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@mirpedrol" + ] + }, + "pipelines": [ + { + "name": "crisprseq", + "version": "2.0.0" + } + ] + }, + { + "name": "vsearch_sintax", + "path": "modules/nf-core/vsearch/sintax/meta.yml", + "type": "module", + "meta": { + "name": "vsearch_sintax", + "description": "Taxonomic classification using the sintax algorithm.", + "keywords": [ + "vsearch", + "sintax" + ], + "tools": [ + { + "vsearch": { + "description": "VSEARCH is a versatile open-source tool for microbiome analysis, including chimera detection, clustering, dereplication and rereplication, extraction, FASTA/FASTQ/SFF file processing, masking, orienting, pair-wise alignment, restriction site cutting, searching, shuffling, sorting, subsampling, and taxonomic classification of amplicon sequences for metagenomics, genomics, and population genetics. (USEARCH alternative)", + "homepage": "https://github.com/torognes/vsearch", + "tool_dev_url": "https://github.com/torognes/vsearch", + "doi": "10.7717/peerj.2584", + "licence": "['GPL v3-or-later OR BSD-2-clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing query file information e.g. [ id:'test' ]" + } + }, + { + "queryfasta": { + "type": "file", + "description": "Query sequences in FASTA or FASTQ format", + "pattern": "*.{fasta,fa,fna,faa,fastq,fq}" + } + }, + { + "db": { + "type": "file", + "description": "Reference database file in FASTA or UDB format", + "pattern": "*" + } + } + ], + "output": [ + { + "tsv": { + "type": "file", + "description": "Results written to tab-delimited file", + "pattern": "*.{tsv}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@jtangrot" + ] + }, + "pipelines": [ + { + "name": "ampliseq", + "version": "2.6.1" + } + ] + }, + { + "name": "vsearch_sort", + "path": "modules/nf-core/vsearch/sort/meta.yml", + "type": "module", + "meta": { + "name": "vsearch_sort", + "description": "Sort fasta entries by decreasing abundance (--sortbysize) or sequence length (--sortbylength).", + "keywords": [ + "vsearch/sort", + "vsearch", + "sort", + "amplicon sequences", + "metagenomics", + "genomics", + "population genetics" + ], + "tools": [ + { + "vsearch": { + "description": "VSEARCH is a versatile open-source tool for microbiome analysis, including chimera detection, clustering, dereplication and rereplication, extraction, FASTA/FASTQ/SFF file processing, masking, orienting, pair-wise alignment, restriction site cutting, searching, shuffling, sorting, subsampling, and taxonomic classification of amplicon sequences for metagenomics, genomics, and population genetics. (USEARCH alternative)", + "homepage": "https://github.com/torognes/vsearch", + "documentation": "https://github.com/torognes/vsearch/releases/download/v2.21.1/vsearch_manual.pdf", + "tool_dev_url": "https://github.com/torognes/vsearch", + "doi": "10.7717/peerj.2584", + "licence": [ + "GPL v3-or-later OR BSD-2-clause" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test' ]" + } + }, + { + "fasta": { + "type": "file", + "description": "Sequences to be sorted in FASTA format", + "pattern": "*.{fasta,fa,fasta.gz,fa.gz}" + } + }, + { + "sort_arg": { + "type": "string", + "description": "Argument to provide to sort algorithm. Sort by abundance with --sortbysize or by sequence length with --sortbylength.", + "enum": [ + "--sortbysize", + "--sortbylength" + ] + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Sorted FASTA file", + "pattern": "*.{fasta}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@mirpedrol" + ] + }, + "pipelines": [ + { + "name": "crisprseq", + "version": "2.0.0" + } + ] + }, + { + "name": "vsearch_usearchglobal", + "path": "modules/nf-core/vsearch/usearchglobal/meta.yml", + "type": "module", + "meta": { + "name": "vsearch_usearchglobal", + "description": "Compare target sequences to fasta-formatted query sequences using global pairwise alignment.", + "keywords": [ + "vsearch", + "usearch", + "alignment", + "fasta" + ], + "tools": [ + { + "vsearch": { + "description": "VSEARCH is a versatile open-source tool for microbiome analysis, including chimera detection, clustering, dereplication and rereplication, extraction, FASTA/FASTQ/SFF file processing, masking, orienting, pair-wise alignment, restriction site cutting, searching, shuffling, sorting, subsampling, and taxonomic classification of amplicon sequences for metagenomics, genomics, and population genetics. (USEARCH alternative)", + "homepage": "https://github.com/torognes/vsearch", + "tool_dev_url": "https://github.com/torognes/vsearch", + "doi": "10.7717/peerj.2584", + "licence": "['GPL v3-or-later OR BSD-2-clause']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test' ]" + } + }, + { + "queryfasta": { + "type": "file", + "description": "Query sequences in FASTA format", + "pattern": "*.{fasta,fa,fna,faa}" + } + }, + { + "db": { + "type": "file", + "description": "Reference database file in FASTA or UDB format", + "pattern": "*" + } + }, + { + "idcutoff": { + "type": "real", + "description": "Reject the sequence match if the pairwise identity is lower than the given id cutoff value (value ranging from 0.0 to 1.0 included)" + } + }, + { + "outoption": { + "type": "string", + "description": "Specify the type of output file to be generated by selecting one of the vsearch output file options", + "pattern": "alnout|biomout|blast6out|mothur_shared_out|otutabout|samout|uc|userout|lcaout" + } + }, + { + "user_columns": { + "type": "string", + "description": "If using the `userout` option, specify which columns to include in output, with fields separated with `+` (e.g. query+target+id). See USEARCH manual for valid options. For other output options, use an empty string." + } + } + ], + "output": [ + { + "aln": { + "type": "file", + "description": "Results in pairwise alignment format", + "pattern": "*.{aln}" + } + }, + { + "biom": { + "type": "file", + "description": "Results in an OTU table in the biom version 1.0 file format", + "pattern": "*.{biom}" + } + }, + { + "lca": { + "type": "file", + "description": "Last common ancestor (LCA) information about the hits of each query in tab-separated format", + "pattern": "*.{lca}" + } + }, + { + "mothur": { + "type": "file", + "description": "Results in an OTU table in the mothur ’shared’ tab-separated plain text file format", + "pattern": "*.{mothur}" + } + }, + { + "otu": { + "type": "file", + "description": "Results in an OTU table in the classic tab-separated plain text format", + "pattern": "*.{otu}" + } + }, + { + "sam": { + "type": "file", + "description": "Results written in sam format", + "pattern": "*.{sam}" + } + }, + { + "tsv": { + "type": "file", + "description": "Results in tab-separated output, columns defined by user", + "pattern": "*.{tsv}" + } + }, + { + "txt": { + "type": "file", + "description": "Tab delimited results in blast-like tabular format", + "pattern": "*.{txt}" + } + }, + { + "uc": { + "type": "file", + "description": "Tab delimited results in a uclust-like format with 10 columns", + "pattern": "*.{uc}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@jtangrot" + ] + }, + "pipelines": [ + { + "name": "ampliseq", + "version": "2.6.1" + } + ] + }, + { + "name": "wfmash", + "path": "modules/nf-core/wfmash/meta.yml", + "type": "module", + "meta": { + "name": "wfmash", + "description": "a pangenome-scale aligner", + "keywords": [ + "long read alignment", + "pangenome-scale", + "all versus all", + "mashmap", + "wavefront" + ], + "tools": [ + { + "wfmash": { + "description": "a pangenome-scale aligner", + "homepage": "https://github.com/waveygang/wfmash", + "documentation": "https://github.com/waveygang/wfmash", + "tool_dev_url": "https://github.com/waveygang/wfmash", + "doi": "10.5281/zenodo.6949373", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta_gz": { + "type": "file", + "description": "BGZIPPED FASTA target file to create the mappings from.", + "pattern": "{fa.gz,fna.gz,fasta.gz}" + } + }, + { + "paf": { + "type": "file", + "description": "Optional inpute file in PAF format to derive the precise alignments for.", + "pattern": "*.{paf}" + } + }, + { + "query_self": { + "type": "boolean", + "description": "If set to true, the input FASTA will also be used as the query FASTA." + } + }, + { + "gzi": { + "type": "file", + "description": "The GZI index of the input FASTA file.", + "pattern": "*.{gzi}" + } + }, + { + "fai": { + "type": "file", + "description": "The FASTA index of the input FASTA file.", + "pattern": "*.{fai}" + } + }, + { + "fasta_query_list": { + "type": "file", + "description": "Optional inpute file in FASTA format specifying the query sequences as a list.", + "pattern": "*.{fa,fna,fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "paf": { + "type": "file", + "description": "Alignments in PAF format", + "pattern": "*.{paf}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@subwaystation" + ] + }, + "pipelines": [ + { + "name": "pangenome", + "version": "dev" + } + ] + }, + { + "name": "wgsim", + "path": "modules/nf-core/wgsim/meta.yml", + "type": "module", + "meta": { + "name": "wgsim", + "description": "simulating sequence reads from a reference genome", + "keywords": [ + "simulate", + "fasta", + "reads" + ], + "tools": [ + { + "wgsim": { + "description": "simulating sequence reads from a reference genome", + "homepage": "https://github.com/lh3/wgsim", + "documentation": "https://github.com/lh3/wgsim", + "tool_dev_url": "https://github.com/lh3/wgsim", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Genome fasta file", + "pattern": "*.{fa,fasta}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fastq": { + "type": "file", + "description": "Simulated FASTQ read files", + "pattern": "*.{fastq}" + } + } + ], + "authors": [ + "@priyanka-surana" + ] + } + }, + { + "name": "whamg", + "path": "modules/nf-core/whamg/meta.yml", + "type": "module", + "meta": { + "name": "whamg", + "description": "The wham suite consists of two programs, wham and whamg. wham, the original tool, is a very sensitive method with a high false discovery rate. The second program, whamg, is more accurate and better suited for general structural variant (SV) discovery.", + "keywords": [ + "whamg", + "wham", + "vcf", + "bam", + "variant calling" + ], + "tools": [ + { + "whamg": { + "description": "Structural variant detection and association testing", + "homepage": "https://github.com/zeeev/wham", + "documentation": "https://github.com/zeeev/wham", + "tool_dev_url": "https://github.com/zeeev/wham", + "doi": "10.1371/journal.pcbi.1004572", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/SAM file", + "pattern": "*.{bam,sam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index file", + "pattern": "*.bai" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference Fasta file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "Index of the reference Fasta", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Compressed VCF file", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "Index of the VCF file", + "pattern": "*.vcf.gz.tbi" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "windowmasker_convert", + "path": "modules/nf-core/windowmasker/convert/meta.yml", + "type": "module", + "meta": { + "name": "windowmasker_convert", + "description": "Masks out highly repetitive DNA sequences with low complexity in a genome", + "keywords": [ + "fasta", + "blast", + "windowmasker" + ], + "tools": [ + { + "windowmasker": { + "description": "A program to mask highly repetitive and low complexity DNA sequences within a genome.", + "homepage": "https://blast.ncbi.nlm.nih.gov/Blast.cgi", + "documentation": "ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/windowmasker/README.windowmasker", + "doi": "10.1016/S0022-2836(05)80360-2", + "licence": [ + "US-Government-Work" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "counts": { + "type": "file", + "description": "valid unit counts file", + "pattern": "*.{ascii,binary,oascii,obinary,txt}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "counts": { + "type": "file", + "description": "valid unit counts file", + "pattern": "*.{ascii,binary,oascii,obinary}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@alxndrdiaz" + ] + } + }, + { + "name": "windowmasker_mkcounts", + "path": "modules/nf-core/windowmasker/mkcounts/meta.yml", + "type": "module", + "meta": { + "name": "windowmasker_mkcounts", + "description": "A program to generate frequency counts of repetitive units.", + "keywords": [ + "fasta", + "interval", + "windowmasker" + ], + "tools": [ + { + "windowmasker": { + "description": "A program to mask highly repetitive and low complexity DNA sequences within a genome.\n", + "homepage": "https://github.com/ncbi/ncbi-cxx-toolkit-public", + "documentation": "https://ncbi.github.io/cxx-toolkit/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ref": { + "type": "file", + "description": "An input nucleotide fasta file." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "intervals": { + "type": "file", + "description": "An output file containing genomic locations of low\ncomplexity and highly repetitive regions\n", + "pattern": "${prefix}.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@DLBPointon" + ] + } + }, + { + "name": "windowmasker_ustat", + "path": "modules/nf-core/windowmasker/ustat/meta.yml", + "type": "module", + "meta": { + "name": "windowmasker_ustat", + "description": "A program to take a counts file and creates a file of genomic co-ordinates to be masked.", + "keywords": [ + "fasta", + "interval", + "windowmasker" + ], + "tools": [ + { + "windowmasker": { + "description": "A program to mask highly repetitive and low complexity DNA sequences within a genome.\n", + "homepage": "https://github.com/ncbi/ncbi-cxx-toolkit-public", + "documentation": "https://ncbi.github.io/cxx-toolkit/", + "licence": [ + "MIT" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "counts": { + "type": "file", + "description": "Contains count data of repetitive regions." + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ref": { + "type": "file", + "description": "An input nucleotide fasta file." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "wm_intervals": { + "type": "file", + "description": "An output file containing genomic locations of low\ncomplexity and highly repetitive regions\n", + "pattern": "${output}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@DLBPointon" + ] + } + }, + { + "name": "wisecondorx_convert", + "path": "modules/nf-core/wisecondorx/convert/meta.yml", + "type": "module", + "meta": { + "name": "wisecondorx_convert", + "description": "Convert and filter aligned reads to .npz", + "keywords": [ + "bam", + "cram", + "copy-number" + ], + "tools": [ + { + "wisecondorx": { + "description": "WIthin-SamplE COpy Number aberration DetectOR, including sex chromosomes", + "homepage": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", + "documentation": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", + "tool_dev_url": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", + "doi": "10.1093/nar/gky1263", + "licence": "['Attribution-NonCommercial-ShareAlike CC BY-NC-SA']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Reads in BAM/CRAM format", + "pattern": "*.{bam,cram}" + } + }, + { + "bai": { + "type": "file", + "description": "index of the BAM/CRAM file", + "pattern": "*.{bai,crai}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference fasta meta information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference FASTA file (mandatory when using CRAM files)", + "pattern": "*.{fasta,fa,fna}" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing reference fasta index meta information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta_fai": { + "type": "file", + "description": "The index of the reference FASTA file (mandatory when using CRAM files)", + "pattern": "*.fai" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "npz": { + "type": "file", + "description": "The output NPZ file", + "pattern": "*.npz" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "wisecondorx_gender", + "path": "modules/nf-core/wisecondorx/gender/meta.yml", + "type": "module", + "meta": { + "name": "wisecondorx_gender", + "description": "Returns the gender of a .npz resulting from convert, based on a Gaussian mixture model trained during the newref phase", + "keywords": [ + "copy number analysis", + "gender determination", + "npz" + ], + "tools": [ + { + "wisecondorx": { + "description": "WIthin-SamplE COpy Number aberration DetectOR, including sex chromosomes", + "homepage": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", + "documentation": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", + "tool_dev_url": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", + "doi": "10.1093/nar/gky1263", + "licence": "['Attribution-NonCommercial-ShareAlike CC BY-NC-SA']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "npz": { + "type": "file", + "description": "Single sample NPZ file (from which to determine the gender)", + "pattern": "*.npz" + } + }, + { + "reference": { + "type": "file", + "description": "Reference NPZ file", + "pattern": "*.npz" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "gender": { + "type": "string", + "description": "The gender of the input NPZ file", + "pattern": "(fe)?male" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "wisecondorx_newref", + "path": "modules/nf-core/wisecondorx/newref/meta.yml", + "type": "module", + "meta": { + "name": "wisecondorx_newref", + "description": "Create a new reference using healthy reference samples", + "keywords": [ + "reference", + "copy number alterations", + "npz" + ], + "tools": [ + { + "wisecondorx": { + "description": "WIthin-SamplE COpy Number aberration DetectOR, including sex chromosomes", + "homepage": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", + "documentation": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", + "tool_dev_url": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", + "doi": "10.1093/nar/gky1263", + "licence": "['Attribution-NonCommercial-ShareAlike CC BY-NC-SA']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "inputs": { + "type": "file", + "description": "Multiple NPZ files from healthy patients", + "pattern": "*.{npz}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "npz": { + "type": "file", + "description": "The reference NPZ file", + "pattern": "*.{npz}" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "wisecondorx_predict", + "path": "modules/nf-core/wisecondorx/predict/meta.yml", + "type": "module", + "meta": { + "name": "wisecondorx_predict", + "description": "Find copy number aberrations", + "keywords": [ + "copy number variation", + "bed", + "npz", + "png" + ], + "tools": [ + { + "wisecondorx": { + "description": "WIthin-SamplE COpy Number aberration DetectOR, including sex chromosomes", + "homepage": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", + "documentation": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", + "tool_dev_url": "https://github.com/CenterForMedicalGeneticsGhent/WisecondorX", + "doi": "10.1093/nar/gky1263", + "licence": "['Attribution-NonCommercial-ShareAlike CC BY-NC-SA']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "npz": { + "type": "file", + "description": "An NPZ file created with WisecondorX convert", + "pattern": "*.npz" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reference": { + "type": "file", + "description": "A reference NPZ file created with WisecondorX newref", + "pattern": "*.npz" + } + }, + { + "meta3": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "blacklist": { + "type": "file", + "description": "OPTIONAL - A BED file containing blacklist regions (used mainly when the reference is small)", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "abberations_bed": { + "type": "file", + "description": "OPTIONAL - Output abberations in BED format. This gets created with the `--bed` option", + "pattern": "*_aberrations.bed" + } + }, + { + "bins_bed": { + "type": "file", + "description": "OPTIONAL - Output bins in BED format. This gets created with the `--bed` option", + "pattern": "*_bins.bed" + } + }, + { + "segments_bed": { + "type": "file", + "description": "OPTIONAL - Output segments in BED format. This gets created with the `--bed` option", + "pattern": "*_segments.bed" + } + }, + { + "chr_statistics": { + "type": "file", + "description": "OPTIONAL - Statistics per chromosome in TXT format. This gets created with the `--bed` option", + "pattern": "*_chr_statistics.txt" + } + }, + { + "chr_plots": { + "type": "list", + "description": "OPTIONAL - A list containing the CNV plots of each chromosome. This gets created with the `--plot` option", + "pattern": "[!genome_wide]*.png" + } + }, + { + "genome_plot": { + "type": "file", + "description": "OPTIONAL - A plot containing the CNV information of the whole genome", + "pattern": "genome_wide.png" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "yahs", + "path": "modules/nf-core/yahs/meta.yml", + "type": "module", + "meta": { + "name": "yahs", + "description": "Performs assembly scaffolding using YaHS", + "keywords": [ + "scaffolding", + "assembly", + "yahs", + "hic" + ], + "tools": [ + { + "yahs": { + "description": "YaHS, yet another Hi-C scaffolding tool.", + "homepage": "https://github.com/c-zhou/yahs", + "documentation": "https://github.com/c-zhou/yahs", + "tool_dev_url": "https://github.com/c-zhou/yahs", + "doi": "10.1093/bioinformatics/btac808", + "licence": "['MIT']" + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "hic_map": { + "type": "file", + "description": "BED file containing coordinates of read alignments", + "pattern": "*.{bed,bam,bin}" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA reference file", + "pattern": "*.{fasta,fa}" + } + }, + { + "fai": { + "type": "file", + "description": "index of the reference file", + "pattern": "*.{fai}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "scaffolds_fasta": { + "type": "file", + "description": "FASTA file with resulting contigs", + "pattern": "*scaffolds_final.fa" + } + }, + { + "scaffolds_agp": { + "type": "file", + "description": "AGP file containing contigs placing coordinates", + "pattern": "*scaffolds_final.agp" + } + }, + { + "binary": { + "type": "file", + "description": "BIN file with alignment results of Hi-C reads to the contigs in internal YaHS binary format", + "pattern": "*bin" + } + } + ], + "authors": [ + "@ksenia-krasheninnikova" + ] + } + }, + { + "name": "yara_index", + "path": "modules/nf-core/yara/index/meta.yml", + "type": "module", + "meta": { + "name": "yara_index", + "description": "Builds a YARA index for a reference genome", + "keywords": [ + "build", + "index", + "fasta", + "genome", + "reference" + ], + "tools": [ + { + "yara": { + "description": "Yara is an exact tool for aligning DNA sequencing reads to reference genomes.", + "homepage": "https://github.com/seqan/seqan", + "documentation": "https://github.com/seqan/seqan", + "tool_dev_url": "https://github.com/seqan/seqan", + "licence": [ + "https://raw.githubusercontent.com/seqan/seqan/develop/apps/yara/LICENSE" + ] + } + } + ], + "input": [ + { + "fasta": { + "type": "file", + "description": "Input genome fasta file" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "index": { + "type": "file", + "description": "YARA genome index files", + "pattern": "yara.*" + } + } + ], + "authors": [ + "@apeltzer" + ] + }, + "pipelines": [ + { + "name": "hlatyping", + "version": "2.0.0" + } + ] + }, + { + "name": "yara_mapper", + "path": "modules/nf-core/yara/mapper/meta.yml", + "type": "module", + "meta": { + "name": "yara_mapper", + "description": "Align reads to a reference genome using YARA", + "keywords": [ + "align", + "genome", + "reference" + ], + "tools": [ + { + "yara": { + "description": "Yara is an exact tool for aligning DNA sequencing reads to reference genomes.", + "homepage": "https://github.com/seqan/seqan", + "documentation": "https://github.com/seqan/seqan", + "tool_dev_url": "https://github.com/seqan/seqan", + "licence": [ + "https://raw.githubusercontent.com/seqan/seqan/develop/apps/yara/LICENSE" + ] + } + } + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "index": { + "type": "file", + "description": "YARA genome index files" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM file", + "pattern": "*.{bam}" + } + }, + { + "bai": { + "type": "file", + "description": "Sorted BAM file index", + "pattern": "*.{bai}" + } + } + ], + "authors": [ + "@apeltzer" + ] + }, + "pipelines": [ + { + "name": "hlatyping", + "version": "2.0.0" + } + ] + } + ], + "subworkflows": [ + { + "name": "bam_create_som_pon_gatk", + "path": "subworkflows/nf-core/bam_create_som_pon_gatk/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bam_create_som_pon_gatk", + "description": "Perform variant calling on a set of normal samples using mutect2 panel of normals mode. Group them into a genomicsdbworkspace using genomicsdbimport, then use this to create a panel of normals using createsomaticpanelofnormals.", + "keywords": [ + "gatk4", + "mutect2", + "genomicsdbimport", + "createsomaticpanelofnormals", + "variant_calling", + "genomicsdb_workspace", + "panel_of_normals" + ], + "modules": [ + "gatk4/mutect2", + "gatk4/genomicsdbimport", + "gatk4/createsomaticpanelofnormals" + ], + "input": [ + { + "ch_mutect2_in": { + "type": "list", + "description": "An input channel containing the following files:\n- input: One or more BAM/CRAM files\n- input_index: The index/indices from the BAM/CRAM file(s)\n- interval_file: An interval file to be used with the mutect call\nStructure: [ meta, input, input_index, interval_file ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "mutect2_vcf": { + "type": "list", + "description": "List of compressed vcf files to be used to make the gendb workspace", + "pattern": "[ *.vcf.gz ]" + } + }, + { + "mutect2_index": { + "type": "list", + "description": "List of indexes of mutect2_vcf files", + "pattern": "[ *vcf.gz.tbi ]" + } + }, + { + "mutect2_stats": { + "type": "list", + "description": "List of stats files that pair with mutect2_vcf files", + "pattern": "[ *vcf.gz.stats ]" + } + }, + { + "genomicsdb": { + "type": "directory", + "description": "Directory containing the files that compose the genomicsdb workspace.", + "pattern": "path/name_of_workspace" + } + }, + { + "pon_vcf": { + "type": "file", + "description": "Panel of normal as compressed vcf file", + "pattern": "*.vcf.gz" + } + }, + { + "pon_index": { + "type": "file", + "description": "Index of pon_vcf file", + "pattern": "*vcf.gz.tbi" + } + } + ], + "authors": [ + "@GCJMackenzie" + ] + } + }, + { + "name": "bam_dedup_stats_samtools_umitools", + "path": "subworkflows/nf-core/bam_dedup_stats_samtools_umitools/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bam_dedup_stats_samtools_umitools", + "description": "UMI-tools dedup, index BAM file and run samtools stats, flagstat and idxstats", + "keywords": [ + "umi", + "dedup", + "index", + "bam", + "sam", + "cram" + ], + "modules": [ + "umitools/dedup", + "samtools/index", + "samtools/stats", + "samtools/idxstats", + "samtools/flagstat" + ], + "input": [ + { + "ch_bam_bai": { + "description": "input BAM file\nStructure: [ val(meta), path(bam), path(bai) ]\n" + } + }, + { + "val_get_dedup_stats": { + "type": "boolean", + "description": "Generate output stats when running \"umi_tools dedup\"\n" + } + } + ], + "output": [ + { + "bam": { + "description": "Umi deduplicated BAM/SAM file\nStructure: [ val(meta), path(bam) ]\n" + } + }, + { + "bai": { + "description": "Umi deduplicated BAM/SAM samtools index\nStructure: [ val(meta), path(bai) ]\n" + } + }, + { + "csi": { + "description": "CSI samtools index\nStructure: [ val(meta), path(csi) ]\n" + } + }, + { + "stats": { + "description": "File containing samtools stats output\nStructure: [ val(meta), path(stats) ]\n" + } + }, + { + "flagstat": { + "description": "File containing samtools flagstat output\nStructure: [ val(meta), path(flagstat) ]\n" + } + }, + { + "idxstats": { + "description": "File containing samtools idxstats output\nStructure: [ val(meta), path(idxstats) ]\n" + } + }, + { + "versions": { + "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" + } + } + ], + "authors": [ + "@drpatelh", + "@KamilMaliszArdigen" + ] + }, + "pipelines": [ + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "bam_docounts_contamination_angsd", + "path": "subworkflows/nf-core/bam_docounts_contamination_angsd/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bam_docounts_contamination_angsd", + "description": "Calculate contamination of the X-chromosome with ANGSD", + "keywords": [ + "angsd", + "bam", + "contamination", + "docounts" + ], + "modules": [ + "angsd/docounts", + "angsd/contamination" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM or CRAM file", + "pattern": "*.{bam,cram}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM/SAM samtools index", + "pattern": "*.{bai,csi}" + } + }, + { + "hapmap_file": { + "type": "file", + "description": "Hapmap file" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\n" + } + }, + { + "txt": { + "type": "file", + "description": "Contamination estimation file", + "pattern": "*.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@scarlhoff" + ] + } + }, + { + "name": "bam_markduplicates_picard", + "path": "subworkflows/nf-core/bam_markduplicates_picard/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bam_markduplicates_picard", + "description": "Picard MarkDuplicates, index BAM file and run samtools stats, flagstat and idxstats", + "keywords": [ + "markduplicates", + "bam", + "sam", + "cram" + ], + "modules": [ + "picard/markduplicates", + "samtools/index", + "samtools/stats", + "samtools/idxstats", + "samtools/flagstat" + ], + "input": [ + { + "ch_bam": { + "description": "BAM/CRAM/SAM file\nStructure: [ val(meta), path(bam) ]\n" + } + }, + { + "ch_fasta": { + "description": "Reference genome fasta file\nStructure: [ path(fasta) ]\n" + } + }, + { + "ch_fasta": { + "description": "Index of the reference genome fasta file\nStructure: [ path(fai) ]\n" + } + } + ], + "output": [ + { + "bam": { + "description": "processed BAM/CRAM/SAM file\nStructure: [ val(meta), path(bam) ]\n" + } + }, + { + "bai": { + "description": "BAM/CRAM/SAM samtools index\nStructure: [ val(meta), path(bai) ]\n" + } + }, + { + "csi": { + "description": "CSI samtools index\nStructure: [ val(meta), path(csi) ]\n" + } + }, + { + "stats": { + "description": "File containing samtools stats output\nStructure: [ val(meta), path(stats) ]\n" + } + }, + { + "flagstat": { + "description": "File containing samtools flagstat output\nStructure: [ val(meta), path(flagstat) ]\n" + } + }, + { + "idxstats": { + "description": "File containing samtools idxstats output\nStructure: [ val(meta), path(idxstats) ]\n" + } + }, + { + "versions": { + "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" + } + } + ], + "authors": [ + "@dmarron", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bam_markduplicates_samtools", + "path": "subworkflows/nf-core/bam_markduplicates_samtools/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bam_markduplicates_samtools", + "description": "Samtools markduplicate SAM/BAM/CRAM file", + "keywords": [ + "markdup", + "bam", + "sam", + "cram" + ], + "modules": [ + "samtools/collate", + "samtools/fixmate", + "samtools/sort", + "samtools/markdup" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test' ]`\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "fasta": { + "type": "file", + "description": "FASTA file", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. `[ id:'test' ]`\n" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted and markduplicate BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@priyanka-surana" + ] + } + }, + { + "name": "bam_ngscheckmate", + "path": "subworkflows/nf-core/bam_ngscheckmate/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bam_ngscheckmate", + "description": "Take a set of bam files and run NGSCheckMate to determine whether samples match with each other, using a set of SNPs.", + "keywords": [ + "ngscheckmate", + "qc", + "bam", + "snp" + ], + "modules": [ + "bcftools/mpileup", + "ngscheckmate/ncm" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM files for each sample", + "pattern": "*.{bam}" + } + }, + { + "snp_bed": { + "type": "file", + "description": "BED file containing the SNPs to analyse. NGSCheckMate provides some default ones for hg19/hg38.", + "pattern": "*.{bed}" + } + }, + { + "fasta": { + "type": "file", + "description": "fasta file for the genome", + "pattern": "*.{fasta}" + } + } + ], + "output": [ + { + "pdf": { + "type": "file", + "description": "A pdf containing a dendrogram showing how the samples match up", + "pattern": "*.{pdf}" + } + }, + { + "corr_matrix": { + "type": "file", + "description": "A text file containing the correlation matrix between each sample", + "pattern": "*corr_matrix.txt" + } + }, + { + "matched": { + "type": "file", + "description": "A txt file containing only the samples that match with each other", + "pattern": "*matched.txt" + } + }, + { + "all": { + "type": "file", + "description": "A txt file containing all the sample comparisons, whether they match or not", + "pattern": "*all.txt" + } + }, + { + "vcf": { + "type": "file", + "description": "vcf files for each sample giving the SNP calls", + "pattern": "*.vcf" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@SPPearce" + ] + } + }, + { + "name": "bam_qc_picard", + "path": "subworkflows/nf-core/bam_qc_picard/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bam_qc", + "description": "Produces comprehensive statistics from BAM file", + "keywords": [ + "statistics", + "counts", + "hs_metrics", + "wgs_metrics", + "bam", + "sam", + "cram" + ], + "modules": [ + "picard/collectmultiplemetrics", + "picard/collectwgsmetrics", + "picard/collecthsmetrics" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM/CRAM/SAM file index", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "bait_intervals": { + "type": "optional file", + "description": "An interval list or bed file that contains the locations of the baits used.", + "pattern": "baits.{interval_list,bed,bed.gz}" + } + }, + { + "target_intervals": { + "type": "optional file", + "description": "An interval list or bed file that contains the locations of the targets.", + "pattern": "targets.{interval_list,bed,bed.gz}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta": { + "type": "optional file", + "description": "Reference fasta file", + "pattern": "*.{fasta,fa,fna}" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta_fai": { + "type": "optional file", + "description": "Reference fasta file index", + "pattern": "*.{fasta,fa,fna}.fai" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'genome' ]\n" + } + }, + { + "fasta_dict": { + "type": "optional file", + "description": "Reference fasta sequence dictionary", + "pattern": "*.{dict}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "coverage_metrics": { + "type": "file", + "description": "Alignment metrics files generated by picard CollectHsMetrics or CollectWgsMetrics", + "pattern": "*_metrics.txt" + } + }, + { + "multiple_metrics": { + "type": "file", + "description": "Alignment metrics files generated by picard CollectMultipleMetrics", + "pattern": "*_{metrics}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "bam_rseqc", + "path": "subworkflows/nf-core/bam_rseqc/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bam_rseqc", + "description": "Subworkflow to run multiple commands in the RSeqC package", + "keywords": [ + "rnaseq", + "experiment", + "inferexperiment", + "bamstat", + "innerdistance", + "junctionannotation", + "junctionsaturation", + "readdistribution", + "readduplication", + "tin" + ], + "modules": [ + "rseqc" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file to calculate statistics", + "pattern": "*.{bam}" + } + }, + { + "bai": { + "type": "file", + "description": "Index for input BAM file", + "pattern": "*.{bai}" + } + }, + { + "bed": { + "type": "file", + "description": "BED file for the reference gene model", + "pattern": "*.{bed}" + } + }, + { + "rseqc_modules": { + "type": "list", + "description": "List of rseqc modules to run\ne.g. [ 'bam_stat', 'infer_experiment' ]\n" + } + } + ], + "output": [ + { + "bamstat_txt": { + "type": "file", + "description": "bam statistics report", + "pattern": "*.bam_stat.txt" + } + }, + { + "innerdistance_distance": { + "type": "file", + "description": "the inner distances", + "pattern": "*.inner_distance.txt" + } + }, + { + "innerdistance_freq": { + "type": "file", + "description": "frequencies of different insert sizes", + "pattern": "*.inner_distance_freq.txt" + } + }, + { + "innerdistance_mean": { + "type": "file", + "description": "mean/median values of inner distances", + "pattern": "*.inner_distance_mean.txt" + } + }, + { + "innerdistance_pdf": { + "type": "file", + "description": "distribution plot of inner distances", + "pattern": "*.inner_distance_plot.pdf" + } + }, + { + "innerdistance_rscript": { + "type": "file", + "description": "script to reproduce the plot", + "pattern": "*.inner_distance_plot.R" + } + }, + { + "inferexperiment_txt": { + "type": "file", + "description": "infer_experiment results report", + "pattern": "*.infer_experiment.txt" + } + }, + { + "junctionannotation_bed": { + "type": "file", + "description": "bed file of annotated junctions", + "pattern": "*.junction.bed" + } + }, + { + "junctionannotation_interact_bed": { + "type": "file", + "description": "Interact bed file", + "pattern": "*.Interact.bed" + } + }, + { + "junctionannotation_xls": { + "type": "file", + "description": "xls file with junction information", + "pattern": "*.xls" + } + }, + { + "junctionannotation_pdf": { + "type": "file", + "description": "junction plot", + "pattern": "*.junction.pdf" + } + }, + { + "junctionannotation_events_pdf": { + "type": "file", + "description": "events plot", + "pattern": "*.events.pdf" + } + }, + { + "junctionannotation_rscript": { + "type": "file", + "description": "Rscript to reproduce the plots", + "pattern": "*.r" + } + }, + { + "junctionannotation_log": { + "type": "file", + "description": "Log file generated by tool", + "pattern": "*.log" + } + }, + { + "junctionsaturation_pdf": { + "type": "file", + "description": "Junction saturation report", + "pattern": "*.pdf" + } + }, + { + "junctionsaturation_rscript": { + "type": "file", + "description": "Junction saturation R-script", + "pattern": "*.r" + } + }, + { + "readdistribution_txt": { + "type": "file", + "description": "the read distribution report", + "pattern": "*.read_distribution.txt" + } + }, + { + "readduplication_seq_xls": { + "type": "file", + "description": "Read duplication rate determined from mapping position of read", + "pattern": "*seq.DupRate.xls" + } + }, + { + "readduplication_pos_xls": { + "type": "file", + "description": "Read duplication rate determined from sequence of read", + "pattern": "*pos.DupRate.xls" + } + }, + { + "readduplication_pdf": { + "type": "file", + "description": "plot of duplication rate", + "pattern": "*.pdf" + } + }, + { + "readduplication_rscript": { + "type": "file", + "description": "script to reproduce the plot", + "pattern": "*.R" + } + }, + { + "tin_txt": { + "type": "file", + "description": "TXT file containing tin.py results summary", + "pattern": "*.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@kevinmenden" + ] + }, + "pipelines": [ + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "bam_sort_stats_samtools", + "path": "subworkflows/nf-core/bam_sort_stats_samtools/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bam_sort_stats_samtools", + "description": "Sort SAM/BAM/CRAM file", + "keywords": [ + "sort", + "bam", + "sam", + "cram" + ], + "modules": [ + "samtools/sort", + "samtools/index", + "samtools/stats", + "samtools/idxstats", + "samtools/flagstat" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome fasta file", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "crai": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "stats": { + "type": "file", + "description": "File containing samtools stats output", + "pattern": "*.{stats}" + } + }, + { + "flagstat": { + "type": "file", + "description": "File containing samtools flagstat output", + "pattern": "*.{flagstat}" + } + }, + { + "idxstats": { + "type": "file", + "description": "File containing samtools idxstats output", + "pattern": "*.{idxstats}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@ewels" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bam_split_by_region", + "path": "subworkflows/nf-core/bam_split_by_region/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bam_split_by_region", + "description": "Split the reads in the input bam by specified genomic region.", + "keywords": [ + "split", + "bam", + "sam", + "cram", + "index" + ], + "modules": [ + "samtools/view", + "samtools/index" + ], + "input": [ + { + "ch_bam": { + "description": "The input channel of this subworkflow containing:\n- meta: Groovy Map containing sample information => doesn't have a field called 'genomic_region'\n- bam: BAM/CRAM/SAM file\n- bai: Index for BAM/CRAM/SAM file\n- regions_file: A file containing the genomic regions used to separate the reads in the\n input bam. This should be a BED or TSV file containing either a single\n column of chromosome names, two columns (chromosome name and position),\n or three columns (chromosome name, start position, and end position).\nStructure: [ val(meta), path(bam), path(bai), path(regions_file) ]\n" + } + } + ], + "output": [ + { + "bam_bai": { + "description": "BAM/CRAM/SAM file, the meta contains a new 'genomic_region' field with the included regions\nStructure: [ val(meta), path(bam), path(bai) ]\n" + } + }, + { + "versions": { + "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" + } + } + ], + "authors": [ + "@TCLamnidis" + ] + } + }, + { + "name": "bam_stats_samtools", + "path": "subworkflows/nf-core/bam_stats_samtools/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bam_stats_samtools", + "description": "Produces comprehensive statistics from SAM/BAM/CRAM file", + "keywords": [ + "statistics", + "counts", + "bam", + "sam", + "cram" + ], + "modules": [ + "samtools/stats", + "samtools/idxstats", + "samtools/flagstat" + ], + "input": [ + { + "ch_bam_bai": { + "description": "The input channel containing the BAM/CRAM and it's index\nStructure: [ val(meta), path(bam), path(bai) ]\n" + } + }, + { + "ch_fasta": { + "description": "Reference genome fasta file\nStructure: [ path(fasta) ]\n" + } + } + ], + "output": [ + { + "stats": { + "description": "File containing samtools stats output\nStructure: [ val(meta), path(stats) ]\n" + } + }, + { + "flagstat": { + "description": "File containing samtools flagstat output\nStructure: [ val(meta), path(flagstat) ]\n" + } + }, + { + "idxstats": { + "description": "File containing samtools idxstats output\nStructure: [ val(meta), path(idxstats)]\n" + } + }, + { + "versions": { + "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" + } + } + ], + "authors": [ + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "callingcards", + "version": "dev" + }, + { + "name": "circdna", + "version": "1.0.4" + }, + { + "name": "circrna", + "version": "dev" + }, + { + "name": "cutandrun", + "version": "3.1" + }, + { + "name": "metatdenovo", + "version": "dev" + }, + { + "name": "nascent", + "version": "2.1.1" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "bam_tumor_normal_somatic_variant_calling_gatk", + "path": "subworkflows/nf-core/bam_tumor_normal_somatic_variant_calling_gatk/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bam_tumor_normal_somatic_variant_calling_gatk", + "description": "Perform variant calling on a paired tumor normal set of samples using mutect2 tumor normal mode.\nf1r2 output of mutect2 is run through learnreadorientationmodel to get the artifact priors.\nRun the input bam files through getpileupsummarries and then calculatecontamination to get the contamination and segmentation tables.\nFilter the mutect2 output vcf using filtermutectcalls, artifact priors and the contamination & segmentation tables for additional filtering.\n", + "keywords": [ + "gatk4", + "mutect2", + "learnreadorientationmodel", + "getpileupsummaries", + "calculatecontamination", + "filtermutectcalls", + "variant_calling", + "tumor_only", + "filtered_vcf" + ], + "modules": [ + "gatk4/mutect2", + "gatk4/learnreadorientationmodel", + "gatk4/getpileupsummaries", + "gatk4/calculatecontamination", + "gatk4/filtermutectcalls" + ], + "input": [ + { + "ch_input": { + "description": "The tumor and normal BAM files, in that order, also able to take CRAM as an input\nCan contain an optional list of sample headers contained in the normal sample input file.\nStructure: [ val(meta), path(input), path(input_index), val(which_norm) ]\n" + } + }, + { + "ch_fasta": { + "description": "The reference fasta file\nStructure: [ path(fasta) ]\n" + } + }, + { + "ch_fai": { + "description": "Index of reference fasta file\nStructure: [ path(fai) ]\n" + } + }, + { + "ch_dict": { + "description": "GATK sequence dictionary\nStructure: [ path(dict) ]\n" + } + }, + { + "ch_germline_resource": { + "description": "Population vcf of germline sequencing, containing allele fractions.\nStructure: [ path(germline_resources) ]\n" + } + }, + { + "ch_germline_resource_tbi": { + "description": "Index file for the germline resource.\nStructure: [ path(germline_resources_tbi) ]\n" + } + }, + { + "ch_panel_of_normals": { + "description": "Vcf file to be used as a panel of normals.\nStructure: [ path(panel_of_normals) ]\n" + } + }, + { + "ch_panel_of_normals_tbi": { + "description": "Index for the panel of normals.\nStructure: [ path(panel_of_normals_tbi) ]\n" + } + }, + { + "ch_interval_file": { + "description": "File containing intervals.\nStructure: [ path(interval_files) ]\n" + } + } + ], + "output": [ + { + "versions": { + "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" + } + }, + { + "mutect2_vcf": { + "description": "Compressed vcf file to be used for variant_calling.\nStructure: [ val(meta), path(vcf) ]\n" + } + }, + { + "mutect2_tbi": { + "description": "Indexes of the mutect2_vcf file\nStructure: [ val(meta), path(tbi) ]\n" + } + }, + { + "mutect2_stats": { + "description": "Stats files for the mutect2 vcf\nStructure: [ val(meta), path(stats) ]\n" + } + }, + { + "mutect2_f1r2": { + "description": "File containing information to be passed to LearnReadOrientationModel.\nStructure: [ val(meta), path(f1r2) ]\n" + } + }, + { + "artifact_priors": { + "description": "File containing artifact-priors to be used by filtermutectcalls.\nStructure: [ val(meta), path(artifact_priors) ]\n" + } + }, + { + "pileup_table_tumor": { + "description": "File containing the tumor pileup summary table, kept separate as calculatecontamination needs them individually specified.\nStructure: [ val(meta), path(table) ]\n" + } + }, + { + "pileup_table_normal": { + "description": "File containing the normal pileup summary table, kept separate as calculatecontamination needs them individually specified.\nStructure: [ val(meta), path(table) ]\n" + } + }, + { + "contamination_table": { + "description": "File containing the contamination table.\nStructure: [ val(meta), path(table) ]\n" + } + }, + { + "segmentation_table": { + "description": "Output table containing segmentation of tumor minor allele fractions.\nStructure: [ val(meta), path(table) ]\n" + } + }, + { + "filtered_vcf": { + "description": "File containing filtered mutect2 calls.\nStructure: [ val(meta), path(vcf) ]\n" + } + }, + { + "filtered_tbi": { + "description": "Tbi file that pairs with filtered vcf.\nStructure: [ val(meta), path(tbi) ]\n" + } + }, + { + "filtered_stats": { + "description": "File containing statistics of the filtermutectcalls run.\nStructure: [ val(meta), path(stats) ]\n" + } + } + ], + "authors": [ + "@GCJMackenzie" + ] + } + }, + { + "name": "bam_tumor_only_somatic_variant_calling_gatk", + "path": "subworkflows/nf-core/bam_tumor_only_somatic_variant_calling_gatk/meta.yml", + "type": "subworkflow", + "meta": { + "name": "gatk_tumor_only_somatic_variant_calling", + "description": "Perform variant calling on a single tumor sample using mutect2 tumor only mode.\nRun the input bam file through getpileupsummarries and then calculatecontaminationto get the contamination and segmentation tables.\nFilter the mutect2 output vcf using filtermutectcalls and the contamination & segmentation tables for additional filtering.\n", + "keywords": [ + "gatk4", + "mutect2", + "getpileupsummaries", + "calculatecontamination", + "filtermutectcalls", + "variant_calling", + "tumor_only", + "filtered_vcf" + ], + "modules": [ + "gatk4/mutect2", + "gatk4/getpileupsummaries", + "gatk4/calculatecontamination", + "gatk4/filtermutectcalls" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "input": { + "type": "list", + "description": "list containing one BAM file, also able to take CRAM as an input", + "pattern": "[ *.{bam/cram} ]" + } + }, + { + "input_index": { + "type": "list", + "description": "list containing one BAM file indexe, also able to take CRAM index as an input", + "pattern": "[ *.{bam.bai/cram.crai} ]" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "fai": { + "type": "file", + "description": "Index of reference fasta file", + "pattern": "*.fasta.fai" + } + }, + { + "dict": { + "type": "file", + "description": "GATK sequence dictionary", + "pattern": "*.dict" + } + }, + { + "germline_resource": { + "type": "file", + "description": "Population vcf of germline sequencing, containing allele fractions.", + "pattern": "*.vcf.gz" + } + }, + { + "germline_resource_tbi": { + "type": "file", + "description": "Index file for the germline resource.", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "panel_of_normals": { + "type": "file", + "description": "vcf file to be used as a panel of normals.", + "pattern": "*.vcf.gz" + } + }, + { + "panel_of_normals_tbi": { + "type": "file", + "description": "Index for the panel of normals.", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "interval_file": { + "type": "file", + "description": "File containing intervals.", + "pattern": "*.interval_list" + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "mutect2_vcf": { + "type": "file", + "description": "Compressed vcf file to be used for variant_calling.", + "pattern": "[ *.vcf.gz ]" + } + }, + { + "mutect2_tbi": { + "type": "file", + "description": "Indexes of the mutect2_vcf file", + "pattern": "[ *vcf.gz.tbi ]" + } + }, + { + "mutect2_stats": { + "type": "file", + "description": "Stats files for the mutect2 vcf", + "pattern": "[ *vcf.gz.stats ]" + } + }, + { + "pileup_table": { + "type": "file", + "description": "File containing the pileup summary table.", + "pattern": "*.pileups.table" + } + }, + { + "contamination_table": { + "type": "file", + "description": "File containing the contamination table.", + "pattern": "*.contamination.table" + } + }, + { + "segmentation_table": { + "type": "file", + "description": "Output table containing segmentation of tumor minor allele fractions.", + "pattern": "*.segmentation.table" + } + }, + { + "filtered_vcf": { + "type": "file", + "description": "file containing filtered mutect2 calls.", + "pattern": "*.vcf.gz" + } + }, + { + "filtered_tbi": { + "type": "file", + "description": "tbi file that pairs with filtered vcf.", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "filtered_stats": { + "type": "file", + "description": "file containing statistics of the filtermutectcalls run.", + "pattern": "*.filteringStats.tsv" + } + } + ], + "authors": [ + "@GCJMackenzie" + ] + } + }, + { + "name": "bam_variant_calling_sort_freebayes_bcftools", + "path": "subworkflows/nf-core/bam_variant_calling_sort_freebayes_bcftools/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bam_variant_calling_sort_freebayes_bcftools", + "description": "Call variants using freebayes, then sort and index", + "keywords": [ + "variant", + "sort", + "index", + "bam", + "cram", + "vcf" + ], + "modules": [ + "freebayes", + "bcftools/sort", + "bcftools/index" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "input1": { + "type": "file", + "description": "BAM/CRAM/SAM file;", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "index1": { + "type": "file", + "description": "Index BAI/CRAI/CSI file", + "pattern": "*.{bai,crai,csi}" + } + }, + { + "input2": { + "type": "file", + "description": "BAM/CRAM/SAM file; used to run variant calling with pair (normal vs tumor)", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "index2": { + "type": "file", + "description": "Index BAI/CRAI/CSI file", + "pattern": "*.{bai,crai,csi}" + } + }, + { + "bed": { + "type": "file", + "description": "Optional - Limit analysis to targets listed in this BED-format FILE.", + "pattern": "*.bed" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "reference fasta file", + "pattern": ".{fa,fa.gz,fasta,fasta.gz}" + } + }, + { + "fai": { + "type": "file", + "description": "reference fasta file index", + "pattern": "*.{fa,fasta}.fai" + } + }, + { + "samples": { + "type": "file", + "description": "Optional - Limit analysis to samples listed (one per line) in the FILE.", + "pattern": "*.txt" + } + }, + { + "populations": { + "type": "file", + "description": "Optional - Each line of FILE should list a sample and a population which it is part of.", + "pattern": "*.txt" + } + }, + { + "cnv": { + "type": "file", + "description": "A copy number map BED file, which has either a sample-level ploidy:\nsample_name copy_number\nor a region-specific format:\nseq_name start end sample_name copy_number\n", + "pattern": "*.bed" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "vcf": { + "type": "file", + "description": "Sorted VCF file", + "pattern": "*.{vcf.gz}" + } + }, + { + "csi": { + "type": "file", + "description": "Default VCF file index file", + "pattern": "*.csi" + } + }, + { + "tbi": { + "type": "file", + "description": "Alternative VCF file index file (activated with -t parameter)", + "pattern": "*.tbi" + } + } + ], + "authors": [ + "@priyanka-surana", + "@FriederikeHanssen", + "@ramprasadn" + ] + } + }, + { + "name": "bam_variant_demix_boot_freyja", + "path": "subworkflows/nf-core/bam_variant_demix_boot_freyja/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bam_variant_demix_boot_freyja", + "description": "Recover relative lineage abundances from mixed SARS-CoV-2 samples from a sequencing dataset (BAM aligned to the Hu-1 reference)", + "keywords": [ + "bam", + "variants", + "cram" + ], + "modules": [ + "freyja/variants", + "freyja/demix", + "freyja/update", + "freyja/boot" + ], + "input": [ + { + "ch_bam": { + "type": "file", + "description": "Structure: [ val(meta), path(bam) ]\nGroovy Map containing sample information e.g. [ id:'test', single_end:false ] and sorted BAM file\n" + } + }, + { + "ch_fasta": { + "type": "file", + "description": "Structure: [ val(meta), path(fasta) ]\nGroovy Map containing sample information e.g. [ id:'test', single_end:false ] and the fasta reference used for the sorted BAM file\n" + } + }, + { + "val_repeats": { + "type": "value (int)", + "description": "Number of bootstrap repeats to perform" + } + }, + { + "val_db_name": { + "type": "value (string)", + "description": "Name of the dir where UShER's files will be stored" + } + }, + { + "ch_barcodes": { + "type": "file", + "description": "Structure: path(barcodes)\nFile containing lineage defining barcodes\n" + } + }, + { + "ch_lineages_meta": { + "type": "file", + "description": "Structure: path(lineages_meta)\nFile containing lineage metadata that correspond to barcodes\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "variants": { + "type": "file", + "description": "Structure: [ val(meta), path(variants) ]\nFile containing identified variants in a gff-like format\n" + } + }, + { + "depths": { + "type": "file", + "description": "Structure: [ val(meta), path(variants) ]\nFile containing depth of the variants\n" + } + }, + { + "demix": { + "type": "file", + "description": "Structure: [ val(meta), path(demix) ]\na tsv file that includes the lineages present, their corresponding abundances, and summarization by constellation\n" + } + }, + { + "lineages": { + "type": "file", + "description": "Structure: [ val(meta), path(lineages) ]\na csv file that includes the lineages present and their corresponding abundances\n" + } + }, + { + "summarized": { + "type": "file", + "description": "Structure: [ val(meta), path(lineages) ]\na csv file that includes the lineages present but summarized by constellation and their corresponding abundances\n" + } + }, + { + "barcodes": { + "type": "file", + "description": "path(barcodes) a csv file that includes the lineages present but summarized by constellation and their corresponding abundances" + } + }, + { + "lineages_meta": { + "type": "file", + "description": "path(lineages_meta) a csv file that includes the lineages present but summarized by constellation and their corresponding abundances" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "bcl_demultiplex", + "path": "subworkflows/nf-core/bcl_demultiplex/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bcl_demultiplex", + "description": "Demultiplex Illumina BCL data using bcl-convert or bcl2fastq", + "keywords": [ + "bcl", + "bclconvert", + "bcl2fastq", + "demultiplex", + "fastq" + ], + "modules": [ + "bcl2fastq", + "bclconvert" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'string', lane: int ]\n" + } + }, + { + "samplesheet": { + "type": "file", + "description": "CSV file containing information about samples to be demultiplexed in Illumina SampleSheet format\n" + } + }, + { + "flowcell": { + "type": "file", + "description": "Directory or tar archive containing Illumina BCL data, sequencer output directory" + } + }, + { + "demultiplexer": { + "type": "string", + "description": "Which demultiplexer to use, bcl2fastq or bclconvert" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "fastq": { + "type": "file", + "description": "Demultiplexed fastq files", + "pattern": "*.fastq.gz" + } + }, + { + "reports": { + "type": "file", + "description": "Demultiplexing reports", + "pattern": "Reports/*" + } + }, + { + "interop": { + "type": "file", + "description": "InterOp files", + "pattern": "InterOp/*" + } + }, + { + "stats": { + "type": "file", + "description": "Demultiplexing statistics (bcl2fastq only)", + "pattern": "Stats/*" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@matthdsm" + ] + }, + "pipelines": [ + { + "name": "demultiplex", + "version": "1.3.2" + } + ] + }, + { + "name": "bed_scatter_bedtools", + "path": "subworkflows/nf-core/bed_scatter_bedtools/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bed_scatter_bedtools", + "description": "Scatters inputted BED files by the amount specified.\nThe configuration in nextflow.config should be added to your modules.config for the subworkflow to work.\n", + "keywords": [ + "bed", + "scatter", + "bedtools" + ], + "modules": [ + "bedtools/split" + ], + "input": [ + { + "ch_bed": { + "description": "The input channel containing the BED file and an integer stating the amount of files it should be split into\nStructure: [ val(meta), path(bed), val(scatter_count) ]\n" + } + } + ], + "output": [ + { + "scattered_beds": { + "description": "One channel entry per scattered BED file (all BED files from the same source are transposed but contain the same meta)\nStructure: [ val(meta), path(bed), val(scatter_count) ]\n" + } + }, + { + "versions": { + "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "bedgraph_bedclip_bedgraphtobigwig", + "path": "subworkflows/nf-core/bedgraph_bedclip_bedgraphtobigwig/meta.yml", + "type": "subworkflow", + "meta": { + "name": "bedgraph_bedclip_bedgraphtobigwig", + "description": "Convert bedgraph to bigwig with clip", + "keywords": [ + "bedgraph", + "bigwig", + "clip", + "conversion" + ], + "modules": [ + "ucsc/bedclip", + "ucsc/bedgraphtobigwig" + ], + "input": [ + { + "bedgraph": { + "type": "file", + "description": "bedGraph file which should be converted", + "pattern": "*.bedGraph" + } + }, + { + "sizes": { + "type": "file", + "description": "File with chromosome sizes", + "pattern": "*.sizes" + } + } + ], + "output": [ + { + "bigwig": { + "type": "file", + "description": "bigWig coverage file relative to genes on the input file", + "pattern": ".bigWig" + } + }, + { + "bedgraph": { + "type": "file", + "description": "bedGraph file after clipping", + "pattern": "*.bedGraph" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@KamilMaliszArdigen" + ] + }, + "pipelines": [ + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + } + ] + }, + { + "name": "fasta_binning_concoct", + "path": "subworkflows/nf-core/fasta_binning_concoct/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fasta_binning_concoct", + "description": "Runs the CONCOCT workflow of contig binning", + "keywords": [ + "concoct", + "binning", + "metagenomics", + "contigs" + ], + "modules": [ + "concoct/cutupfasta", + "concoct/concoctcoveragetable", + "concoct/concoct", + "concoct/mergecutupclustering", + "concoct/extractfastabins" + ], + "input": [ + { + "ch_fasta": { + "type": "file", + "description": "Structure: [ val(meta), path(fasta)]\nFile containing raw assembled contigs in FASTA format.\n" + } + }, + { + "ch_bam": { + "type": "file", + "description": "Structure: [ val(meta), path(bam), path(bai)]\nBAM and associated index files file representing reads mapped against each\ncontig in ch_fasta. Meta must be identical between ch_fasta and ch_bam entries.\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "coverage_table": { + "type": "file", + "description": "Structure: [ val(meta), path(tsv)]\n(Sub)contig coverage table\n" + } + }, + { + "original_csv": { + "type": "file", + "description": "Structure: [ val(meta), path(csv) ]\nOriginal CONCOCT GT1000 output\n" + } + }, + { + "raw_clustering_csv": { + "type": "file", + "description": "Structure: [ val(meta), path(csv) ]\nCSV containing information which subcontig is assigned to which cluster\n" + } + }, + { + "pca_original": { + "type": "file", + "description": "Structure: [ val(meta), path(csv) ]\nCSV file containing untransformed PCA component values\n" + } + }, + { + "pca_transformed": { + "type": "file", + "description": "Structure: [ val(meta), path(csv) ]\nCSV file transformed PCA component values\n" + } + }, + { + "cluster_table": { + "type": "file", + "description": "Structure: [ val(meta), path(csv) ]\nCSV file containing final cluster assignments of original input contigs\n" + } + }, + { + "bin": { + "type": "file", + "description": "Structure: [ val(meta), path(fasta) ]\nFASTA files containing CONCOCT predicted bin clusters, named numerically\nby CONCOCT cluster ID\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@jfy133" + ] + }, + "pipelines": [ + { + "name": "mag", + "version": "2.3.2" + } + ] + }, + { + "name": "fasta_clean_fcs", + "path": "subworkflows/nf-core/fasta_clean_fcs/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fasta_clean_fcs", + "description": "Foreign Contamination Screen (FCS) is a tool suite for identifying and removing contaminant sequences in genome assemblies", + "keywords": [ + "contamination screening", + "cleaning", + "assemblies", + "fasta" + ], + "modules": [ + "fcs/fcsadaptor", + "fcs/fcsgx" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "assembly": { + "type": "file", + "description": "assembly fasta file", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fcsadaptor_cleaned_assembly": { + "type": "file", + "description": "Cleaned assembly in fasta format", + "pattern": "*.{cleaned_sequences.fa.gz}" + } + }, + { + "fcsadaptor_report": { + "type": "file", + "description": "Report of identified adaptors", + "pattern": "*.{fcs_adaptor_report.txt}" + } + }, + { + "fcsadaptor_log": { + "type": "file", + "description": "Log file", + "pattern": "*.{fcs_adaptor.log}" + } + }, + { + "fcsadaptor_pipeline_args": { + "type": "file", + "description": "Run arguments", + "pattern": "*.{pipeline_args.yaml}" + } + }, + { + "fcsadaptor_skipped_trims": { + "type": "file", + "description": "Skipped trim information", + "pattern": "*.{skipped_trims.jsonl}" + } + }, + { + "fcs_gx_report": { + "type": "file", + "description": "Report containing the contig identifier and recommended action (EXCLUDE, TRIM, FIX, REVIEW)", + "pattern": "*.fcs_gx_report.txt" + } + }, + { + "fcsgx_taxonomy_report": { + "type": "file", + "description": "Report containing the contig identifier and mapped contaminant species", + "pattern": "*.taxonomy.rpt" + } + } + ], + "authors": [ + "@scorreard" + ] + } + }, + { + "name": "fasta_index_dna", + "path": "subworkflows/nf-core/fasta_index_dna/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fasta_index_dna", + "description": "Generate aligner index for a reference genome.\nPlease note, this workflow requires input CHANNELS. Input values will cause errors\n", + "keywords": [ + "fasta", + "index", + "bowtie2", + "bwamem", + "bwamem2", + "dragmap", + "snapaligner" + ], + "modules": [ + "bowtie2/build", + "bwa/index", + "bwamem2/index", + "dragmap/hashtable", + "snapaligner/index" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome fasta file" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing altliftover information\ne.g. [ id:'test' ]\n" + } + }, + { + "altliftover": { + "type": "file", + "description": "Sam formatted liftover file for the reference genome alt contigs\nSee: https://github.com/lh3/bwa/blob/master/README-alt.md\nDownload from: https://sourceforge.net/projects/bio-bwa/files/bwakit\n" + } + }, + { + "val_aligner": { + "type": "string", + "description": "Aligner to use for alignment", + "enum": [ + "bowtie2", + "bwa", + "bwamem2", + "dragmap", + "snap" + ] + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "index": { + "type": "file", + "description": "aligner index" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@matthdsm", + "@ramprasadn" + ] + } + }, + { + "name": "fasta_newick_epang_gappa", + "path": "subworkflows/nf-core/fasta_newick_epang_gappa/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fasta_newick_epang_gappa", + "description": "Run phylogenetic placement with a number of query sequences plus a reference alignment and phylogeny. Used in nf-core/phyloplace.", + "keywords": [ + "phylogenetic placement", + "phylogenetics", + "alignment", + "fasta", + "newick" + ], + "modules": [ + "hmmer/hmmbuild", + "hmmer/hmmalign", + "hmmer/eslalimask", + "hmmer/eslreformat", + "mafft", + "epang/place", + "epang/split", + "gappa/examinegraft", + "gappa/examineassign", + "gappa/examineheattree" + ], + "input": [ + { + "ch_pp_data": { + "type": "map", + "description": "Structure: [\n meta: val(meta),\n data: [\n alignmethod: 'hmmer',\n queryseqfile: path(\"*.faa\"),\n refseqfile: path(\"*.alnfaa\"),\n refphylogeny: path(\"*.newick\"),\n model: \"LG\",\n taxonomy: path(\"*.tsv\")\n ]\n]\n" + } + }, + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "queryseqfile": { + "type": "file", + "description": "Fasta file with query sequences", + "pattern": "*.{faa,fna,fa,fasta,fa,faa.gz,fna.gz,fa.gz,fasta.gz,fa.gz}" + } + }, + { + "refseqfile": { + "type": "file", + "description": "File with reference sequences; aligned unless an hmmfile is provided", + "pattern": "*.{faa,fna,fa,fasta,fa,phy,aln,alnfaa,alnfna,alnfa,mfa,faa.gz,fna.gz,fa.gz,fasta.gz,fa.gz,phy.gz,aln.gz,alnfaa.gz,alnfna.gz,alnfa.gz,mfa.gz}" + } + }, + { + "refphylogeny": { + "type": "file", + "description": "Newick file with reference phylogenetic tree", + "pattern": "*.{newick,tree}" + } + }, + { + "hmmfile": { + "type": "file", + "description": "HMM file to use for alignment; implies that refseqfile is not aligned. Optional.", + "pattern": "*.{hmm,HMM,hmm.gz,HMM.gz}" + } + }, + { + "model": { + "type": "string", + "description": "Phylogenetic model to use in placement, e.g. 'LG+F' or 'GTR+I+F'" + } + }, + { + "alignmethod": { + "type": "string", + "description": "Method used for alignment, 'hmmer' or 'mafft'" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "epang": { + "type": "directory", + "description": "All output from EPA-NG", + "pattern": "*" + } + }, + { + "jplace": { + "type": "file", + "description": "jplace file from EPA-NG", + "pattern": "*.jplace" + } + }, + { + "grafted_phylogeny": { + "type": "file", + "description": "Newick file with query sequences placed in reference tree", + "pattern": "*.newick" + } + }, + { + "taxonomy_profile": { + "type": "file", + "description": "Tab separated file with taxonomy information from classification", + "pattern": "*.tsv" + } + }, + { + "taxonomy_per_query": { + "type": "file", + "description": "Tab separated file with taxonomy information per query from classification", + "pattern": "*.tsv" + } + }, + { + "heattree": { + "type": "file", + "description": "Heattree in SVG format", + "pattern": "*.svg" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@erikrikarddaniel" + ] + }, + "pipelines": [ + { + "name": "ampliseq", + "version": "2.6.1" + }, + { + "name": "phyloplace", + "version": "1.0.0" + } + ] + }, + { + "name": "fastq_align_bowtie2", + "path": "subworkflows/nf-core/fastq_align_bowtie2/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fastq_align_bowtie2", + "description": "Align reads to a reference genome using bowtie2 then sort with samtools", + "keywords": [ + "align", + "fasta", + "genome", + "reference" + ], + "modules": [ + "bowtie2/align", + "samtools/sort", + "samtools/index", + "samtools/stats", + "samtools/idxstats", + "samtools/flagstat" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ch_reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "ch_index": { + "type": "file", + "description": "Bowtie2 genome index files", + "pattern": "*.ebwt" + } + }, + { + "save_unaligned": { + "type": "boolean", + "description": "Save reads that do not map to the reference (true) or discard them (false)\n(default: false)\n" + } + }, + { + "sort_bam": { + "type": "boolean", + "description": "Save reads that do not map to the reference (true) or discard them (false)\n", + "default": false + } + }, + { + "ch_fasta": { + "type": "file", + "description": "Reference fasta file", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "bam": { + "type": "file", + "description": "Output BAM file containing read alignments", + "pattern": "*.{bam}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "fastq": { + "type": "file", + "description": "Unaligned FastQ files", + "pattern": "*.fastq.gz" + } + }, + { + "log": { + "type": "file", + "description": "Alignment log", + "pattern": "*.log" + } + } + ], + "authors": [ + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "viralrecon", + "version": "2.6.0" + } + ] + }, + { + "name": "fastq_align_bwa", + "path": "subworkflows/nf-core/fastq_align_bwa/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fastq_align_bwa", + "description": "Align reads to a reference genome using bwa then sort with samtools", + "keywords": [ + "align", + "fasta", + "genome", + "reference" + ], + "modules": [ + "bwa/align", + "samtools/sort", + "samtools/index", + "samtools/stats", + "samtools/idxstats", + "samtools/flagstat" + ], + "input": [ + { + "ch_reads": { + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\nStructure: [ val(meta), [ path(reads) ] ]\n" + } + }, + { + "ch_index": { + "description": "BWA genome index files\nStructure: [ val(meta2), path(index) ]\n" + } + }, + { + "val_sort_bam": { + "type": "boolean", + "description": "If true bwa modules sort resulting bam files", + "pattern": "true|false" + } + }, + { + "ch_fasta": { + "type": "file", + "description": "Optional reference fasta file. This only needs to be given if val_sort_bam = true\nStructure: [ path(fasta) ]\n" + } + } + ], + "output": [ + { + "bam_orig": { + "description": "BAM file produced by bwa\nStructure: [ val(meta), path(bam) ]\n" + } + }, + { + "bam": { + "description": "BAM file ordered by samtools\nStructure: [ val(meta), path(bam) ]\n" + } + }, + { + "bai": { + "description": "BAI index of the ordered BAM file\nStructure: [ val(meta), path(bai) ]\n" + } + }, + { + "csi": { + "description": "CSI index of the ordered BAM file\nStructure: [ val(meta), path(csi) ]\n" + } + }, + { + "stats": { + "description": "File containing samtools stats output\nStructure: [ val(meta), path(stats) ]\n" + } + }, + { + "flagstat": { + "description": "File containing samtools flagstat output\nStructure: [ val(meta), path(flagstat) ]\n" + } + }, + { + "idxstats": { + "description": "File containing samtools idxstats output\nStructure: [ val(meta), path(idxstats) ]\n" + } + }, + { + "versions": { + "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" + } + } + ], + "authors": [ + "@JoseEspinosa" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + } + ] + }, + { + "name": "fastq_align_bwaaln", + "path": "subworkflows/nf-core/fastq_align_bwaaln/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fastq_align_bwaaln_samtools", + "description": "Align FASTQ files against reference genome with the bwa aln short-read aligner producing a sorted and indexed BAM files", + "keywords": [ + "bwa", + "aln", + "fasta", + "bwa", + "align", + "map" + ], + "modules": [ + "bwa/aln", + "bwa/sampe", + "bwa/samse", + "samtools/index" + ], + "input": [ + { + "ch_reads": { + "description": "Structure: [ val(meta), path(fastq) ]\nOne or two FASTQ files for single or paired end data respectively.\nNote: the subworkflow adds a new meta ID `meta.id_index` that _must_\nbe used in `prefix` to ensure unique file names. See the associated\nnextflow.config file.\n" + } + }, + { + "ch_index": { + "description": "Structure: [ val(meta), path(index) ]\nA directory containing bwa aln reference indices as from `bwa index`\nContains files ending in extensions such as .amb, .ann, .bwt etc.\n" + } + } + ], + "output": [ + { + "bam": { + "description": "Structure: [ val(meta), path(bam) ]\nSorted BAM/CRAM/SAM file\nNote: the subworkflow adds a new meta ID `meta.id_index` that _must_\nbe used in `prefix` to ensure unique file names. See the associated\nnextflow.config file.\n" + } + }, + { + "bai": { + "description": "Structure: [ val(meta), path(bai) ]\nBAM/CRAM/SAM samtools index file\n" + } + }, + { + "csi": { + "description": "Structure: [ val(meta), path(csi) ]\nBAM/CRAM/SAM samtools index file for larger references\n" + } + }, + { + "versions": { + "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" + } + } + ], + "authors": [ + "@jfy133" + ] + } + }, + { + "name": "fastq_align_chromap", + "path": "subworkflows/nf-core/fastq_align_chromap/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fastq_align_chromap", + "description": "Align high throughput chromatin profiles using Chromap then sort with samtools", + "keywords": [ + "align", + "fasta", + "genome", + "reference", + "chromatin profiles", + "chip-seq", + "atac-seq", + "hic" + ], + "modules": [ + "chromap/chromap", + "samtools/sort", + "samtools/index", + "samtools/stats", + "samtools/idxstats", + "samtools/flagstat" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "ch_reads": { + "type": "file", + "description": "Structure: [val(meta), path(reads)]\nList of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "ch_index": { + "type": "file", + "description": "Structure: [val(meta2), path(index)]\nChromap genome index files\n", + "pattern": "*.index" + } + }, + { + "ch_fasta": { + "type": "file", + "description": "Structure: [val(meta2), path(fasta)]\nReference fasta file\n", + "pattern": "*.{fasta,fa}" + } + }, + { + "ch_barcodes": { + "type": "file", + "description": "Structure: [path(barcodes)]\nCell barcode files\n" + } + }, + { + "ch_whitelist": { + "type": "file", + "description": "Structure: [path(whitelist)]\nCell barcode whitelist file\n" + } + }, + { + "ch_chr_order": { + "type": "file", + "description": "Structure: [path(chr_order)]\nCustom chromosome order\n" + } + }, + { + "ch_pairs_chr_order": { + "type": "file", + "description": "Structure: [path(pairs_chr_order)]\nNatural chromosome order for pairs flipping\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index (currently only for snapaligner)", + "pattern": "*.bai" + } + }, + { + "stats": { + "type": "file", + "description": "File containing samtools stats output", + "pattern": "*.{stats}" + } + }, + { + "flagstat": { + "type": "file", + "description": "File containing samtools flagstat output", + "pattern": "*.{flagstat}" + } + }, + { + "idxstats": { + "type": "file", + "description": "File containing samtools idxstats output", + "pattern": "*.{idxstats}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@JoseEspinosa" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + } + ] + }, + { + "name": "fastq_align_dna", + "path": "subworkflows/nf-core/fastq_align_dna/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fastq_align_dna", + "description": "Align fastq files to a reference genome", + "keywords": [ + "fastq", + "bam", + "sort", + "bwamem", + "bwamem2", + "dragmap", + "snapaligner" + ], + "modules": [ + "bowtie2/align", + "bwa/mem", + "bwamem2/mem", + "dragmap/align", + "snapaligner/align" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "meta2": { + "type": "map", + "description": "Groovy Map containing reference information\ne.g. [ id:'test' ]\n" + } + }, + { + "index": { + "type": "file", + "description": "Aligner genome index files", + "pattern": "Directory containing aligner index" + } + }, + { + "aligner": { + "type": "string", + "description": "Aligner to use for alignment", + "enum": [ + "bowtie2", + "bwa", + "bwamem2", + "dragmap", + "snap" + ] + } + }, + { + "sort_bam": { + "type": "boolean", + "description": "sort output" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "BAM file", + "pattern": "*.bam" + } + }, + { + "bai": { + "type": "file", + "description": "BAM index (currently only for snapaligner)", + "pattern": "*.bai" + } + }, + { + "report": { + "type": "file", + "description": "Alignment report (currently only for dragmap)", + "pattern": "*.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@matthdsm" + ] + } + }, + { + "name": "fastq_align_hisat2", + "path": "subworkflows/nf-core/fastq_align_hisat2/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fastq_align_hisat2", + "description": "Align reads to a reference genome using hisat2 then sort with samtools", + "keywords": [ + "align", + "sort", + "rnaseq", + "genome", + "fastq", + "bam", + "sam", + "cram" + ], + "modules": [ + "hisat2/align", + "samtools/stats", + "samtools/idxstats", + "samtools/flagstat" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "index": { + "type": "file", + "description": "HISAT2 genome index file", + "pattern": "*.ht2" + } + }, + { + "splicesites": { + "type": "file", + "description": "Splices sites in gtf file", + "pattern": "*.{txt}" + } + }, + { + "fasta": { + "type": "file", + "description": "Reference genome fasta file", + "pattern": "*.{fasta,fa}" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bam": { + "type": "file", + "description": "Output BAM file containing read alignments", + "pattern": "*.{bam}" + } + }, + { + "summary": { + "type": "file", + "description": "Aligment log", + "pattern": "*.log" + } + }, + { + "fastq": { + "type": "file", + "description": "Optional output FASTQ file containing unaligned reads", + "pattern": ".fastq.gz" + } + }, + { + "bam": { + "type": "file", + "description": "Sorted BAM/CRAM/SAM file", + "pattern": "*.{bam,cram,sam}" + } + }, + { + "bai": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "crai": { + "type": "file", + "description": "BAM/CRAM/SAM index file", + "pattern": "*.{bai,crai,sai}" + } + }, + { + "stats": { + "type": "file", + "description": "File containing samtools stats output", + "pattern": "*.{stats}" + } + }, + { + "flagstat": { + "type": "file", + "description": "File containing samtools flagstat output", + "pattern": "*.{flagstat}" + } + }, + { + "idxstats": { + "type": "file", + "description": "File containing samtools idxstats output", + "pattern": "*.{idxstats}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@priyanka-surana" + ] + }, + "pipelines": [ + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "fastq_align_star", + "path": "subworkflows/nf-core/fastq_align_star/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fastq_align_star", + "description": "Align reads to a reference genome using bowtie2 then sort with samtools", + "keywords": [ + "align", + "fasta", + "genome", + "reference" + ], + "modules": [ + "star/align", + "samtools/sort", + "samtools/index", + "samtools/stats", + "samtools/idxstats", + "samtools/flagstat" + ], + "input": [ + { + "ch_reads": { + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\nStructure: [ val(meta), [ path(reads) ] ]\n" + } + }, + { + "ch_index": { + "type": "directory", + "description": "STAR genome index", + "pattern": "star" + } + }, + { + "ch_gtf": { + "type": "file", + "description": "GTF file used to set the splice junctions with the --sjdbGTFfile flag\n", + "pattern": "*.gtf" + } + }, + { + "val_star_ignore_sjdbgtf": { + "type": "boolean", + "description": "If true the --sjdbGTFfile flag is set\n", + "pattern": "true|false" + } + }, + { + "val_seq_platform": { + "type": "string", + "description": "Sequencing platform to be added to the bam header using the --outSAMattrRGline flag\n" + } + }, + { + "val_seq_center": { + "type": "string", + "description": "Sequencing center to be added to the bam header using the --outSAMattrRGline flag\n" + } + }, + { + "ch_fasta": { + "type": "file", + "description": "Reference genome fasta file", + "pattern": "*.{fasta,fa,fna}" + } + } + ], + "output": [ + { + "orig_bam": { + "description": "Output BAM file containing read alignments\nStructure: [ val(meta), path(bam) ]\n" + } + }, + { + "log_final": { + "description": "STAR final log file\nStructure: [ val(meta), path(log_final) ]\n" + } + }, + { + "log_out": { + "description": "STAR log out file\nStructure: [ val(meta), path(log_out) ]\n" + } + }, + { + "log_progress": { + "description": "STAR log progress file\nStructure: [ val(meta), path(log_progress) ]\n" + } + }, + { + "bam_sorted": { + "description": "Sorted BAM file of read alignments (optional)\nStructure: [ val(meta), path(bam) ]\n" + } + }, + { + "bam_transcript": { + "description": "Output BAM file of transcriptome alignment (optional)\nStructure: [ val(meta), path(bam) ]\n" + } + }, + { + "fastq": { + "description": "Unmapped FastQ files (optional)\nStructure: [ val(meta), path(fastq) ]\n" + } + }, + { + "tab": { + "description": "STAR output tab file(s) (optional)\nStructure: [ val(meta), path(tab) ]\n" + } + }, + { + "stats": { + "description": "File containing samtools stats output\nStructure: [ val(meta), path(stats) ]\n" + } + }, + { + "bam": { + "description": "BAM file ordered by samtools\nStructure: [ val(meta), path(bam) ]\n" + } + }, + { + "bai": { + "description": "BAI index of the ordered BAM file\nStructure: [ val(meta), path(bai) ]\n" + } + }, + { + "flagstat": { + "description": "File containing samtools flagstat output\nStructure: [ val(meta), path(flagstat) ]\n" + } + }, + { + "idxstats": { + "description": "File containing samtools idxstats output\nStructure: [ val(meta), path(idxstats) ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@JoseEspinosa" + ] + } + }, + { + "name": "fastq_contam_seqtk_kraken", + "path": "subworkflows/nf-core/fastq_contam_seqtk_kraken/meta.yml", + "type": "subworkflow", + "meta": { + "name": "FASTQ_CONTAM_SEQTK_KRAKEN", + "description": "Produces a contamination report from FastQ input after subsampling", + "keywords": [ + "statistics", + "fastq", + "contamination" + ], + "modules": [ + "kraken/kraken2", + "seqtk/sample" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data, respectively" + } + }, + { + "sample_size": { + "type": "string", + "description": "Number of reads to subsample for contamination detection." + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test', single_end:false ]\n" + } + }, + { + "report": { + "type": "file", + "description": "Kraken2 contamination report", + "pattern": "*.txt" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@apeltzer" + ] + } + }, + { + "name": "fastq_create_umi_consensus_fgbio", + "path": "subworkflows/nf-core/fastq_create_umi_consensus_fgbio/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fgbio_create_umi_consensus", + "description": "This workflow uses the suite FGBIO to identify and remove UMI tags from FASTQ reads\nconvert them to unmapped BAM file, map them to the reference genome,\nand finally use the mapped information to group UMIs and generate consensus reads in each group\n", + "keywords": [ + "fgbio", + "umi", + "samblaster", + "samtools", + "bwa" + ], + "modules": [ + "bwa/index", + "bwa/mem", + "fgbio/fastqtobam", + "fgbio/groupreadsbyumi", + "fgbio/callmolecularconsensusreads", + "samblaster", + "samtools/bam2fq" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "reads": { + "type": "list", + "description": "list umi-tagged reads", + "pattern": "[ *.{fastq.gz/fq.gz} ]" + } + }, + { + "fasta": { + "type": "file", + "description": "The reference fasta file", + "pattern": "*.fasta" + } + }, + { + "read_structure": { + "type": "string", + "description": "A read structure should always be provided for each of the fastq files.\nIf single end, the string will contain only one structure (i.e. \"2M11S+T\"), if paired-end the string\nwill contain two structures separated by a blank space (i.e. \"2M11S+T 2M11S+T\").\nIf the read does not contain any UMI, the structure will be +T (i.e. only template of any length).\nhttps://github.com/fulcrumgenomics/fgbio/wiki/Read-Structures\n" + } + }, + { + "groupreadsbyumi_strategy": { + "type": "string", + "description": "", + "Reguired argument": "defines the UMI assignment strategy.", + "enum": [ + "Identity", + "Edit", + "Adjacency", + "Paired" + ] + } + } + ], + "output": [ + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + }, + { + "ubam": { + "type": "file", + "description": "unmapped bam file", + "pattern": "*.bam" + } + }, + { + "groupbam": { + "type": "file", + "description": "mapped bam file, where reads are grouped by UMI tag", + "pattern": "*.bam" + } + }, + { + "consensusbam": { + "type": "file", + "description": "mapped bam file, where reads are created as consensus of those\nbelonging to the same UMI group\n", + "pattern": "*.bam" + } + } + ], + "authors": [ + "@lescai" + ] + } + }, + { + "name": "fastq_download_prefetch_fasterqdump_sratools", + "path": "subworkflows/nf-core/fastq_download_prefetch_fasterqdump_sratools/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fastq_download_prefetch_fasterqdump_sratools", + "description": "Download FASTQ sequencing reads from the NCBI's Sequence Read Archive (SRA).", + "keywords": [ + "SRA", + "NCBI", + "sequencing", + "fastq", + "prefetch", + "fasterq-dump" + ], + "modules": [ + "custom/sratoolsncbisettings", + "sratools/prefetch", + "sratools/fasterqdump" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" + } + }, + { + "id": { + "type": "string", + "description": "SRA run identifier.\n" + } + }, + { + "certificate": { + "type": "file", + "description": "Path to a JWT cart file used to access protected dbGAP data on SRA using the sra-toolkit\n", + "pattern": "*.cart" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Extracted FASTQ file or files if the sequencing reads are paired-end.", + "pattern": "*.fastq.gz" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Midnighter", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "fetchngs", + "version": "1.10.0" + } + ] + }, + { + "name": "fastq_fastqc_umitools_fastp", + "path": "subworkflows/nf-core/fastq_fastqc_umitools_fastp/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fastq_fastqc_umitools_fastp", + "description": "Read QC, UMI extraction and trimming", + "keywords": [ + "fastq", + "fastqc", + "qc", + "UMI", + "trimming", + "fastp" + ], + "modules": [ + "fastqc", + "umitools/extract", + "fastp" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "skip_fastqc": { + "type": "boolean", + "description": "Skip fastqc process\n" + } + }, + { + "with_umi": { + "type": "boolean", + "description": "With or without umi detection\n" + } + }, + { + "skip_umi_extract": { + "type": "boolean", + "description": "With or without umi extrection\n" + } + }, + { + "umi_discard_read": { + "type": "integer", + "description": "Discard R1 / R2 if required\n" + } + }, + { + "skip_trimming": { + "type": "boolean", + "description": "Allows to skip trimgalore execution\n" + } + }, + { + "adapter_fasta": { + "type": "file", + "description": "Fasta file of adapter sequences\n" + } + }, + { + "save_trimmed_fail": { + "type": "boolean", + "description": "Save trimmed fastqs of failed samples\n" + } + }, + { + "save_merged": { + "type": "boolean", + "description": "Save merged fastqs\n" + } + }, + { + "min_trimmed_reads": { + "type": "integer", + "description": "Inputs with fewer than this reads will be filtered out of the \"reads\" output channel\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "Extracted FASTQ files. | For single-end reads, pattern is \\${prefix}.umi_extract.fastq.gz. |\n For paired-end reads, pattern is \\${prefix}.umi_extract_{1,2}.fastq.gz.\n", + "pattern": "*.{fastq.gz}" + } + }, + { + "fastqc_html": { + "type": "file", + "description": "FastQC report", + "pattern": "*_{fastqc.html}" + } + }, + { + "fastqc_zip": { + "type": "file", + "description": "FastQC report archive", + "pattern": "*_{fastqc.zip}" + } + }, + { + "log": { + "type": "file", + "description": "Logfile for umi_tools", + "pattern": "*.{log}" + } + }, + { + "trim_json": { + "type": "file", + "description": "FastP Trimming report", + "pattern": "*.{fastp.json}" + } + }, + { + "trim_html": { + "type": "file", + "description": "FastP Trimming report", + "pattern": "*.{fastp.html}" + } + }, + { + "log": { + "type": "file", + "description": "Logfile FastP", + "pattern": "*.{fastp.log}" + } + }, + { + "trim_reads_fail": { + "type": "file", + "description": "Trimmed fastq files failing QC", + "pattern": "*.{fastq.gz}" + } + }, + { + "trim_reads_merged": { + "type": "file", + "description": "Trimmed and merged fastq files", + "pattern": "*.{fastq.gz}" + } + }, + { + "trim_read_count": { + "type": "integer", + "description": "Number of reads after trimming" + } + }, + { + "fastqc_trim_html": { + "type": "file", + "description": "FastQC report", + "pattern": "*_{fastqc.html}" + } + }, + { + "fastqc_trim_zip": { + "type": "file", + "description": "FastQC report archive", + "pattern": "*_{fastqc.zip}" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@robsyme" + ] + }, + "pipelines": [ + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "fastq_fastqc_umitools_trimgalore", + "path": "subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fastq_fastqc_umitools_trimgalore", + "description": "Read QC, UMI extraction and trimming", + "keywords": [ + "fastq", + "fastqc", + "qc", + "UMI", + "trimming", + "trimgalore" + ], + "modules": [ + "fastqc", + "umitools/extract", + "trimgalore" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "skip_fastqc": { + "type": "boolean", + "description": "Skip fastqc process\n" + } + }, + { + "with_umi": { + "type": "boolean", + "description": "With or without umi detection\n" + } + }, + { + "skip_umi_extract": { + "type": "boolean", + "description": "With or without umi extrection\n" + } + }, + { + "skip_trimming": { + "type": "boolean", + "description": "Allows to skip trimgalore execution\n" + } + }, + { + "umi_discard_read": { + "type": "integer", + "description": "Discard R1 / R2 if required\n" + } + }, + { + "min_trimmed_reads": { + "type": "integer", + "description": "Inputs with fewer than this reads will be filtered out of the \"reads\" output channel\n" + } + } + ], + "output": [ + { + "reads": { + "type": "file", + "description": "Extracted FASTQ files. | For single-end reads, pattern is \\${prefix}.umi_extract.fastq.gz. |\n For paired-end reads, pattern is \\${prefix}.umi_extract_{1,2}.fastq.gz.\n", + "pattern": "*.{fastq.gz}" + } + }, + { + "fastqc_html": { + "type": "file", + "description": "FastQC report", + "pattern": "*_{fastqc.html}" + } + }, + { + "fastqc_zip": { + "type": "file", + "description": "FastQC report archive", + "pattern": "*_{fastqc.zip}" + } + }, + { + "log": { + "type": "file", + "description": "Logfile for umi_tools", + "pattern": "*.{log}" + } + }, + { + "trim_unpaired": { + "type": "file", + "description": "FastQ files containing unpaired reads from read 1 or read 2\n", + "pattern": "*unpaired*.fq.gz" + } + }, + { + "trim_html": { + "type": "file", + "description": "FastQC report (optional)", + "pattern": "*_{fastqc.html}" + } + }, + { + "trim_zip": { + "type": "file", + "description": "FastQC report archive (optional)", + "pattern": "*_{fastqc.zip}" + } + }, + { + "trim_log": { + "type": "file", + "description": "Trim Galore! trimming report", + "pattern": "*_{report.txt}" + } + }, + { + "trim_read_count": { + "type": "integer", + "description": "Number of reads remaining after trimming for all input samples" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@drpatelh", + "@KamilMaliszArdigen" + ] + }, + "pipelines": [ + { + "name": "atacseq", + "version": "2.0" + }, + { + "name": "rnaseq", + "version": "3.12.0" + }, + { + "name": "rnasplice", + "version": "dev" + } + ] + }, + { + "name": "fastq_subsample_fq_salmon", + "path": "subworkflows/nf-core/fastq_subsample_fq_salmon/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fastq_subsample_fq_salmon", + "description": "Subsample fastq", + "keywords": [ + "fastq", + "subsample", + "strandedness" + ], + "modules": [ + "fq/subsample", + "salmon/quant" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "ch_reads": { + "type": "file", + "description": "List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively.\n" + } + }, + { + "ch_genome_fasta": { + "type": "file", + "description": "Genome fasta file", + "pattern": "Path to genome sequence in fasta format" + } + }, + { + "ch_transcript_fasta": { + "type": "file", + "description": "Transcript fasta file", + "pattern": "Path to transcript sequence in fasta format" + } + }, + { + "ch_gtf": { + "type": "file", + "description": "GTF features file", + "pattern": "Path features in GTF format" + } + }, + { + "ch_index": { + "type": "file", + "description": "Salmon index files", + "pattern": "Directory containing Salmon index" + } + }, + { + "make_index": { + "type": "boolean", + "description": "Whether to create salmon index before running salmon quant" + } + } + ], + "output": [ + { + "index": { + "type": "directory", + "description": "Directory containing salmon index", + "pattern": "salmon" + } + }, + { + "reads": { + "type": "file", + "description": "Subsampled fastq reads.", + "pattern": "*.{fq,fastq}{,.gz}" + } + }, + { + "results": { + "type": "directory", + "description": "Folder containing the quantification results for a specific sample", + "pattern": "${prefix}" + } + }, + { + "json_info": { + "type": "file", + "description": "File containing meta information from Salmon quant\nWhich could be used to infer strandedness among other things\n", + "pattern": "*info.json" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@robsyme", + "@drpatelh" + ] + }, + "pipelines": [ + { + "name": "rnaseq", + "version": "3.12.0" + } + ] + }, + { + "name": "fastq_trim_fastp_fastqc", + "path": "subworkflows/nf-core/fastq_trim_fastp_fastqc/meta.yml", + "type": "subworkflow", + "meta": { + "name": "fastq_trim_fastp_fastqc", + "description": "Read QC, fastp trimming and read qc", + "keywords": [ + "qc", + "quality_control", + "adapters", + "trimming", + "fastq" + ], + "modules": [ + "fastqc", + "fastp" + ], + "input": [ + { + "ch_reads": { + "type": "file", + "description": "Structure: [ val(meta), path (reads) ]\nGroovy Map containing sample information\ne.g. [ id:'test', single_end:false ], List of input FastQ files of size 1 and 2 for single-end and paired-end data,\nrespectively. If you wish to run interleaved paired-end data, supply as single-end data\nbut with `--interleaved_in` in your `modules.conf`'s `ext.args` for the module.\n" + } + }, + { + "ch_adapter_fasta": { + "type": "file", + "description": "Structure: path(adapter_fasta)\nFile in FASTA format containing possible adapters to remove.\n" + } + }, + { + "val_save_trimmed_fail": { + "type": "boolean", + "description": "Structure: val(save_trimmed_fail)\nSpecify true to save files that failed to pass trimming thresholds ending in `*.fail.fastq.gz`\n" + } + }, + { + "val_save_merged": { + "type": "boolean", + "description": "Structure: val(save_merged)\nSpecify true to save all merged reads to the a file ending in `*.merged.fastq.gz`\n" + } + }, + { + "val_skip_fastqc": { + "type": "boolean", + "description": "Structure: val(skip_fastqc)\nskip the fastqc process if true\n" + } + }, + { + "val_skip_fastp": { + "type": "boolean", + "description": "Structure: val(skip_fastp)\nskip the fastp process if true\n" + } + } + ], + "output": [ + { + "meta": { + "type": "value", + "description": "Groovy Map containing sample information e.g. [ id:'test', single_end:false ]" + } + }, + { + "reads": { + "type": "file", + "description": "Structure: [ val(meta), path(reads) ]\nThe trimmed/modified/unmerged fastq reads\n" + } + }, + { + "trim_json": { + "type": "file", + "description": "Structure: [ val(meta), path(trim_json) ]\nResults in JSON format\n" + } + }, + { + "trim_html": { + "type": "file", + "description": "Structure: [ val(meta), path(trim_html) ]\nResults in HTML format\n" + } + }, + { + "trim_log": { + "type": "file", + "description": "Structure: [ val(meta), path(trim_log) ]\nfastq log file\n" + } + }, + { + "trim_reads_fail": { + "type": "file", + "description": "Structure: [ val(meta), path(trim_reads_fail) ]\nReads the failed the preprocessing\n" + } + }, + { + "trim_reads_merged": { + "type": "file", + "description": "Structure: [ val(meta), path(trim_reads_merged) ]\nReads that were successfully merged\n" + } + }, + { + "fastqc_raw_html": { + "type": "file", + "description": "Structure: [ val(meta), path(fastqc_raw_html) ]\nRaw fastQC report\n" + } + }, + { + "fastqc_raw_zip": { + "type": "file", + "description": "Structure: [ val(meta), path(fastqc_raw_zip) ]\nRaw fastQC report archive\n" + } + }, + { + "fastqc_trim_html": { + "type": "file", + "description": "Structure: [ val(meta), path(fastqc_trim_html) ]\nTrimmed fastQC report\n" + } + }, + { + "fastqc_trim_zip": { + "type": "file", + "description": "Structure: [ val(meta), path(fastqc_trim_zip) ]\nTrimmed fastQC report archive\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@Joon-Klaps" + ] + } + }, + { + "name": "multiple_impute_glimpse2", + "path": "subworkflows/nf-core/multiple_impute_glimpse2/meta.yml", + "type": "subworkflow", + "meta": { + "name": "multiple_imputation_glimpse2", + "description": "Impute VCF/BCF files, but also CRAM and BAM files with Glimpse2", + "keywords": [ + "glimpse", + "chunk", + "phase", + "ligate", + "split_reference" + ], + "modules": [ + "glimpse2/chunk", + "glimpse/2phase", + "glimpse2/ligate", + "glimpse2/split_reference", + "bcftools/index" + ], + "input": [ + { + "ch_input": { + "type": "file", + "description": "Target dataset in CRAM, BAM or VCF/BCF format.\nIndex file of the input file.\nFile with sample names and ploidy information.\nStructure: [ meta, file, index, txt ]\n" + } + }, + { + "ch_ref": { + "type": "file", + "description": "Reference panel of haplotypes in VCF/BCF format.\nIndex file of the Reference panel file.\nTarget region, usually a full chromosome (e.g. chr20:1000000-2000000 or chr20).\nThe file could possibly be without GT field (for efficiency reasons a file containing only the positions is recommended).\nStructure: [ meta, vcf, csi, region ]\n" + } + }, + { + "ch_map": { + "type": "file", + "description": "File containing the genetic map.\nStructure: [ meta, gmap ]\n" + } + }, + { + "ch_fasta": { + "type": "file", + "description": "Reference genome in fasta format.\nReference genome index in fai format\nStructure: [ meta, fasta, fai ]\n" + } + } + ], + "output": [ + { + "chunk_chr": { + "type": "file", + "description": "Tab delimited output txt file containing buffer and imputation regions.\nStructure: [meta, txt]\n" + } + }, + { + "merged_variants": { + "type": "file", + "description": "Output VCF/BCF file for the merged regions.\nPhased information (HS field) is updated accordingly for the full region.\nStructure: [ val(meta), bcf ]\n" + } + }, + { + "merged_variants_index": { + "type": "file", + "description": "Index file of the ligated phased variants files." + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@LouisLeNezet" + ] + } + }, + { + "name": "vcf_annotate_ensemblvep", + "path": "subworkflows/nf-core/vcf_annotate_ensemblvep/meta.yml", + "type": "subworkflow", + "meta": { + "name": "vcf_annotate_ensemblvep", + "description": "Perform annotation with ensemblvep and bgzip + tabix index the resulting VCF file", + "keywords": [ + "vcf", + "annotation", + "ensemblvep" + ], + "modules": [ + "ensemblvep/vep", + "tabix/tabix" + ], + "input": [ + { + "ch_vcf": { + "description": "vcf file to annotate\nStructure: [ val(meta), path(vcf), [path(custom_file1), path(custom_file2)... (optionnal)] ]\n" + } + }, + { + "ch_fasta": { + "description": "Reference genome fasta file (optional)\nStructure: [ val(meta2), path(fasta) ]\n" + } + }, + { + "val_genome": { + "type": "string", + "description": "genome to use" + } + }, + { + "val_species": { + "type": "string", + "description": "species to use" + } + }, + { + "val_cache_version": { + "type": "integer", + "description": "cache version to use" + } + }, + { + "ch_cache": { + "description": "the root cache folder for ensemblvep (optional)\nStructure: [ val(meta3), path(cache) ]\n" + } + }, + { + "ch_extra_files": { + "description": "any extra files needed by plugins for ensemblvep (optional)\nStructure: [ path(file1), path(file2)... ]\n" + } + } + ], + "output": [ + { + "vcf_tbi": { + "description": "Compressed vcf file + tabix index\nStructure: [ val(meta), path(vcf), path(tbi) ]\n" + } + }, + { + "json": { + "description": "json file\nStructure: [ val(meta), path(json) ]\n" + } + }, + { + "tab": { + "description": "tab file\nStructure: [ val(meta), path(tab) ]\n" + } + }, + { + "reports": { + "type": "file", + "description": "html reports", + "pattern": "*.html" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@maxulysse", + "@matthdsm", + "@nvnieuwk" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" + } + ] + }, + { + "name": "vcf_annotate_ensemblvep_snpeff", + "path": "subworkflows/nf-core/vcf_annotate_ensemblvep_snpeff/meta.yml", + "type": "subworkflow", + "meta": { + "name": "vcf_annotate_ensemblvep_snpeff", + "description": "Perform annotation with ensemblvep and/or snpeff and bgzip + tabix index the resulting VCF file. This subworkflow uses the scatter-gather method to run VEP/snpEff in parallel to increase throughput. The input VCF is split into multiple smaller VCFs of fixed size, which are annotated separately and concatenated back together to a single output file per sample. Only VCF/BCF outputs are currently supported.\n", + "keywords": [ + "vcf", + "annotation", + "ensemblvep", + "snpeff" + ], + "modules": [ + "ensemblvep/vep", + "snpeff/snpeff", + "tabix/tabix", + "bcftools/pluginscatter", + "bcftools/concat" + ], + "input": [ + { + "ch_vcf": { + "description": "vcf file to annotate\nStructure: [ val(meta), path(vcf), path(tbi) ]\n" + } + }, + { + "ch_fasta": { + "description": "Reference genome fasta file (optional)\nStructure: [ val(meta2), path(fasta) ]\n" + } + }, + { + "val_vep_genome": { + "type": "string", + "description": "genome to use for ensemblvep" + } + }, + { + "val_vep_species": { + "type": "string", + "description": "species to use for ensemblvep" + } + }, + { + "val_vep_cache_version": { + "type": "integer", + "description": "cache version to use for ensemblvep" + } + }, + { + "ch_vep_cache": { + "description": "the root cache folder for ensemblvep (optional)\nStructure: [ path(cache) ]\n" + } + }, + { + "ch_vep_extra_files": { + "description": "any extra files needed by plugins for ensemblvep (optional)\nStructure: [ path(file1), path(file2)... ]\n" + } + }, + { + "val_snpeff_db": { + "type": "string", + "description": "database to use for snpeff" + } + }, + { + "ch_snpeff_cache": { + "description": "the root cache folder for snpeff (optional)\nStructure: [ path(cache) ]\n" + } + }, + { + "val_tools_to_use": { + "type": "list", + "description": "The tools to use. Options => '[\"ensemblvep\", \"snpeff\"]'" + } + }, + { + "val_sites_per_chunk": { + "type": "integer", + "description": "The amount of variants per scattered VCF.\nSet this value to `null`, `[]` or `false` to disable scattering.\n" + } + } + ], + "output": [ + { + "vcf_tbi": { + "description": "Compressed vcf file + tabix index\nStructure: [ val(meta), path(vcf), path(tbi) ]\n" + } + }, + { + "reports": { + "type": "file", + "description": "html reports", + "pattern": "*.html" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@maxulysse", + "@matthdsm", + "@nvnieuwk" + ] + } + }, + { + "name": "vcf_annotate_snpeff", + "path": "subworkflows/nf-core/vcf_annotate_snpeff/meta.yml", + "type": "subworkflow", + "meta": { + "name": "vcf_annotate_snpeff", + "description": "Perform annotation with snpEff and bgzip + tabix index the resulting VCF file", + "keywords": [ + "vcf", + "annotation", + "snpeff" + ], + "modules": [ + "snpeff", + "tabix/bgziptabix" + ], + "input": [ + { + "ch_vcf": { + "description": "vcf file\nStructure: [ val(meta), path(vcf) ]\n" + } + }, + { + "val_snpeff_db": { + "type": "string", + "description": "db version to use" + } + }, + { + "ch_snpeff_cache": { + "description": "path to root cache folder for snpEff (optional)\nStructure: [ path(cache) ]\n" + } + } + ], + "output": [ + { + "vcf_tbi": { + "description": "Compressed vcf file + tabix index\nStructure: [ val(meta), path(vcf), path(tbi) ]\n" + } + }, + { + "reports": { + "description": "html reports\nStructure: [ path(html) ]\n" + } + }, + { + "versions": { + "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" + } + } + ], + "authors": [ + "@maxulysse" + ] + }, + "pipelines": [ + { + "name": "sarek", + "version": "3.2.3" } - ] -} + ] + }, + { + "name": "vcf_extract_relate_somalier", + "path": "subworkflows/nf-core/vcf_extract_relate_somalier/meta.yml", + "type": "subworkflow", + "meta": { + "name": "vcf_extract_relate_somalier", + "description": "Perform somalier extraction and relate stats on input VCFs", + "keywords": [ + "somalier", + "stats", + "vcf", + "ped", + "relatedness" + ], + "modules": [ + "tabix/tabix", + "somalier/extract", + "somalier/relate" + ], + "input": [ + { + "ch_vcfs": { + "description": "The input VCFs to perform the stats on, optionally with their indices.\nThis channel can also contain the number of samples in the same family/group\nto check relatedness. This is advised to add as it can improve the efficiency of your pipeline\nStructure: [ val(meta), path(vcf), path(tbi), val(count) ]\n" + } + }, + { + "ch_fasta": { + "description": "The reference FASTA used to create the VCF files\nStructure: [ path(fasta) ]\n" + } + }, + { + "ch_fasta_fai": { + "description": "The index of the reference FASTA\nStructure: [ path(fasta_fai) ]\n" + } + }, + { + "ch_somalier_sites": { + "description": "A VCF containing the common sites for Somalier\nStructure: [ path(somalier_sites_vcf) ]\n" + } + }, + { + "ch_peds": { + "description": "A channel containing an optional PED file for the corresponding families. This channel has to be given, but can be like `[meta, []]`.\nWhen you don't want to use a PED file, you must supply a channel\ncontaining the meta and an empty value (`[]`) instead of a PED\nStructure: [ val(meta), path(ped) ]\n" + } + }, + { + "ch_sample_groups": { + "description": "Optional - A text file describing how the samples should be grouped\nStructure: [ path(txt) ]\n" + } + }, + { + "val_common_id": { + "description": "Optional - A common identifier in the meta map.\nThis will be used to determine which VCFs should be used in somalier_relate.\nThis value should be given when using single sample VCFs\n" + } + } + ], + "output": [ + { + "extract": { + "description": "The extract file created with Somalier extract\nStructure: [ val(meta), path(extract) ]\n" + } + }, + { + "html": { + "description": "An HTML file containing an interactive graph on the relatedness of the samples\nStructure: [ val(meta), path(html) ]\n" + } + }, + { + "pairs_tsv": { + "description": "A TSV file detailing the relatedness between pairs of samples\nStructure: [ val(meta), path(tsv) ]\n" + } + }, + { + "samples_tsv": { + "description": "A TSV file detailing the relatedness between all samples with the same meta\nStructure: [ val(meta), path(tsv) ]\n" + } + }, + { + "versions": { + "description": "Files containing software versions\nStructure: [ path(versions.yml) ]\n" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "vcf_gather_bcftools", + "path": "subworkflows/nf-core/vcf_gather_bcftools/meta.yml", + "type": "subworkflow", + "meta": { + "name": "vcf_gather_bcftools", + "description": "Concatenate several VCF files using bcftools concat.\nEspecially works well with the scatter subworkflows in nf-core.\nAn additional option can be given to sort the concatenated VCF.\n", + "keywords": [ + "concat", + "vcf", + "gather", + "sort", + "bcftools" + ], + "modules": [ + "bcftools/sort", + "bcftools/concat", + "tabix/tabix" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing at least two fields: 'id' and a common field for each VCF that needs to be merged\ne.g. [ id:'test.001', common_meta:'test' ]\n" + } + }, + { + "ch_vcfs": { + "type": "file(s)", + "description": "VCF files and their indices that should be concatenated\nStructure: [ meta, vcf, tbi ]\n" + } + }, + { + "ch_scatter_output": { + "type": "file and integer", + "description": "The output created from a scatter subworkflow (contains a BED file and scatter_count).\nThe BED file isn't actually used in the pipeline so can remain empty if you manually set this input channel\nStructure: [ meta, bed, scatter_count ]\n" + } + }, + { + "common_meta": { + "type": "string", + "description": "OPTIONAL:\nThe string of the common meta to use as the new 'id'.\nPlease make sure all VCFs that need to be concatenated have the same value in the\nthe meta field specified. (and that only the ID is different between these files)\n" + } + }, + { + "sort": { + "type": "boolean", + "description": "Whether or not to sort the output VCF,\nthis can be useful if this subworkflow isn't used in a scatter/gather workflow\n" + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "vcf": { + "type": "file", + "description": "The concatenated (and possible sorted) VCF file\nStructure: [ meta, vcf ]\n", + "pattern": "*.vcf.gz" + } + }, + { + "tbi": { + "type": "file", + "description": "The indices of the output VCFs\nStructure: [ meta, tbi ]\n", + "pattern": "*.vcf.gz.tbi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@nvnieuwk" + ] + } + }, + { + "name": "vcf_impute_glimpse", + "path": "subworkflows/nf-core/vcf_impute_glimpse/meta.yml", + "type": "subworkflow", + "meta": { + "name": "vcf_imputation_glimpse", + "description": "Impute VCF/BCF files with Glimpse", + "keywords": [ + "glimpse", + "chunk", + "phase", + "ligate" + ], + "modules": [ + "glimpse/chunk", + "glimpse/phase", + "glimpse/ligate", + "bcftools/index" + ], + "input": [ + { + "ch_vcf": { + "type": "file", + "description": "Target dataset in VCF/BCF format defined at all variable positions.\nIndex file of the input VCF/BCF file containing genotype likelihoods.\nFile with sample names and ploidy information.\nTarget region, usually a full chromosome (e.g. chr20:1000000-2000000 or chr20).\nThe file could possibly be without GT field (for efficiency reasons a file containing only the positions is recommended).\nStructure: [ meta, vcf, csi, txt, region ]\n" + } + }, + { + "ch_ref": { + "type": "file", + "description": "Reference panel of haplotypes in VCF/BCF format.\nIndex file of the Reference panel file.\nStructure: [ meta, vcf, csi ]\n" + } + }, + { + "ch_map": { + "type": "file", + "description": "File containing the genetic map.\nStructure: [gmap]\n" + } + } + ], + "output": [ + { + "chunk_chr": { + "type": "file", + "description": "Tab delimited output txt file containing buffer and imputation regions.\nStructure: [meta, txt]\n" + } + }, + { + "phased_variants": { + "type": "file", + "description": "Output VCF/BCF file containing genotype probabilities (GP field),\nimputed dosages (DS field), best guess genotypes (GT field),\nsampled haplotypes in the last (max 16) main iterations (HS field) and info-score.\nStructure: [ val(meta), bcf ]\n" + } + }, + { + "merged_variants": { + "type": "file", + "description": "Output VCF/BCF file for the merged regions.\nPhased information (HS field) is updated accordingly for the full region.\nStructure: [ val(meta), bcf ]\n" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@LouisLeNezet" + ] + } + }, + { + "name": "vcf_phase_shapeit5", + "path": "subworkflows/nf-core/vcf_phase_shapeit5/meta.yml", + "type": "subworkflow", + "meta": { + "name": "vcf_phase_shapeit5", + "description": "Phase vcf panel with Shapeit5 tools", + "keywords": [ + "chunk", + "phase", + "ligate", + "index", + "vcf" + ], + "modules": [ + "bedtools/makewindows", + "shapeit5/phasecommon", + "shapeit5/ligate", + "bcftools/index" + ], + "input": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "ch_vcf": { + "type": "file", + "description": "Target dataset in VCF/BCF format defined at all variable positions.\nIndex file of the input VCF/BCF file containing genotype likelihoods.\nPedigree information in the following format: offspring father mother.\nTarget region, usually a full chromosome (e.g. chr20:1000000-2000000 or chr20).\nThe file could possibly be without GT field (for efficiency reasons a file containing only the positions is recommended).\nStructure: [ val(meta), path(vcf), path(csi), path(pedigree), val(region) ]\n" + } + }, + { + "ch_ref": { + "type": "file", + "description": "Reference panel of haplotypes in VCF/BCF format.\nIndex file of the Reference panel file.\nStructure: [ val(meta), path(ref), path(csi) ]\n" + } + }, + { + "ch_scaffold": { + "type": "file", + "description": "Scaffold of haplotypes in VCF/BCF format.\nIndex file of the Scaffold of haplotypes file.\nStructure: [ val(meta), path(scaffold), path(csi) ]\n" + } + }, + { + "ch_map": { + "type": "file", + "description": "File containing the genetic map.", + "Structure": [ + "val(meta)", + "path(map)" + ] + } + } + ], + "output": [ + { + "meta": { + "type": "map", + "description": "Groovy Map containing sample information\ne.g. [ id:'test' ]\n" + } + }, + { + "bed": { + "type": "file", + "description": "BED file containing the windows", + "pattern": "*.bed" + } + }, + { + "variants_phased": { + "type": "file", + "description": "Phased haplotypes in VCF/BCF format.", + "pattern": "*.{vcf,bcf,vcf.gz,bcf.gz}" + } + }, + { + "variants_index": { + "type": "file", + "description": "CSI bcftools index", + "pattern": "*.csi" + } + }, + { + "versions": { + "type": "file", + "description": "File containing software versions", + "pattern": "versions.yml" + } + } + ], + "authors": [ + "@LouisLeNezet" + ] + } + } + ] +} \ No newline at end of file diff --git a/public/pipeline_names.json b/public/pipeline_names.json index 106698df3c..41b13e17cb 100644 --- a/public/pipeline_names.json +++ b/public/pipeline_names.json @@ -86,4 +86,4 @@ "viralintegration", "viralrecon" ] -} +} \ No newline at end of file diff --git a/public/pipelines.json b/public/pipelines.json index 7dcce8db1e..05f0b1ce50 100644 --- a/public/pipelines.json +++ b/public/pipelines.json @@ -11,7 +11,7 @@ "url": "https://api.github.com/repos/nf-core/airrflow", "created_at": "2018-12-04T11:39:05Z", "updated_at": "2023-07-05T14:39:56Z", - "pushed_at": "2023-07-08T20:02:28Z", + "pushed_at": "2023-07-20T13:04:50Z", "homepage": "https://nf-co.re/airrflow", "size": 6205, "stargazers_count": 26, @@ -26,19 +26,25 @@ "forks_count": 19, "archived": false, "disabled": false, - "open_issues_count": 17, + "open_issues_count": 16, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["airr", "b-cell", "immcantation", "immunorepertoire", "repseq"], + "topics": [ + "airr", + "b-cell", + "immcantation", + "immunorepertoire", + "repseq" + ], "visibility": "public", "forks": 19, - "open_issues": 17, + "open_issues": 16, "watchers": 26, "default_branch": "master", "network_count": 19, - "subscribers_count": 110, - "open_pr_count": 3, + "subscribers_count": 109, + "open_pr_count": 2, "contributors": [ { "name": "ggabernet", @@ -102,9 +108,17 @@ "published_at": "2023-06-05T20:57:03Z", "tag_sha": "a2a6099a9e73cca504f3e33b566ddb997acdb7b5", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastp", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastp", + "fastqc", + "multiqc" + ] } }, { @@ -112,9 +126,17 @@ "published_at": "2023-03-20T11:45:08Z", "tag_sha": "f0debd6b83b1070118a67d2cfb9baf3508c5991b", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastp", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastp", + "fastqc", + "multiqc" + ] } }, { @@ -122,9 +144,17 @@ "published_at": "2022-12-06T08:30:54Z", "tag_sha": "a6fdad9f6a2408d7846789e549f8650c30485fe5", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastp", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastp", + "fastqc", + "multiqc" + ] } }, { @@ -132,9 +162,16 @@ "published_at": "2022-09-16T14:46:55Z", "tag_sha": "8c1185f7d659d7797a66b541bb27aa5861d34991", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastqc", + "multiqc" + ] } }, { @@ -142,9 +179,16 @@ "published_at": "2022-06-03T14:03:24Z", "tag_sha": "5e30384d64921cc721edff43ed0f24d6c74566ef", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastqc", + "multiqc" + ] } }, { @@ -152,9 +196,16 @@ "published_at": "2022-05-02T10:52:43Z", "tag_sha": "0bb3ca4c6763d56c612c8567cb8efb7e54923a5e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastqc", + "multiqc" + ] } }, { @@ -162,9 +213,15 @@ "published_at": "2021-07-19T10:58:30Z", "tag_sha": "cc29af5aeb19fb1a58ed6d627ac7aa5145d713fe", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["fastqc", "multiqc"] + "modules": [ + "fastqc", + "multiqc" + ] } }, { @@ -172,30 +229,47 @@ "published_at": "2020-01-14T11:05:30Z", "tag_sha": "c3107f30e6c061fc5bb35a526199ed4297aa4eb7", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.0", "published_at": "2019-11-08T13:12:45Z", "tag_sha": "11d19bc2c68633cca93c522736552691fff459da", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2019-04-16T12:00:43Z", "tag_sha": "df7e204ae7e15b3185ebbe1ffe529a86303bf9f1", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", - "published_at": "2023-07-08T20:02:27Z", - "tag_sha": "a687dc212fbf51c56381b651caed636f93a9b96e", + "published_at": "2023-07-20T13:04:49Z", + "tag_sha": "5d8cdb4d6b506fa59e43b93de13a819433ee2cbd", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastp", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastp", + "fastqc", + "multiqc" + ] } } ] @@ -358,7 +432,10 @@ "published_at": "2023-06-28T06:57:20Z", "tag_sha": "3b252d263d101879c7077eae94a7a3d714b051aa", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -378,7 +455,9 @@ "vsearch_sintax", "vsearch_usearchglobal" ], - "subworkflows": ["fasta_newick_epang_gappa"] + "subworkflows": [ + "fasta_newick_epang_gappa" + ] } }, { @@ -386,7 +465,10 @@ "published_at": "2023-06-27T07:09:40Z", "tag_sha": "9ac22bac93ffdf859da6bda751112ec0932892eb", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -406,7 +488,9 @@ "vsearch_sintax", "vsearch_usearchglobal" ], - "subworkflows": ["fasta_newick_epang_gappa"] + "subworkflows": [ + "fasta_newick_epang_gappa" + ] } }, { @@ -414,7 +498,10 @@ "published_at": "2023-03-02T18:34:15Z", "tag_sha": "78b7514ceeba80efb66b0e973e5321878cb9b0ba", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -430,7 +517,10 @@ "published_at": "2022-12-07T15:52:21Z", "tag_sha": "83877d2fe539293818be84dec3bd1f43238c9c3c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -446,7 +536,10 @@ "published_at": "2022-09-07T15:16:58Z", "tag_sha": "708b8398d007d9a8c907ce6da478717e1ab5f5bc", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -462,9 +555,17 @@ "published_at": "2022-05-27T11:14:40Z", "tag_sha": "aed35e5b4bad907ed2bdf6587efb82ad2578e6b1", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "cutadapt", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "cutadapt", + "fastqc", + "multiqc" + ] } }, { @@ -472,9 +573,17 @@ "published_at": "2022-04-05T14:40:16Z", "tag_sha": "306ad5df8f0a3b7cd033d040ddd440c09eb9a361", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "cutadapt", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "cutadapt", + "fastqc", + "multiqc" + ] } }, { @@ -482,9 +591,17 @@ "published_at": "2022-04-04T11:37:58Z", "tag_sha": "680a7a15ba7cc9c850e2d3eeb99c886e45d72c7d", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "cutadapt", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "cutadapt", + "fastqc", + "multiqc" + ] } }, { @@ -492,9 +609,17 @@ "published_at": "2022-01-31T14:11:47Z", "tag_sha": "3beb2392044ad0575df76b54b0a5a26c6ce4b32a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "cutadapt", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "cutadapt", + "fastqc", + "multiqc" + ] } }, { @@ -502,9 +627,16 @@ "published_at": "2021-10-28T15:02:11Z", "tag_sha": "80b3cb8b05d3b596bd0a52866e7febe40ea497db", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["fastqc", "multiqc", "cutadapt"] + "modules": [ + "fastqc", + "multiqc", + "cutadapt" + ] } }, { @@ -512,9 +644,16 @@ "published_at": "2021-09-14T12:01:06Z", "tag_sha": "68e4b5ff9aef5e97c9f8b8a56c8b7a394a38e18f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["fastqc", "multiqc", "cutadapt"] + "modules": [ + "fastqc", + "multiqc", + "cutadapt" + ] } }, { @@ -522,56 +661,80 @@ "published_at": "2021-06-29T10:52:51Z", "tag_sha": "ce4d7f4bbe876be0d942cd597614143bf1677030", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.0", "published_at": "2021-02-04T15:44:03Z", "tag_sha": "1e76f1c0c6d270572573a6ad76aa40bfc185c3da", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.3", "published_at": "2020-11-02T14:40:10Z", "tag_sha": "70b23f4710094df9299e5ab2d18a1d412bbd4d04", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.2", "published_at": "2019-12-19T20:38:39Z", "tag_sha": "cd23988d881ebb5c9fc42d5f030e3673274983c3", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.1", "published_at": "2019-12-09T15:06:10Z", "tag_sha": "4371681d2418516e692065374b05669d96868a02", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.0", "published_at": "2019-07-15T15:21:51Z", "tag_sha": "57e1ee2f9028d0a8c5838ee8aa8cf4b383f61174", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2018-12-13T11:16:07Z", "tag_sha": "f0357d61cf1afb1f0df4f8c701c62609f9374bbb", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-06-29T10:57:45Z", "tag_sha": "8df55d5d0fdab8527927b67e903eee2047f07049", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -591,7 +754,9 @@ "vsearch_sintax", "vsearch_usearchglobal" ], - "subworkflows": ["fasta_newick_epang_gappa"] + "subworkflows": [ + "fasta_newick_epang_gappa" + ] } } ] @@ -607,9 +772,9 @@ "url": "https://api.github.com/repos/nf-core/atacseq", "created_at": "2018-11-05T17:49:32Z", "updated_at": "2023-07-10T15:33:08Z", - "pushed_at": "2023-07-18T11:25:56Z", + "pushed_at": "2023-07-21T07:37:58Z", "homepage": "https://nf-co.re/atacseq", - "size": 9666, + "size": 9718, "stargazers_count": 142, "watchers_count": 142, "language": "Nextflow", @@ -622,19 +787,22 @@ "forks_count": 103, "archived": false, "disabled": false, - "open_issues_count": 26, + "open_issues_count": 27, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["atac-seq", "chromatin-accessibiity"], + "topics": [ + "atac-seq", + "chromatin-accessibiity" + ], "visibility": "public", "forks": 103, - "open_issues": 26, + "open_issues": 27, "watchers": 142, "default_branch": "master", "network_count": 103, "subscribers_count": 108, - "open_pr_count": 3, + "open_pr_count": 4, "contributors": [ { "name": "drpatelh", @@ -713,7 +881,10 @@ "published_at": "2022-11-30T20:17:57Z", "tag_sha": "0add18866a5f095e93b8ec345a12b76d675f4af9", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "ataqv_ataqv", @@ -767,42 +938,60 @@ "published_at": "2022-05-12T20:26:57Z", "tag_sha": "f327c86324427c64716be09c98634ae0bc8165f6", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.1", "published_at": "2020-07-29T15:34:54Z", "tag_sha": "1b3a832db5a53c92c2c89a4d6d79455e860461ad", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.0", "published_at": "2020-07-02T10:27:10Z", "tag_sha": "766424e3a3f55c28fa746da519e3e61362a78d68", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.0", "published_at": "2019-11-05T12:38:28Z", "tag_sha": "fa1e3f8993cd20e249b9df09d29c5498eff311d2", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2019-04-09T13:15:17Z", "tag_sha": "c65bf6cd11c8a98807084d2d4039822a19f03969", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", - "published_at": "2023-07-17T09:42:04Z", - "tag_sha": "2f3baca7864e2e3061f2a0902a8689a52861c8ee", + "published_at": "2023-07-20T16:59:13Z", + "tag_sha": "835f97f465904b0ebd7a6f998914a38dacc4277a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "ataqv_ataqv", @@ -959,7 +1148,10 @@ "published_at": "2021-08-27T12:26:07Z", "tag_sha": "959967364c7c0105b5b271acf0441fa9290e0d4c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "fastqc", @@ -977,28 +1169,40 @@ "published_at": "2020-11-05T11:00:42Z", "tag_sha": "4500b3bf69c45c1b5a8d368f24048575b18588dd", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.0", "published_at": "2019-12-13T13:07:30Z", "tag_sha": "c6d5c3a0f80099fa247bf8be1cdedcf5fce644fb", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2019-05-06T14:47:21Z", "tag_sha": "ae7f903ffae61fb86d7af52b0751ee5fce030479", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2021-08-28T19:20:25Z", "tag_sha": "d96132ae4b9cf2264c723a06a09972614943aafd", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "fastqc", @@ -1108,28 +1312,40 @@ "published_at": "2021-06-18T12:11:08Z", "tag_sha": "834642d8ac150ca10d705833223e7bcf15efc210", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "0.9.1", "published_at": "2021-05-10T21:33:05Z", "tag_sha": "0a087bf1162c734dc38ab5b274a2ce7eb3733077", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "v0.9", "published_at": "2021-05-08T16:50:35Z", "tag_sha": "f5ad2bbb5cfd01d479fb7898a0584538fc4dfec1", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2021-06-18T13:39:25Z", "tag_sha": "2a6803232c995c0cafcb1001d8a27cdf94ea59d2", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -1163,7 +1379,11 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["bamtofastq", "conversion", "cramtofastq"], + "topics": [ + "bamtofastq", + "conversion", + "cramtofastq" + ], "visibility": "public", "forks": 3, "open_issues": 4, @@ -1200,7 +1420,10 @@ "published_at": "2023-05-31T14:11:18Z", "tag_sha": "ceae4d6d08356d22c3b8089292167d86d1ff7d15", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cat_fastq", @@ -1223,28 +1446,40 @@ "published_at": "2022-01-13T08:19:00Z", "tag_sha": "b1fc8255cc5af1fd617de199a62408146c083f43", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.0", "published_at": "2021-04-22T15:52:55Z", "tag_sha": "d6756dd74d3347d1fee6cd19052f536db7d9d0ab", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2020-09-10T08:25:53Z", "tag_sha": "1d9d14f341d544dad7136f5049921dc6da3700e4", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-07-18T08:05:34Z", "tag_sha": "3320579dc1f49589d379c30130319a0969da10ac", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cat_fastq", @@ -1294,7 +1529,13 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["cage", "cage-seq", "cageseq-data", "gene-expression", "rna"], + "topics": [ + "cage", + "cage-seq", + "cageseq-data", + "gene-expression", + "rna" + ], "visibility": "public", "forks": 9, "open_issues": 5, @@ -1346,28 +1587,40 @@ "published_at": "2021-01-14T07:56:52Z", "tag_sha": "838d2a5165edb86439d7ff0400bd385d6bcf6927", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.1", "published_at": "2020-11-23T14:51:08Z", "tag_sha": "0e58db8cce0555684fb71ccaa8ced7c7a8fa4fdc", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2020-10-16T11:11:58Z", "tag_sha": "729fbcb775bfde5c2f2af731374fbdfcb697d5eb", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2022-01-31T08:19:41Z", "tag_sha": "b751e0b14274b9a5454beeb81ac8231e5030b5a3", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bedtools_bamtobed", @@ -1451,7 +1704,10 @@ "published_at": "2023-05-23T17:10:30Z", "tag_sha": "9e1c61571b3d67deb6373fad63e6b548b5a8d900", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bedtools_maskfasta", @@ -1489,7 +1745,10 @@ "trimmomatic", "umitools_extract" ], - "subworkflows": ["bam_rseqc", "bam_stats_samtools"] + "subworkflows": [ + "bam_rseqc", + "bam_stats_samtools" + ] } } ] @@ -1505,7 +1764,7 @@ "url": "https://api.github.com/repos/nf-core/chipseq", "created_at": "2018-04-24T15:42:59Z", "updated_at": "2023-07-07T08:34:25Z", - "pushed_at": "2023-07-04T07:16:19Z", + "pushed_at": "2023-07-19T10:03:26Z", "homepage": "https://nf-co.re/chipseq", "size": 15936, "stargazers_count": 149, @@ -1520,19 +1779,25 @@ "forks_count": 117, "archived": false, "disabled": false, - "open_issues_count": 27, + "open_issues_count": 28, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["chip", "chip-seq", "chromatin-immunoprecipitation", "macs2", "peak-calling"], + "topics": [ + "chip", + "chip-seq", + "chromatin-immunoprecipitation", + "macs2", + "peak-calling" + ], "visibility": "public", "forks": 117, - "open_issues": 27, + "open_issues": 28, "watchers": 149, "default_branch": "master", "network_count": 117, "subscribers_count": 106, - "open_pr_count": 2, + "open_pr_count": 3, "contributors": [ { "name": "drpatelh", @@ -1616,7 +1881,10 @@ "published_at": "2022-10-03T15:30:50Z", "tag_sha": "51eba00b32885c4d0bec60db3cb0a45eb61e34c5", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bowtie2_align", @@ -1659,42 +1927,60 @@ "published_at": "2021-04-22T19:29:04Z", "tag_sha": "6924b669422215f9021144b251e83fc9929be1fe", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.1", "published_at": "2020-07-29T16:35:15Z", "tag_sha": "0f487ed76dc947793ab48527d8d3025f5f3060a5", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.0", "published_at": "2020-07-02T11:20:41Z", "tag_sha": "048fd6854fcc85b355c61dfc2e21da0bcc6399ea", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.0", "published_at": "2019-11-05T12:15:37Z", "tag_sha": "21be3149542cdc84431e12d1e092359058aed32a", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2019-06-06T15:14:45Z", "tag_sha": "5e95c969bae35a8a39d47dfe70f8ec18e990c979", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-07-04T07:16:18Z", "tag_sha": "54d6f21308ff7c24f8b14ae6dea3277384b3e4ba", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bowtie2_align", @@ -1776,7 +2062,13 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["circle-seq", "circular", "dna", "ecdna", "genomics"], + "topics": [ + "circle-seq", + "circular", + "dna", + "ecdna", + "genomics" + ], "visibility": "public", "forks": 11, "open_issues": 4, @@ -1808,7 +2100,10 @@ "published_at": "2023-06-27T08:31:03Z", "tag_sha": "09a5015cf8d10b6f0fd6e96a3039f60e4a8b1670", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bwa_index", @@ -1827,7 +2122,10 @@ "samtools_view", "trimgalore" ], - "subworkflows": ["bam_markduplicates_picard", "bam_stats_samtools"] + "subworkflows": [ + "bam_markduplicates_picard", + "bam_stats_samtools" + ] } }, { @@ -1835,7 +2133,10 @@ "published_at": "2023-06-05T11:36:20Z", "tag_sha": "09bdf9a4686fbef160c901096a1c2bb32b4ed39c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bwa_index", @@ -1854,7 +2155,10 @@ "samtools_view", "trimgalore" ], - "subworkflows": ["bam_markduplicates_picard", "bam_stats_samtools"] + "subworkflows": [ + "bam_markduplicates_picard", + "bam_stats_samtools" + ] } }, { @@ -1862,7 +2166,10 @@ "published_at": "2023-05-17T14:18:14Z", "tag_sha": "0ec8d8552c32831242e99549879aa8c4a0ab0a12", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bwa_index", @@ -1881,7 +2188,9 @@ "samtools_view", "trimgalore" ], - "subworkflows": ["bam_stats_samtools"] + "subworkflows": [ + "bam_stats_samtools" + ] } }, { @@ -1889,7 +2198,10 @@ "published_at": "2023-05-17T06:52:28Z", "tag_sha": "41452bfef40b220d9138dfca16091f0c9db58f3a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bwa_index", @@ -1908,7 +2220,9 @@ "samtools_view", "trimgalore" ], - "subworkflows": ["bam_stats_samtools"] + "subworkflows": [ + "bam_stats_samtools" + ] } }, { @@ -1916,7 +2230,10 @@ "published_at": "2023-03-09T11:08:49Z", "tag_sha": "cce84734ef507c7ab039bdbc498ff31679a32fb4", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bwa_index", @@ -1935,7 +2252,9 @@ "samtools_view", "trimgalore" ], - "subworkflows": ["bam_stats_samtools"] + "subworkflows": [ + "bam_stats_samtools" + ] } }, { @@ -1943,7 +2262,10 @@ "published_at": "2022-06-22T14:11:21Z", "tag_sha": "50681adaf7c089d51071ebbebee75e07c6650965", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bwa_index", @@ -1968,7 +2290,10 @@ "published_at": "2022-06-01T07:45:57Z", "tag_sha": "b0152a3629114ff0e1fb5db03403e0677783c8a6", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bwa_index", @@ -1994,7 +2319,10 @@ "published_at": "2023-07-12T13:32:09Z", "tag_sha": "032ea60a23e7bd06fe5d706deb2d3cfcb0e9bc1c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bwa_index", @@ -2013,7 +2341,10 @@ "samtools_view", "trimgalore" ], - "subworkflows": ["bam_markduplicates_picard", "bam_stats_samtools"] + "subworkflows": [ + "bam_markduplicates_picard", + "bam_stats_samtools" + ] } } ] @@ -2105,7 +2436,10 @@ "published_at": "2023-02-09T15:34:39Z", "tag_sha": "60cbad737a7db28ddd0399bf48d399d076ec5e3d", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bowtie_align", @@ -2136,7 +2470,10 @@ "stringtie_stringtie", "trimgalore" ], - "subworkflows": ["bam_sort_stats_samtools", "bam_stats_samtools"] + "subworkflows": [ + "bam_sort_stats_samtools", + "bam_stats_samtools" + ] } } ] @@ -2171,7 +2508,12 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["clip", "clip-seq", "peak-calling", "rna-rbp-interactions"], + "topics": [ + "clip", + "clip-seq", + "peak-calling", + "rna-rbp-interactions" + ], "visibility": "public", "forks": 21, "open_issues": 23, @@ -2213,14 +2555,20 @@ "published_at": "2021-04-27T10:40:00Z", "tag_sha": "45ae3c0b9b16206b687f4a645e1643c85b3f1ab4", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-03-15T21:35:41Z", "tag_sha": "ed1f64863be8cf400b65ffc767ce1e90275c0cea", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -2254,7 +2602,12 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["adna", "ancient-dna", "coprolite", "microbiome"], + "topics": [ + "adna", + "ancient-dna", + "coprolite", + "microbiome" + ], "visibility": "public", "forks": 0, "open_issues": 2, @@ -2296,28 +2649,40 @@ "published_at": "2022-11-04T16:44:51Z", "tag_sha": "baab5d8ad1a4bf3aaf386166328cec81adb7aba2", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1", "published_at": "2020-04-29T11:07:03Z", "tag_sha": "7dc3362267bc89ce658651d47534455e01dc152b", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0", "published_at": "2019-04-29T14:55:26Z", "tag_sha": "e69aa3dd0e0d090e49f0c13208a15da9460b8427", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2022-11-04T14:54:29Z", "tag_sha": "31db411ace81c090f90f1598931407a4caeae63f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -2347,18 +2712,18 @@ "forks_count": 2, "archived": false, "disabled": false, - "open_issues_count": 4, + "open_issues_count": 5, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, "topics": [], "visibility": "public", "forks": 2, - "open_issues": 4, + "open_issues": 5, "watchers": 3, "default_branch": "dev", "network_count": 2, - "subscribers_count": 161, + "subscribers_count": 157, "open_pr_count": 0, "contributors": [ { @@ -2373,9 +2738,16 @@ "published_at": "2023-07-10T13:12:08Z", "tag_sha": "bb3949b3d881aec115bde65b635d4a3b4fa7379c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["cnvkit_batch", "custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "cnvkit_batch", + "custom_dumpsoftwareversions", + "multiqc" + ] } } ] @@ -2391,9 +2763,9 @@ "url": "https://api.github.com/repos/nf-core/crisprseq", "created_at": "2022-07-14T11:14:34Z", "updated_at": "2023-07-11T09:12:32Z", - "pushed_at": "2023-07-18T13:56:54Z", + "pushed_at": "2023-07-20T06:52:11Z", "homepage": "https://nf-co.re/crisprseq", - "size": 3239, + "size": 3242, "stargazers_count": 10, "watchers_count": 10, "language": "Nextflow", @@ -2410,7 +2782,12 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["crispr", "crispr-analysis", "crispr-cas", "ngs"], + "topics": [ + "crispr", + "crispr-analysis", + "crispr-cas", + "ngs" + ], "visibility": "public", "forks": 9, "open_issues": 11, @@ -2418,7 +2795,7 @@ "default_branch": "master", "network_count": 9, "subscribers_count": 113, - "open_pr_count": 1, + "open_pr_count": 0, "contributors": [ { "name": "mirpedrol", @@ -2494,7 +2871,10 @@ "published_at": "2023-02-02T10:11:01Z", "tag_sha": "53572ae0879454115d778862e89614e6279856f8", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bowtie2_align", @@ -2516,8 +2896,8 @@ }, { "tag_name": "dev", - "published_at": "2023-07-14T08:08:59Z", - "tag_sha": "ddddf26b9b6c9c4cf44e41c45215e4cbd9c536e3", + "published_at": "2023-07-20T06:52:10Z", + "tag_sha": "61b5fe397f107e4e867420ca0e7068ec6316d98e", "has_schema": true, "doc_files": [ "docs/output.md", @@ -2615,7 +2995,10 @@ "published_at": "2019-07-10T17:38:01Z", "tag_sha": "7d00851db258fcaa2ac668c5779d3ae576fbf5c2", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -2649,7 +3032,12 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["cutandrun", "cutandrun-seq", "cutandtag", "cutandtag-seq"], + "topics": [ + "cutandrun", + "cutandrun-seq", + "cutandtag", + "cutandtag-seq" + ], "visibility": "public", "forks": 22, "open_issues": 11, @@ -2716,7 +3104,10 @@ "published_at": "2023-03-10T11:20:46Z", "tag_sha": "42502fb44975e930eec865353c5481f472bcf766", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bedtools_bamtobed", @@ -2750,7 +3141,10 @@ "ucsc_bedgraphtobigwig", "untar" ], - "subworkflows": ["bam_sort_stats_samtools", "bam_stats_samtools"] + "subworkflows": [ + "bam_sort_stats_samtools", + "bam_stats_samtools" + ] } }, { @@ -2758,7 +3152,10 @@ "published_at": "2022-10-27T09:10:05Z", "tag_sha": "dcaa4423d783017996c30302d16d772facb0da7e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bedtools_bamtobed", @@ -2796,7 +3193,10 @@ "published_at": "2022-06-08T13:11:07Z", "tag_sha": "971984a48ad4dc5b39fc20b56c5729f4ca20379a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bedtools_bamtobed", @@ -2832,7 +3232,10 @@ "published_at": "2022-01-20T11:08:19Z", "tag_sha": "c30a37fd57dcd717870c1ce947bc157ca3a88838", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bedtools_bamtobed", @@ -2867,7 +3270,10 @@ "published_at": "2021-11-06T09:43:06Z", "tag_sha": "5b9f4fad41d11e98cbbfa30359a6e494f8f77694", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bedtools_bamtobed", @@ -2901,7 +3307,10 @@ "published_at": "2023-06-15T15:46:02Z", "tag_sha": "d211b5f6a8b9554c18eed6add87f33657771a6e8", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bedtools_bamtobed", @@ -2937,7 +3346,10 @@ "ucsc_bedgraphtobigwig", "untar" ], - "subworkflows": ["bam_sort_stats_samtools", "bam_stats_samtools"] + "subworkflows": [ + "bam_sort_stats_samtools", + "bam_stats_samtools" + ] } } ] @@ -2972,7 +3384,10 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["proteomics", "shotgun-ms"], + "topics": [ + "proteomics", + "shotgun-ms" + ], "visibility": "public", "forks": 0, "open_issues": 7, @@ -3216,7 +3631,10 @@ "published_at": "2022-05-05T14:41:23Z", "tag_sha": "e1f270b8260d1795ac8cac1cdce47caf015162ad", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -3250,7 +3668,12 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["deep-variant", "dna", "google", "variant-calling"], + "topics": [ + "deep-variant", + "dna", + "google", + "variant-calling" + ], "visibility": "public", "forks": 18, "open_issues": 10, @@ -3514,14 +3937,20 @@ "published_at": "2018-11-19T14:44:51Z", "tag_sha": "2b5486356c4dbd4dcb598b611281997119c2e350", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2019-01-03T10:02:01Z", "tag_sha": "a1ee13c06b1a1cd662afcdd1ea1194c8b0916bdb", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -3555,7 +3984,13 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["bases2fastq", "bcl2fastq", "demultiplexing", "elementbiosciences", "illumina"], + "topics": [ + "bases2fastq", + "bcl2fastq", + "demultiplexing", + "elementbiosciences", + "illumina" + ], "visibility": "public", "forks": 18, "open_issues": 22, @@ -3647,7 +4082,10 @@ "published_at": "2023-06-07T18:42:22Z", "tag_sha": "67b846577346a9267e1f1292c0159cdf002e2186", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bases2fastq", @@ -3662,7 +4100,9 @@ "sgdemux", "untar" ], - "subworkflows": ["bcl_demultiplex"] + "subworkflows": [ + "bcl_demultiplex" + ] } }, { @@ -3670,7 +4110,10 @@ "published_at": "2023-06-05T12:56:05Z", "tag_sha": "8f5d9bab6c40a0140ba48a7df4a01f16297418c5", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bases2fastq", @@ -3685,7 +4128,9 @@ "sgdemux", "untar" ], - "subworkflows": ["bcl_demultiplex"] + "subworkflows": [ + "bcl_demultiplex" + ] } }, { @@ -3693,7 +4138,10 @@ "published_at": "2023-05-31T17:43:05Z", "tag_sha": "8709f05c1af86ddc12f86aaf108fa77935af1a96", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bases2fastq", @@ -3708,7 +4156,9 @@ "sgdemux", "untar" ], - "subworkflows": ["bcl_demultiplex"] + "subworkflows": [ + "bcl_demultiplex" + ] } }, { @@ -3716,7 +4166,10 @@ "published_at": "2023-04-25T07:29:32Z", "tag_sha": "ee3f8d01b1a917b52a885da20de67b08a7a0b790", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bases2fastq", @@ -3731,7 +4184,9 @@ "sgdemux", "untar" ], - "subworkflows": ["bcl_demultiplex"] + "subworkflows": [ + "bcl_demultiplex" + ] } }, { @@ -3739,7 +4194,10 @@ "published_at": "2023-01-23T21:52:34Z", "tag_sha": "8e42b6cb4e12bf00828fa8cb282e01bcb487fe6e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bases2fastq", @@ -3752,7 +4210,9 @@ "multiqc", "untar" ], - "subworkflows": ["bcl_demultiplex"] + "subworkflows": [ + "bcl_demultiplex" + ] } }, { @@ -3760,7 +4220,10 @@ "published_at": "2022-10-06T14:22:07Z", "tag_sha": "b0a004eb2e79f6fceb9b5d79b91b563b7724ed62", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bases2fastq", @@ -3780,7 +4243,10 @@ "published_at": "2023-06-20T20:56:28Z", "tag_sha": "5965e99fd0bfe065188c19f4dcd7c8c1d0ed6921", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bases2fastq", @@ -3795,7 +4261,9 @@ "sgdemux", "untar" ], - "subworkflows": ["bcl_demultiplex"] + "subworkflows": [ + "bcl_demultiplex" + ] } } ] @@ -4073,7 +4541,10 @@ "published_at": "2019-08-22T09:58:02Z", "tag_sha": "92996210dcbb9dededdefb9169527645afd24cde", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -4107,7 +4578,12 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["data-independent-proteomics", "dia-proteomics", "openms", "proteomics"], + "topics": [ + "data-independent-proteomics", + "dia-proteomics", + "openms", + "proteomics" + ], "visibility": "public", "forks": 9, "open_issues": 7, @@ -4144,56 +4620,80 @@ "published_at": "2021-04-29T06:40:55Z", "tag_sha": "58b18dd02583ad4288949aa31471bcec375705cc", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.3", "published_at": "2021-04-26T09:40:12Z", "tag_sha": "47ac20ca5d6c4c788a7bea4c49644096b2c80b61", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.2", "published_at": "2021-02-24T21:13:30Z", "tag_sha": "a219be9c33de0b0732cbab0282702f03d21432c8", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.1", "published_at": "2021-02-18T12:27:18Z", "tag_sha": "e118578569e022406224dce3bda901d12a4a7c0c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.0", "published_at": "2021-02-17T13:12:38Z", "tag_sha": "6c4157d8454cbaf3897f982abb538aaa6f89cb27", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.0", "published_at": "2020-12-03T08:58:23Z", "tag_sha": "77f51fdb56c1ae792aba1d780879130a9c44b5f6", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2020-11-13T11:45:28Z", "tag_sha": "39db11edcd318870329a5ab91518d4d076539de4", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2021-06-17T06:49:00Z", "tag_sha": "e8b332c62edffa2ec8a2352f19ed6b5f24c165a5", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -4208,9 +4708,9 @@ "url": "https://api.github.com/repos/nf-core/differentialabundance", "created_at": "2022-10-12T08:49:25Z", "updated_at": "2023-07-14T23:05:13Z", - "pushed_at": "2023-07-18T14:24:25Z", + "pushed_at": "2023-07-20T10:13:42Z", "homepage": "https://nf-co.re/differentialabundance", - "size": 6605, + "size": 6613, "stargazers_count": 24, "watchers_count": 24, "language": "Nextflow", @@ -4223,7 +4723,7 @@ "forks_count": 18, "archived": false, "disabled": false, - "open_issues_count": 36, + "open_issues_count": 37, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, @@ -4241,12 +4741,12 @@ ], "visibility": "public", "forks": 18, - "open_issues": 36, + "open_issues": 37, "watchers": 24, "default_branch": "master", "network_count": 18, "subscribers_count": 113, - "open_pr_count": 6, + "open_pr_count": 7, "contributors": [ { "name": "pinin4fjords", @@ -4285,7 +4785,10 @@ "published_at": "2023-04-19T17:47:26Z", "tag_sha": "3a849f046990707cad2a0df751c371ac7f1165ab", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "affy_justrma", @@ -4313,7 +4816,10 @@ "published_at": "2023-03-03T08:25:50Z", "tag_sha": "47e3d923bbf2311ace0b9dea12d756287798275e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "affy_justrma", @@ -4340,7 +4846,10 @@ "published_at": "2023-02-24T10:33:25Z", "tag_sha": "c5de0561506f73887979909274b9f7155ef1cf90", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "affy_justrma", @@ -4367,7 +4876,10 @@ "published_at": "2023-01-25T10:16:33Z", "tag_sha": "f9bed37741dd5b9b67c9ef7b6d65af1122b69115", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "atlasgeneannotationmanipulation_gtf2featureannotation", @@ -4391,7 +4903,10 @@ "published_at": "2023-01-24T10:45:16Z", "tag_sha": "17aec4fd0ab2c84b1d384932187797aa7ea1e962", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "atlasgeneannotationmanipulation_gtf2featureannotation", @@ -4415,7 +4930,10 @@ "published_at": "2023-06-28T13:12:15Z", "tag_sha": "df07b963575ef15dfdc16d08bd3deaa833756ed7", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "affy_justrma", @@ -4470,7 +4988,13 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["dualrna-seq", "host-pathogen", "quantification", "readmapping", "rna-seq"], + "topics": [ + "dualrna-seq", + "host-pathogen", + "quantification", + "readmapping", + "rna-seq" + ], "visibility": "public", "forks": 25, "open_issues": 19, @@ -4507,14 +5031,20 @@ "published_at": "2021-02-14T19:46:40Z", "tag_sha": "d8dcd8acfa6f1c2de933294bc73344d6258ebb42", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-06-04T20:25:18Z", "tag_sha": "2eac1d9f5756bb3d173f6acd4f923c49cc511ad3", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -4542,9 +5072,9 @@ "url": "https://api.github.com/repos/nf-core/eager", "created_at": "2018-06-03T15:52:24Z", "updated_at": "2023-07-04T12:55:38Z", - "pushed_at": "2023-07-14T10:51:36Z", + "pushed_at": "2023-07-21T09:38:10Z", "homepage": "https://nf-co.re/eager", - "size": 65098, + "size": 65223, "stargazers_count": 96, "watchers_count": 96, "language": "Nextflow", @@ -4577,7 +5107,7 @@ "default_branch": "master", "network_count": 70, "subscribers_count": 119, - "open_pr_count": 3, + "open_pr_count": 2, "contributors": [ { "name": "jfy133", @@ -4696,189 +5226,270 @@ "published_at": "2023-05-16T17:16:27Z", "tag_sha": "631f18efa4147d0b787245ed8dda041d00ebf6fd", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.4.6", "published_at": "2022-11-17T10:00:29Z", "tag_sha": "bb32ae3b0110b9a26b791f73a5324828d849271a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.4.5", "published_at": "2022-08-02T13:38:11Z", "tag_sha": "42c9d5f8602e5e88fdcec28f194d2cd4cff61c75", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.4.4", "published_at": "2022-04-08T19:18:01Z", "tag_sha": "43a239bd132b4a6ccf791d7052f537f3d22b700c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.4.3", "published_at": "2022-03-24T14:58:45Z", "tag_sha": "6c0c9d5dfd08c3809d09c99f85017cd809134ee0", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.4.2", "published_at": "2022-01-24T17:02:32Z", "tag_sha": "37e860d0ebd4989accf9a0fa0bdba22d953027bc", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.4.1", "published_at": "2021-11-30T13:57:15Z", "tag_sha": "20b0be4e769d9a4cffda59723ad7152e0a64b312", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.4.0", "published_at": "2021-09-14T16:54:41Z", "tag_sha": "cc66639a8a2710f0de6aef5ae28e1614a5a4e3e2", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.3.5", "published_at": "2021-06-04T06:17:57Z", "tag_sha": "70e3d276d3a39859b8f067518added35ef616af7", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.3.4", "published_at": "2021-05-05T11:23:15Z", "tag_sha": "10bfbdff86607f816c4e1819e8ede0f5f00ea2ac", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.3.3", "published_at": "2021-04-08T11:37:08Z", "tag_sha": "ad8e41a20a49febb1814c530de5460a5d342df8c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.3.2", "published_at": "2021-03-16T15:30:14Z", "tag_sha": "b5a8f0f7682570c6fa7aa351b81b41af9cc5aaa1", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.3.1", "published_at": "2021-01-14T13:20:40Z", "tag_sha": "29b6e147bd9a848f84e6d26706af7f652f2165ca", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.3.0", "published_at": "2021-01-11T12:02:32Z", "tag_sha": "0bc87f361f95969e40f5643d403eb40b3b0dd2e3", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.2.2", "published_at": "2020-12-09T07:50:05Z", "tag_sha": "85e2e3288ae9e357bfa0e7bd55ea63bca6291c5c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.2.1", "published_at": "2020-10-29T18:27:54Z", "tag_sha": "7971d89e54621c44055b2062a569c76a36045723", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.2.0", "published_at": "2020-10-21T08:14:21Z", "tag_sha": "b1ae5ad6c1aa54c11f3f571f25920506f9b92129", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.1.0", "published_at": "2020-03-05T15:42:54Z", "tag_sha": "26ae7e945f738b47996cce32fe86ec37897087a9", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.0.7", "published_at": "2019-06-10T20:15:45Z", "tag_sha": "b8d3dec3f044da5ec016493108910945be2b8702", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.0.6", "published_at": "2019-03-06T07:13:39Z", "tag_sha": "bc55df323e1be63fedb8a75e663a25e7d422b7ef", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.0.5", "published_at": "2019-01-30T14:08:15Z", "tag_sha": "2786af36de77d1f27c9e23d4657b7771e20cd4ef", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.0.4", "published_at": "2019-01-09T08:46:14Z", "tag_sha": "02ed5a742ce35eabadabc23426f368ccf47a16e7", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.0.3", "published_at": "2018-12-12T21:55:04Z", "tag_sha": "b690a6b26403ac5f91d53a75470c485ae96d5dfb", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.0.2", "published_at": "2018-11-03T15:26:48Z", "tag_sha": "c44b88110d7daba8b51c6a0aca96be74b30d8afd", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.0.1", "published_at": "2018-11-02T13:40:44Z", "tag_sha": "2f2c17a085d2259c1aebe804ec25ca477451777f", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.0.0", "published_at": "2018-10-17T21:21:07Z", "tag_sha": "897fca777aa79e35f555fec17bb836ffd1d57053", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", - "published_at": "2023-07-14T09:25:23Z", - "tag_sha": "6d107c4fd8feb80ca95e38cf16dfa810eb1a7cf6", + "published_at": "2023-07-21T09:17:17Z", + "tag_sha": "4bf74d53330205b8b4c53b81835da1a74fc5d0dd", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "adapterremoval", @@ -4886,6 +5497,7 @@ "angsd_docounts", "bamutil_trimbam", "bbmap_bbduk", + "bedtools_coverage", "bowtie2_align", "bowtie2_build", "bwa_aln", @@ -4940,9 +5552,9 @@ "url": "https://api.github.com/repos/nf-core/epitopeprediction", "created_at": "2018-11-28T15:37:41Z", "updated_at": "2023-07-07T13:15:42Z", - "pushed_at": "2023-07-12T07:31:08Z", + "pushed_at": "2023-07-21T07:55:05Z", "homepage": "https://nf-co.re/epitopeprediction", - "size": 4088, + "size": 4144, "stargazers_count": 25, "watchers_count": 25, "language": "Nextflow", @@ -4955,19 +5567,23 @@ "forks_count": 18, "archived": false, "disabled": false, - "open_issues_count": 11, + "open_issues_count": 9, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["epitope", "epitope-prediction", "mhc-binding-prediction"], + "topics": [ + "epitope", + "epitope-prediction", + "mhc-binding-prediction" + ], "visibility": "public", "forks": 18, - "open_issues": 11, + "open_issues": 9, "watchers": 25, "default_branch": "master", "network_count": 18, - "subscribers_count": 97, - "open_pr_count": 4, + "subscribers_count": 96, + "open_pr_count": 2, "contributors": [ { "name": "christopher-mohr", @@ -5021,9 +5637,16 @@ "published_at": "2023-03-17T10:16:26Z", "tag_sha": "b0f0d7a5b3cd352e548901e4cc19937c73add465", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "gunzip", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "gunzip", + "multiqc" + ] } }, { @@ -5031,9 +5654,16 @@ "published_at": "2023-03-03T10:20:50Z", "tag_sha": "7abf023b210803657760f5300f6a21d286ed167e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "gunzip", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "gunzip", + "multiqc" + ] } }, { @@ -5041,9 +5671,16 @@ "published_at": "2022-08-04T11:05:07Z", "tag_sha": "1bd1df07058169d3965bdc5090a00e0e05050bcd", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "gunzip", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "gunzip", + "multiqc" + ] } }, { @@ -5051,9 +5688,15 @@ "published_at": "2021-12-21T12:32:47Z", "tag_sha": "1afbbf19ed6adca477451a3c42e2e0ac0c75af28", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } }, { @@ -5061,23 +5704,36 @@ "published_at": "2020-10-20T18:29:47Z", "tag_sha": "ce15e440954f8e7c83c341261b82aacc8e3535ac", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2019-12-05T16:31:15Z", "tag_sha": "a4c32a0ad83f6d7b8e9f36829af6bb75379ab60d", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", - "published_at": "2023-03-16T14:47:21Z", - "tag_sha": "d65e2a298bc2802aff5b3a05fe064d0e63b95f65", + "published_at": "2023-07-21T07:55:05Z", + "tag_sha": "13ce412a6dc20e75cc5e110d44963a49d2c5df61", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "gunzip", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "gunzip", + "multiqc" + ] } } ] @@ -5112,7 +5768,12 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["exome", "exome-sequencing", "genomics", "variant-calling"], + "topics": [ + "exome", + "exome-sequencing", + "genomics", + "variant-calling" + ], "visibility": "public", "forks": 23, "open_issues": 14, @@ -5154,7 +5815,10 @@ "published_at": "2018-11-29T10:24:10Z", "tag_sha": "819cbac792b76cf66c840b567ed0ee9a2f620db7", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -5188,7 +5852,12 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["consensus", "umi", "umis", "unique-molecular-identifier"], + "topics": [ + "consensus", + "umi", + "umis", + "unique-molecular-identifier" + ], "visibility": "public", "forks": 4, "open_issues": 8, @@ -5215,9 +5884,16 @@ "published_at": "2022-11-30T13:49:50Z", "tag_sha": "9c7fc3702ff5b6c618729e34c2af07c661cd1d5a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastqc", + "multiqc" + ] } } ] @@ -5233,9 +5909,9 @@ "url": "https://api.github.com/repos/nf-core/fetchngs", "created_at": "2021-06-03T09:26:41Z", "updated_at": "2023-06-01T16:21:17Z", - "pushed_at": "2023-07-13T22:10:38Z", + "pushed_at": "2023-07-19T12:29:08Z", "homepage": "https://nf-co.re/fetchngs", - "size": 2901, + "size": 2902, "stargazers_count": 80, "watchers_count": 80, "language": "Groovy", @@ -5248,19 +5924,27 @@ "forks_count": 43, "archived": false, "disabled": false, - "open_issues_count": 18, + "open_issues_count": 19, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["ddbj", "download", "ena", "fastq", "geo", "sra", "synapse"], + "topics": [ + "ddbj", + "download", + "ena", + "fastq", + "geo", + "sra", + "synapse" + ], "visibility": "public", "forks": 43, - "open_issues": 18, + "open_issues": 19, "watchers": 80, "default_branch": "master", "network_count": 43, "subscribers_count": 59, - "open_pr_count": 3, + "open_pr_count": 4, "contributors": [ { "name": "drpatelh", @@ -5354,7 +6038,10 @@ "published_at": "2023-05-16T16:12:51Z", "tag_sha": "27067828746a19484d40d4d175f7e14044e5beb3", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -5362,7 +6049,9 @@ "sratools_fasterqdump", "sratools_prefetch" ], - "subworkflows": ["fastq_download_prefetch_fasterqdump_sratools"] + "subworkflows": [ + "fastq_download_prefetch_fasterqdump_sratools" + ] } }, { @@ -5370,7 +6059,10 @@ "published_at": "2022-12-21T13:50:31Z", "tag_sha": "084e5ef3038b3210efaf203ce57d0ba21a6ece0b", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -5378,7 +6070,9 @@ "sratools_fasterqdump", "sratools_prefetch" ], - "subworkflows": ["fastq_download_prefetch_fasterqdump_sratools"] + "subworkflows": [ + "fastq_download_prefetch_fasterqdump_sratools" + ] } }, { @@ -5386,7 +6080,10 @@ "published_at": "2022-11-08T09:48:55Z", "tag_sha": "249210f1856edaf4713430ebc42d6bdf60561d7a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -5394,7 +6091,9 @@ "sratools_fasterqdump", "sratools_prefetch" ], - "subworkflows": ["fastq_download_prefetch_fasterqdump_sratools"] + "subworkflows": [ + "fastq_download_prefetch_fasterqdump_sratools" + ] } }, { @@ -5402,7 +6101,10 @@ "published_at": "2022-07-01T16:12:49Z", "tag_sha": "b79cde2fb58ec3bee3ef20124c6ade0c2f263d7d", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -5417,7 +6119,10 @@ "published_at": "2022-05-17T11:58:37Z", "tag_sha": "7b7ab2f818d8202b0bc71b7eb901c1329216ddd9", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -5432,9 +6137,14 @@ "published_at": "2021-12-01T09:29:32Z", "tag_sha": "c318ae12fcb972ff28f6d38edd3165c88b6d0b3f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions"] + "modules": [ + "custom_dumpsoftwareversions" + ] } }, { @@ -5442,42 +6152,60 @@ "published_at": "2021-11-09T15:28:52Z", "tag_sha": "0c43cc787290d88c9127af8281bb69554d905012", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.3", "published_at": "2021-09-15T16:31:18Z", "tag_sha": "2d593fb504caf65301c78b8076272f895e364cd7", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2", "published_at": "2021-07-28T08:25:36Z", "tag_sha": "8c00805705b66587167a1f166935506413225260", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1", "published_at": "2021-06-22T10:14:46Z", "tag_sha": "3bd6ea5f0e657dde934ac4c8f7cb28ad19d14df7", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0", "published_at": "2021-06-08T15:04:52Z", "tag_sha": "4611da4046667c74ad3bb943e88fcd6f5e60287a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-07-13T22:10:34Z", "tag_sha": "6cd8d3fb5e1a11614d8349a96f7a71621482753d", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -5485,7 +6213,9 @@ "sratools_fasterqdump", "sratools_prefetch" ], - "subworkflows": ["fastq_download_prefetch_fasterqdump_sratools"] + "subworkflows": [ + "fastq_download_prefetch_fasterqdump_sratools" + ] } } ] @@ -5501,9 +6231,9 @@ "url": "https://api.github.com/repos/nf-core/funcscan", "created_at": "2021-12-13T10:35:54Z", "updated_at": "2023-07-09T08:58:08Z", - "pushed_at": "2023-07-14T13:59:41Z", + "pushed_at": "2023-07-20T09:08:56Z", "homepage": "https://nf-co.re/funcscan", - "size": 11714, + "size": 11768, "stargazers_count": 36, "watchers_count": 36, "language": "Nextflow", @@ -5516,7 +6246,7 @@ "forks_count": 10, "archived": false, "disabled": false, - "open_issues_count": 18, + "open_issues_count": 13, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, @@ -5539,12 +6269,12 @@ ], "visibility": "public", "forks": 10, - "open_issues": 18, + "open_issues": 13, "watchers": 36, "default_branch": "master", "network_count": 10, - "subscribers_count": 50, - "open_pr_count": 4, + "subscribers_count": 49, + "open_pr_count": 1, "contributors": [ { "name": "jfy133", @@ -5588,7 +6318,10 @@ "published_at": "2023-06-30T06:43:37Z", "tag_sha": "7105f4a398a4b07207432d9e572a41babdcbcc21", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "abricate_run", @@ -5634,7 +6367,10 @@ "published_at": "2023-05-24T21:32:40Z", "tag_sha": "34063c49cb46f429241b7d3744ab839fa3ccddf6", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "abricate_run", @@ -5680,7 +6416,10 @@ "published_at": "2023-04-27T21:46:23Z", "tag_sha": "1c1c9ae408ba78b8ec74ed33da5ba1ef0bf57eb1", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "abricate_run", @@ -5726,7 +6465,10 @@ "published_at": "2023-02-27T12:01:01Z", "tag_sha": "98a08153aa3308d6a0f374fc21dbf9790eba0819", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "abricate_run", @@ -5770,7 +6512,10 @@ "published_at": "2023-02-15T11:41:14Z", "tag_sha": "d6773ca1902569c89da607d578eab70a1ff590b9", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "abricate_run", @@ -5811,10 +6556,13 @@ }, { "tag_name": "dev", - "published_at": "2023-07-13T06:24:07Z", - "tag_sha": "e46519a072981d13f9facd12e499181b4931af6f", + "published_at": "2023-07-20T09:08:54Z", + "tag_sha": "2a5c3eead3c353e46d695f4aab9b8c909ca027b0", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "abricate_run", @@ -5916,9 +6664,18 @@ "published_at": "2022-03-29T14:33:51Z", "tag_sha": "cbd878f7997d367ccbe952648e114ad25962963f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["cat_fastq", "custom_dumpsoftwareversions", "fastqc", "gunzip", "multiqc"] + "modules": [ + "cat_fastq", + "custom_dumpsoftwareversions", + "fastqc", + "gunzip", + "multiqc" + ] } } ] @@ -5990,7 +6747,10 @@ "published_at": "2023-05-13T16:42:28Z", "tag_sha": "656bc9065046372199400be07e0c2b29a3c99f9d", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "busco", @@ -6050,7 +6810,13 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["chloroplast-genome", "genome", "genome-skimming", "mitochondrial-genomes", "organelle"], + "topics": [ + "chloroplast-genome", + "genome", + "genome-skimming", + "mitochondrial-genomes", + "organelle" + ], "visibility": "public", "forks": 1, "open_issues": 1, @@ -6072,9 +6838,16 @@ "published_at": "2022-08-09T10:34:34Z", "tag_sha": "0c969583df4a65daf62c2bfb6e2dcd9ead4e850a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastqc", + "multiqc" + ] } } ] @@ -6109,7 +6882,9 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["gwas"], + "topics": [ + "gwas" + ], "visibility": "public", "forks": 13, "open_issues": 11, @@ -6161,9 +6936,16 @@ "published_at": "2023-05-23T02:55:46Z", "tag_sha": "2d9bb7d3c68d072cc0650f09723b407e36cecab8", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastqc", + "multiqc" + ] } } ] @@ -6249,7 +7031,10 @@ "published_at": "2023-05-16T12:15:32Z", "tag_sha": "683daaf41bb396839445e603152b45daa141ced4", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bamtools_stats", @@ -6281,7 +7066,10 @@ "published_at": "2022-10-24T13:09:05Z", "tag_sha": "4cd916f0c15e2c1a6a4a09228981cfd919b33222", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bamtools_stats", @@ -6313,7 +7101,10 @@ "published_at": "2023-05-15T10:47:26Z", "tag_sha": "115bd96aee4726d1d611f9d36ba12a0aa9503f76", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bamtools_stats", @@ -6372,7 +7163,10 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["chromosome-conformation-capture", "hi-c"], + "topics": [ + "chromosome-conformation-capture", + "hi-c" + ], "visibility": "public", "forks": 38, "open_issues": 30, @@ -6439,7 +7233,10 @@ "published_at": "2023-06-01T13:44:15Z", "tag_sha": "fe4ac656317d24c37e81e7940a526ed9ea812f8e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bowtie2_align", @@ -6461,7 +7258,10 @@ "published_at": "2023-01-21T11:45:05Z", "tag_sha": "b4d89cfacf97a5835fba804887cf0fc7e0449e8d", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bowtie2_align", @@ -6483,49 +7283,70 @@ "published_at": "2021-05-25T08:28:06Z", "tag_sha": "ac74763a91961ef7b274a651608c76be05be15e4", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.2", "published_at": "2020-09-03T08:07:23Z", "tag_sha": "52e5f048a66541a4d33d4b721ff4a0a05ba1745e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.1", "published_at": "2020-07-09T13:37:53Z", "tag_sha": "ae2352c5b864a5e11d1220137d631a7c98b9ad14", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.0", "published_at": "2020-07-09T06:54:37Z", "tag_sha": "b84069e1f2f1d51414341a992200c339cdce711b", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.0", "published_at": "2019-10-23T12:19:03Z", "tag_sha": "481964d91cd3c4ab1d4b3afcba0f8a639911d97e", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2019-05-06T17:02:29Z", "tag_sha": "f7a827eeda4e5b8fd30f1724d1ae1f21ec65b3dd", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-06-28T10:56:53Z", "tag_sha": "971effb15104229f729d2dc6bb64ce4d66027967", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bowtie2_align", @@ -6555,9 +7376,9 @@ "url": "https://api.github.com/repos/nf-core/hicar", "created_at": "2021-08-12T15:11:34Z", "updated_at": "2023-05-22T10:15:53Z", - "pushed_at": "2023-07-14T11:00:06Z", + "pushed_at": "2023-07-19T19:06:13Z", "homepage": "https://nf-co.re/hicar", - "size": 36098, + "size": 36126, "stargazers_count": 4, "watchers_count": 4, "language": "Nextflow", @@ -6570,23 +7391,30 @@ "forks_count": 3, "archived": false, "disabled": false, - "open_issues_count": 4, + "open_issues_count": 5, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["atac", "atac-seq", "hic", "hicar", "multi-omics", "transcriptome"], + "topics": [ + "atac", + "atac-seq", + "hic", + "hicar", + "multi-omics", + "transcriptome" + ], "visibility": "public", "forks": 3, - "open_issues": 4, + "open_issues": 5, "watchers": 4, "default_branch": "dev", "network_count": 3, "subscribers_count": 39, - "open_pr_count": 4, + "open_pr_count": 5, "contributors": [ { "name": "jianhong", - "count": 566, + "count": 574, "avatar_url": "https://avatars.githubusercontent.com/u/5640707?v=4" }, { @@ -6631,7 +7459,10 @@ "published_at": "2022-05-03T18:45:18Z", "tag_sha": "429087d2b13e59c3edd2e71b8005c1adc5bbb7bb", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bedtools_genomecov", @@ -6672,10 +7503,13 @@ }, { "tag_name": "dev", - "published_at": "2023-07-14T10:52:01Z", - "tag_sha": "1bef3c13860626d20d80916ef774f0b9a14f4e0d", + "published_at": "2023-07-19T11:36:34Z", + "tag_sha": "d2d17a924e42d6f88640b79d48d8b332f33a953f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bedtools_genomecov", @@ -6752,7 +7586,15 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["dna", "hla", "hla-typing", "immunology", "optitype", "personalized-medicine", "rna"], + "topics": [ + "dna", + "hla", + "hla-typing", + "immunology", + "optitype", + "personalized-medicine", + "rna" + ], "visibility": "public", "forks": 26, "open_issues": 9, @@ -6819,7 +7661,10 @@ "published_at": "2022-10-18T12:12:03Z", "tag_sha": "7c9a2fbd404fae653d12e14db823b378512fbb40", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -6839,70 +7684,100 @@ "published_at": "2020-08-21T11:26:05Z", "tag_sha": "69987947952ec3f188356a3043cce724d72125e3", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.5", "published_at": "2019-06-27T09:13:32Z", "tag_sha": "bf5d0c2d4646df8ce240230b1a15c0a241658a07", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.4", "published_at": "2019-03-07T10:06:43Z", "tag_sha": "4bcced898ee23600bd8c249ff085f8f88db90e7c", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.3", "published_at": "2019-02-04T13:28:33Z", "tag_sha": "18740c24175eb82cb1e206e8d471c2899e59ab7e", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.2", "published_at": "2018-12-12T14:33:18Z", "tag_sha": "5a5687958004e2d8e9c2625f0bde558deffdda99", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.1", "published_at": "2018-08-21T07:22:23Z", "tag_sha": "af1f68457c50060dcae8ed7e53b780e7f6203e60", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.0", "published_at": "2018-08-15T13:56:31Z", "tag_sha": "17826e8340be96fd9def2fad4d7bb778294ca9b1", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2018-07-18T15:28:12Z", "tag_sha": "41d7b6baf787cb1f29ba44c5bc864b3eddfcfe3c", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0-rc1", "published_at": "2018-07-18T13:27:40Z", "tag_sha": "41d7b6baf787cb1f29ba44c5bc864b3eddfcfe3c", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-01-04T10:11:07Z", "tag_sha": "74d5be4e7af1e401c9250364ed1eff57ecc3ca1b", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -6949,7 +7824,12 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["cytometry", "image-analysis", "image-processing", "image-segmentation"], + "topics": [ + "cytometry", + "image-analysis", + "image-processing", + "image-segmentation" + ], "visibility": "public", "forks": 13, "open_issues": 5, @@ -6986,16 +7866,24 @@ "published_at": "2020-05-29T12:38:02Z", "tag_sha": "5d6631332b43c78f12b853594e91a7f7356d87ae", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2022-07-20T09:25:59Z", "tag_sha": "fac968e589a298cd5087cde684c46a1c1c292d0d", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions"] + "modules": [ + "custom_dumpsoftwareversions" + ] } } ] @@ -7030,7 +7918,13 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["isoseq", "isoseq-3", "rna", "tama", "ultra"], + "topics": [ + "isoseq", + "isoseq-3", + "rna", + "tama", + "ultra" + ], "visibility": "public", "forks": 5, "open_issues": 4, @@ -7052,7 +7946,10 @@ "published_at": "2023-03-13T13:35:16Z", "tag_sha": "977b9bb18393474dfea31923cd479e005e8976db", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bamtools_convert", @@ -7076,7 +7973,10 @@ "published_at": "2023-03-09T09:19:11Z", "tag_sha": "26153d74898361e5e08b80885f9f67c6a2c881c9", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bamtools_convert", @@ -7100,7 +8000,10 @@ "published_at": "2023-01-12T19:29:02Z", "tag_sha": "a568a758220204c0baa4a0ea74496d37811a205f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bamtools_convert", @@ -7124,7 +8027,10 @@ "published_at": "2022-09-27T15:28:41Z", "tag_sha": "322f3a2f4b22855c03f59d29802fe35c5ddaafbc", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bamtools_convert", @@ -7148,7 +8054,10 @@ "published_at": "2022-07-12T06:52:05Z", "tag_sha": "f191d29c552e236fb66b0ce9b80ffd7a70dc0f58", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bamtools_convert", @@ -7172,7 +8081,10 @@ "published_at": "2022-06-28T08:56:05Z", "tag_sha": "af7d5049a60fed0838249c65039386f1b551ef5f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bamtools_convert", @@ -7196,7 +8108,10 @@ "published_at": "2023-03-13T11:48:17Z", "tag_sha": "3ccf5f83180d57470a66062e545f31aedb6017d5", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bamtools_convert", @@ -7247,7 +8162,12 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["k-mer", "kmer", "kmer-counting", "kmer-frequency-count"], + "topics": [ + "k-mer", + "kmer", + "kmer-counting", + "kmer-frequency-count" + ], "visibility": "public", "forks": 9, "open_issues": 20, @@ -7294,14 +8214,20 @@ "published_at": "2020-10-27T22:54:41Z", "tag_sha": "e1f736c5c694037d548af53e8d1d1cacf120327f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2021-04-26T12:23:53Z", "tag_sha": "16f68633b2cecd5fa1580bbb282e44e53721cfe2", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -7569,9 +8495,15 @@ "published_at": "2021-08-12T08:56:11Z", "tag_sha": "800d619c28b8647b9be443d2e0dd6e8b76b2a680", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["fastqc", "multiqc"] + "modules": [ + "fastqc", + "multiqc" + ] } } ] @@ -7719,7 +8651,11 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["lncrnas", "nextflow", "pipeline"], + "topics": [ + "lncrnas", + "nextflow", + "pipeline" + ], "visibility": "public", "forks": 41, "open_issues": 7, @@ -7825,7 +8761,11 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["lncrnas", "nextflow", "pipeline"], + "topics": [ + "lncrnas", + "nextflow", + "pipeline" + ], "visibility": "public", "forks": 41, "open_issues": 7, @@ -7888,7 +8828,10 @@ "published_at": "2022-09-21T08:51:15Z", "tag_sha": "5c97678fdef4eff861a1822e1ac222be9939990e", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -7902,12 +8845,12 @@ "fork": false, "url": "https://api.github.com/repos/nf-core/mag", "created_at": "2018-05-22T06:06:58Z", - "updated_at": "2023-07-13T07:08:48Z", - "pushed_at": "2023-07-14T06:37:12Z", + "updated_at": "2023-07-20T11:02:09Z", + "pushed_at": "2023-07-20T15:19:13Z", "homepage": "https://nf-co.re/mag", - "size": 12732, - "stargazers_count": 132, - "watchers_count": 132, + "size": 12733, + "stargazers_count": 133, + "watchers_count": 133, "language": "Nextflow", "has_issues": true, "has_projects": false, @@ -7935,11 +8878,11 @@ "visibility": "public", "forks": 83, "open_issues": 38, - "watchers": 132, + "watchers": 133, "default_branch": "master", "network_count": 83, "subscribers_count": 117, - "open_pr_count": 3, + "open_pr_count": 4, "contributors": [ { "name": "skrakau", @@ -8038,7 +8981,10 @@ "published_at": "2023-06-23T11:40:26Z", "tag_sha": "66cf53aff834d2a254b78b94fc54cd656b8b7b57", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "adapterremoval", @@ -8073,7 +9019,9 @@ "pydamage_filter", "samtools_faidx" ], - "subworkflows": ["fasta_binning_concoct"] + "subworkflows": [ + "fasta_binning_concoct" + ] } }, { @@ -8081,7 +9029,10 @@ "published_at": "2023-06-19T20:37:43Z", "tag_sha": "61deef81c74b3c4c3bc0bce265e1d2e181d2260d", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "adapterremoval", @@ -8116,7 +9067,9 @@ "pydamage_filter", "samtools_faidx" ], - "subworkflows": ["fasta_binning_concoct"] + "subworkflows": [ + "fasta_binning_concoct" + ] } }, { @@ -8124,7 +9077,10 @@ "published_at": "2023-03-02T10:12:03Z", "tag_sha": "c9468cb9154402c4a4cab78664ee50c24a91f6c3", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "adapterremoval", @@ -8159,7 +9115,9 @@ "pydamage_filter", "samtools_faidx" ], - "subworkflows": ["fasta_binning_concoct"] + "subworkflows": [ + "fasta_binning_concoct" + ] } }, { @@ -8167,7 +9125,10 @@ "published_at": "2022-08-25T10:35:57Z", "tag_sha": "a8e92af70eca59a92b72262e6cdde11e69375801", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "adapterremoval", @@ -8197,7 +9158,10 @@ "published_at": "2022-06-14T07:41:48Z", "tag_sha": "3b4dd3469725654d67e06b3853ba460d64c80788", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "adapterremoval", @@ -8227,9 +9191,17 @@ "published_at": "2021-11-26T10:56:44Z", "tag_sha": "e065754c46eedc85d46cd8a71b32ad73b3b741cb", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["fastp", "fastqc", "prodigal", "prokka"] + "modules": [ + "fastp", + "fastqc", + "prodigal", + "prokka" + ] } }, { @@ -8237,9 +9209,15 @@ "published_at": "2021-07-29T07:07:34Z", "tag_sha": "d4f00bc2d178c1c8dc25b576c9e77e70511d5d21", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["fastp", "fastqc"] + "modules": [ + "fastp", + "fastqc" + ] } }, { @@ -8247,49 +9225,70 @@ "published_at": "2021-06-01T11:54:01Z", "tag_sha": "0b4f0ef116481a346e3e5ffebafb811872db2ba9", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.0", "published_at": "2021-02-10T10:36:52Z", "tag_sha": "485c3fa0ba7345ac124bef04d08391d5e7cdcb42", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.2", "published_at": "2020-11-24T18:07:18Z", "tag_sha": "8c0f1fedf2d86ad17032c45add7851578022972a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.1", "published_at": "2020-11-10T17:38:23Z", "tag_sha": "a3122b1743bc483f04f33eff846dab2f2460e62c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.0", "published_at": "2020-10-06T15:26:21Z", "tag_sha": "7384cef0313583bc1c1277ba8f139f9783f0619e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2019-12-21T10:21:58Z", "tag_sha": "4c2f61cbbb2be56d9a176947a758cdb4d7941910", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-07-13T07:54:08Z", "tag_sha": "87761e0b7df29cbe65b63e46158fc00a004381f3", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "adapterremoval", @@ -8329,7 +9328,9 @@ "seqtk_mergepe", "tiara_tiara" ], - "subworkflows": ["fasta_binning_concoct"] + "subworkflows": [ + "fasta_binning_concoct" + ] } } ] @@ -8378,7 +9379,7 @@ "watchers": 4, "default_branch": "master", "network_count": 1, - "subscribers_count": 143, + "subscribers_count": 142, "open_pr_count": 0, "contributors": [ { @@ -8398,7 +9399,10 @@ "published_at": "2023-07-18T10:55:05Z", "tag_sha": "b02ede773092f8a8a5999400acda6894d51b4d26", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bowtie2_align", @@ -8419,7 +9423,10 @@ "published_at": "2023-07-11T12:17:51Z", "tag_sha": "87ea6e2b1f96d5af1854d0cbdff27af1bcde7ba2", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bowtie2_align", @@ -8440,7 +9447,10 @@ "published_at": "2023-06-26T07:09:56Z", "tag_sha": "0ca38c3bd5a35e7abcf2e83dc1ff7c1e73e50856", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bowtie2_align", @@ -8461,7 +9471,10 @@ "published_at": "2023-06-21T09:30:19Z", "tag_sha": "dda9122454b0d9e5bcdd481008c216eb52da16b2", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bowtie2_align", @@ -8482,9 +9495,17 @@ "published_at": "2023-05-18T07:39:37Z", "tag_sha": "6d1265f89f826513e9f1208dcd7b65ca77a7ab79", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["fastqc", "multiqc", "bowtie2_build", "gunzip"] + "modules": [ + "fastqc", + "multiqc", + "bowtie2_build", + "gunzip" + ] } }, { @@ -8492,7 +9513,10 @@ "published_at": "2023-07-11T14:44:21Z", "tag_sha": "b4aa5e81ca62dd7eeb5c9460d2635cd803d0c023", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bowtie2_align", @@ -8521,7 +9545,7 @@ "url": "https://api.github.com/repos/nf-core/mcmicro", "created_at": "2023-06-21T18:40:14Z", "updated_at": "2023-06-30T18:40:54Z", - "pushed_at": "2023-07-15T14:34:48Z", + "pushed_at": "2023-07-21T08:40:14Z", "homepage": null, "size": 2252, "stargazers_count": 0, @@ -8533,22 +9557,22 @@ "has_wiki": true, "has_pages": false, "has_discussions": false, - "forks_count": 1, + "forks_count": 3, "archived": false, "disabled": false, - "open_issues_count": 0, + "open_issues_count": 1, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, "topics": [], "visibility": "public", - "forks": 1, - "open_issues": 0, + "forks": 3, + "open_issues": 1, "watchers": 0, "default_branch": "dev", - "network_count": 1, - "subscribers_count": 170, - "open_pr_count": 0, + "network_count": 3, + "subscribers_count": 162, + "open_pr_count": 1, "contributors": [ { "name": "FloWuenne", @@ -8567,9 +9591,16 @@ "published_at": "2023-07-15T14:34:47Z", "tag_sha": "d8e8eda539f06e311eeefce5975ad3878421248f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastqc", + "multiqc" + ] } } ] @@ -8604,7 +9635,14 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["identification", "mass-spectrometry", "metabolomics", "ms1", "ms2", "quantification"], + "topics": [ + "identification", + "mass-spectrometry", + "metabolomics", + "ms1", + "ms2", + "quantification" + ], "visibility": "public", "forks": 6, "open_issues": 3, @@ -8848,21 +9886,30 @@ "published_at": "2021-05-18T08:14:57Z", "tag_sha": "fca2ab5c508fc8179380ff747eab68b6db8aa93f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2021-05-08T16:43:56Z", "tag_sha": "43d491841e7e4ac21fff73e72ec79762c3b5276e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2022-04-25T07:12:19Z", "tag_sha": "5b98474bb2de05de3497d5b8c328d99d4c38df48", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -8877,9 +9924,9 @@ "url": "https://api.github.com/repos/nf-core/metapep", "created_at": "2021-12-13T08:45:24Z", "updated_at": "2023-07-17T05:21:46Z", - "pushed_at": "2023-07-14T08:49:00Z", + "pushed_at": "2023-07-19T08:53:14Z", "homepage": "https://nf-co.re/metapep", - "size": 6350, + "size": 6239, "stargazers_count": 3, "watchers_count": 3, "language": "Python", @@ -8892,19 +9939,19 @@ "forks_count": 2, "archived": false, "disabled": false, - "open_issues_count": 13, + "open_issues_count": 11, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, "topics": [], "visibility": "public", "forks": 2, - "open_issues": 13, + "open_issues": 11, "watchers": 3, "default_branch": "dev", "network_count": 2, "subscribers_count": 11, - "open_pr_count": 6, + "open_pr_count": 4, "contributors": [ { "name": "skrakau", @@ -8913,7 +9960,7 @@ }, { "name": "tillenglert", - "count": 233, + "count": 235, "avatar_url": "https://avatars.githubusercontent.com/u/64961761?v=4" }, { @@ -8930,12 +9977,19 @@ "releases": [ { "tag_name": "dev", - "published_at": "2023-06-28T13:03:14Z", - "tag_sha": "0dc3b19cd44b0c6cc8987bfa3918ce297c235655", + "published_at": "2023-07-19T08:32:18Z", + "tag_sha": "89139596e637ef28173ea1db5e533961583fc2e0", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc", "prodigal"], + "modules": [ + "custom_dumpsoftwareversions", + "multiqc", + "prodigal" + ], "subworkflows": [] } } @@ -8967,14 +10021,14 @@ "forks_count": 5, "archived": false, "disabled": false, - "open_issues_count": 11, + "open_issues_count": 12, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, "topics": [], "visibility": "public", "forks": 5, - "open_issues": 11, + "open_issues": 12, "watchers": 3, "default_branch": "dev", "network_count": 5, @@ -9003,7 +10057,10 @@ "published_at": "2023-07-03T13:40:47Z", "tag_sha": "c96ca332ff5f54c783bcb3bb31e94ccda9e0278d", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_align", @@ -9030,7 +10087,11 @@ "transdecoder_predict", "trimgalore" ], - "subworkflows": ["bam_sort_samtools", "bam_sort_stats_samtools", "bam_stats_samtools"] + "subworkflows": [ + "bam_sort_samtools", + "bam_sort_stats_samtools", + "bam_stats_samtools" + ] } } ] @@ -9058,7 +10119,7 @@ "has_wiki": false, "has_pages": false, "has_discussions": false, - "forks_count": 116, + "forks_count": 117, "archived": false, "disabled": false, "open_issues_count": 20, @@ -9076,11 +10137,11 @@ "rrbs" ], "visibility": "public", - "forks": 116, + "forks": 117, "open_issues": 20, "watchers": 112, "default_branch": "master", - "network_count": 116, + "network_count": 117, "subscribers_count": 109, "open_pr_count": 5, "contributors": [ @@ -9201,7 +10262,10 @@ "published_at": "2023-06-12T18:26:50Z", "tag_sha": "81f989c93e866a9b0bd0d9584e077b9b8f78affe", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bismark_align", @@ -9237,7 +10301,10 @@ "published_at": "2022-12-17T00:40:12Z", "tag_sha": "93bc5811603c287c766a0ff7e03b5b41f4483895", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bismark_align", @@ -9273,7 +10340,10 @@ "published_at": "2022-11-28T23:34:26Z", "tag_sha": "a1aaa924eeeaf6526d69af3a625bcc61676b150a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bismark_align", @@ -9309,7 +10379,10 @@ "published_at": "2022-11-10T12:51:16Z", "tag_sha": "44b80aa2bf6e8f11e23d506227bbd7293c108cb1", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bismark_align", @@ -9344,7 +10417,10 @@ "published_at": "2022-11-09T10:15:37Z", "tag_sha": "04025de523dd111c9f86101255ed3d6f4c16fb5a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bismark_align", @@ -9378,63 +10454,90 @@ "published_at": "2021-05-09T20:06:01Z", "tag_sha": "03972a686bedeb2920803cd575f4d671e9135af0", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.6", "published_at": "2021-03-26T16:07:01Z", "tag_sha": "b3e5e3b95aaf01d98391a62a10a3990c0a4de395", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.5", "published_at": "2020-04-09T15:06:38Z", "tag_sha": "4f31ed1792e3cc8ce0ea648b6ee8f541f70102f7", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.4", "published_at": "2019-11-20T12:42:31Z", "tag_sha": "40760ecffbf1d3ce8659712f692454ed88e59324", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.3", "published_at": "2019-02-01T22:32:13Z", "tag_sha": "1d3f5cc5898c973832722a7e76538eab0933b3f5", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2", "published_at": "2019-01-02T12:18:44Z", "tag_sha": "1f0eaa6f1a8342e98c87b639553f54c47536f9c3", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1", "published_at": "2018-08-10T10:24:19Z", "tag_sha": "feafff3436760a2f35a63973ed6652c00fe7ccc0", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0", "published_at": "2018-04-17T15:49:27Z", "tag_sha": "e9106e500a4a0d7685b30e6a79dfb278490d99f6", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-06-12T21:51:10Z", "tag_sha": "13cb0fed6dede2530eecbe453c4a8cc899ee4cfc", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bismark_align", @@ -9478,9 +10581,9 @@ "url": "https://api.github.com/repos/nf-core/mhcquant", "created_at": "2018-10-24T14:28:19Z", "updated_at": "2023-06-29T22:16:20Z", - "pushed_at": "2023-07-12T11:54:45Z", + "pushed_at": "2023-07-20T13:20:09Z", "homepage": "https://nf-co.re/mhcquant", - "size": 21176, + "size": 21204, "stargazers_count": 24, "watchers_count": 24, "language": "Nextflow", @@ -9493,19 +10596,25 @@ "forks_count": 22, "archived": false, "disabled": false, - "open_issues_count": 9, + "open_issues_count": 8, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["mass-spectrometry", "mhc", "openms", "peptides", "proteomics"], + "topics": [ + "mass-spectrometry", + "mhc", + "openms", + "peptides", + "proteomics" + ], "visibility": "public", "forks": 22, - "open_issues": 9, + "open_issues": 8, "watchers": 24, "default_branch": "master", "network_count": 22, "subscribers_count": 36, - "open_pr_count": 2, + "open_pr_count": 1, "contributors": [ { "name": "marissaDubbelaar", @@ -9589,9 +10698,15 @@ "published_at": "2023-04-06T08:59:15Z", "tag_sha": "3feaf7c2c8e05fb5b6f256e218dae3fa0c108878", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } }, { @@ -9599,9 +10714,15 @@ "published_at": "2022-12-02T09:08:13Z", "tag_sha": "a2235d555c1bc6618ded2d922176d7401eccdd50", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } }, { @@ -9609,9 +10730,15 @@ "published_at": "2022-05-10T09:15:58Z", "tag_sha": "bc0a2dd30bae440c86e0953feabcb1d971a96b52", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } }, { @@ -9619,9 +10746,15 @@ "published_at": "2022-04-05T19:21:31Z", "tag_sha": "b24db1e0fd9e63ac2dd41eb70355ef0ee6a211cd", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } }, { @@ -9629,9 +10762,15 @@ "published_at": "2022-01-14T16:23:42Z", "tag_sha": "8447c4d8073fd939febbd2935eb64baf76e5e02a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } }, { @@ -9639,9 +10778,15 @@ "published_at": "2021-12-09T14:06:07Z", "tag_sha": "3dd74fb6845395f091713db97e1ed62c634a84ca", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } }, { @@ -9649,114 +10794,166 @@ "published_at": "2021-09-03T06:45:53Z", "tag_sha": "c95201d5a57b45e97491664641be3506ef6f1d7c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.6.0", "published_at": "2020-10-06T17:04:17Z", "tag_sha": "3437540db07a1b51e6b88bcb41a5c8c6844bf283", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.5.1", "published_at": "2020-04-24T09:26:02Z", "tag_sha": "22e1bd6e04fb8b42d0b2ca59f336fca1d6b250f8", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.5", "published_at": "2020-04-21T15:10:57Z", "tag_sha": "09a40054d3fe408a3d2bd6ef65aff854d50a74fb", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.4", "published_at": "2020-03-23T19:23:04Z", "tag_sha": "d6b79571f7f3708dc5b4b91198824839db6aafba", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.3", "published_at": "2019-08-03T15:58:22Z", "tag_sha": "2dca3219b5deb3a0747a9d8b6387f89c3b9eb514", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.6", "published_at": "2019-03-05T21:54:04Z", "tag_sha": "124cbbe5a070e1ee1dec25da1f65c9baea179b91", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.5", "published_at": "2019-03-04T21:25:25Z", "tag_sha": "455c20cd8a2331ae854adf1d10cfcac518bc59b9", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.4", "published_at": "2019-02-06T10:17:43Z", "tag_sha": "16dcb86088627f19fcca68030eb28e864a4935ba", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.3", "published_at": "2019-02-04T13:27:11Z", "tag_sha": "213936032889fd8e5f9f9b43002879cfea9ea0d3", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.2", "published_at": "2019-01-28T11:45:37Z", "tag_sha": "9e0235edefc5e5e1748e716c267bc0760a329a58", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.1", "published_at": "2019-01-25T09:19:43Z", "tag_sha": "3bed2d2e86c841c99af7ae0339b6b2a17a0f28df", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2.0", "published_at": "2019-01-21T12:02:08Z", "tag_sha": "8f2b0ae8e055a0b2a84ea16cb442196c47566d4c", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.0", "published_at": "2019-01-04T13:34:28Z", "tag_sha": "84967b1ad3e7b552990d9498815237b1393419b3", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2018-11-27T12:26:49Z", "tag_sha": "6bd8137849407565e36f2c26f688a209a3c141b9", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", - "published_at": "2023-06-29T12:24:16Z", - "tag_sha": "42d61d161ad0b8c437184eda2184fe0a42d8fb97", + "published_at": "2023-07-20T13:20:08Z", + "tag_sha": "5ac3e94e8fb3597566c8d4a26efc9a7c2e9e41d2", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastqc", + "multiqc" + ] } } ] @@ -9791,7 +10988,12 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["mnase-seq", "nucleosome", "nucleosome-maps", "nucleosome-positioning"], + "topics": [ + "mnase-seq", + "nucleosome", + "nucleosome-maps", + "nucleosome-positioning" + ], "visibility": "public", "forks": 6, "open_issues": 6, @@ -9818,14 +11020,20 @@ "published_at": "2022-05-25T15:44:07Z", "tag_sha": "eb5ea5c9b122f2cc29810e6a040187838bda6702", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2022-05-25T15:50:57Z", "tag_sha": "b7c0d8a13111bebc995186f3217bd7d1b768594f", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -9866,7 +11074,7 @@ "watchers": 2, "default_branch": "dev", "network_count": 1, - "subscribers_count": 167, + "subscribers_count": 165, "open_pr_count": 0, "contributors": [ { @@ -9881,9 +11089,16 @@ "published_at": "2023-07-13T09:28:57Z", "tag_sha": "05108050a7ba8182beaf3f22ddd33a2aec167a28", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastqc", + "multiqc" + ] } } ] @@ -9898,12 +11113,12 @@ "fork": false, "url": "https://api.github.com/repos/nf-core/nanoseq", "created_at": "2019-09-09T11:23:29Z", - "updated_at": "2023-07-11T05:24:52Z", + "updated_at": "2023-07-20T09:26:58Z", "pushed_at": "2023-06-30T17:57:09Z", "homepage": "https://nf-co.re/nanoseq", "size": 6822, - "stargazers_count": 116, - "watchers_count": 116, + "stargazers_count": 115, + "watchers_count": 115, "language": "Nextflow", "has_issues": true, "has_projects": false, @@ -9918,11 +11133,16 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["alignment", "demultiplexing", "nanopore", "qc"], + "topics": [ + "alignment", + "demultiplexing", + "nanopore", + "qc" + ], "visibility": "public", "forks": 52, "open_issues": 24, - "watchers": 116, + "watchers": 115, "default_branch": "master", "network_count": 52, "subscribers_count": 92, @@ -10000,7 +11220,10 @@ "published_at": "2023-03-10T11:40:53Z", "tag_sha": "6e563e54362cddb8e48d15c156251708c22d0e8d", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bcftools_sort", @@ -10029,7 +11252,10 @@ "published_at": "2022-06-20T10:44:41Z", "tag_sha": "1e60482a2c4621234393a6eef8e9a104309c20ae", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -10055,7 +11281,10 @@ "published_at": "2021-11-30T07:39:03Z", "tag_sha": "a93c84624e59ed07062c334afa9bc03aebfe4737", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -10078,7 +11307,10 @@ "published_at": "2021-11-26T15:53:44Z", "tag_sha": "73cbe193e9cd19610daa0fa0b00db603acd76750", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -10101,21 +11333,30 @@ "published_at": "2020-11-06T12:12:51Z", "tag_sha": "ad5b2bb7a37a6edb9f61603636bd26e43259f58b", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2020-03-05T13:58:13Z", "tag_sha": "05669df8a8e42837c8a16cc2985d9c8a19e48c4f", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-05-25T12:20:51Z", "tag_sha": "8d5525541f3f4722da739744170aff1073b8d985", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bcftools_sort", @@ -10171,7 +11412,10 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["nanostring", "nanostringnorm"], + "topics": [ + "nanostring", + "nanostringnorm" + ], "visibility": "public", "forks": 1, "open_issues": 7, @@ -10203,9 +11447,15 @@ "published_at": "2023-06-23T14:02:16Z", "tag_sha": "7451087e71bd653b7341a5e5485d91af387923a9", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } }, { @@ -10213,9 +11463,15 @@ "published_at": "2023-06-22T14:05:02Z", "tag_sha": "b13f05af2c57037c0b34a2098d18e2fd07fad481", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } }, { @@ -10223,9 +11479,15 @@ "published_at": "2023-06-12T14:06:04Z", "tag_sha": "baf7623e6854724f62eaa82e40f91905d210ca2d", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } }, { @@ -10233,9 +11495,15 @@ "published_at": "2023-06-28T13:03:03Z", "tag_sha": "9f4a05dd853377bed62d209216cfd96da594ef6b", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } } ] @@ -10270,7 +11538,14 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["gro-seq", "nascent", "pro-seq", "rna", "transcription", "tss"], + "topics": [ + "gro-seq", + "nascent", + "pro-seq", + "rna", + "transcription", + "tss" + ], "visibility": "public", "forks": 8, "open_issues": 29, @@ -10322,7 +11597,10 @@ "published_at": "2023-02-17T15:45:10Z", "tag_sha": "9ff33c78968717b2cee89d7b5be2b5110facf928", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_pileup", @@ -10379,7 +11657,10 @@ "published_at": "2023-02-15T15:42:56Z", "tag_sha": "12e9ba628540fbf63e7dfc888bb23325218a3ee0", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_pileup", @@ -10436,7 +11717,10 @@ "published_at": "2022-10-24T14:49:33Z", "tag_sha": "985f37e1030e838d692a742f45fb67aa94cb1d76", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_pileup", @@ -10493,14 +11777,20 @@ "published_at": "2019-04-16T08:36:18Z", "tag_sha": "ada9b280c9f94f6d5e493715605257bc8a30b2b6", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-04-28T14:24:41Z", "tag_sha": "9cba10b3970fff8483a7997ef6a028e47058430a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_pileup", @@ -10618,14 +11908,20 @@ "published_at": "2019-12-12T08:41:29Z", "tag_sha": "71f6e3f0377dfb0b4c8324a9cb965d8140869d76", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2020-03-30T13:12:31Z", "tag_sha": "e9378b0828f5592154d950021bb2f4b0f36b03ec", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -10640,9 +11936,9 @@ "url": "https://api.github.com/repos/nf-core/pangenome", "created_at": "2020-11-08T18:02:43Z", "updated_at": "2023-07-14T12:50:48Z", - "pushed_at": "2023-07-18T09:09:23Z", + "pushed_at": "2023-07-19T07:53:52Z", "homepage": "https://nf-co.re/pangenome", - "size": 3636, + "size": 3646, "stargazers_count": 27, "watchers_count": 27, "language": "Nextflow", @@ -10659,7 +11955,9 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["pangenome"], + "topics": [ + "pangenome" + ], "visibility": "public", "forks": 6, "open_issues": 4, @@ -10671,7 +11969,7 @@ "contributors": [ { "name": "subwaystation", - "count": 468, + "count": 470, "avatar_url": "https://avatars.githubusercontent.com/u/10184961?v=4" }, { @@ -10698,10 +11996,13 @@ "releases": [ { "tag_name": "dev", - "published_at": "2023-07-18T09:09:13Z", - "tag_sha": "8b76b0eef58eddcf0d694c6c8cecd56f063f6f8d", + "published_at": "2023-07-19T07:53:45Z", + "tag_sha": "52f67879ec3c05383aab2f69a421e7bed9adf5a9", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -10756,7 +12057,14 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["cosmic", "gnomad", "protein-databases", "proteogenomics", "proteomics", "pypgatk"], + "topics": [ + "cosmic", + "gnomad", + "protein-databases", + "proteogenomics", + "proteomics", + "pypgatk" + ], "visibility": "public", "forks": 5, "open_issues": 6, @@ -11026,14 +12334,20 @@ "published_at": "2021-04-27T08:11:42Z", "tag_sha": "4eda7a827f83a9be0470de16331f7105ab48bdd1", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2021-04-27T11:53:35Z", "tag_sha": "e700d967253c5c80985fdcdc48e482dace2bb2d0", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -11047,45 +12361,63 @@ "fork": false, "url": "https://api.github.com/repos/nf-core/phageannotator", "created_at": "2023-07-14T20:36:38Z", - "updated_at": "2023-07-17T21:35:15Z", - "pushed_at": "2023-07-18T14:06:22Z", - "homepage": null, - "size": 2719, - "stargazers_count": 1, - "watchers_count": 1, + "updated_at": "2023-07-19T22:44:53Z", + "pushed_at": "2023-07-20T16:51:27Z", + "homepage": "https://nf-co.re/phageannotator", + "size": 4159, + "stargazers_count": 3, + "watchers_count": 3, "language": "Nextflow", "has_issues": true, "has_projects": true, "has_downloads": true, - "has_wiki": true, + "has_wiki": false, "has_pages": false, "has_discussions": false, - "forks_count": 1, + "forks_count": 2, "archived": false, "disabled": false, - "open_issues_count": 2, + "open_issues_count": 19, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, "topics": [], "visibility": "public", - "forks": 1, - "open_issues": 2, - "watchers": 1, + "forks": 2, + "open_issues": 19, + "watchers": 3, "default_branch": "dev", - "network_count": 1, - "subscribers_count": 2, - "open_pr_count": 2, - "contributors": [], + "network_count": 2, + "subscribers_count": 151, + "open_pr_count": 1, + "contributors": [ + { + "name": "CarsonJM", + "count": 4, + "avatar_url": "https://avatars.githubusercontent.com/u/68351153?v=4" + }, + { + "name": "margotl9", + "count": 1, + "avatar_url": "https://avatars.githubusercontent.com/u/69217119?v=4" + } + ], "releases": [ { "tag_name": "dev", - "published_at": "2023-07-14T18:12:03Z", - "tag_sha": "44792ace10160146761ad38c6b3ad5f946e38ea9", + "published_at": "2023-07-20T16:07:53Z", + "tag_sha": "7871c001f2c83cd21c7fbff45382a1d5b6b58699", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastqc", + "multiqc" + ] } } ] @@ -11154,7 +12486,10 @@ "published_at": "2023-02-15T16:57:26Z", "tag_sha": "665a4c2d3c39e8684ef6c3fdef680817ee876498", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -11170,7 +12505,9 @@ "mafft", "multiqc" ], - "subworkflows": ["fasta_newick_epang_gappa"] + "subworkflows": [ + "fasta_newick_epang_gappa" + ] } }, { @@ -11178,7 +12515,10 @@ "published_at": "2023-03-28T12:29:34Z", "tag_sha": "903ae6398c4464a0c2e015f6d2dbb85acf64d887", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -11194,7 +12534,9 @@ "mafft", "multiqc" ], - "subworkflows": ["fasta_newick_epang_gappa"] + "subworkflows": [ + "fasta_newick_epang_gappa" + ] } } ] @@ -11209,12 +12551,12 @@ "fork": false, "url": "https://api.github.com/repos/nf-core/proteinfold", "created_at": "2022-03-03T10:41:35Z", - "updated_at": "2023-06-01T16:22:59Z", + "updated_at": "2023-07-19T20:19:36Z", "pushed_at": "2023-07-11T13:55:17Z", "homepage": "https://nf-co.re/proteinfold", "size": 5558, - "stargazers_count": 23, - "watchers_count": 23, + "stargazers_count": 24, + "watchers_count": 24, "language": "Nextflow", "has_issues": true, "has_projects": true, @@ -11222,7 +12564,7 @@ "has_wiki": false, "has_pages": false, "has_discussions": false, - "forks_count": 14, + "forks_count": 15, "archived": false, "disabled": false, "open_issues_count": 7, @@ -11237,11 +12579,11 @@ "protein-structure" ], "visibility": "public", - "forks": 14, + "forks": 15, "open_issues": 7, - "watchers": 23, + "watchers": 24, "default_branch": "master", - "network_count": 14, + "network_count": 15, "subscribers_count": 119, "open_pr_count": 0, "contributors": [ @@ -11287,7 +12629,10 @@ "published_at": "2023-02-10T17:23:25Z", "tag_sha": "94bd58250591c29e23d9afbb9deedf95800fe3fc", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "aria2", @@ -11305,7 +12650,10 @@ "published_at": "2023-07-11T13:55:17Z", "tag_sha": "3acccffb7e89d2183ce457742bfd5becba93a39f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "aria2", @@ -11350,7 +12698,11 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["label-free-quantification", "openms", "proteomics"], + "topics": [ + "label-free-quantification", + "openms", + "proteomics" + ], "visibility": "public", "forks": 17, "open_issues": 34, @@ -11392,14 +12744,20 @@ "published_at": "2020-10-19T07:55:34Z", "tag_sha": "43c77e50c955d7e62899e7d31e0d6f6a87ac2316", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2022-03-24T15:14:36Z", "tag_sha": "69a0b9fc99bdc82faaae36f5e830dbfef52927b5", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -11433,7 +12791,16 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["dia", "lfq", "mass-spec", "mass-spectrometry", "openms", "proteogenomics", "proteomics", "tmt"], + "topics": [ + "dia", + "lfq", + "mass-spec", + "mass-spectrometry", + "openms", + "proteogenomics", + "proteomics", + "tmt" + ], "visibility": "public", "forks": 18, "open_issues": 14, @@ -11485,9 +12852,15 @@ "published_at": "2023-03-27T10:25:29Z", "tag_sha": "600505011027ab196bb18b1320607468bdae951a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } }, { @@ -11495,9 +12868,15 @@ "published_at": "2023-03-20T20:57:57Z", "tag_sha": "ee011ba94fb8986c63386ddd15dd33f53ce4004b", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } }, { @@ -11505,9 +12884,15 @@ "published_at": "2022-05-02T14:59:37Z", "tag_sha": "6ffb0c92964cb70e212e18225c769b9e26cb1c11", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } }, { @@ -11515,9 +12900,15 @@ "published_at": "2023-03-27T20:05:04Z", "tag_sha": "7363d9053658ae6d4c9bf9c0ad90bd7425f097a9", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "multiqc" + ] } } ] @@ -11574,7 +12965,10 @@ "published_at": "2023-02-18T01:14:13Z", "tag_sha": "bff60aca8031af5d59284ab337962437bc1b543c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bcftools_concat", @@ -11623,7 +13017,7 @@ "url": "https://api.github.com/repos/nf-core/raredisease", "created_at": "2021-06-21T09:40:29Z", "updated_at": "2023-07-11T20:58:28Z", - "pushed_at": "2023-07-18T12:20:35Z", + "pushed_at": "2023-07-21T09:20:26Z", "homepage": "https://nf-co.re/raredisease", "size": 6539, "stargazers_count": 49, @@ -11638,7 +13032,7 @@ "forks_count": 23, "archived": false, "disabled": false, - "open_issues_count": 30, + "open_issues_count": 31, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, @@ -11654,12 +13048,12 @@ ], "visibility": "public", "forks": 23, - "open_issues": 30, + "open_issues": 31, "watchers": 49, "default_branch": "master", "network_count": 23, "subscribers_count": 117, - "open_pr_count": 1, + "open_pr_count": 2, "contributors": [ { "name": "ramprasadn", @@ -11748,7 +13142,10 @@ "published_at": "2023-06-01T15:59:15Z", "tag_sha": "03b5d37d54f160ea682547be41819a738eaf2116", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bcftools_concat", @@ -11822,10 +13219,13 @@ }, { "tag_name": "dev", - "published_at": "2023-07-18T12:19:05Z", - "tag_sha": "1c2fd16dee04ed28a787255b9edd6781a27d28a9", + "published_at": "2023-07-21T09:20:15Z", + "tag_sha": "572bee2d53e6082955f7d36723a7ea18354e7849", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bcftools_annotate", @@ -11973,7 +13373,10 @@ "published_at": "2023-06-13T11:36:16Z", "tag_sha": "cff1f1a2b5db778651ec069207273d73d1a62006", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -12075,14 +13478,20 @@ "forks_count": 71, "archived": false, "disabled": false, - "open_issues_count": 15, + "open_issues_count": 16, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["fusion", "fusion-genes", "gene-fusion", "rna", "rna-seq"], + "topics": [ + "fusion", + "fusion-genes", + "gene-fusion", + "rna", + "rna-seq" + ], "visibility": "public", "forks": 71, - "open_issues": 15, + "open_issues": 16, "watchers": 108, "default_branch": "master", "network_count": 71, @@ -12176,7 +13585,10 @@ "published_at": "2023-04-26T10:54:21Z", "tag_sha": "fb5af65466730cf9d4d6c204b2ed8db0739245c8", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "arriba", @@ -12208,7 +13620,10 @@ "published_at": "2023-04-26T09:51:45Z", "tag_sha": "d4de338fc709199e6bec6cde8abfb545d560ed75", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "arriba", @@ -12240,7 +13655,10 @@ "published_at": "2023-04-26T08:36:11Z", "tag_sha": "13cf83db3583d5513766015b84e1b6b1d392fcc7", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "arriba", @@ -12272,7 +13690,10 @@ "published_at": "2023-04-26T06:47:14Z", "tag_sha": "bbdcb3bf53421a3875f9bd52b4c961f28deda157", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "arriba", @@ -12304,7 +13725,10 @@ "published_at": "2023-04-24T11:02:18Z", "tag_sha": "c45b22c1745ea2ecbd0c0dbde73e00920a4284b8", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "arriba", @@ -12336,7 +13760,10 @@ "published_at": "2023-03-13T17:57:43Z", "tag_sha": "58afbbc208a6548aaa2f909fdff185d533b2025a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "arriba", @@ -12368,7 +13795,10 @@ "published_at": "2022-07-12T14:15:36Z", "tag_sha": "6ffe30435b611339999145e4b71ac59158cf1182", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "arriba", @@ -12394,7 +13824,10 @@ "published_at": "2022-05-19T11:22:37Z", "tag_sha": "c47ce6fdbfbbb249b23613f4713dde27e9ca2853", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "arriba", @@ -12420,42 +13853,60 @@ "published_at": "2020-07-15T13:34:32Z", "tag_sha": "2e3d5de9dc718bd23eaa2f6f693cd9c311a459cf", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.0", "published_at": "2020-02-10T10:43:06Z", "tag_sha": "505a0fb784771fdb5d2e9c3e28fccb490430727d", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.2", "published_at": "2019-05-16T12:19:36Z", "tag_sha": "d4a622c2e24148c568994f3d019b2a3b5a014e17", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.1", "published_at": "2019-04-06T20:10:24Z", "tag_sha": "d32090720b79a2e43d36977753ea5102750c8727", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0", "published_at": "2019-02-14T21:43:04Z", "tag_sha": "12e5cb28cc05197e00cd900d4fc92e36a66be772", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-04-26T10:53:33Z", "tag_sha": "09d50f11626bab87ee81cb724b0238bbd9cf760b", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "arriba", @@ -12494,12 +13945,12 @@ "fork": false, "url": "https://api.github.com/repos/nf-core/rnaseq", "created_at": "2018-03-29T13:10:58Z", - "updated_at": "2023-07-18T06:06:44Z", - "pushed_at": "2023-07-14T13:37:19Z", + "updated_at": "2023-07-19T18:41:05Z", + "pushed_at": "2023-07-19T09:12:30Z", "homepage": "https://nf-co.re/rnaseq", "size": 64462, - "stargazers_count": 642, - "watchers_count": 642, + "stargazers_count": 645, + "watchers_count": 645, "language": "Nextflow", "has_issues": true, "has_projects": false, @@ -12507,22 +13958,25 @@ "has_wiki": false, "has_pages": false, "has_discussions": false, - "forks_count": 584, + "forks_count": 585, "archived": false, "disabled": false, - "open_issues_count": 43, + "open_issues_count": 44, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["rna", "rna-seq"], + "topics": [ + "rna", + "rna-seq" + ], "visibility": "public", - "forks": 584, - "open_issues": 43, - "watchers": 642, + "forks": 585, + "open_issues": 44, + "watchers": 645, "default_branch": "master", - "network_count": 584, + "network_count": 585, "subscribers_count": 118, - "open_pr_count": 4, + "open_pr_count": 5, "contributors": [ { "name": "drpatelh", @@ -12891,7 +14345,10 @@ "published_at": "2023-06-02T15:39:54Z", "tag_sha": "3bec2331cac2b5ff88a1dc71a21fab6529b57a0f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_bbsplit", @@ -12957,7 +14414,10 @@ "published_at": "2023-04-25T10:56:51Z", "tag_sha": "5671b65af97fe78a2f9b4d05d850304918b1b86e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_bbsplit", @@ -13023,7 +14483,10 @@ "published_at": "2023-03-31T16:06:30Z", "tag_sha": "287afcfe30a93de77e9b7cf70a1085f58c9525d8", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_bbsplit", @@ -13089,7 +14552,10 @@ "published_at": "2023-03-30T13:52:38Z", "tag_sha": "48fb9b4ea640f029f48c79283217d0f20661d38e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_bbsplit", @@ -13155,7 +14621,10 @@ "published_at": "2023-01-05T12:14:44Z", "tag_sha": "6e1e448f535ccf34d11cc691bb241cfd6e60a647", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_bbsplit", @@ -13219,7 +14688,10 @@ "published_at": "2022-12-21T13:49:31Z", "tag_sha": "adce7ce9abc8f6b338b4f53d0d988ff9a0fd52ff", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_bbsplit", @@ -13283,7 +14755,10 @@ "published_at": "2022-09-30T20:24:37Z", "tag_sha": "e049f51f0214b2aef7624b9dd496a404a7c34d14", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_bbsplit", @@ -13335,7 +14810,10 @@ "published_at": "2022-05-27T16:34:40Z", "tag_sha": "89bf536ce4faa98b4d50a8ec0a0343780bc62e0a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_bbsplit", @@ -13387,7 +14865,10 @@ "published_at": "2022-05-25T09:45:00Z", "tag_sha": "6995330476244a6bffe55ddcbe50b8ed5cf6c2e2", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_bbsplit", @@ -13437,7 +14918,10 @@ "published_at": "2022-05-03T11:13:51Z", "tag_sha": "e0dfce9af5c2299bcc2b8a74b6559ce055965455", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_bbsplit", @@ -13487,7 +14971,10 @@ "published_at": "2022-03-04T13:46:29Z", "tag_sha": "7106bd792b3fb04f9f09b4e737165fa4e736ea81", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_bbsplit", @@ -13537,7 +15024,10 @@ "published_at": "2021-12-17T16:08:03Z", "tag_sha": "646723c70f04ee6d66391758b02822d4f0fe2966", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_bbsplit", @@ -13586,7 +15076,10 @@ "published_at": "2021-10-05T13:46:22Z", "tag_sha": "964425e3fd8bfc3dc7bce43279a98d17a874d3f7", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_bbsplit", @@ -13634,7 +15127,10 @@ "published_at": "2021-07-29T13:24:52Z", "tag_sha": "8094c42add6dcdf69ce54dfdec957789c37ae903", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cat_fastq", @@ -13682,84 +15178,120 @@ "published_at": "2021-06-18T13:59:37Z", "tag_sha": "b3ff92bc54363faf17d820689a8e9074ffd99045", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "3.1", "published_at": "2021-05-13T13:02:56Z", "tag_sha": "0fcbb0ac491ecb8a80ef879c4f3dad5f869021f9", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "3.0", "published_at": "2020-12-15T16:22:27Z", "tag_sha": "3643a94411b65f42bce5357c5015603099556ad9", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.0", "published_at": "2020-11-12T20:01:34Z", "tag_sha": "bc5fc76f40b2da6082a854927184c9d6e5060393", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.4.2", "published_at": "2019-10-18T10:51:00Z", "tag_sha": "3b6df9bd104927298fcdf69e97cca7ff1f80527c", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.4.1", "published_at": "2019-10-17T17:40:46Z", "tag_sha": "f213557a0851d3f897efb1faeb3e54e8eee1424c", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.4", "published_at": "2019-10-15T13:11:57Z", "tag_sha": "55eee0c01c36db013d1dcbe6a4e65b407c358f0f", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.3", "published_at": "2019-03-26T20:04:29Z", "tag_sha": "37f260d360e59df7166cfd60e2b3c9a3999adf75", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.2", "published_at": "2018-12-12T16:44:28Z", "tag_sha": "e8376373da8c1dfb0cae5372947cf5b241056076", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1", "published_at": "2018-10-05T22:20:27Z", "tag_sha": "1cd5ab733a35727b01370de2ae8462d65f57fbb9", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0", "published_at": "2018-08-20T16:39:10Z", "tag_sha": "44f1525d7adfa3a6afcafdcf7730eca78a1a2511", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-07-12T12:41:34Z", "tag_sha": "c6bfe7a323f49b9112688d9f4ffc1ebe3445e30e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bbmap_bbsplit", @@ -13832,12 +15364,12 @@ "fork": false, "url": "https://api.github.com/repos/nf-core/rnasplice", "created_at": "2022-08-22T14:25:09Z", - "updated_at": "2023-06-28T12:29:44Z", - "pushed_at": "2023-07-13T10:25:22Z", + "updated_at": "2023-07-21T07:39:08Z", + "pushed_at": "2023-07-21T09:43:34Z", "homepage": "https://nf-co.re/rnasplice", - "size": 167132, - "stargazers_count": 6, - "watchers_count": 6, + "size": 167241, + "stargazers_count": 7, + "watchers_count": 7, "language": "Nextflow", "has_issues": true, "has_projects": true, @@ -13848,28 +15380,28 @@ "forks_count": 8, "archived": false, "disabled": false, - "open_issues_count": 8, + "open_issues_count": 5, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, "topics": [], "visibility": "public", "forks": 8, - "open_issues": 8, - "watchers": 6, + "open_issues": 5, + "watchers": 7, "default_branch": "dev", "network_count": 8, - "subscribers_count": 117, - "open_pr_count": 2, + "subscribers_count": 118, + "open_pr_count": 1, "contributors": [ { "name": "bensouthgate", - "count": 158, + "count": 162, "avatar_url": "https://avatars.githubusercontent.com/u/19775472?v=4" }, { "name": "jma1991", - "count": 119, + "count": 133, "avatar_url": "https://avatars.githubusercontent.com/u/11476522?v=4" }, { @@ -13892,6 +15424,11 @@ "count": 7, "avatar_url": "https://avatars.githubusercontent.com/u/107179639?v=4" }, + { + "name": "dkoppstein", + "count": 5, + "avatar_url": "https://avatars.githubusercontent.com/u/10901251?v=4" + }, { "name": "lathikaa", "count": 5, @@ -13901,10 +15438,13 @@ "releases": [ { "tag_name": "dev", - "published_at": "2023-06-22T12:52:30Z", - "tag_sha": "aa9a8a1bb80bb131aa92b41c13e11f85290d3d84", + "published_at": "2023-07-21T09:43:30Z", + "tag_sha": "85631a2a8424a0e30c597257a08476835455581f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cat_fastq", @@ -13928,7 +15468,14 @@ "trimgalore", "ucsc_bedclip", "ucsc_bedgraphtobigwig", + "umitools_extract", "untar" + ], + "subworkflows": [ + "bam_sort_stats_samtools", + "bam_stats_samtools", + "bedgraph_bedclip_bedgraphtobigwig", + "fastq_fastqc_umitools_trimgalore" ] } } @@ -13964,7 +15511,13 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["gatk4", "rna", "rnaseq", "variant-calling", "worflow"], + "topics": [ + "gatk4", + "rna", + "rnaseq", + "variant-calling", + "worflow" + ], "visibility": "public", "forks": 17, "open_issues": 30, @@ -14001,7 +15554,10 @@ "published_at": "2022-06-20T09:25:11Z", "tag_sha": "85b98d51c6bdcbbe9780490d6484c4e50c3c182c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cat_fastq", @@ -14043,7 +15599,10 @@ "published_at": "2022-12-05T10:16:41Z", "tag_sha": "104c049949ba253504b03a8b54888e390d7e6a1c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cat_fastq", @@ -14095,9 +15654,9 @@ "url": "https://api.github.com/repos/nf-core/sarek", "created_at": "2019-04-30T15:43:00Z", "updated_at": "2023-07-12T14:39:11Z", - "pushed_at": "2023-07-13T14:33:05Z", + "pushed_at": "2023-07-21T07:43:35Z", "homepage": "https://nf-co.re/sarek", - "size": 78622, + "size": 78635, "stargazers_count": 256, "watchers_count": 256, "language": "Nextflow", @@ -14107,7 +15666,7 @@ "has_wiki": false, "has_pages": false, "has_discussions": false, - "forks_count": 307, + "forks_count": 308, "archived": false, "disabled": false, "open_issues_count": 136, @@ -14128,11 +15687,11 @@ "whole-genome-sequencing" ], "visibility": "public", - "forks": 307, + "forks": 308, "open_issues": 136, "watchers": 256, "default_branch": "master", - "network_count": 307, + "network_count": 308, "subscribers_count": 95, "open_pr_count": 10, "contributors": [ @@ -14323,7 +15882,10 @@ "published_at": "2023-06-22T12:09:53Z", "tag_sha": "ed1cc8499366dcefea216fe37e36c6189537d57b", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "ascat", @@ -14411,7 +15973,10 @@ "unzip", "vcftools" ], - "subworkflows": ["vcf_annotate_ensemblvep", "vcf_annotate_snpeff"] + "subworkflows": [ + "vcf_annotate_ensemblvep", + "vcf_annotate_snpeff" + ] } }, { @@ -14419,7 +15984,10 @@ "published_at": "2023-06-15T14:24:30Z", "tag_sha": "6ec8c1c945fb132adf152e196053bd7f72f1dfdc", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "ascat", @@ -14507,7 +16075,10 @@ "unzip", "vcftools" ], - "subworkflows": ["vcf_annotate_ensemblvep", "vcf_annotate_snpeff"] + "subworkflows": [ + "vcf_annotate_ensemblvep", + "vcf_annotate_snpeff" + ] } }, { @@ -14515,7 +16086,10 @@ "published_at": "2023-06-08T12:53:16Z", "tag_sha": "6c0d335e17fb4406f527540631da7b26a5fe1464", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "ascat", @@ -14603,7 +16177,10 @@ "unzip", "vcftools" ], - "subworkflows": ["vcf_annotate_ensemblvep", "vcf_annotate_snpeff"] + "subworkflows": [ + "vcf_annotate_ensemblvep", + "vcf_annotate_snpeff" + ] } }, { @@ -14611,7 +16188,10 @@ "published_at": "2023-06-05T11:31:25Z", "tag_sha": "71fac185a93e7f31213ca77610a05b7f1489a31e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "ascat", @@ -14699,7 +16279,10 @@ "unzip", "vcftools" ], - "subworkflows": ["vcf_annotate_ensemblvep", "vcf_annotate_snpeff"] + "subworkflows": [ + "vcf_annotate_ensemblvep", + "vcf_annotate_snpeff" + ] } }, { @@ -14707,7 +16290,10 @@ "published_at": "2023-01-05T18:06:40Z", "tag_sha": "c87f4eb694a7183e4f99c70fca0f1d4e91750b33", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "ascat", @@ -14798,7 +16384,10 @@ "published_at": "2022-11-21T13:32:22Z", "tag_sha": "96749f742197e828f4632cc2a7481190e7f642ac", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "ascat", @@ -14889,7 +16478,10 @@ "published_at": "2022-11-16T13:30:46Z", "tag_sha": "0b7f0e2b6f0be7053838ba1884b2eb03e9f83f9e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "ascat", @@ -14980,7 +16572,10 @@ "published_at": "2022-09-26T19:07:10Z", "tag_sha": "bcd7bf9cb98cddec27bb54fb47ee122c09388c02", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "ascat", @@ -15071,7 +16666,10 @@ "published_at": "2022-08-18T11:48:05Z", "tag_sha": "ad2b34f39fead34d7a09051e67506229e827e892", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "ascat", @@ -15162,7 +16760,10 @@ "published_at": "2022-07-21T11:34:21Z", "tag_sha": "5bb160ddb2cee50c811585e450b16cba13c95a02", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "ascat", @@ -15253,63 +16854,90 @@ "published_at": "2022-06-10T09:45:49Z", "tag_sha": "e8f56e5bbb6f8a34793a6b5a2945981eb43090aa", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.7.1", "published_at": "2021-06-14T12:50:00Z", "tag_sha": "68b9930a74962f3c42eee71f51e6dd2646269199", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.7", "published_at": "2021-01-26T14:46:44Z", "tag_sha": "7ccfb36509d8380946c048065129b29d69c8443b", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.6.1", "published_at": "2020-06-23T09:15:28Z", "tag_sha": "bce378e09de25bb26c388b917f93f84806d3ba27", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.6", "published_at": "2020-05-24T09:40:37Z", "tag_sha": "75fe254f0b5d93d1f3f0173f2163afa83686f6fd", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.5.2", "published_at": "2019-12-16T14:48:20Z", "tag_sha": "5c30fd821ab7cdf27fd4105464a1fba5eabdfcd5", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.5.1", "published_at": "2019-10-22T13:29:47Z", "tag_sha": "05c6e0b63251af83b9e7d5b259cec9e679fccf57", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.5", "published_at": "2019-10-08T13:26:37Z", "tag_sha": "c5fc54788bdd5b8a0d39dba9d93a039a564f0e4b", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", - "published_at": "2023-07-13T14:32:56Z", - "tag_sha": "e02b573c4366f83bfa6c8e69bc87de8f8d6cdfda", + "published_at": "2023-07-20T10:28:01Z", + "tag_sha": "967c248d3edd81c509fb7dd6e62665e0731ac31b", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "ascat", @@ -15403,7 +17031,10 @@ "unzip", "vcftools" ], - "subworkflows": ["vcf_annotate_ensemblvep", "vcf_annotate_snpeff"] + "subworkflows": [ + "vcf_annotate_ensemblvep", + "vcf_annotate_snpeff" + ] } } ] @@ -15438,7 +17069,12 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["rnaseq", "single-cell", "single-nuclei", "single-nuclei-rna-sequencing"], + "topics": [ + "rnaseq", + "single-cell", + "single-nuclei", + "single-nuclei-rna-sequencing" + ], "visibility": "public", "forks": 6, "open_issues": 11, @@ -15682,7 +17318,10 @@ "published_at": "2021-08-25T13:35:13Z", "tag_sha": "5b128d6fdf1b35af28159bc76d1cd7432f6647e2", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [] } @@ -15715,7 +17354,7 @@ "forks_count": 94, "archived": false, "disabled": false, - "open_issues_count": 35, + "open_issues_count": 36, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, @@ -15732,7 +17371,7 @@ ], "visibility": "public", "forks": 94, - "open_issues": 35, + "open_issues": 36, "watchers": 91, "default_branch": "master", "network_count": 94, @@ -15881,7 +17520,10 @@ "published_at": "2023-06-07T18:50:18Z", "tag_sha": "06a85e8e543c006aec6720ee079a00f7085a1635", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cellranger_count", @@ -15904,7 +17546,10 @@ "published_at": "2023-06-02T08:31:07Z", "tag_sha": "6cccb9d37afa873b6799cd09f8589b5b129c8ac1", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cellranger_count", @@ -15927,7 +17572,10 @@ "published_at": "2023-05-03T20:46:50Z", "tag_sha": "cfada12a6f5d773a76d5f1793d70661e95852c53", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cellranger_count", @@ -15950,7 +17598,10 @@ "published_at": "2023-03-20T08:10:47Z", "tag_sha": "c6ec2175a8f5d593c00136835c45c6291821fe11", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cellranger_count", @@ -15973,7 +17624,10 @@ "published_at": "2022-10-06T09:45:36Z", "tag_sha": "c86646e4a818397f4bddfffd641b34240423f3ea", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cellranger_count", @@ -15995,7 +17649,10 @@ "published_at": "2022-06-17T11:48:54Z", "tag_sha": "27f37ab827b3f72e8e305256a9c59a37bb85ef83", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cellranger_count", @@ -16018,21 +17675,30 @@ "published_at": "2021-03-29T07:56:00Z", "tag_sha": "f31b12f79097ed5775fba925c3b2832d701b21f4", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2019-12-09T16:26:13Z", "tag_sha": "884e541285330e1ef4771ff9267ce27e42dfb2e3", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-07-07T11:13:55Z", "tag_sha": "0e5fc8b8632da1921565d802ec00222f59e67a69", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cellranger_count", @@ -16082,7 +17748,12 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["differential-expression", "quantseq", "slamseq", "transcriptomics"], + "topics": [ + "differential-expression", + "quantseq", + "slamseq", + "transcriptomics" + ], "visibility": "public", "forks": 5, "open_issues": 11, @@ -16326,14 +17997,20 @@ "published_at": "2020-05-14T12:40:04Z", "tag_sha": "855583252166ca5ff739b40a6762837534a99c36", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2021-04-26T13:04:00Z", "tag_sha": "c21d0faee30707ffe134f77e0b37887a1610503f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -16616,7 +18293,10 @@ "published_at": "2021-04-26T13:02:40Z", "tag_sha": "6d474839a0f5cf03a266e3314ba1d2c062d96285", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -16650,7 +18330,10 @@ "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["small-rna", "smrna-seq"], + "topics": [ + "small-rna", + "smrna-seq" + ], "visibility": "public", "forks": 100, "open_issues": 27, @@ -16802,7 +18485,10 @@ "published_at": "2023-05-12T13:15:42Z", "tag_sha": "f7022abd9fc1a6db6f4ca114c17368dbbe8ca4f8", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cat_fastq", @@ -16823,7 +18509,10 @@ "published_at": "2023-04-26T13:12:31Z", "tag_sha": "5ce052d93d4363c3d16667cc757948fa5ce2c763", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cat_fastq", @@ -16844,7 +18533,10 @@ "published_at": "2022-10-24T22:41:27Z", "tag_sha": "27514c40c08d1eab8249521096f4f2f7be875104", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cat_fastq", @@ -16865,7 +18557,10 @@ "published_at": "2022-05-31T19:24:06Z", "tag_sha": "d1299b132a910d8adb38a5445d0c223051e14264", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cat_fastq", @@ -16886,21 +18581,30 @@ "published_at": "2021-06-15T12:46:55Z", "tag_sha": "03333bfa17adc8d829a400012ed9f13c5abf4cc3", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2019-09-21T09:10:21Z", "tag_sha": "28f3418bc80e9af23766b445a7ab5c20caa24deb", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-06-27T12:53:03Z", "tag_sha": "0bcf723544bcc7e65b5a5433f3c1d983a288edf6", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "cat_fastq", @@ -17002,9 +18706,18 @@ "published_at": "2023-07-03T14:02:50Z", "tag_sha": "9ce879a04484b3d05c40ac0ef28cc5ebfcbee65e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastqc", "multiqc", "spaceranger_count", "untar"] + "modules": [ + "custom_dumpsoftwareversions", + "fastqc", + "multiqc", + "spaceranger_count", + "untar" + ] } } ] @@ -17061,9 +18774,16 @@ "published_at": "2023-03-29T11:01:08Z", "tag_sha": "bff8b4fe0506d7ab839dbc692ff5ef74276080a3", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { - "modules": ["custom_dumpsoftwareversions", "fastqc", "multiqc"] + "modules": [ + "custom_dumpsoftwareversions", + "fastqc", + "multiqc" + ] } } ] @@ -17129,7 +18849,10 @@ "published_at": "2021-12-23T20:17:08Z", "tag_sha": "0cc3ee6ac2d3d8ed309b74e4ae61bad4006362cc", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bedtools_bamtobed", @@ -17165,9 +18888,9 @@ "url": "https://api.github.com/repos/nf-core/taxprofiler", "created_at": "2022-02-18T06:56:10Z", "updated_at": "2023-07-13T16:23:27Z", - "pushed_at": "2023-07-17T12:04:06Z", + "pushed_at": "2023-07-20T15:50:17Z", "homepage": "https://nf-co.re/taxprofiler", - "size": 8290, + "size": 8264, "stargazers_count": 58, "watchers_count": 58, "language": "Nextflow", @@ -17180,7 +18903,7 @@ "forks_count": 21, "archived": false, "disabled": false, - "open_issues_count": 32, + "open_issues_count": 33, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, @@ -17199,12 +18922,12 @@ ], "visibility": "public", "forks": 21, - "open_issues": 32, + "open_issues": 33, "watchers": 58, "default_branch": "master", "network_count": 21, "subscribers_count": 113, - "open_pr_count": 2, + "open_pr_count": 4, "contributors": [ { "name": "jfy133", @@ -17268,7 +18991,10 @@ "published_at": "2023-05-15T09:07:32Z", "tag_sha": "07b926a89e68bc1b0720170c0996a48b7eed618d", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "adapterremoval", @@ -17321,7 +19047,10 @@ "published_at": "2023-03-13T11:09:32Z", "tag_sha": "eaef6ac9bcfef0ae173919e45178415b9d3526fa", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "adapterremoval", @@ -17371,10 +19100,13 @@ }, { "tag_name": "dev", - "published_at": "2023-07-17T12:04:04Z", - "tag_sha": "f996aeaa9a89ba24a0f17e041a5a8d6a7afc5def", + "published_at": "2023-07-19T08:43:30Z", + "tag_sha": "72dbc0f803388cea407b1fc5b41361a57c3db38f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "adapterremoval", @@ -17480,7 +19212,10 @@ "published_at": "2023-03-29T06:46:39Z", "tag_sha": "46154522d37b22694edce7b2e75af11e1c28ca26", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "bcftools_annotate", @@ -17591,7 +19326,10 @@ "published_at": "2018-09-25T07:17:26Z", "tag_sha": "af06171c860f8b63b41df86b6e4a3e15e46ec554", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] } ] }, @@ -17606,9 +19344,9 @@ "url": "https://api.github.com/repos/nf-core/viralintegration", "created_at": "2022-04-01T19:30:55Z", "updated_at": "2023-07-07T13:48:22Z", - "pushed_at": "2023-07-13T15:51:46Z", + "pushed_at": "2023-07-19T17:24:36Z", "homepage": "https://nf-co.re/viralintegration", - "size": 3066, + "size": 3082, "stargazers_count": 9, "watchers_count": 9, "language": "Python", @@ -17621,23 +19359,29 @@ "forks_count": 4, "archived": false, "disabled": false, - "open_issues_count": 14, + "open_issues_count": 13, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, - "topics": ["chimeric-alignment", "ctat", "viral-integration", "virus", "virusintegrationfinder"], + "topics": [ + "chimeric-alignment", + "ctat", + "viral-integration", + "virus", + "virusintegrationfinder" + ], "visibility": "public", "forks": 4, - "open_issues": 14, + "open_issues": 13, "watchers": 9, "default_branch": "master", "network_count": 4, - "subscribers_count": 119, - "open_pr_count": 4, + "subscribers_count": 117, + "open_pr_count": 3, "contributors": [ { "name": "alyssa-ab", - "count": 103, + "count": 119, "avatar_url": "https://avatars.githubusercontent.com/u/99927286?v=4" }, { @@ -17662,12 +19406,37 @@ } ], "releases": [ + { + "tag_name": "0.1.1", + "published_at": "2023-07-19T17:24:36Z", + "tag_sha": "70e558aaff836d43f5d662bf9c28414f4e6db642", + "has_schema": true, + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], + "components": { + "modules": [ + "custom_dumpsoftwareversions", + "fastqc", + "multiqc", + "samtools_index", + "samtools_sort", + "star_align", + "star_genomegenerate", + "trimmomatic" + ] + } + }, { "tag_name": "0.1.0", "published_at": "2023-03-29T23:14:38Z", "tag_sha": "88a9d1708a2a8494f4994402440adedd7c527964", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -17683,10 +19452,13 @@ }, { "tag_name": "dev", - "published_at": "2023-07-05T01:48:10Z", - "tag_sha": "a0c8b55a089bacde688a224d87e96e7dd31f4d72", + "published_at": "2023-07-19T17:01:17Z", + "tag_sha": "99ea3029e9f691c6d3dca8995bca493d2738af2a", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "custom_dumpsoftwareversions", @@ -17712,12 +19484,12 @@ "fork": false, "url": "https://api.github.com/repos/nf-core/viralrecon", "created_at": "2020-03-30T11:14:12Z", - "updated_at": "2023-07-10T01:18:36Z", + "updated_at": "2023-07-19T07:55:05Z", "pushed_at": "2023-06-30T16:57:51Z", "homepage": "https://nf-co.re/viralrecon", "size": 9579, - "stargazers_count": 96, - "watchers_count": 96, + "stargazers_count": 97, + "watchers_count": 97, "language": "Nextflow", "has_issues": true, "has_projects": false, @@ -17725,7 +19497,7 @@ "has_wiki": false, "has_pages": false, "has_discussions": false, - "forks_count": 83, + "forks_count": 84, "archived": false, "disabled": false, "open_issues_count": 23, @@ -17750,11 +19522,11 @@ "virus" ], "visibility": "public", - "forks": 83, + "forks": 84, "open_issues": 23, - "watchers": 96, + "watchers": 97, "default_branch": "master", - "network_count": 83, + "network_count": 84, "subscribers_count": 61, "open_pr_count": 2, "contributors": [ @@ -17823,11 +19595,6 @@ "count": 2, "avatar_url": "https://avatars.githubusercontent.com/u/12273093?v=4" }, - { - "name": "stevin-wilson", - "count": 2, - "avatar_url": "https://avatars.githubusercontent.com/u/55603058?v=4" - }, { "name": "ErikaKvalem", "count": 2, @@ -17860,7 +19627,10 @@ "published_at": "2023-03-23T19:29:45Z", "tag_sha": "3731dd3a32a67a2648ea22c2bd980c224abdaee2", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "abacas", @@ -17928,7 +19698,10 @@ "published_at": "2022-07-13T15:42:23Z", "tag_sha": "3ee1fe98fdf17a80922aa8cf4da4afaf483f3429", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "abacas", @@ -17990,7 +19763,10 @@ "published_at": "2022-03-01T18:56:44Z", "tag_sha": "42e38bba3da80484bc480f53d2130642a349e8c6", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "abacas", @@ -18052,7 +19828,10 @@ "published_at": "2022-02-22T08:45:08Z", "tag_sha": "fbcb2ce94c9abded00d9fcb5181daa17b9ecd55e", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "abacas", @@ -18114,7 +19893,10 @@ "published_at": "2022-02-15T16:30:07Z", "tag_sha": "97bebf8fe12e0e802d4468e133f3a2277ceb843c", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "abacas", @@ -18176,7 +19958,10 @@ "published_at": "2022-02-04T17:59:26Z", "tag_sha": "fc9fece226061594208a25c8acdc05b0bf7c14d1", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "abacas", @@ -18238,7 +20023,10 @@ "published_at": "2021-07-29T15:45:45Z", "tag_sha": "2ebae61442598302c64916bd5127cf23c8ab5611", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "abacas", @@ -18294,35 +20082,50 @@ "published_at": "2021-06-15T14:58:31Z", "tag_sha": "f0171324a60d1759ca7f5d02351372d97d22cc12", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "2.0", "published_at": "2021-05-13T15:11:46Z", "tag_sha": "a85d5969f9025409e3618d6c280ef15ce417df65", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.1.0", "published_at": "2020-06-23T16:58:09Z", "tag_sha": "75a2f9763e9b4c1aa20ad342ae3ce148c33cc65a", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "1.0.0", "published_at": "2020-06-01T13:30:31Z", "tag_sha": "7422b0d353b1a295fb7cda47f2f7750c3bd890d1", "has_schema": false, - "doc_files": ["docs/output.md", "docs/usage.md"] + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ] }, { "tag_name": "dev", "published_at": "2023-03-24T10:42:55Z", "tag_sha": "750dfe63abe9c0e497b298021c2266a96598fb8f", "has_schema": true, - "doc_files": ["docs/output.md", "docs/usage.md"], + "doc_files": [ + "docs/output.md", + "docs/usage.md" + ], "components": { "modules": [ "abacas", @@ -18388,4 +20191,4 @@ ] } ] -} +} \ No newline at end of file

    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

    JM9;pqBj-)6daGykmSY*ORR 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 Fr6sOnvt)Wxmz%!jX5!<)T|+0JcAO( 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�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

  • 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 ~yUx%f`CMao(7lKxml<-^Jhexjik?nNS0)MF z$z)1f6}K?3rR$e8Ga7ihs??ICuImWtt&_*ntPe$`IhRzHhPkkD74M%g9r~tH0UN1- zY1=r$^%9&&VX_m?H;!ctc`aH*+vf!uxKXY0-|C|}Sck#8L9Z>pvw|%VFy;8SjmQt# z9LSs$6HZLh zWoR-C)WL1nvp+FZ>xym2{gXCFaw?f%N#UOSLf$8k;ay_c8vP^t6w|oB#0OUlo-T79 z7c0h-#>-le;Bm*jC)Q?t0Vj$zWdz)E8Vy3uBjBFKC+(y?RA&5IA*c-jwJ zJNpzz5-F?+RR5LrSrUcCvQ0?!@vy3k!HyWOt6tp!dFIVki4zMb^w==s=o(%&%m{?B zf877ID@wjyqk@~#)ruF+S3-15-D$3kmblsRTlM+f^mwsr(`Q!lWA>czB?ibdeCx|^ zD#h-VNghD|#HoSH1_jzjGJB;Ac?erU7qMGCTUt7Zz3+OM!kE0GGNZ!CMhgS=7o`i~ zM+;D$B^BvAls#q^JkO-WP}6FD=U|;K~O>A*J<=@LMB~P8yy{vr5U80 z-L#`CRG;^yPUaA8l9D~#hfu6FhqM-$NZ-g+qsrE^6$MkI1LhFmy}7r zAox;3lXGp!74P9Isd*8$byD~hcnSrz7?wR7t$PItoFV4wKP&q6C)`cW!mH5j+6Bw$ zC`m3VaII10FnT(B@70!MWq$iPtlkm~S~Ercl5#~v1;Gl}jao$w8v;$@KayK5wth-6 zsjbDgfM$^oZWLgjpcc{(L|fyA)ugYvODM?gv>Uoyu5?rBJz?_Uo1U}ZB?H6*y2Ph! zwdevJbvs_9dl!}r!`3A|lg&<8q7Y^gJ~18*1ij)op0KudTo2F=3EtZ~ol~+C(cWO+ zx)lDk9Fks{j7?0|e*WoW2qB(kP!}!-&(FSxz*pMDsqf&-YmlC1kjudo#Ux>QJZ zBVB(}dSrq_mHMS*@*A@%nNg1Z#yvnIRA?kUfrA8$red4ah)p{SIZUxr;ZFO{rd5ku zsYR#a7)O2h_kZd6T6Ja1uq$dQEwmD!h2X`s)E%}qf;x_TBuNIX|MD8%OmNht zy7}SeGQ_`T@VXB>ZD#2WT)1dI>kq`#6e~)>uIthEHmDGdMnszf-4jpi1y#=We7$aJ z=~P;w={6r}f*HPQ;RDTTLOX#|HWIw1R|5-#Tv#aHKf|lEb#MJ657QHy9A2}5AM;U7 zg(72BWGL^I*KrA3AnVJaLo%}+$?x`NLXl)sxRl09s^?rFODg&a84!dNx{j6>NiLi@9?mobz#R&8c4>z9a!OWNqW^m{zQpe%xvJDhHI zL0<7DKeU(U=)y>0z@Q*#K~c&R=}6*Ql^poQTorS z3a_KJL+0(|m=~1HqRaKRv@_z8QA-i$Zt1HE+AN*YuCg_QzW=0H@9hUDu16U^aa4=a z;->&4&0`8NYBKo-1a_{F3_0>Mr+=Ey4K6gK)#|(H1&aG#cBCyIVr5)l4>ItbgBLQR z_Ss`NbwmqZE)3e&{vSi7AXLSl7n}^EmaBNeN!+P&I_-O!e> z3=6y9_~tI;EHO|v&M30*rMr};F$Ma(6C&4%(E$b;$vl6#Df%mhd~N3Uoa7l8Sy!+2 zO;}gE=~04(IHBV0AbNzrN;OHm;<4XCKb^#D-4(pP<&H@)*zlxY^HaSm()UgBSKIR_ z;rhQxC-}_WpYoA@I)CfH0T-&~Q-+u~kIM!=!ytZ**vNB_OGgT4JnRVmjKjOmso%>z`1FN|r+C+Ar$b&Iq4iroC|M43$=8~lY9OohzUxV}p&cfl zQv670UgXjADY>cRnYQ87__4SVm3}zSa;PgCc|nzkMCWfxe|)Qn!&wFAZzejzOL}Gc zQB(&Arw?Xn$lLu)B`$l#U!{J(s=C@yTr=l!@TgTQmPE*ref4xb*Jjq4E>ux;#msXGWP(LHf};)-G%B1;;6)hZUbIBP})#(4=L!^#e{hc?!8{Dg>i+MyO2OrBGCyrPR=E zO5vInw)4__LW%b}S3-RX@Z5}ENMac(UsaC~7>*2~HvGI5?q`hue~*bACAs14nz1`E zI#ED429RR3n7=2a?Y<4TuN@-?nLwSyOqmBF zva`LF)}y;zG}v;KN#*C(;~N8o>$JNM%m(*yc7lQ+C{$GKa~qYCqmyJ=gB=tPvIJn| zi=$YP$bk;14UwRaMQkU1H%QZ?-Ke!e-5jV$2T;59CpmM-5a+2DEPeZs46NJ6f~)?r zl@}!2F4OA#en`#%XCmkI(7BP7ZK^J=)?933mgg&e+~b*5D`(=z#>soP4tAzQZmxxh zwbtd$)ZN=x89vtn?`{Q{zepv#E+#eTwrbI+Oww$k!@DSGQ-oBaoRUO{2hgknXz*~( z=JLiZxT#r#oQ&tFRbgYkShRIj)Za(WkdrtVS-uHw+X|o2Do-Q@<;HT+SQ^nX*uJ4rcdath*?yg)hp@Cp!adRh2R-Wc^saKvOsF7=C4X8n{0SMR$&_B_yx) zm-Q4DYT~-(uU+Cz(-0w+G)~QQ)2@k?Zi0Wl=}x-XXDyQ@w3_!HamL5QDHer#sCue} zXI33_AH-pM35+%ff!FH@smP-I3%K`lak#c3-`?jI!X3ItN4RA#I7TyXiijDzTBxUX zi(I8K;_94+qO=b~ErMx@f|DKGF2%sd_s8Zvt7%;2960|63GYMi;1+du{b9v8SOu6z z)eOd3+FmH|!=RlO4x_QNRgx!C2*7&1DLq`nU0b?zd|@!y1IVI!)}ZkEc`%E7;WFMY zmFfBOJhG7grND4Aw|^Cp`rq!62(p@^7SUx0u8A>1@+=uVyqn8$2NRq{;1VsV39W`Tr*#T&;v~TT23IjBuI6d`{IgNh51`(F zMNmrU8|GwOMT1AzNd#y$5_IUmLo8}*cw0}ud$~j2A9Cdg)G(7YybFTqDm*{jt1rOv z)6;B;oPp4ZDu#Y`h6~iTiMCpg4umRr<`pl>aMVuED z>CAqhS*H^K&=+6^Lm;$Sj4?&C(5$=nYGzds9k7P@Jf^!r6<@m;gM#ua0@ul~<{ z`nGzIPk2#6J`J|uLyNwQa_518%WtFFJ5Phb{*>fUs~_>s8sH~pS#2sIH8l%1sHLj@L2#}>K;bL!;UYh-r8Y*2JZk(PNooq9^+5U^oxqw!Nw93* zJyBheoRNRBSQ^btw=!ftBG2qQa2vN3 zVeWcFf_+BeH6ar1Cr(3#+7Ggc+-*1EuL$IsZ?Q=eR03LZ7MvMaL=r4OmoDiVNuAN; zd~o2u@0j_`*;dQ>4Qo8ei{b>2*+$QuM^)k1zBCTo<9}o|Fp)bJYj`-Mn8tt|1j=gN>YOy*7JmLf@9#HNk*6!QY z$m)p|Ocs3j6z<$+GCc9ytskrg1TR^l_F?D(YW;-eZ_#ATb?rCsZs!hHkYh@7#;P+I zDUts>Q})e!eJkB(*#My3bBY2L@3ufPiS$w$*S=w2y^YLd8u3JCs2wIz=_K#~qw;R} zTySGzfjS}hjZU_35fTforJtM_OfM!zDO(k~7j=)oF9unHXwDr#kLtp+vdvKoHRY0b ztE{-x4t*KvuZA=P;2xsu9|KECejX%}JuxR$THg}Ss9*B-d~8sKX^uPcsz&y?5vCFO z@NFLqrn&M%2|B?4)mp-KtZ8?)|Z& z=5eesci_w4lZ(KgIqt|22y@Xm8-m3rFr{d0GzLuTcB&y@-5(|a7}p@f1QY0aWGo~W zpg!W_!+xpEf=vBHZ6b}-pIGHYOEuj9aSieYU;3wlq8&vk>JE1NsPXqBPHTPq_8;Qt znpNHlHF#d{X%;z7x{hnQ2_fj&SSQmWF`;Tm5U?;=nx`yzT^McqMNbv&baHgy?omcd z_+y@tW^!#*fIq(O;b)roUwX~{mmk8qDlAOoT~SBaK#!^j#h4c8J$Kq-b=a$gB%~kJ{*%8sFQn&`_uS9yA1?& z$GecyhE6n^L5~3}?%o32*y2TN1#!1+FXTM|*bF>(eBa7(woQh{NWR}-3}_&ceaOvz z1nxLyYCNG-+Ma7-PPT&7rKwEc? zP+l>JYmkbD;1GgiQe|H9qf#%=pez4qK7{Da$%* zJ8a7o(kKo4cozRbbQ?=(Z|+(es69H}fytD-+jz+<+UAk>)*915Wi7m*k~a zk^7slb=u6G@lq~Nh2&a}NKaFrYr&kts>4=xobOFawtf#b$2ij(l*9AI3GM_wQSP~@uspBK|? zlucDsoshPqb97lV&=cGC%ew8lZnK6H=_lu;#l)k-Dl+nlA(#RoJskTeX)9um^#{+L zoD2YEh8^@9gu_~(5!x8Q7Czzx?^QqszA>HQFFUyC@5%TWC4a!t;Wb3MqnWenRt`523^9-y2+LR~q zG&S4`T0Kr}3y0N^!WOko>+W7(!vNXb8EH zI1a)IBB2e*M;X&K@;-vjT$W`;ZS5X3>RtvU5eSgmEfxbE8!Rauu9%STzriq$RyS*~)4i(JM8W~PUz5Ncpo=nO z8pvu3ORDPWb^!4F)+Ybt(YaaXDp?B=FMz4EH=9y<+w+8Mg)e_N?ZkAKg8D)+5E8*J zhH~>cv6e5g|K~_KERiuqduxtCX0_4x&lc6A%CvURnXiZjjT)Wf>)@@C!tIQInKfYLc;7RE zGy%?p6qGkh&kR%s(C`IH|6mXeu6JhE+Mr#0FOskjbhu%>F6z<4K01 zt3K*pC-5-W*`B+eWvpVTSftMPlUmRPMgurNDX&u;=YCinMySg(?`}_b6bc zc;}=ESjvcQJ*ofhymBp70zM!)M7mEIXk!mogzy@;sChP?mIEyGN>_DJ)^E#;b=T6K z$JHIN7tcFG?-TikTN*5*MulgWuDjoQl5P+wRz2I;!av&aARffkZyRCqVBm46U9I)^GuKoeYri!))>CqRXc zcUz)FN{m*ukn3z7``uqG=HO=9{K|~Vj9HNcI6sYt;*(ian-rk^$;=S`Z*@#E6yA@F z5}IVTRhJ&3Om%_Gh#I=p`{%QR?vrI;Z1hmUOzSaZ*Vks!H0!(DBJspA-q*d4Fd7ed ziGHk2ao6uUX~F|*SqV(dL4M+a;iU68g36&>p0vtUO?Zvq%fbLsQkFbsIn6 zGHX8s#y8}=f`%$pHiXAP0@q8vGZehb0Jk_XnxEu7%EO zTrdZ_rQ7&jfuULYC2xr_D5phf3nBs(pZ~dW3jP78E$N`ya^XB3A40Pl*Ijbi=O;5E z{5zA=AH8C>vX|*Cyo6c)C%8j|C}&rlT@$a$9K0pGE}9;Ryj)w?3YX@?4*+zow2LcG zbObaH5Rh|X3A46#`&EuF*wzCqD*_6HYQM`FVR$wt);3GN7W7dy3j)HgC|nR8!kyGU zpu`^4&-J)ZPn!wux7s^?ZDAI`F(`q%F#T(Na zc?4zMB@)nt`C_X}?&#Yr@AratXQlM3yeIV&!X&Gy@*Aa;QSKzarW6!$Wh4|>POvRJ zg7k;=s233cyzP(O?<>icxWkqhXg?1_f|oF__J^kHtEhGl<%jscOseVHD1n>-9?cR^ zn8u?Fe&t%!)f$cyztuQF`DKO_}uh8c#HoHt5)L+!*B+Xjmux#;mF*u7m$qm7i zw6vs(&Ne6&Q_V+P(f{L*iZTzUav4hg&s-o)0 zt8CgZciwrlyz()Q4~43?==27n!2klG6!K>MfEuzTWW71*K?@h~9*`)`HbQ`#n8BCW ze-N4?G@Es^g?K=+TAb*-ATquK2>Ht%M4)a^(v4y+b2ky2?%G-P_qdd~%n3PYe=|TV zEjtk2$i2Te;>|b33Z>pjqMF@=`>W7O*~-xhr)7b_pI|_%UW+J@bSN>cUN@B-=akE5 zNfQ$MdYnR(R^Krt9AEnWW4RYd3V;?sU*bQ`bDWQM6s+l>wcx0UfTUOLI9%SfOjQfI z7lJh{FpvSRpk!jvgcA$T<2Pwe0|PEyVg^)+k&22 zb{^M2h9SvLffM-`k9b*!Z(en--zOw2*PstZkI1iPW7M7hS4xUT>#^*?Eli_XBGYJb zPz;!j=?IiP=K#l|Z=*g4iE_lm1=fapOwL_uMJ-wj-KmVbhAlT$Q$_jE&6+Z)C0?`& z{}%@GKFZL6|K{zX$mvP0KK7afLc#3%UeRt@Qa9`RVq6jLil18NAVJ#ZKg$P?)2J>( z$j$`5wTYJzS1a&M!}ewR?f-JmQ!oU9^R|>|ZNE%#U!r$2L&-KVu%V9w*5gn(8L!qa z6k9-;J|c)(h$buuW?U{KOi<$)`f zQQXckxLl;R3^Nh#7!B;rmWX3|&Xg=na!D)Z;h3kDC1%_Wsy)DJGezylCInDHr${}t z{}lqlJUy6lY=q4MEb=907WeA;idvIZ8QLs~P~#vrB8B6#99d<`%p@XIG$0@y@vD;Q zNJnl5b$e#4ZN(Obcn;4fJ5ylr${}Xfaex;bbS&O>xSzm@xT>V|(>`>&XF0@Cs>CAc z-Weg9T6Cp$@yb@j-7XsZ2s;TlGk^P7(Q;7NNS7@(E=_m^s5P8{#eS#v*WK2&@xg|i ze<*#KgW5`gyuePvK(FkwxNlZKSG!jWL5(k6KYfV~Fd))V`e52j15EpGpUd?eVBamc zGlYG?7KxbsxV_iAi*CqgYCZv^D<;7-jD<`;F`Zzd3D_cWu#|Tr`r3dKva8%F7n+Y< z)aYxE$yfE9TZ_uk5%>BHEzsX?)Sdf~Kx6!4m2ePGS7|1kH z$J*jQpTik=B;bltJOWN;5_eQLgZ{#ZpoIiWV|dKiVGWe4@dVCplqXEAY~`^vPeGX> z2L=sci1U}Kh1WmxSp59*NzmJgLZI~8YxV)K@CCF!uzXv>3W&J^!=A6c9e*UT6$MgXr{(qA7N}hVIj^XPC>_r5tGdZNpoft)3Iv2&;_BYn zS+A{zRBg!8+gF5`9=TGH^VOI-8hlvm%S5f@=V)%uuaW=4=#sNCFA>}A1u~WVh93O$ zw$I!nML)#X9515o#HNQww{296r$5F>WByW-hG8&qQAo#ahWCp8$-&&$E2(0s3UB+R_!B?F)-=H9o#*pBN>oVtN3&yyk zyodQjU(h;~VC_#I{8C1Ir6u8I`MnVHNgen}Nue|bBJ`xT>99@%{z=H%w4C-NAwG0K z7`sYOJw|o46Cz3TL-^q|-c6~wkBa>+dNnmf06;*$zdSC;X9WmTKRm1UGbl42T=GEH z;)Q`GEht7G#gU560m0`&*jIc&&TFq?vO8UJJ}Ay;v;z1;YI{z_^qpNxWZnr!CLqBG zO)*v_H~=9cp`}{anGkAI3*b>pLpjD$d|ygyqMVh*JSIjpEaRnM(ZQM&{%<2m{!j<2 zGC_?wN2YNjL~n@%*rJRrhw*A9tm`Q{9Gg>rW1~g5=Kti3u$$nqdYIO0Fbw!rU(pR$ zA78!r6k0ju?Ev8&TUv55c-=764A^%bC(dxcJ{g-dZgxIxD?2^iaT5tu1hKlesT9>{ zbhDjp0+Wi7moijY(Z{SdzE0FM4FHrrDVes zo*}jUknC|ZCSuZ93geE>JV(XCWCuWkMM$L-k1jhm_q(a=5ERVi|C{>wqD!!AT|y$!oF$>WUrB zAHat1K=YpC4e%t=A+<4_3u~ghC%WYZw;kE~gKM?`sw5STRF<%&HV$&Cf&B+kS8O*> z?yfRe{pKID*MgSw7km?(xSJ8_lEyIemVSRya}oAlGn15gr)K?8WYaWc$yWl0w01N) z1FdD>^uW7PF9QvXvdR^#SXoM7Xq;%66UGjTi5XkGR#)CW-DIF~2R5l@ZTrd}{{L~c zY3pE`&C=9GZ1^}cL8(NA&m96HmQModIR1^oT$SX5?0kW9$L;6n4ujkrwl$%rm9aZ3 z<3hnYQ-Et_X)Rz466^K&0H8@S0SNlS*ciD&*kN2Tx2@J=Y!9t3lE4%__I$5 znBrXJ7EWq%`jJd>$9NS;d-m7ptxqYPZg;mqs%Kn^jpuvx<#e}tzAj1%VUGR+YY24- zhpPwF4UTLe`S;SU|FnM8R~ivDQ&bDQ5C)EsI6;1d5S}W~o`r4-*P`T4`r5Z$ne1|3 zk=TmxkLz@{U$f#*=!-=AR+l2gWJJ6)SR|S8Hh&=FEM#i2x+yRG-f5%i5E(%apR_SXijK7pGtoyqB3F%1Eu@~x2#-vFI6 z=3mQ(>6#pufNqR}^lQ#Z*J(66DsICV@l3V!B=Y}C)$QGPSDJMNYrYe8wXw|TG|J@> zCUOukJJR~78W9iU6StgHE`tEBQ%mNnR(nroSO9`lbJShj3LcUfiGuw*z9VNP>mzhv zjW2Rpp7QPHOtH!ce>roUe0k(*_TdC9`r(SXD@*qF5V)9ObYS?kkMDCMX%nY4Z=t*_{30krj&E)|p=XJ8PvI(9w0ky3BzIRWii8v31wEM3D_7YgR z**l^eqFB2^A|zC6eQk`pW;+cInGY9?&4HnTQ7Bx{?LaD8h-a=Bs27aK#DeNLGX79% z>^}6ze~h%=jsWv$@valV#2!m;PAKT0@0@>_P(7y&+z4+Q#a=yd4>o_NG)BC*7I+?~ z!OaQ_KOjk?*8)ms4ia_HY<8dMMM%|d_Rp%$ zfi3R{bbFe1Ldc_!?vfBYVW;527JNp>PX|1H00o(1X5j^k=sfPK=Ud)*0C##1$+N-) zu~^$roUM4NbJ)puJ+Ki zs7rBAyu`)AHO@;6rYQ9AZvUNz&3o)&`s52V2M&1f?!9s@Ls^rfysdXmzeb}=qZXBT zGs9`-PXz;EB}=xDd<<=I7W8NAKyIJpwMyMMRBuXjO{=6k3G2^Ryv|8G!zHj2mA!Zz zs^X}R7=}PP?Dlh;+)tg%$ivcGWPx&PUqh?2$XzjG&;K);bl&2e2Sgpb6{r)2J-L+J z`3P&nlwS=S$+lusO{$iU?*aQqc0}#Xsed>qFV5qk554;=9U>&b+=z`LT}x)e=Up-2 z;#r^l1}4s2Z6!iyPuPoZ8?+=&CKO&x%-u*ujp}KK8RUQkQu!r06@#TG_3Og;IJ4U} z7U60{4!zd&1pH|1s!@~2@%Bs>b{U`}D#|f+sJPhK<>G?YSsoYDi+_&=6nN-3Ob)|6 zQ7gosyH?k`@B?rvct_rfF;-OO+`dWmaZ!zeTUwB7DAtB+?5qw;=q3pV3T(gxMVqd8 zqf`s1qcD)djQb2LPG~HK*iN^ajD1rCRvleA^0DIJK#?@qNkWq+wAq(^53KnTl^}ns zrJiUcvxEm)jURuP44cCCXO90Q8^6V{fJgCZrPQ$e(IZc%doXKt!ztn>)-)!gv|lBB z$6Bc=RBvl{41;oYT*k2{y-;|fs(&YlG(H@|dBug8=w|#2Z!Xv_aM+Z#K9c!`wDtwD z36GpKRyqIXSv{Ns4Wi`B62;uOFCWZza#X#|11)y=2I=ov`Q2RDH#{)!>#9}r_Sq#8 z9v0i#(fjt{jyvIkAWWtCPo?Z6NNy00CB(R5KQr6{J!hl#%?+z_wShplu|$rbHc?EZ zGC)jQxPH<%G!8AVV3y;ePS=f*xiez~X7x3z z(Ygt%cc-U>{oCTzL2v@v7#vH{anq{Qxsjjwf=WoIfsUp-WS8Az=SkNx5ZvU8^)H*F z!-GA~<8zF?u6AYtR7(R^vk9|XwHe-FwEmH5CKG`1b4G9`7-pi&T-4J5S1P{{oXtYEmA|XpXLQeys@L}&b zqTJV~roaiOXTV{;-Y!K6Vb$A(UIhhLTn5)XX35?i7W@(ia7;Xq287sn{xC(iimK!P>LmXr0+a;*Ve976a@k z(XgiV^Ohz|Cfy#nn#vUH$*kR5*Jr;IU-AqIs~`6y9>foN%{Xk5xEwKH0$`x+;~JwLrF{5tqDfF`VL$yO2QXFT0fCQ$k(=Mw(*( ziBR&TkM^+Llz*Xb^-An+DGk(Yp+vJOHq7cUNuG?6Ta2^b(DlBJo2*q5 zM-&ruK`p=VmK*U9IYKGsrV3Wn;(P>#p-f0* zXwAY$3JTRGHqCglrd-M)a8+OjAo2cQv;{BAAH(>qPT#-ePzyp*J9V1XSSqsrcN%(`Qc{}SxRu`vOjLUSe0oBPx zpcUZ$Q|>r_ms+DLd6sZE?RkI^X$NYa?-WT|u5TzXBA+&sO<{<+fnSR0$M6qXv*q0% zC(89y6!44VR41WFsN*~VM1yH>&IzA$PlE_2_Isq5{6HyDuYjQs6&Q6!74}z7sYqQL z2>D}Z@#}Pqo;)rsTX#{SJn?pgaFmBjdvQU(4(Y~6&~yMTnH}OrSoKd?!k|>jv1TvL z68_r@G8wGIZf05>}-JyF$H46wy6hGy|rbs-G*75rd^Og#ugQC zH}yj2-sh4Oc?x-D(w9JlK2Gje@^Uk&eQCD|>zWW*_6@Qc$=Bx_?EV-kZk{b>uO%@f zV|frggsjlJI9BY7m^^c;e`(H3hyZO6i|vbo{T4*)x2Zy7J9W8u6*mQ~R5i~Wu$s-m z5;eAdF~6BL--0T^E7R^DI7*bRgSs`_3MI<8+8CFQ{l$}tR&_qFey>vbg}DYDf1Sq@ zsiNkXC!wQrf%^Wj(RmLQQ?*q# zF@W_4T3a>%cat8LGOd{c)B^2~L9|~q{K=(JFu;;I>&tWfD;axelp zmfA13f|c2UF(GF8pGuGl+D-E$?=G~r4I5&mN3cfo-7t(JiiuIRDdP2pm^4e&Y*6r} zl9%9$C(Gs~@F^i0YRY?OeGl9;;l_KSay@{r{onmI7Pl6}#wR7yee7T;W|@I-f63l& zCa`&FW5hevT~a_bZnhFS+Y>>8FJM;UpOnZN{^W3$b9E1G7&A-(^n6-Ce!xoW0ytw; z#^3&7CRXrV{ZLlC+~hIkOyPyY`DsO*{#_<)z!}DbYgmK5kt*_}-%9N}D{lXMCcZQ9 zC=oU^J3zQNI^ZHHjxP2{XVv^_L<&B(dW_9gzf-W13VTg%*lr_(*KQoT zSG3Ivsy&PNB>Q(hM>yf_IP3e6GZE2a`0ZXaM0T41GqK&-In^Sa{Au+nt7BiWfi`^dDtB_kTLaB=k7n1u#k`L17c zpEAnkQb2t4eb$^p%T=H8RIw=tQP(g$A?2zB(>LgGAokR1r1F6@Mk;>J2_^BtKg(G9 zpvYzsiQFd)T!C!5Y?QI5AWYd0Pw^#cNhtOt`*^RFmX$r6gKRNflKKJNbA0)vQXYQ4%zRm=GbPRRR=W2dW6(RQ5&8ivT)W$3Bn*1R->W&R)q2A?iJ*@|8 z-QQEf3qgdchpzR(#i;$HcHwp9ud>xbd?0d#VsLvnJXhX0R3)S0||*$`tcotYu%bewtS;ikE)vmRT4W@@3q zY)x(BF)@WA_ZPNwo>vCkND$MzZ^k>L2)%NcR4HzKdX^#?y_*G?@xh zz6eZjNPEMQ2?qb8s=V*}e&rqvm)YHbh-Q*EG#s^_EZLeNCl>v{o&>w2CWl1~1ev-& z`D7SRok_gm%A$}0zh)|m#skEowCf^)eFpg?WW4K2Yg*Wcf+S!;Dn&-Un5a7hB?%=& z=1@maay}cvltNnPCs?9?>W-ZJzz}2zUQIBGc0243Ob3Z;Lu#5t#QL+rTvpkR+WyiS zx9hBpS!_2;x{CPGzfP{kA5S;0)m`_dP3hwp?!cVRZM`FvGK!=cI%M$dZK7Ya&KD`} zOrv#Y4-WCpT z09ffo_l~#=%$gV_f{u;G$hUQ6FT*sC-|=8l<#E%OMSIquvhG&-xn{**Q=e+LYUX%X z*_<&Ep{mH4v*etrsmD6^Mdt2>BfzqXx*hn#08+^?9cyhOio}5YjGBLME^fpOdT1`R ziGB3hTZi-lphQzX5$dRKjcjlY*eF?fWsP5$@G!Dql_k}uaThcZJSY**s;fy7YsYB1puYRgnz4%{o~yztD2Esdxeu+sEWM8py7KPp&yrc`_@wJnhsQxJA_uap(>)DIp*<*g)ZEt%-$ zKBq61BIB|9JuX`LTuhSvALC0)TC`ersQEVDd z%*zwqg(oj+WV_6J%ulrNav$^GSSG%>s>?>+PGE;{d@A(>P_(j^-UKqnZfk(b^@sVg zH%fI3=kgiSxu_|#dDV$n)dNe-kCOC2npkLW22psOj!1YfVgZ2 zaIE1o{K`&EWIGY}2?~aAwZkF_FKT&#N4+pu1X>OY@~Jba=+|+ zub@y&>@bFMoBhgm_=s_8$ znhm3$u<)X*n&KB~vH`C4J1uw&e*<9WJt)fc|MO1)aH4Tqm_b(%rtHD&j*tc$qa6n1^@zGc6 zuSw!b{GZJ}6ESMU(0IpyDOmog)=2AAd7DhDpkFi4D@4o=={elFQghro=dkh>e@n8a zUuUl=WEgbhH4cr2rT5;A?>VeK_4*Vu_p(&I&6)zi?2SxQUB zG9cw&(5~&OyLrzF9fh#t?6G`t1k&WzpS`LHzH_x}a=I9-!I$!aCKiiiF7BMgJA%j0 zJlWy0;d@eP<@pjoN?42!y)maH<)UnHJGKcG4a{kTA&IkCOEYj$+-YXS4-fCCdDnky zDOso}z>glc$)PH=B(`7Rs2Kiq30k&X2VmXbvK=C5F4NIHhc`%?f4J| zf$UFHGkETW&7T>;_Umop!5E%RyH4r2-pz|ZThaYVuQaJ?YARUvyloOAKwE#0N+R~LEbJ@%1&qOZ z>MBU+ycYj~-L-4M(ARi7$grHIbz98_Y(oIR@F|JvCx(IR)cYUI-=IOF$ma+vk1ug>Amo(kt@Jn@gO5^K|2eE@+tR zaogP@H#l%2_gIDS#7*IBmqQz}oW+qI)DOUlD~fD3GOf=0F{a>=yMa;~gZ$SNnE0d# z-NAQ<8MF+SaQ)Q3o@0+t98yDih{RYt*y7d2NYgmxutuX9tfX(;OAZuTqhi#L^B)yuue|jw09`<$}sZ%%iwTL2eN)KB|gG#4#?pw?_{p^ zFicYca1yjP%S0vyL++0Xv4(Zr;9sg?lEasbZA~@M@u?D|^UFy6GV@chT|m4raimbU z_GU!rGe&kmub?_8Mv;Q{5d_CC*6ryr2B+$MFOe|gaimb_L`vmh?I0QD`{X7j;2Hq? zGgn2Or%saMqUUbR!mUn6Ys~*_Fu75SYRQb8;RK@>%H{>*QQW$`>o5vX<9fKH8UOAf zsXAX7SUf4C(&tuy^MSGMnx)WuoQJtoSr)$k8z7e+YqyZB==q^otSQNs*BM`xT1t+= zN*QmTA-HIK7|n-F*ELF_b|TM@0w@%>esIcUM?k-mVZ1lhZ6ld=)NP%H^4SLzTY874 zWmi{iQd6FmnremMT_#M6B?Z8!=nFv&Q%>vNnfTPIY=PTsSd_#d<9HG2-bH~72M7(% zz>P5+jRkCd24$M8mKGyeXl%etq}(8sGAz9pk-U1Ixq6Rx26-Plb#`e45`0 z+@xPQ)%+pvD3a-g`rdl-0$YoHj$iumMGR^M>FK7vn-s<;p=36zXyn2$zHR@-0vGzU z&gsxUJ0`Ygo8+L+-<>xwM=sJ=eY?fkQmba$I>Qyay1kH2+vaPP-Bafy-_U3lwJdhB z6ZZ|mW`bQ}b{8*{9f!a2?g9Y(xgq_IFn)q=W+GP%#X()Od0x;3%g;d~JwSD~T%_-Y zNh7b+_y6R$l#X7`j`@Ad;AF;V?Ubyxdn`_G&&6R7Sxc)lW}nefD+NUy|4i(iNoJBPFlur>~eQEBg;tudHn%yUN}%`;hBhf)a&z?&EeDT6toey8=2FA?9SZ&5wP=_hAR6RJfWE9s1I4f2R{YVX#ft^vS= zfRrdn3oe~UCS9?9E}(-8)WEZ<2!pd%xn^bxzG#L`0 zMKG;tH2u+kJt{{sgslTXo7x`^;r0scFT7P0Iy%9tR0@Tt2h^0Eo&VgKuGOxfLZ$vQ zW2eb2JNJ^S+5P)X$(!C00KyIAgbl?R>Szvr>-6qQf$AtvX@4m%y*|v*NJuJv+6pf# zw6xa}*~1&i1@aFflw9!&g0Q0YII}3k(>o5NHu))`e%OxU#5hnO4xu5V__fJzU2}+cC)Oq?)6pl+?)L zD7K{W2<=$0ZwooF?Ws_GH>41)t2Cal$7PT-NyaNYN2mQ4%BUF zJ`#5N+TB&-kX0DH4kerLFJe1oN@GB#9N3whFfIxq2Haw4`YF# z6ukY{3ki<=jgZHt%!P|9;pLpzdfOZCQyPiAl;U=a^B zRVvkuuc81U(#BA8AG?&R{5gn$tF|n&z^!02N&Pt!JNyCLJv%+&2vE8Xvgu849dsE-3@z9jkd36*P=}+IOJ9ADt~yy6xLkH>O67WJG66K!Q7A3; zht3QGD|Yuz{zu$%yofk|Egjx@2F5EgXg0eqp*_+8XKd5Sw;?6j>dK~23KPRyS(;9P z84-s74b0dJvEvixq|1vU^Qr?ZJ&@zj2rCM1Z>9Hcd7s zBGa624)nsRCW+HpQrnem?eb0x!Fs92W=x%PUfh}pG_+gG-C$M;On(f#+Bw`V*lcoU zfgKWvV}2nh=v4llXm z624t6ZH7b5{Z%8&OhPhfSTzK@2IiOnsiL|F`+IdUoH$i`zJeMKmr$OY!CeuLSSBz!aeKX0cprUwgJykaV6uH~)r4 zwhCJ2;t$_t%pCwTWWt$ss7mjgs#xJe<5yR!haWdMI0a7~;*g2)(S6RL?|B{x6gUXoH6!j3+u{Y?LYZu4~a zA6s#S8I8&~*f}GpfxbT3U{eODvl>IWm_NMhvK5v9_Ih(5*SZU2%-S;^?J)HADbEl1 z?}lnI`4rH5Ohp)8gE+ObmVy~@lJcu$LEoa5%&ut|shu5B+K##LZ-Ke#BGfBaBvR|E zvTw)le}bZfdA{Lf%a+nQdN=|~DUrF{HgOk^ER1&)qf0|^+2zWF7mb;{xV>Yb2;poa zM*+BlF}VsqDY}GPiW%ka_R@yV20lmBb;BW?loXmQ=b)JK(23_izkfbz#cP0a91Xx*_k@B4)8u4XKN*SKwXLK6oXUC zdPxvd%~4KqnoF^56tKa>6%X?$Rza`UDQ{E762<2c9}yF6yY(;P+9)Y?;Y7u_v&v(rLg6zuMALS zSnGI=GST@xvYK9033Sl!5?j0XP@u(J$jCz0dp(Q#Q>SEsx2cWg7=y7pKy42clKIpo zkdo;c8*#P#iuFysXdBWN7p6AKvVxza%s~tMqKbkz)m;wN_x-@ROxrjm9ybHr^RPOC zNPU$e-OvCKTT0V^4joY2h@l8__7yXXL*J710j9$i>5N zMmT6VC-koFSF*QQ44lG{5&G)gfw~Sx;9ne2<@oxt%Of@Ax`nq#<_3&$WQuX$%{5@1 zmJ2?KjJstu@thCFP@2ee=fQ74G>6LX1xjR0r4$Mdv0M zd||pEgK9fSDh9IQ+Oxcf9+S~3^#}&!3pa+n z@xpi*DRT@!gzTF4b>Bup${YLmH`4(Hq-n7yHkbKlGAp=`o z+ZsI-_k^<>vcf$-2cDXL%!*ZT7Z8%r-@;n*`Q!>u)N=%fcCUPZCk{IOLz!}BAXo6n z@FY!1Sex6lv@tPZ#0*1(;q%R~Oz$LI{&4A~o)^lnCUGVx#q^Qdchy8^pj$w1_2rbm zZJk?KBk!DlKF8_J6gsbAFSFC5n1#DK_BED@h4}xa-ZkcTxCy;->@BRR@H1hGe_|ujUbZBtVANKNC ztYcNCg0GhuHukR4gTQatE%7fF^4g^aumm+)&j;@|!6*)F;zwojBHtZ;_>vgDvT*wt znL3!x@Z)YPv5bQpcJz5;+yq<&K2S`_YD78Six#8It}epCMpieDNVChj51pzCL&Mww zAdFh=eGAsmSRbKHNwTo@q)ul%fUR<5$bptBrdA|8KC5MvO`Y61r7=x6J}tOSO6&v( z7;3lEW1*6{QZZ^)$AZX{s$cmrKJHvCb;|aBtQWNLFk-Jlr-ohke<`e))yotX0i3+J zR=hc-eQGx6NeLiQ#c{lQ$0{S)FAot>bBS3t=!y?O?I7J4^J^oQ_5hff01mfQVd!$f zWy4hEn^i2}RsS14aPKWn@9{|*n%yTWE*qgcE6p#|MRKmYsLnUlKBkvM%~q6Mq)JQ; zN3N^@W{+ZkHfnSkU)z7P4?S}C>%aV1`ia{2lS^jG`1+QzPBt@6uSD&F?)QW^DMf@7%3N(>saQ8X)4NEZJeRK`hmpH@4~gdFrS2L{nv zmXQ<+?_}Y(zBdU1Ylr>p8dJBcRUAMxGi)J3E zjdY~kvnC(&0KqE5PVug#GXVAbk~zU4kH*T*riD7GAJa~st7%~j`$kOpvV!!(UFD`Z zntIl2@A-IWClKA*WIQn;UMH_nZCt7ZEmZd6)B(?lyX0lbycUuE=J@e`)Van~sJrJ1 zoA-v*JJ4^|Xp_S|wMx4@2-xb{X9|S$Pwa0!3rlq{pO>Wy8$Ya=mfQJO6N`b zOt_MbxKW_IJOB~zbro?*bb*PgnX7=c*Rn}_yLdwyr(=_uWV_nL$v8F(5%= z28>VQ(%$K!R$=1J4ji~xxYesj#!rwxvjwHk;v7IDNpx$)3o^;Y>-_q`l#_o%_=-Xq z2jr$u2ovg}dZ;)C5Guopkt&_^1_M8o%BNiYG_q#c#${_`*FCGNGrleO6y+~F%Q%)s zmS|%h9g_1a5(_qP`qQZRI@6X9^gl+iqHmM&H`S^yQ+(B%~&K$Eh5&Y!zLOn zX+wqH3I0~QFPUktjG90Vk*yfkCQQ=f4q5L!v>0a!<#{;AH2OnxUHQF+h*ORn=|;C2 z*@)Bwfme;iknh+~Jhfz#0bT+SM}AdqJIm;z0ff)7l!Ymy{?IGnjXqMY= ztf{Hn^m!-nqOfqE3`yI7IA|yrb?O6lW4sC^K)1)k30tc1w_QmTVtf7A>j0U@IC6bL ze_SmNDa(b2IK7W{2_!t{7kAfNj%c7EPKKS0MvRN1lU+S?4Gj;v^CYsZF9v+wT+GZA zf-<6qQ8EBiFF?aBE%RVk=Q}B$L0nx|ANi2u&572{_h)KaY3zq{$Oq*IP@hZsbe&aj z%7yF?8LnG6i+FboWhh<`N-E^@J!GDnSXczr#U}yMXr> z%4SSxL;JDG^IwZhz)JemlEO&e&=#2F@nGU<=l$_%Iaki6D5zVEAAuY-k4B&yaroF2 zJYpp-_8B-$6cplvhj;9UX03Iv zH($OQZL`WN>`g;AEJM^}KZ?%{XCdt80l#87S)}mC&EF3q4eKo>wgm~`q~}gdp8fSc z-lfzv72I$Sz7`%75ds_dsB7mhRmARij(XnqASDwidF|Fca9Wtg@r3tYD#}g>%-U-) zC0)c)tAKnTPfd<^yHKwq$ATnueE1O$nd{ycj@``KFMi)c9b~wqKz9F2F}0M6QT&#I zFq@ZYdNzmb!zf09hGaYsaxXrrwa%YLkaL@nlm+R0K{Ah_eT1-WrHZjgC2YveNv+A; z+)Q!GH0r>3Nw{O=V=AtO-|eP=*q~g5X43bLY_l$>f!6{<6p`obTmMl6){x<5si3?J zKf&i<6Qw;KAxE>Bzz{dA$F*A6`KbAFPWPBF-{LqPh2`7jW@+&LP;*Bibp!U3EfS((Wfk0Ou7#%}DiTF*-Po-iv|Z7BZ|4jRL?2S~V@I@@Bgze&L^}C(IisDn=rylIy^1uIDYb_=Zb~~j+)1j(d;d-7MKp}TU_+?^hl{~b2&8WI?4XN4$*-@yYTGUmni{wP9*{H#F|UV45Q>nXK6;7rrsmBw~D>b6B_-J;x^Y+$@I*fYIy}(JnkI5oUbr zFPR5Ig1OdGx!w_uOyx6|{!3raWDSkmVoCUmojEA*`3Ajd&s%)F;rzNQz*jGo05=Q9 z&eVDSz5b0o9E?#-S@776@!#Hq1`(a&?t=&MCX%03Cx9+K?FmMNJJ&ycF||TxQu(mN z+~-35f4H;aQZdI31OD|o03p4a*96caRawY?S4%h2GC{JpX_|%7%8sPEl=U?W$S?;s zFjDPZzX*)`gaUrZND|^uP8rBf$VL7Lowk_RL?-hHNbLWF0igY;BppbYrCPK_io&fe zD^$+Y(LTE1fTbyH?$b2p09bB8GE6Sj`u+=aCU)PWdrmmRVcJk-?;2FR-Fo$c zZqLl7x0<8Vt~voDrr;Y=l%=R17>afjb4tP;76hiu1DN<1gHe_@l|I7nu=}K<{iO_0i2E#!BpO!WRW%_Wy~$&R zu1*yR*K3e-nlS8B$*wK-@h@|l$Kwpaf|smOWSBoTS&XAo=%%`tI?}ec1{jk_Bs7q@?v$oE5qal_Tfj|gTp9AD3Svw0^(4TtuG8VAds`MZ|XwV>tm!Lx# z{0#z>s4dJma@Eb@T%Z&&B?sC#G({x33z$UZM)9adTXR0|b6agowBmw3Bj-E7ZG8v>Fnu$r$Z|4f-$2;;t$f;|3u1_l)-wT<#y zf6SA6Cj)ymz`&S;;tGKSJd8@k>Kf$KHU$>k(cqa7x>8SYtZcRjEktL&?STL(|3-x} zMBzk=*jyX{p@3bVFpAc1bDIk8Q+N{>$})M2TtmY7gAR#pQlCEbmGi1v_^(P~)4z(q z+wv9V32*&zZT7Knv=nZ1Ol3ac#vQ~m>)M*UGDw>0g>=RU*nST{ZVDJ0mAOluEUDd< z>SzLf{XK?-eX(Ov&Oqz<*)BA zfHgQhi6h#`YB!n@Fvd|LlMG~c_0X>KEIIPR5CVvE^)w}f-h#!7Re9y$_t+wyJ^JEi z&Zd?(fs&Ewpv+@0hLWU-h4cPUc$e4(1UKy$X8Ji32fojUX$D_0flN}S!&7FZGp?kj zgOc!|`9JbM@t|6z+qb-@4A!h3-{g}`&~fe{-y38bjseb0UPVn-#w*-%18sU{+da)t z1s~WvFJt)L`qNMA%TrZ}ZYl2~Vt$bR1g5@^F+Hy}o`_pfnGrw5- zLiGadit>`nt`|jc;V++|O5XeYT2yp$_YzZ_z&>d8{iM3@Z zi7loqprv81y?5Tcz1kQqlGA4N*KnBwLXU6>Pw?X-#2LQgmF#f0OqkKU^(}hT7S7St zX$T$cdO&~5i{;63)ye8YAG3G_%?_K8@goCCJ4(KiYJ@49pG1O>Q-a8P+ZdBE7=+Vq zwd&orz$M;vg*`AqG~`B!fW~iHEF^9GvHNhXB`T9L%f_T0jtGee&h7B8 z2WxNru^zA1Uy)UQGg^R>_PUOsd4)15NnzaihkhKeJ*=d99pgwHB2sco(Ft)Yt#aYd z3nsUwHve!FQ>6G6Qs3#Z|43$+?3D|uX1qUxxPZ7z0>3+@llHU-5QP!T3%h#RvgSsn z5FBHhx55{mO5dL30gDzDohF^j;RCr9NKyZoAEM}McX|FsR=zWLhkz3;L)bFy2je=5 zPv23697q57yf?oMDHV#aF$+CS@F6oiWH{K`Lpb#fF*?4&vT7}LA%Fm|L)$P9x(l-U zPjvc;pKD(hd=lMAYA?q;R;PhZMC3@L!?!(WUw)9&>)8nbm$40ewOzj>ryVEN>3}8g zdaH~Ww*o$6YMV(V04vR-=d>8E@k@?zxXj_Bi+eP4H0L~>un`0*N6;R?>L&ogn7naL z0~-2bBylEXwK?v`sF=rZrcfi_c#74Ry^eN5-Ox;QGU|KB?~N-*HLLdk?~Xtmr~d?4 z>J`FIP+C669+&;Um0rx#S?VNOr@X-=DrBzsUQfLlkzMMAtR6?E%BEx#2s5gY9K?HH zFzlCtF$5JnY+XcyBZU^4TU69h+^DS1Ue{piFDk^w(U6l#>-d zH_I!}y#}eBz^Vi*J0p^eDu9P#74NNNu#RY8k~KMpt8PM)&J%9I=|u*uhMi8_)~8~m zp!~SI`sI5DMXWdh!;McLG|zxGFCqq#Hx`dB!*UvH!apg+H)$}=4nBM?XX(x!1Q`)V zz7<1&MVJYiHJ{;F4-@NxI4}y-dc5G|fblB^6WCu&Hkix%X8#V0@a14~dZ(SY2CjLy zd;WY5ykdUai>%@@aBI^X>?Crm9~1y|Y6rBZGing?MG@uyzBk^)!p|5HSi@eJfjPO$ zRTR$*f0M}Ltqpo65k!nYp+=wCk*6A3pixr~HXl}uni6d&FOZrSifGq{#ecp$cp|x= zII9anbQ8RH`L9QWRN|1nWk~Gez&)ckbgH8$S z%xp@nR}xvzuuEb6no@GC(j_9Z#Qndq=rNjk1!08;LJMZlSDuZ`5+2bLij+M(NB}`V zzQ5GA%CLL3XuHUWD*^kycr-ImAaD`k08DQ_yh^xKZvzPv`lAz7t80Pi=;rEZAU*=g zYvI(gE)d=Zxt~cRzUTh~Y$GGVUx%>UHb>#KsPW6dz4U!QP!5now?PM0SXhUf`{YH= zi)Jzz-f>yv@t1h&I_Ea{)ig-+>%I|;2a~GU00dI%PbIXWh2Ca5z&1CgX%A5D>CCVH zC+3J3F#Hq!Uw}5ir%AN%jB`<}K{y8Dlmm`rtAKbl&6pQ!d?7qw7dR=H95T~NqoOPeUtXrg9|ftU*ksU%}9Na?vhED@M&_A4$bAy zgs|5R2$RDcug0tuHGN_i_c?CE(hgNx=%PJ%*qB3J7-(Nn#_t4-3hxtkta`QZe5w_A z!ANco=A7tJQLqZ>f#8(Z#N>%^nhVSm++a8M$fN;I7+xsEb=NLcJd0rm^ z$5%i2;yJ`qM?+F~7j6OMvzz%wp-$d^VuD*U|80PJ+qW1(PKn9DN=AO4!cn$h^HSLt zhvRl{zzh8u(NPE4B)pb92ZLzK86;fLHsU6Tq zv(5VJ{Iw*LTJ>Iv!wsX%$z{C2lTDC0X?M_&2Sg+w9z}Y&gKe^Zn+@^xh<$>-+RpQ@ zwYXFkVYwZvd+!^j#O~5`6eg6=wgO2z#yXm3I4gnTbHjn9&ZjhG(r^=vmks!;V)J}D zjzuohb{fK#duPLV@@TKgVi4#ti%}0DLtN*(L#lXU%M9&d63cScu-B(@NFhqV2rTd? zR7s|pY@0J$DUl{^OmqY*SK7i4P=E#X?CX?-flZVFCkBids}LJ*E7G_ToOp0Y_#EOHWr0U{PIL_0amPo|Z8Lyg(bk5XSY6&KMwNZa@$xJNl z+G?;UFHl@0}pAIHP8TWcwkch!aO=8t{T9aRSQxZrX1MDY7SO<5)#TI{?G z!~)HBXw;*fmFe^QwpzUgwa%ztMV_m)mpjWjdGLUH6A&l^Xcyl4Zz>N&zFGOBnx-F3 zNN?_oP1TjeaprfXp&B)%o+L>|-|!arYSjfLy2_pvr4F|XX~q-3o*EmrGMgW@2#8|M zqVErrm)8}*BBr6anP^8}O>_y>FDpb`Kr)E8499YcM4fmip|iZozI(yAL=44%i%Ibc z$;}4G#s5dTP}QG8L;oUh(y6I)&gcYXFutsVV^qztX1%EPhDu>UeDC!h~M6YJPFi=;mYlR96^lEbHM1yvyoMU>K;% zg#t*~@&{r~Y+u3$DxxYX{Ql>$4odl7P!+Nd(R1{JS0w~>4k1nXJ$CRP?8xSW9HAC9 zDR_Re3~78v;FelS7oaBqJHcbIIU;!u?)T=YKJ;682+kJ8R9dpUC8?Z|N(?}MW!>yu zTNk`M#u;S-L|uu@f%Aok5tZ1%t8UEW6kb3&!!_~m+q3_w7eqJxax1}W=VNlCE109^ z`_e9m)ZF?i-P|Q5`Ny@W0I1{UcEdI_w;Uk1Vgfz^pplE(cDOs5QFC4qmuPnVEr=b2 zI7k(>(=PX&U4P{}{st7oPROxQ@m}Ai!+CVhXSSGU7H^W71}48O%N;kngZM-Op5Z8v zjO73KReAiAYymA_W89Fu@*-QYxFHrR(|slI54%iF%km#B#4WU<{Ptn!3E}pAzVM*X zp1LxD^3vq}_3H7cl2@4N>p&9@nSddj8i|SFxY{M_JGj=nbqo9NOsyz1PS`!yXw|=( zJFzEk9Q5>>=4C2YD#{#T1_t-2u%-SJC#J0Ly4W>pjT$g6JKn2qK`%a#RoIpsqurhI zqf|bNC~aj67&LNPaFRHyZK`tQvi5N}&$OItlC3}k#I<-*(2~V4Cg})B!e_<&TQdoc zXG;*RNmc{_P&w=gmX^%XG;tCkMq_b@R}LOMK-dLEyRBs{TyzD(HW_ZmZ?uod!a8nV z6R!_u>Dwok_Yg(bE)LmLevWh%|B^^$TmsIX);Y_&4=tFuTL>ZHL_>7^+KVJ_RAzJT zKsbK@k}cl=whx%wVbTxvy_r@6Y94x%#|&b@iyCYlRJ68@)rW)TM|f*$0Vyc>0{Do3 z*XYir`#Dn{<3A*fV263s!1~!||f0n1LjQYeJ8Yt$2S7qaUcK$BzRm82r zRFyW2646Z{>$8EW?y5NEPCo^75YT~OFdzUEnkq>^8G;8x820pdET8(h9wzL$u10p=v(CY1eholVQ&5< zFmVxsYC)WcEurFkga!mwe=$t~mkNCZpStq;5Ighhs{|v-+%p3sZj=u>a6hUmv*JA8^<(N()DbsvQ)yU>5eV?SFz>aY55uAKdh+5 zo2ikF*Ks!2kl1$yingh+y&_V(zVJW4^YpSrr;?yf~z;pa7>rh!OYCXT$tP+Im^0*1rK*ok{XB5$$>2<8e;# zfBKY00}6x0K{?=ra^7z=U`YAU)tTp;ioKKvT(CbKjR&(f9|R5a-b24_T(lB#E?;)j z9!RP&q8)i_i-V%1@H4q%RziL@lPl!NQFKwz@{pp_BK5$!tYA>sb(K z_BXXupO7vJ%Br9tQF+AJQUfgbPdKg9M)Iwx=G&SPwi^FWbEfn_a4BVc(hOLTV z3wN+JbJvawAB49_y`u}8p*s9vuCU6GE(bkM&KEn7cG#Y;IN3RnNRWX5vTw5R@J`%7 z7I4k!L4sjJUU(V1R`)uZ44Ac<{<^YLlaP~7rHjXOha5DVC4BDS%=A1<5b>LDt84NK z1@%IPYxp>?gCO#{9|FN$XIg#%;w{)C|66%^D)CCI7HBZAk}6GaiiV1zK`6@Uk`)2H zag0T+Z*GrW+5-A!rIg$oH3XOu6h{xGC`qLOKZnv6!js&vsSOG4@4*K5EbZ@zhzoVI zt};b~4Sc{lOWa1xk5k^ddg&(c;4fkTZp}N9^r}iEqUgTYne^=~`qTv&phdv)=3zYoU%kjmVW4%LiN4gD%^$o+dD&I5o`b|aNC zD}NX%vfJ)vcZAgG5FAE`w_EqQS&xm1Fb4B2E7)Yh8&CNrv9o#2nvXGYI}{zU@iDXl zc0>&n^6Qr-Mucl+ABh}raXQwP!j$=d1wvHDzO~F)xpipq{}eqa6-E z;^JqQ%{I_oS=LUnJ6&%7^jJLtnkS*e_SV+f1nr0xzi7hsA^u=N&G z7mImhBmQ;amA9E?&)4{f?l?B2F%CwXPQf`06W>^Z`Ju`9ftTp^O7am~^UVg2s1H|T z9rQ>@9Ge|A_<$LD=Lis>y)@hm4BlC69_5Nt_wx^D2-x%jAsD&R;{vgVWG3zKy<(;C zeyxK+e!25^b7KADSRcDM{2UJ(Vh>lcKeZL9>o9meP&@NM)X7W8@8G;Mdg#rp~3sH}b00Se&J$JMgwUps^l2{)ydG(YuhKKAL`&p^?b z)U|*JntQxXSz5yS3`=AO@yW)i0AzGo6f~GQZ77y8rT>>MsAb^WU(?Vr@K$w>rdO{j{`tTQAsXAiW$GH>hiyq24gm!pP8b}xZ-*Ut-(3AZXt-TqkkA6#&2 zIsGIdCH0ta49U#-Y3pp1ZN#^q`k%JIO(`5Vjjc6CG|vD^06_ub-k;|Mf2Be@a=vQ* zU*1XnIla^wF)A3FcyvIe0V5G!cN78~2s)(zGm48V!}<^C(>|v^b3O=%tsnOGc{18e zdhG&+i5mGSW)P}xz)f+2(ki*LTEHQ@M&YU`_#J6MSDRhD*G?^-q2ylo~;XSS<2om#zSdIO)g<3Oh(&SiPLu9 zx1w4%@eyVFN7y~j5=mt4^vRu0b9A;Kfw{G&8XOzN@o}p_zMKd(A|rR| zVH06fm3;8vn!v*Vcy@->uPX2bW-<|BC?uK3yzpSPv$~a<$q2Mzx{@n?{iRhxGHISE zIsX4|Ox5aCKafDND0Z1SZhl_*>I%_#H^bS`(5#Qi!YxxOz3tb=`6$9{(j5nZ#i!;3 z#ln$0fh2=yk_K(3iGXtdIVh(GnXiD@yrq!=@0O~XKbY@Lcd-9=8>lS`_SW5K6-2X* zRA@ggKDj#ve;}>o*bxAt<7BJSC)F2+ho&f_$$i4O=3;ew3iCQLaK?Og-zfx#Wea47 zMlR;cAVnto53r6ksPIwsh4r-&OU&k>7%$VS{+VNip__j=odt}-K)u?1$*o38$_$3m zX{qprtJM^6)pIcwr|rAqb2`-SmeTC@ygV^w4gRgm!QCEs*$j zfeJ>8&bfAR-o`0uzKwvzzqsMgXeVTa(aU2rZ^1}Re=;+ldjYo;MRHD0d4Y3)894F+)E=sW8Li|$9wglCM+m0Z;to+F2 z&C^OFYJMylNJD5T$z^(%VHh=8Q6M8s&jXN)com3)GLW_c5Ym7&6~Z?t?B>`Q2vLm0 z*CPh8l_eo=+Rr2gmqElohAYJ`;p%V^$hpry`!LKXYGD^~v=CVQ=-+^lCA-gx5yS{_ zo`s58{^qPYc|FK^gBSrirrJ%aID*Er^p63U3h>j<94Klm-VHsL`g5IC&6_+27gPIF zZj~ChTWv?0e976ppZEBvdg*tx%4f!W0vtqLN3 zpSt21(f6iD6CdYV1CP;_%*? z3LJ5t%c%&Vi00;NBQhSy{nTQb$>xEg+LT#Fj3lU`iQ%Ub;0WkPI z%(@;DSXr%^Uq>?~b%h%cV{p2v-k}_DQF|41!G|hrr}OCI@5!cJ*xQ0yO2URk7+HHD zo6VD}ma|XrbzWJK(+D)8EQCb;Zds#AsW4YqFIaX%JSO1`OpK+dh>ZeO^{8*X;<_-m z(#kp%dp}q@N&3<4e015^Iol|3Kc9CwX9o5w9E&8~%^e8h-HglD6@5`@yJ%*IT zk9+76t>Q`lSak|=@qcFOu-*B%77==o}JvQYXw%IyMaM9tW%unS8j>WBRFU~ zKpvd#F)%_&eQg~fnLFw^TW4doj2y4@LdD`R(s`Al#3!^B<0;zkvj6O^OWs?qU-8EO zS)4WwfJ2&>Pz5K@rWmiKzbe4uqFx^!w1$L^rOU5Ihy4DPzp?kvT?a z%uN00qXxzR(wC18(>e=0Erp1%<6)lPJg}6l@)a_if>o;V1m1um+g2$IS5p+gJ37Pm z&N5wLKINyA!J|glMtXw_S%Uu9^yQXuzy@ewLC_MAoA4nq_2Io|G&_4w6y|m8kiJWP zvRDuucq3*uS?d>7Wzv@U28ylAr+G38rVws@oY@X`1F~b3l=XS#ih-w&6_9)G9GJiY zmHL$w>uVM6S>{P|J0!TtO^)w?b#S51{TsRF)M9s#0hbs~-ox((9UWhx&^pk+aS@?q_gtjreHGn@o@h8(iVodJpl2A`g;Y z_$OV6y~TgrI$(X6*T^ZK7-q_k$*P^3wSsuKmMTG3;_%Gc*6se z&YO$REI6Dy!Wg#9*!!bWOS1QZp`$l`aoAtkQ~c)(gEtM^`@aleVgu@U(?&9rqt3{# zW*_t^t_J{llnm*AAFEm)$vZ7)9{D(%dFPl7Th5S?I_TNiW5tsJSRdD~w`{*g~O za{Z_#@<*?ZyDvoR zZz^WT#Q<7pnrd1@97bpg(gAoX`L{)1)GY{Zl^kp4C@G z0VUyRdmdoBk=zl^HC)#TAp?8ImV|O1tQdfSw8_a3KtZbrYBhbg`>;w%4{=);kF2v9v___k%swvD|bg2?|xbs1-l2{}Gx0Bx$ZQlhqS;J>UXnRONw@fLBK z@}xmE68CRW?fD%Y;RFcsAtOiK3FcMzx*))4{ZVvUw>ysB5Jri8v2PWvi)FiMRY>WmxTJDQXn(;WaNY!P;h8w*ZEm zy8xlBLZ*G*pCEQ5#EE1C7DxT#ngmSN&p=8(Fvm1U0Ttjec0cjMk>1ue`&bcMwpq}{ z2k&ITgc=BM;;aIzXcDtpO=5gyDBT1MVQ=Co`hSJY{SvhY)VtTb?I9ODXJ~?4Wo@os zf(*Px+dl0lRYtnKe_YoV*!;tOHUg5*l5Db{IS5>PR2mDPl zFhinNWy?BbXOKy;-2@?UIe+^|QIRRIMKkE2G0PX9Qj@aOIOl$oy1y^HnchbWx@~@>dHNln>30 zEK3EUy(}C4^A`L7((yJ?N^vyUT_V#pu8U~%g1ve>J%KyQ@j)FY%UXQ*FK=|p5ErO- z=aei#N&%{1*jo`3=>88hQ0iuvi4=mvz%KTRuS&bGzZSz!JBEwHV!mQ7(N3_g04`;9 zOlBMlx3v~{5FzMF{H5o}`mY2dihRNKZ{pz-fWdOkbzK4;U0BYUA+*I47F0&#=;Fb# z&xP_bcO>w*ZVMnvh*H`j`g!Qzl314?>YZGS9R8n?3W;V%nQOccv^6m2@qz;)xLgX> z=wm-{IF$@r$!AylCYbq-e3Li0;XEbRzu#I_01veI8LGv+hV{l=%n_?mpDdVcEeGm%Px_kA2NsK}mfiE!&xkLbyM^f5iG!URk?16}3kY68APp-Wo8s6B<)C zU?_de!djl4$d=R1P2tDR@RuMUR33wZ8zrK@O-*>QcGadg{@{K4WSy3iB`G-Ym(LJ{ z0hFQ#9uE(ZaAU1+NJ@XWipsX2s!5VEt+bOBzO*?xdj(p+Jj-BGXxBcnv#R6NV8E)Co!OI zQ8b7gA3=$3>krPI>=dR6aG^0-k8Ix+X%euzOjERcyfX8o)A6plOM}j?7z`G#HWrQU zT{$3YSX8$+{>&PWx`=${^T}&DzLLAU-v^ zfs)E1181(k)*sD9^Vp4TKrgI$Dv=~HAL(uB>5$B}UK^e!$S-QiOVw5{XPYjmeC4hp zVN!p}#)yO-qALtW62Z>%YwBefrE3feUb0IN$MA;yqMMl(kKDB@lfmjxWv2?O9;n*< zCF+RFuZ7w=xNA(nbcU8<%au8msoM{X%$@Oy2Il5K+`b+FxbPkkFBDndGCS#?#iOyH zn5o9EQ7D|dz@h21jLlzP%buPDx2_F%$?lJv3wVU0; zetlKA-_;d9_vcpJtcrN5XGc0`KE1u9isWq1zVlW-IId7PZe2Vx#s~1z19Al5VBZCI z5LKofBG>VhCJYWOe_}Y0-5pFpvxnKRLugfJI)PBb1egXh<<3wF2lBwR2ToYvWwfDdQ{w@fWSe-pkWZ${#uQ&U?hIuMJ8FUA=Xx|8Y1u-z)5WM6&jCHM<}LB0yF!eOh(kB5Pfmi{h%p5KJx`q8bO(R)48F4v z>45dKAJCXgMyoT;Y-`+4&D@Nl)ujD1?E6!T<5p{&DndwvBwKPZXpA6fV8R)FFL`pA z#bJgE>du$k!&PkJod^GFMzw`xZ{2clX}7;=3=`ze!VN3Gb=LF<6&jEIpO=)c)pF;- zTemeMUwh`0kw?jWrrA~)(WH+ULH7_(h178i;_r|w8SUsjki+<2cw(d8kw#h#u}lA} z15Vv9ig(SN-R!J9dhPb7}GUyDaprVSDk zVqf~yacVT2R@5km(D4A?gZKuUzM|6Ka+3`6<}I1$3jU*XRqg+kodWL1sBKU%9k7jb zhCCzcL-w-|Vr?Q7m9c*qE)1x%TFtBl3QpZS0T?<{jvL_rSf96(Ql1nwVtKE=j9~y? z7#^#Xz@Q^3H4ltrH_V$ttZ&A;TA#!16^sRjQ#y6r%24i64!+bHvH|)mNjX7gC`LpA z(0nV{!J{$y6R!l2Cu(i1nZi?kEyMr!F<3d(`;K8Z^lC^msfeFe@Am9*NYU^yG5;hM zDKX|&iDu+`1Jh{5kuC+%jqW3PViV@B~ z_bf!BOhwz$Btpi%V#$g=9tcMu*0JxgjRBf-r^SJm?#cz@iuOPJbSmwlkwV~6gj#W1#(W{&U#vpEt1odEw}pMEGJ zpk2mqOLGfNdy{B^zQ>tqcEU@Yl!dAcPf~*Q8X4K~Ch9;R-jpAg$^LjS;0;KIX)`C~ zp(F+2Mj$h*t>R*TnG{f+Kt+A!@L68NSBf@8^M+cv%_5N7*?q-BfViK%d%pg5=3?i- z^Fq_xpL`gi)tX8#I{qMBiev_f_ep517CQ0G@k5u9nX?gldv@X+((nPWj|ShtN>zN? zZ#*mCo7WJ4-u^SEgV?BCyUSJpkIf+ix^!zHZL1cfwW16gflw^02ay)zLa2<+j*Ti? z^0h=4w-g1VFNqB}fFWTQ)Ic&{|C+;@a{pS-2(eN+w%^*Q?`8X;;R%a&;p-c0uz_t@ z38N9Kl8tSnFj6cBmUGP6th#a^Hyv$NW3ni)zyP06wy1zrEZdcp38G&Q!l0iG8}>Y5 zod5oLYLQEB*%Fpoy#iiOEQ!(|?EtM~LM}BH==<@9av8iv`_1h$)zzF#p6qg|O}OO1 zm3e!9n0oc4QSYMXk+^fzhsa60hhp3KI+V^70mruI2Ca1+qne+_fNzLxf3tG zLH;+I2!fLeRPB@YDQU*SNHN|v)pPtO>az%X*&N7jzU*XSF_AZ{HipEErO@qXQdqU* z*X?>T+X6K%UR&0HdnMvAYuAmrGm~0~w)UwjpkESL1xxc^Rw}QhhgT2kvUt;^ZGJVHi z{j#OM<&(hw%(%%d;-g!Qiq=wD?v^hVY;lxv@2K)vB2!-s)VDW+aSdWW5;cLN^A! z&P4tNkwXI1h_;ygXA0>CTL+0UgrQi4$@oadVR042iiXbp0XXkKeFocvJcF!M)Dl#5 zoD+-S5Zu8b`);N+D1soz%xy@SO~2$0&$a(H?)qvXtcdnzxZdr(cV=ye61aWP1ojZ^ z2(`v&<*aWF@knF?T4`{W$DXWp*tpOVzT(77u%-}yN+0`6>qaOaf&*^~Uc~z)8BxP1 zY%YQvK_y@<3sM^MYcY~9gM%UuL(tVaU@;eFYC0|?J2`jN#CyH1q#lX7voamzn^Bb; z`v;*n#)w=^=$lP@Esm&&B6HvrL3?X8Pg_CwXS4f)%>ddo=GJznWqK!inNAO!nvb-t zkz_fd0){M4-6u)Rm%jtrmw2$atKRrB_UEW($U_-+C9Y+j}~)cbv~XbdyB+Y9;v--$QmjlRnVJ zw<6y-t%FV_5fYwy4h7EM}oflVr?ApyFCX0gqOr+8ep{&T-h!zlYsw>4h-0` z5<89~DRgUI$w_8o4)dz1L-oe?F9%ZTL%BBTzBmQD1KBrGbB4@`Q|z*KyJ_CF5%1}U zGmkDqphvywvwK9QDK!av+=UyPM@GyX;S+;!lWw>#3}U|;`WCwWk)tKC!w9ZlT4P?| zQzcm>BH9)>E=YmALG$gpnPocw{weI_UhwV~2IDlbL%y#z^vrrP7j%F?BV&kt&$*_WR?R_nHL8)@~sI z|I?nP$=XfSmM|CWFY&)lvJR(>cB7k~7& zUR`&MCcGdOhEghd8~#-TqC`}Ey$sDU=s}Cz;hs&7#k^=j8rkz%7CT9Tk(mtP z+ReI|hap`^0CG>iN%Y*_2hZe}xqw2ue-&f6phdGHGPTr(K@!1d7$}!~dS)_Rr$eL@ zViY;}GvrskoGAf#>l4@91vfd%b5i3#vSbnmfO#ut{)OXHRXzofx{U1a{brBgIA4e2 zrYbSnxVU^J$x`AdOM8Tt&W97CMo8z4DbIsZ^ zm{76=06yXN3xs>qB|@syVMv;ONNGpH(;&y}1bSb@2q6vJk0Jp(m@C!b#iUz7n|F51e zZ6q`Z5sz7ZG*XK`t`2k?*bEswTG2L;5k^7sQj2m(-Vq9d(Xb-T5@0bH+=_b1r{8S? zt+(rNqepjrLoibjd zQ6L=mn81qf5A|?KL&$Sy&)iy$#4lZMNOUBDo3CX3?!qB@UTBu7&}hpRUSn|Qe982 z%k#g9o1;QObtn8g(Qf5Ee+w z<<3-O10ktg5NRdFh`2lq}T5(BuLzl^$p|1B;X3th^sRxZ|&C(8oI2 zM(&wYH7H=IJ}FH%A{bQOdh()wz_aGm;2IDm&;lp6^5q^{8e~nzaCsh6Ikv9dMjrUx z>+8IRIz=VSLn5OT(7$xSosn~u&1B|I1|H4u;$5YCfm6X#_tlS%uu2v~F*G=NZFCfV zQ$;@Y7sZY5e*%uEmIdZ{v}e3P6)0GY-_;mh)Kc0+`bUtxwyi|2qL~jW6eOMp8aLU%BKBS*`Gn zcz^4kutmyCItg(8y_Do>(`Xj?M`}Q2hR-hd<)Jbxj`n+`c=j6 zhWA!fhlR&R`o__a?TQw@Eb9N}+*R7b>FBZBeOUAObR{rSRYy4_CO=sqmzKKt=nymh zyZPB-X?|8H+bbdz3HQ^GQ_yiTQF8flA!3Pu&wp|GYP2Q}+5s&Qg8na-{iCuNH?hgt zW6iZ7Q5HQYjDhwn_^Td?6CjHRREivYQ5(_~>%m9&zIyqgiFpxoU9mm3b8pq1@Y+rS zLtzuVozJp_#2i?R$}nK7)sdY&VA?WMTsS#ORy#J0Of`4X+6n~Rz)0v3th_Z#*jllB zU}A0cui|jz)JC3ut}8Sc71FRblFqi`M3+yM5f3 z&$9(aCSR-1d((sn6@x3&kY5a~>Mk!@Tj*xf6ecG(JBZ6IZSi88nYA6jb zr)1*7Lvm{e@J5%zt6;*EbR9`&Y$WwbpKm zeMr;UdKUvf$VjHW$%a1xN#xv-w(8(}S79)O`wNiET@4%8x0nyBDTbRf2)XEgcz_OY zr${jIvaVz$mJ6F;~`rSI^PZ(EZ ziJiKWLYUodGmol3g7@Ga-G{lW+Djrho+q3_1TF?XR$3c#M+H_2H(UuDKhM+XtN_j? z`7ABQQFGzC$t*)8wX@VY(J+c{Q)L-hF}jNWKu@4K1(5nQe`fBfQ$GN4reOMKjDOM$ zT;9mA(c$0iD_s4zK+DIJ`qs9+&ILEbeeEZ(zC%8UbJ0YNrBe)5G6? z{sgB1S=P-Z4jdfEK>bUT`>)+Qe76oGkL=iGh&=AmXs%^kRXEUpz|Sv z2WHc*=0oVU!?>DNY;_(_ASF~i00-%3>P&0D#PTDYKqOB@8qywZ6pR;)6(Je4YKE(v z$U01&f1sr$WSV0TNBp@d{c^?hd8v$|Suio;wf8-Qmk?C-@rP>nkA=R--(8S~CIpeb z8k#O*z-JI~0qK4EUOd$Dqw5M1cWp zrj?#z1l2-8@Emcu^ ze(Z#CxH0JQR1c7dHN_{XvC%OYQ(u1p`d$bC&Z?GWKBg#If zKgcL?=$-r4x`n{>arxP_#RJTsyqk|Om^m(IG^!pH;0O?i2@*Y_QlVB!HAz7WaGHav zinLLd59sb9LWDlB>FTSDCAy0Q364fMjt@m?w_|j2EDj680Pe*bmNP++_F%Te03=a_^ze>k;KhBRr zv&;naO*c?j1!iq&bq$Nh7pacPHYS!F+b<%`aLIRW2rmHx`v0>OJwFws#8sQ*MD5Yd zE7si5AW&_P?&EAY4`*8d$41Ll7jDTqXR=AOT{;m#v*4zRPvM(SfBJrJ1;Cw2gEi`7 zv(=Lng69M3eT2Me$z;2k>J&U1o=u@8$tGVD zKqBdnUFRn$wmk~z*Y#num-FRZ;d;3^1>`c>iZ=!De)4D^6x5wJYO*;cGl^6P6OHzW z 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