From f643955e1238167ad737423afe1793b13b3b286e Mon Sep 17 00:00:00 2001 From: ens-ftricomi Date: Wed, 20 Sep 2023 14:03:39 +0000 Subject: [PATCH] deploy: 1580a226925d0d948cb3958b80253bc24afcd4c5 --- .buildinfo | 4 + .doctrees/cmsearch.doctree | Bin 0 -> 2507 bytes .doctrees/cpg.doctree | Bin 0 -> 2482 bytes .doctrees/dust.doctree | Bin 0 -> 3032 bytes .doctrees/environment.pickle | Bin 0 -> 114985 bytes .doctrees/eponine.doctree | Bin 0 -> 2502 bytes .doctrees/genblast.doctree | Bin 0 -> 2507 bytes .doctrees/index.doctree | Bin 0 -> 7821 bytes .doctrees/install.doctree | Bin 0 -> 10317 bytes .doctrees/license.doctree | Bin 0 -> 48845 bytes .doctrees/minimap.doctree | Bin 0 -> 2506 bytes .doctrees/red.doctree | Bin 0 -> 2482 bytes .doctrees/repeatmasker.doctree | Bin 0 -> 3052 bytes .doctrees/scallop.doctree | Bin 0 -> 2502 bytes .doctrees/star.doctree | Bin 0 -> 2487 bytes .doctrees/stringtie.doctree | Bin 0 -> 2512 bytes .doctrees/trf.doctree | Bin 0 -> 2482 bytes .doctrees/trnascan.doctree | Bin 0 -> 3042 bytes .nojekyll | 0 _sources/cmsearch.rst.txt | 8 + _sources/cpg.rst.txt | 8 + _sources/dust.rst.txt | 8 + _sources/eponine.rst.txt | 8 + _sources/genblast.rst.txt | 8 + _sources/index.rst.txt | 58 ++ _sources/install.rst.txt | 54 ++ _sources/license.rst.txt | 203 +++++++ _sources/minimap.rst.txt | 8 + _sources/red.rst.txt | 8 + _sources/repeatmasker.rst.txt | 8 + _sources/scallop.rst.txt | 8 + _sources/star.rst.txt | 8 + _sources/stringtie.rst.txt | 8 + _sources/trf.rst.txt | 8 + _sources/trnascan.rst.txt | 8 + _static/agogo.css | 555 +++++++++++++++++++ _static/basic.css | 925 +++++++++++++++++++++++++++++++ _static/bgfooter.png | Bin 0 -> 276 bytes _static/bgtop.png | Bin 0 -> 266 bytes _static/doctools.js | 156 ++++++ _static/documentation_options.js | 13 + _static/file.png | Bin 0 -> 286 bytes _static/language_data.js | 199 +++++++ _static/minus.png | Bin 0 -> 90 bytes _static/plus.png | Bin 0 -> 90 bytes _static/pygments.css | 84 +++ _static/searchtools.js | 574 +++++++++++++++++++ _static/sphinx_highlight.js | 154 +++++ cmsearch.html | 118 ++++ cpg.html | 118 ++++ dust.html | 118 ++++ eponine.html | 118 ++++ genblast.html | 118 ++++ genindex.html | 107 ++++ index.html | 148 +++++ install.html | 156 ++++++ license.html | 298 ++++++++++ minimap.html | 118 ++++ objects.inv | Bin 0 -> 475 bytes red.html | 118 ++++ repeatmasker.html | 118 ++++ scallop.html | 118 ++++ search.html | 136 +++++ searchindex.js | 1 + star.html | 118 ++++ stringtie.html | 118 ++++ trf.html | 118 ++++ trnascan.html | 113 ++++ 68 files changed, 5458 insertions(+) create mode 100644 .buildinfo create mode 100644 .doctrees/cmsearch.doctree create mode 100644 .doctrees/cpg.doctree create mode 100644 .doctrees/dust.doctree create mode 100644 .doctrees/environment.pickle create mode 100644 .doctrees/eponine.doctree create mode 100644 .doctrees/genblast.doctree create mode 100644 .doctrees/index.doctree create mode 100644 .doctrees/install.doctree create mode 100644 .doctrees/license.doctree create mode 100644 .doctrees/minimap.doctree create mode 100644 .doctrees/red.doctree create mode 100644 .doctrees/repeatmasker.doctree create mode 100644 .doctrees/scallop.doctree create mode 100644 .doctrees/star.doctree create mode 100644 .doctrees/stringtie.doctree create mode 100644 .doctrees/trf.doctree create mode 100644 .doctrees/trnascan.doctree create mode 100644 .nojekyll create mode 100644 _sources/cmsearch.rst.txt create mode 100644 _sources/cpg.rst.txt create mode 100644 _sources/dust.rst.txt create mode 100644 _sources/eponine.rst.txt create mode 100644 _sources/genblast.rst.txt create mode 100644 _sources/index.rst.txt create mode 100644 _sources/install.rst.txt create mode 100644 _sources/license.rst.txt create mode 100644 _sources/minimap.rst.txt create mode 100644 _sources/red.rst.txt create mode 100644 _sources/repeatmasker.rst.txt create mode 100644 _sources/scallop.rst.txt create mode 100644 _sources/star.rst.txt create mode 100644 _sources/stringtie.rst.txt create mode 100644 _sources/trf.rst.txt create mode 100644 _sources/trnascan.rst.txt create mode 100644 _static/agogo.css create mode 100644 _static/basic.css create mode 100644 _static/bgfooter.png create mode 100644 _static/bgtop.png create mode 100644 _static/doctools.js create mode 100644 _static/documentation_options.js create mode 100644 _static/file.png create mode 100644 _static/language_data.js create mode 100644 _static/minus.png create mode 100644 _static/plus.png create mode 100644 _static/pygments.css create mode 100644 _static/searchtools.js create mode 100644 _static/sphinx_highlight.js create mode 100644 cmsearch.html create mode 100644 cpg.html create mode 100644 dust.html create mode 100644 eponine.html create mode 100644 genblast.html create mode 100644 genindex.html create mode 100644 index.html create mode 100644 install.html create mode 100644 license.html create mode 100644 minimap.html create mode 100644 objects.inv create mode 100644 red.html create mode 100644 repeatmasker.html create mode 100644 scallop.html create mode 100644 search.html create mode 100644 searchindex.js create mode 100644 star.html create mode 100644 stringtie.html create mode 100644 trf.html create mode 100644 trnascan.html diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 0000000..99ec388 --- /dev/null +++ b/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 6ef85c61a07ec8e9f0ed07676e851c59 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.doctrees/cmsearch.doctree b/.doctrees/cmsearch.doctree new file mode 100644 index 0000000000000000000000000000000000000000..45ca8682e4a481262bf2563fd7680efceb5907aa GIT binary patch literal 2507 zcmai0%WhjY5KZjJvTRv?Bq<6cZXFb98Z?%Qpo^m0WM{;SqUfptL0wWJAzt#9k62y= zXcqx$fV;5&(@*Q+eaMzJHDLJ8a5!^j=FHH4_Wt>IaIgM}hprM*FUOQIZ5Vec?lMz^ zl53wnr3_Rg@N_}SYwI<0-Q_a6Mpml@ChnSV+R;GK#Bo=@U94#+AW zu^o5XG%n)uZJQdsGG`^h(Q}T%oT5~(OGIlZH+VOI#&Z*XBT>w}&X+Tbjwlrhw zkjhsVTL3G*214-+h)%oX^Rlkod6#EXIV!$E$)DdfJZlWkHVt3E@Fnnz@5LT)Z#THb ztId#|N6}tbRa3l*kG!SYsX8{PteIQxnrimE@l>UYdvUL`;S6HP@$Sb_5p3=iS#@UE zX_^kjUB|tbdJb+LXXrKAX4YuWHA`{lH>v_!)3H??UdF+kqt?_Ln;g5-|oQ-tdQm%UE$WM+)l#`8Oe7x&{qX1Wd~SVxZy zda=j&G|UlhbVaR3tzcm}Euk5p=mpP7rN84y>MD4`bzvB+QXB+7JOAn2Nqj$DKP22* zV~L=eDQ;2c47Knn9-83Sz4U4?pybBMh70j~95qgF0d!ZNt{-gNj7K>E(8~$bM!th-4i2-;6aV)0&Z)RLw^EB7Y%><2El%v^RTW==VMr_eumm zkMl@@HhK;gDp^XO-W|P&ql#AqMd294qAu7lYo-*~^JK&?h4+>Fc`||8jjL-fj2;_1 zpQQLWTh;(zNjxvn9*=hHLVy1JhaXYTk)0JA?z86B{kNTaOe)QMU2r>=+|TM5nE8qD zr9!ZQr&Ej&^CDgB##0coB&*q6B|u!28FCYk+_m;}NrapWgZJuL(U9yGogHdMJTA#N{1g%J7qs~@#?3EY4^rjU9D4s=`LB<~3q zrW;N9kEvH7U`d^zq+EA{n2WuV&UDW#0$(n!cR_pUJf4u3dJ;6hUjZv78_d$yL zg;5HHMGkl}`fpnOXC(hA{Q~yme-X?P{(ErfcN1{6IM&qrD|OwneW?o-SffA_&?AA?92cF literal 0 HcmV?d00001 diff --git a/.doctrees/cpg.doctree b/.doctrees/cpg.doctree new file mode 100644 index 0000000000000000000000000000000000000000..dc27bf3a96b1d0becad202da0f5c491e01a8491b GIT binary patch literal 2482 zcmaJ@O>Y}F5KZjJvTRwl^HBsy+&U=IG-xapK@UYQJ)}SnMtmrWo*EF;k`f7V$t^!( z`4FHz1gHVt!v2Q-%|7m~)|L)6V0dRZoOv_zX6QeA|NJ|+Q~$(6R|%085s;-^2gfoXlcy>jnYzRXbm$MR!pVD3~DpnMX?aX`8( z#CF_i!C%CCN@|`i!j#56>b;fI;E{Ara$7Q&6Y3X=ItL}bdzzNb*DedyjWDIf!tzYsbr}I-^>fbpc@Aqyaf8s`=PD zWbyg=7I2C$08Tsun8!FdE9+97t+H!MMa7pW@AKB?w6Qtew0QxWmjEoj5qki--2fG@ zHUq7kiS|NQKJh9(^pae7;W^TD_%GdM8QNrKe>DVZRAO z;ClgauN8w;kPf^lNN!<1MYtYt*{c-q&y4Zfcz)~f{BAtRgw~-X%bBrdf@b8voQf2t z%yZ)4@=2rNiq{%)DZL;oA|YaXp=H)Z99mu(>xts;If}Lw_XJg)*o((}DN!p=eQ+zI zUhFYG4ReGWT~e!2D_B@gOK1itdckv2>F+p_x(c3fT^I(d6bHf2&b~i$65mhP4+*!{ zSR$xqid)n0ZJ_-q? zc%Z1B2Ri2{H-o%|wG$s$UKq;=;}yt(FcQqTh&zSRGvtVJNCtZHnOr8Z6Gt?7LvB=Y zOM+1cER+@LScj_C3JJnlO;vVySZiuN=ic9_D#rseWLaiD9r0yl94EJL))Xl`c`u!8 z_<2Z}babk6A}z}PY8o(ELnPzC|7M~=nbwTVq-s{sXZZ_39JhHvqP^K0L%;X2pF0u! zJkBEp+UPl0sAMU9dVBODjw)Ue6oq3Di@IRLteH|^&yx`!3-2rU!(;-r8&_9e7(F(2 zK1uOWwyXibl6YRCJs$1Yh5qdMx8I?jBReZL+-J>=`>$5+F{w23b;0deazCqMVCE;n zmkPlKo=!1B%!_os8&5#Ul614#B|u!28FC$u+?DopNrapWgZJt+hQ9yGogHdMJTA#N{1g%J6btKY7630#9crjU9D4y?Aq{k$h! zm~Pm~GLu&s+Kgg;fffmzDW{xaey;#QaPAT0Q30z3;U$%d;6cv2wT6A%KB*w9nl(G^ zI&O3QKEGsfx7j5aUQkhLCNUhIcxvYyy9tlNF+hP@9xD~JVfo$qfNi&?ZQeGh;ceCl zJ9&igEJEMU%H~_V784f-S>dlLApDTT>uV>T;qOEYT|BtmtorsrA<^<29v&M_p2?M6 z1M{|~u>*KCx11W)^}jZKxS{N<2WuV&tEly*`)mHOTdmK_{L!Yb_5=?ZHb!AW-Ulh} z7e*-*7CGR_=)Y<8pOE~=^b6RJe?Blr_;fA_&>(!;vN71 literal 0 HcmV?d00001 diff --git a/.doctrees/dust.doctree b/.doctrees/dust.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e27f1d6f2fa6ab70cb0c775724416b989c2eb197 GIT binary patch literal 3032 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 O@@{L_Kz^gcbo?K61?>I+ literal 0 HcmV?d00001 diff --git a/.doctrees/index.doctree b/.doctrees/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..69057f85ae64aaed9ceae5671ebbd15a104e2879 GIT binary patch literal 7821 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 J86@rIe*nF~ON;;j literal 0 HcmV?d00001 diff --git a/.doctrees/install.doctree b/.doctrees/install.doctree new file mode 100644 index 0000000000000000000000000000000000000000..1efdc99699b327a45efca716efe93dc15f445bb8 GIT binary patch literal 10317 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 literal 0 HcmV?d00001 diff --git a/.doctrees/minimap.doctree b/.doctrees/minimap.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ea4bd5fa44aa588bef06d7ad6e7cffda0c3c95c6 GIT binary patch literal 2506 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 L8pv;Sn2!GgH1FbL literal 0 HcmV?d00001 diff --git a/.doctrees/repeatmasker.doctree b/.doctrees/repeatmasker.doctree new file mode 100644 index 0000000000000000000000000000000000000000..1cf46e0c4cdab1fc66caa06adb82b1f229db2be0 GIT binary patch literal 3052 zcmbtWYinFZ7;c+vlFemv=>@S(O_16an_Ve>kb+@cI==}WG#C!Az+H~#R1<&3(F+9@*!&vjZzcJO&^0WIa!ZYNdy!XXUN?In@g=;CT3skI>DyQ64U zeXXTMet8(tWNO$r@)Um6(Mh}te4F3poBSSM;`{!~0oNHDm_jLL24~t#2TWO(jpPwk zN?$#|SUaeU9GJNf^^Ju)_m6MDVEzuQ~Kj6X10>nqC5MY_xJrrNOU!LuG+9H3;V0L*Jb+ z#GN{A0uCufmL1J<95yO71hS_%uGh!HNSwBuPDspdyoI_B>@w%U?~S!~N;@`pd3@b( zMf9s8BeStKSpcPH0jiuNI*UbRA@XiTVUm>;awZ%n4aT6ceo%vM=r@sFZ5)y8lp$z0 z{5q$yJ$C#qn+e3qQCHZ8spC5-8x<3%>zz@f5G!yPMl(>l2ztVzQ{gAy6DltpVJgun zxPtE%ZhZ97krnv9clDAmW3(Zhs#G$AI7d?x7yPy^+*K)^QcCdq3pWcQ_;~Kpl|-vC zd_*`z3V5=ym<7J#d$e$xT$20^0Yq)3MV6Bmb%<(75CEJ}R7Qc@C8fl3%>5-Px2#At znPm}AJ8YI~%gFr85+aEsr^1Q~pW7rAmX2g}q_%RksRmTmCY-Ure^uImOwC5dLRQ`B zPW*xr%S>#dNN<#uBHtTm=Is&q+>Ip#*r*9mC`Be*c)s({_i~mK1cjjxlQLkNkusvN zJywQ)i#wOwXM+LAwx6Fnu2o-~$sqXKk+U=aoW!vV>2XNM8t6w4KKKyv?3r=0AU;wq z#lP2xN2St;SImdLU~XLMK+O-h%OsR_9UY;BQpdybn%@T?Gt$;(>j1HNM978TvFFOs z8R25WCH?^3WvL_XH*H2yW#1PlYKuVKEYH=ENS)9+wEGFCum_2+iVaaNLx|VYB8Q4N z63anXH-QVFM<+s!fq|wg?8QD|i_rp~$Rc>9rd27%;WQ1vOg3UE>h~NbaK;>z+)ltX zB`l*t5=`&dTT8Qd>-h_?%5l}xF8mTxr*X*nwW^n(cmYMBQi0-d#8ES0=uMaoyD$pS za%ic5O&UkqOLV&{)N1U33~A%`uo6oM6BG2+NUXm3Q$Dc18wu__hlMW#e|lm0A^s2e zruAF%$tquOB?2jr>LIbB#F}jQDl_LP6(5X8a?NopY!Vjvjta3H z_3XJttu)lj;Z^TXkHFK#Lpm`u=X2No?XTlnbx@$YnFz%Lr}cs5m>K<0ZclgK$Wm`h z81uhZV}8i*$AzffFBXSY(!sb8i8yxdpH0ftmt3bCxO)+!I$}Q-R=r7;rPl^%y*TDErJENB)+L8NjKRp?K zHT)uWnYd_TdN;c#L?Mp9KyJMuw%e88Yo|zqh7yz;ExD}U4WSZQq_JO2V(G4@anRK> KA!f1|_5TKKmb1P9 literal 0 HcmV?d00001 diff --git a/.doctrees/scallop.doctree b/.doctrees/scallop.doctree new file mode 100644 index 0000000000000000000000000000000000000000..501d6f994b2ac7fe0f752591fe2e0526fd94876b GIT binary patch literal 2502 zcmai0O>Y}F5KZjJvTRwl^HCIt-8v}JG-xapK@UZ*>CK1_ZP8N$f?84{AuhS)M=T!# zw1)sSz+2c~(?8e8-PPLCr3MV|42LssX5I|_XYZeX2lwiqc<3r2^>R!Z(}r=E;x02q zD7p6OQ+oMV`jEbf152-*3AW%V-h)LUq+*uq^e)9wHuqAwaeKe-c;Thd-F49uJEH$C zi9zgn=@q|o5>I|9s8Xgnduv!w{OqSTIIUf@*B<=Jml@9gSbt0n+?|R7oKNC74oH`c z*p54G5|{CTlA5Q>Fr{&idT-@4cqE^b-ImPd#QKGz&OwRqo~C8sj7Xa2x8jus$6lQE4 zGWp_S3s}XM04SaT&`EoGUe;whUuD^pjf$^O?&o*x&KkS3O}iJcdkOI3Td@bw+YM;( zYBS)g5-AQQ-tdQm%UE$;mjDXjpug`FYd>KOmZDcvYZ)PCTKSJDfzA{8RG7h0BG#-Zhvv7RXYo}*}6aZgayiM@EtmlCz|)CadR z>ct-8(=bQ4(G|5CwStA^w1j4Wq8B_TmHv(+sjJ`#*M(uQN^ubU?EHswC-HrE9#kE6!vEr8Y4ll6m*oAD?o0D3ur`Y0rn z;(?-i9_XB-+zj#-R#ALpd0{Lgj8`BB!bmXVGVT;c&yXX^AsOh&XL6auP8`wT4Y^gt zEeS>)uuxW{V;!nmDWm+>bld4%qpXDzEaopyGiS}l14E^56&hA9; z^Ei(bXrt#~p^~Na>Fv>rII4I>P!x_qEb4*{vt~+xJx@mbTzFr(A14#2-MG5;!sxNF z^GS+NvSkebmc;WC?eS>GF7)Tmzxy8b9NAg1;XZ3_-G9Auk4dGOuM2L+lKWX512aDn zzElV{@N|k1VqT<+-FON@mZY1_E&<}I%#fRSq%?ir|sXyS0XW+&;4)tC}@C z?Ivz>{XV~Haktqe7+z3OY9=upo_K2K9J>h*!!baCS{^GEv|;%T`+#k?rfuFisNrqa z2|Ia&@I*r2&&uXoycQD|2U+2-D zT?6y3rm+KfG`E}@)%CwNeY~OUtOsiz2dk*{rH5<&v0JUr%lyfvul58F88${?Lf!`{ z?iWTW6c#z)$>_gn^`DUZ$MiGUkAFlkNBGylq2EowZgH%s_d9jnvVExw6G(fa!RrbD literal 0 HcmV?d00001 diff --git a/.doctrees/star.doctree b/.doctrees/star.doctree new file mode 100644 index 0000000000000000000000000000000000000000..22a4124de5c680cce8fd271f37e661f2dd5b82a0 GIT binary patch literal 2487 zcmaJ@OK%%D5Kin!vTRwl^C%i5ZXE<^8Z?%QpogNT7VXW54{6X-1A4h_;&3FvAAdv~FnB_XYi(#C^y;N?}=novvyfnH~7d_DzgLhF3 zL(faE_>GtF@YlCLy*YVpSgH8QFO6qf={Gue-ttw7<^M!K#yZe`K@paZ;wTJBmxtI6 z{U-eLa7Rha<9RuwVV8Pu<*f8bJEgfTnM)}RGDV#O6W={e^ZILtmBlqNquJ8(d6Fr^ zz|%!~isC>#5+m_gY>VUY<5ZZOPi?6+x6=z_ms74C&u8kCYHijD1nZ`CkW=TWomhu7 zzBt=LpyEqJC!Qdhhw14wuc~$0=2usXil->?vsUP&7CPA!dJdr%h*^9ib`k4#9jkb` z>8iCR8ilTc;$^t+E!9p{eo0}?!g5zvu;-1ZDxTd6yR8goAj{Bk+_Ssf+0q?s|yJUdC{DZj9H)^Ba$6x5IuywJvkAnj4!(aK;YcDM)7W zG%OA#AJrVLc*P+X(hJgJ2_74T23+T1WO-q%CyKx4DB4!o6;yR(FC6ieM6EparE7(H zp~v{FT)^GG!8j;`{OXBjMH> zO9a(Saf>>qP%|IHfhqmEm0o2fhU1Nw4HM$`Fs_YW2hgfMUVqro42LNJz{?5LMsLjrJCQ#-c9i6F^NE79tod!(S2+26$zaD8orV%4^sp>8CS^9z#$8B1YXm7H{(C5c?G zkJ3m1HhKXRDw#_kUmrdXaPHycK?bQM;W?Fx;3}uxT7`Yo+*N>8&Fh_Z z6}Gv4pN?7Bsdov67f_U%NeqW4xE2eJ-Gr-fgrEQ|kCh78uyndUVB4*6>+=RStj#;3 zpGF9m5&S`7*5Bfln7S}b41ZZ5!Vgirx^m(P{!Ycnh5eh&sgBbQQ zqZA5@9B?uQKR5hONd9Ad1N7tn56lt%V{qtq?XX)MYwW#_UA1ga>P(d^L1dA-wae0O MYt}%z(dBINA0C?IC;$Ke literal 0 HcmV?d00001 diff --git a/.doctrees/stringtie.doctree b/.doctrees/stringtie.doctree new file mode 100644 index 0000000000000000000000000000000000000000..771b04c88fe2e9daf7e0078173302b1a12345a01 GIT binary patch literal 2512 zcmai0O>Y}F5KZjJvTRwl^HCH?oH_{7G-xapK@UZ*ZBIsgXp5d25Y&aBGxKKXKYRcDJGfK-#6wpJsh4BQm^O^N6nB{^ zLdmsHpVF(p(ued_99VkkOt1w{@eV8sAr-S+r*|oivbmSajobTu#|tlw?yifT*b)7A zNep7oORxB?llb%(Z>64l$xq)J78F1Iu?Vb(03<#I1@m zwhp;GJ>LRa@dY4?XMpsyJ3lMy;+?HBZHh<5bCmtXn&oL@dAe!&5|*!!g7{kO0s3|W zUA*25x^gMn3td6Q>-f-Hs-3EXlggU8<*q4c&l^uwI=>V5RyLeL3_0H2I4Xk8?IK-s zhAU0eq`2$2_aF)gdYqxxjGI}bJ=ZM7o!_Vm=+26=;_xC4<{agw-q-|zQ8d@nvVySR zgdy;~fVkI+!74}x-V`J^HJ>6}54h}AiuY&6cx^ntb$EU^9%Q=fP?F`$*fK#g%3Y~Q zVahy34lW-z8m@S)A(zq%vZ59uwijBiUBsc~m9d^E{+^>~TX9cN)rq}$%$E|i^3(^n zGU~-1Tuu5?d{Os(zGbi!=Wc`qE zYmFs>YNohFoio(Jr+8?BU-#0hy`*@uakAk;{2oV*(;EP*t54PsHg3kFoB-(M1nQ%Z zP>KhN>Up4Zj&d`|TUbi*f#rp5<783gE!pC1`({m%!jt#X z$%dbYgh@xIDksvS?60N)lQl##4*YNC8kA|x$V{qcDSei|5X5nt7bn`Ay)pEAAKSYV z!O!D7QlJgCuD}SC(xwOSH$M9lOw zMEFu6*uc{%Mu>Tl&UfPp2w9SDHoF9ft1?5b^M2?`iYfae zV5l7m^`Mp;ktkEpwzMaOpumI1H^YW1*CoX5MW_%Wzk&73)-Hi-u*Vcq&%lAzR=A({ zgbULRJ6UG(Dnpx5%x}^nfivZlGtBQ5APCMqf;=iite#w`^bPLIsv7GSA)G PV|ll=YaqYTVLJW~5ufk1 literal 0 HcmV?d00001 diff --git a/.doctrees/trf.doctree b/.doctrees/trf.doctree new file mode 100644 index 0000000000000000000000000000000000000000..6635d44c6e456cf5912e00c7d05b57c8fd2f3829 GIT binary patch literal 2482 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 section for further information on how +to install the project. + +.. toctree:: + :maxdepth: 2 + :caption: Index + + install + license + cmsearch + cpg + dust + eponine + genblast + minimap + red + repeatmasker + scallop + star + stringtie + trf + trnascan + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` \ No newline at end of file diff --git a/_sources/install.rst.txt b/_sources/install.rst.txt new file mode 100644 index 0000000..997e6c0 --- /dev/null +++ b/_sources/install.rst.txt @@ -0,0 +1,54 @@ +.. See the NOTICE file distributed with this work for additional information + regarding copyright ownership. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +API Setup and installation +=========================== + +Requirements +-------------- + +.. _install: + +An Ensembl API checkout including: + +- ensembl-production `ensembl-production `_. +- ensembl-analysis `ensembl-analysis `_. (on dev/hive_master branch) +- ensembl-taxonomy `ensembl-taxonomy `_. +- ensembl-orm `ensembl-orm `_. + +Software +^^^^^^^^ + +#. Python 3.8+ +#. Bioperl 1.6.9+ + +Python Modules +^^^^^^^^^^^^^^ +#. argschema + + + +Installation +------------ +Directly from GitHub: + +.. code-block:: none + :linenos: + + git clone https://github.com/Ensembl/ensembl-analysis -b experimental/gbiab + git clone https://github.com/Ensembl/ensembl-production + git clone https://github.com/Ensembl/ensembl-hive + git clone https://github.com/Ensembl/ensembl-taxonomy + git clone https://github.com/Ensembl/ensembl-orm \ No newline at end of file diff --git a/_sources/license.rst.txt b/_sources/license.rst.txt new file mode 100644 index 0000000..9e9b2fe --- /dev/null +++ b/_sources/license.rst.txt @@ -0,0 +1,203 @@ +License +------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/_sources/minimap.rst.txt b/_sources/minimap.rst.txt new file mode 100644 index 0000000..bf3a45c --- /dev/null +++ b/_sources/minimap.rst.txt @@ -0,0 +1,8 @@ +Minimap2 Module Documentation +============================== + +.. automodule:: ensembl.tools.anno.transcriptomic_annotation.minimap + :members: + :undoc-members: + :show-inheritance: + diff --git a/_sources/red.rst.txt b/_sources/red.rst.txt new file mode 100644 index 0000000..26743cd --- /dev/null +++ b/_sources/red.rst.txt @@ -0,0 +1,8 @@ +Red Module Documentation +============================== + +.. automodule:: ensembl.tools.anno.repeat_annotation.red + :members: + :undoc-members: + :show-inheritance: + diff --git a/_sources/repeatmasker.rst.txt b/_sources/repeatmasker.rst.txt new file mode 100644 index 0000000..8598c0e --- /dev/null +++ b/_sources/repeatmasker.rst.txt @@ -0,0 +1,8 @@ +Repeatmasker Module Documentation +============================== + +.. automodule:: ensembl.tools.anno.repeat_annotation.repeatmasker + :members: + :undoc-members: + :show-inheritance: + diff --git a/_sources/scallop.rst.txt b/_sources/scallop.rst.txt new file mode 100644 index 0000000..744055b --- /dev/null +++ b/_sources/scallop.rst.txt @@ -0,0 +1,8 @@ +Scallop Module Documentation +============================== + +.. automodule:: ensembl.tools.anno.transcriptomic_annotation.scallop + :members: + :undoc-members: + :show-inheritance: + diff --git a/_sources/star.rst.txt b/_sources/star.rst.txt new file mode 100644 index 0000000..d83c66b --- /dev/null +++ b/_sources/star.rst.txt @@ -0,0 +1,8 @@ +STAR Module Documentation +============================== + +.. automodule:: ensembl.tools.anno.transcriptomic_annotation.star + :members: + :undoc-members: + :show-inheritance: + diff --git a/_sources/stringtie.rst.txt b/_sources/stringtie.rst.txt new file mode 100644 index 0000000..878de41 --- /dev/null +++ b/_sources/stringtie.rst.txt @@ -0,0 +1,8 @@ +Stringtie Module Documentation +============================== + +.. automodule:: ensembl.tools.anno.transcriptomic_annotation.stringtie + :members: + :undoc-members: + :show-inheritance: + diff --git a/_sources/trf.rst.txt b/_sources/trf.rst.txt new file mode 100644 index 0000000..9268f3c --- /dev/null +++ b/_sources/trf.rst.txt @@ -0,0 +1,8 @@ +TRF Module Documentation +============================== + +.. automodule:: ensembl.tools.anno.repeat_annotation.trf + :members: + :undoc-members: + :show-inheritance: + diff --git a/_sources/trnascan.rst.txt b/_sources/trnascan.rst.txt new file mode 100644 index 0000000..d9da9d4 --- /dev/null +++ b/_sources/trnascan.rst.txt @@ -0,0 +1,8 @@ +tRNAscan-SE Module Documentation +============================== + +.. automodule:: ensembl.tools.anno.snc_rna_annotation.trnascan + :members: + :undoc-members: + :show-inheritance: + diff --git a/_static/agogo.css b/_static/agogo.css new file mode 100644 index 0000000..11b0b92 --- /dev/null +++ b/_static/agogo.css @@ -0,0 +1,555 @@ +/* + * agogo.css_t + * ~~~~~~~~~~~ + * + * Sphinx stylesheet -- agogo theme. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +* { + margin: 0px; + padding: 0px; +} + +body { + font-family: Garamond, Arial, serif; + line-height: 1.4em; + color: black; + background-color: #009999; + + /* fix for background colors breaking at horizontal + scrolling on smaller devices */ + min-width: fit-content; +} + + +/* Page layout */ + +div.header, div.content, div.footer { + width: 70em; + margin-left: auto; + margin-right: auto; +} + +div.header-wrapper { + background: #009999; + border-bottom: 3px solid #2e3436; +} + + +/* Default body styles */ +a { + color: green; +} + +a:visited { + color: #551a8b; +} + +div.bodywrapper a, div.footer a { + text-decoration: underline; +} + +.clearer { + clear: both; +} + +.left { + float: left; +} + +.right { + float: right; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +h1, h2, h3, h4 { + font-family: Arial, Helvetica, serif; + font-weight: normal; + color: #3465a4; + margin-bottom: .8em; +} + +h1 { + color: #204a87; +} + +h2 { + padding-bottom: .5em; + border-bottom: 1px solid #3465a4; +} + +a.headerlink { + visibility: hidden; + color: #dddddd; + padding-left: .3em; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +img { + border: 0; +} + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 2px 7px 1px 7px; + border-left: 0.2em solid black; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +dt:target, .highlighted { + background-color: #fbe54e; +} + +/* Header */ + +div.header { + padding: 1em; +} + +div.header .headertitle { + font-family: Arial, Helvetica, serif; + font-weight: normal; + font-size: 180%; + letter-spacing: .08em; + margin-bottom: .8em; +} + +div.header .headertitle a { + color: white; +} + +div.header div.rel { + margin-top: 1em; +} + +div.header div.rel a { + color: #33d6ff; + letter-spacing: .1em; + text-transform: uppercase; +} + +p.logo { + float: right; +} + +img.logo { + border: 0; +} + + +/* Content */ +div.content-wrapper { + background-color: white; + padding: 1em; +} + +div.document { + width: 50em; + float: left; +} + +div.body { + padding-right: 2em; + text-align: justify; +} + +div.document h1 { + line-height: 120%; +} + +div.document ul { + margin: 1.5em; + list-style-type: square; +} + +div.document dd { + margin-left: 1.2em; + margin-top: .4em; + margin-bottom: 1em; +} + +div.document .section { + margin-top: 1.7em; +} +div.document .section:first-child { + margin-top: 0px; +} + +div.document div.highlight { + padding: 3px; + border-top: 2px solid #dddddd; + border-bottom: 2px solid #dddddd; + margin-top: .8em; + margin-bottom: .8em; +} + +div.document div.literal-block-wrapper { + margin-top: .8em; + margin-bottom: .8em; +} + +div.document div.literal-block-wrapper div.highlight { + margin: 0; +} + +div.document div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.document div.code-block-caption span.caption-text { +} + +div.document h2 { + margin-top: .7em; +} + +div.document p { + margin-bottom: .5em; +} + +div.document li.toctree-l1 { + margin-bottom: 1em; +} + +div.document .descname { + font-weight: bold; +} + +div.document .sig-paren { + font-size: larger; +} + +div.document .docutils.literal { + background-color: #eeeeec; + padding: 1px; +} + +div.document .docutils.xref.literal { + background-color: transparent; + padding: 0px; +} + +div.document blockquote { + margin: 1em; +} + +div.document ol { + margin: 1.5em; +} + + +/* Sidebar */ + +div.sidebar, +aside.sidebar { + width: 20em; + float: right; + font-size: .9em; +} + +div.sidebar a, aside.sidebar a, div.header a { + text-decoration: none; +} + +div.sidebar a:hover, aside.sidebar a:hover, div.header a:hover { + text-decoration: underline; +} + +div.sidebar h3, +aside.sidebar h3 { + color: #2e3436; + text-transform: uppercase; + font-size: 130%; + letter-spacing: .1em; +} + +div.sidebar ul, +aside.sidebar ul { + list-style-type: none; +} + +div.sidebar li.toctree-l1 a, +aside.sidebar li.toctree-l1 a { + display: block; + padding: 1px; + border: 1px solid #dddddd; + background-color: #eeeeec; + margin-bottom: .4em; + padding-left: 3px; + color: #2e3436; +} + +div.sidebar li.toctree-l2 a, +aside.sidebar li.toctree-l2 a { + background-color: transparent; + border: none; + margin-left: 1em; + border-bottom: 1px solid #dddddd; +} + +div.sidebar li.toctree-l3 a, +aside.sidebar li.toctree-l3 a { + background-color: transparent; + border: none; + margin-left: 2em; + border-bottom: 1px solid #dddddd; +} + +div.sidebar li.toctree-l2:last-child a, +aside.sidebar li.toctree-l2:last-child a { + border-bottom: none; +} + +div.sidebar li.toctree-l1.current a, +aside.sidebar li.toctree-l1.current a { + border-right: 5px solid #33d6ff; +} + +div.sidebar li.toctree-l1.current li.toctree-l2 a, +aside.sidebar li.toctree-l1.current li.toctree-l2 a { + border-right: none; +} + +div.sidebar input[type="text"], +aside.sidebar input[type="text"] { + width: 170px; +} + +div.sidebar input[type="submit"], +aside.sidebar input[type="submit"] { + width: 30px; +} + + +/* Footer */ + +div.footer-wrapper { + background: #e6fff9; + border-top: 4px solid #babdb6; + padding-top: 10px; + padding-bottom: 10px; + min-height: 80px; +} + +div.footer, div.footer a { + color: #888a85; +} + +div.footer .right { + text-align: right; +} + +div.footer .left { + text-transform: uppercase; +} + + +/* Styles copied from basic theme */ + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- viewcode extension ---------------------------------------------------- */ + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family:: Garamond, Arial, serif; +} + +div.viewcode-block:target { + margin: -1px -3px; + padding: 0 3px; + background-color: #f4debf; + border-top: 1px solid #ac9; + border-bottom: 1px solid #ac9; +} + +div.code-block-caption { + background-color: #ddd; + color: #333; + padding: 2px 5px; + font-size: small; +} + +/* -- math display ---------------------------------------------------------- */ + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} \ No newline at end of file diff --git a/_static/basic.css b/_static/basic.css new file mode 100644 index 0000000..a917981 --- /dev/null +++ b/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 20em; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/_static/bgfooter.png b/_static/bgfooter.png new file mode 100644 index 0000000000000000000000000000000000000000..b7c7cadd4e6978aa7081fe672fcf5afc97516bda GIT binary patch literal 276 zcmV+v0qg#WP)qvnR6EfsQ*t~7O=UY2%BZy- zs#7>Lw$#|1-#yb5jZ8}CcXenmE?Bb?+emvZy3eu4G&!aT9i`%Ot1U0%(#mRx?NNc)^t8TJHA0R4$Di^IIL4X9&MVm&N-9#bE;?}xqq}wTrc0WUU#YK z#2JfT+O{=ipwX3&j4H~AegD$wD(9Ee_Le?vx(rq^B%Dj?^+nzae0J!bK00|W&N)Yz aUi|<^NiO;Hz(H~V0000P0IhA`JcOe?|*M3M!YD+&^mI=Y=U~-8S>8l1XAJ*3?jZZ Q8UO$Q07*qoM6N<$f;!4|TmS$7 literal 0 HcmV?d00001 diff --git a/_static/doctools.js b/_static/doctools.js new file mode 100644 index 0000000..d06a71d --- /dev/null +++ b/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/_static/documentation_options.js b/_static/documentation_options.js new file mode 100644 index 0000000..e21c068 --- /dev/null +++ b/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '0.1', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/_static/file.png b/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/_static/language_data.js b/_static/language_data.js new file mode 100644 index 0000000..250f566 --- /dev/null +++ b/_static/language_data.js @@ -0,0 +1,199 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; + + +/* Non-minified version is copied as a separate JS file, is available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/_static/minus.png b/_static/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..d96755fdaf8bb2214971e0db9c1fd3077d7c419d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK literal 0 HcmV?d00001 diff --git a/_static/plus.png b/_static/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..7107cec93a979b9a5f64843235a16651d563ce2d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz literal 0 HcmV?d00001 diff --git a/_static/pygments.css b/_static/pygments.css new file mode 100644 index 0000000..6110e9f --- /dev/null +++ b/_static/pygments.css @@ -0,0 +1,84 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #8f5902; font-style: italic } /* Comment */ +.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */ +.highlight .g { color: #000000 } /* Generic */ +.highlight .k { color: #204a87; font-weight: bold } /* Keyword */ +.highlight .l { color: #000000 } /* Literal */ +.highlight .n { color: #000000 } /* Name */ +.highlight .o { color: #ce5c00; font-weight: bold } /* Operator */ +.highlight .x { color: #000000 } /* Other */ +.highlight .p { color: #000000; font-weight: bold } /* Punctuation */ +.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */ +.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #a40000 } /* Generic.Deleted */ +.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */ +.highlight .ges { color: #000000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.highlight .gr { color: #ef2929 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #000000; font-style: italic } /* Generic.Output */ +.highlight .gp { color: #8f5902 } /* Generic.Prompt */ +.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */ +.highlight .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #204a87; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #204a87; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #204a87; font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #204a87; font-weight: bold } /* Keyword.Type */ +.highlight .ld { color: #000000 } /* Literal.Date */ +.highlight .m { color: #0000cf; font-weight: bold } /* Literal.Number */ +.highlight .s { color: #4e9a06 } /* Literal.String */ +.highlight .na { color: #c4a000 } /* Name.Attribute */ +.highlight .nb { color: #204a87 } /* Name.Builtin */ +.highlight .nc { color: #000000 } /* Name.Class */ +.highlight .no { color: #000000 } /* Name.Constant */ +.highlight .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #ce5c00 } /* Name.Entity */ +.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #000000 } /* Name.Function */ +.highlight .nl { color: #f57900 } /* Name.Label */ +.highlight .nn { color: #000000 } /* Name.Namespace */ +.highlight .nx { color: #000000 } /* Name.Other */ +.highlight .py { color: #000000 } /* Name.Property */ +.highlight .nt { color: #204a87; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #000000 } /* Name.Variable */ +.highlight .ow { color: #204a87; font-weight: bold } /* Operator.Word */ +.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */ +.highlight .w { color: #f8f8f8 } /* Text.Whitespace */ +.highlight .mb { color: #0000cf; font-weight: bold } /* Literal.Number.Bin */ +.highlight .mf { color: #0000cf; font-weight: bold } /* Literal.Number.Float */ +.highlight .mh { color: #0000cf; font-weight: bold } /* Literal.Number.Hex */ +.highlight .mi { color: #0000cf; font-weight: bold } /* Literal.Number.Integer */ +.highlight .mo { color: #0000cf; font-weight: bold } /* Literal.Number.Oct */ +.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */ +.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */ +.highlight .sc { color: #4e9a06 } /* Literal.String.Char */ +.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */ +.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */ +.highlight .se { color: #4e9a06 } /* Literal.String.Escape */ +.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */ +.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */ +.highlight .sx { color: #4e9a06 } /* Literal.String.Other */ +.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */ +.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */ +.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */ +.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #000000 } /* Name.Function.Magic */ +.highlight .vc { color: #000000 } /* Name.Variable.Class */ +.highlight .vg { color: #000000 } /* Name.Variable.Global */ +.highlight .vi { color: #000000 } /* Name.Variable.Instance */ +.highlight .vm { color: #000000 } /* Name.Variable.Magic */ +.highlight .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/_static/searchtools.js b/_static/searchtools.js new file mode 100644 index 0000000..7918c3f --- /dev/null +++ b/_static/searchtools.js @@ -0,0 +1,574 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms, highlightTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + const contentRoot = document.documentElement.dataset.content_root; + + const [docName, title, anchor, descr, score, _filename] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = contentRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = contentRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) { + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + // highlight search terms in the description + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + } + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms) + ); + // highlight search terms in the summary + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + `Search finished, found ${resultCount} page(s) matching the search query.` + ); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms, + highlightTerms, +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms, highlightTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent !== undefined) return docContent.textContent; + console.warn( + "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + /** + * execute search (requires search index to be loaded) + */ + query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + // array of [docname, title, anchor, descr, score, filename] + let results = []; + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // lookup as object + objectTerms.forEach((term) => + results.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); + + // now sort the results by score (in opposite order of appearance, since the + // display function below uses pop() to retrieve items) and then + // alphabetically + results.sort((a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; + }); + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + results = results.reverse(); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms, highlightTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord) && !terms[word]) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord) && !titleTerms[word]) + arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); + }); + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) + fileMap.get(file).push(word); + else fileMap.set(file, [word]); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords) => { + const text = Search.htmlToText(htmlText); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/_static/sphinx_highlight.js b/_static/sphinx_highlight.js new file mode 100644 index 0000000..8a96c69 --- /dev/null +++ b/_static/sphinx_highlight.js @@ -0,0 +1,154 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + const rest = document.createTextNode(val.substr(pos + text.length)); + parent.insertBefore( + span, + parent.insertBefore( + rest, + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + /* There may be more occurrences of search term in this node. So call this + * function recursively on the remaining fragment. + */ + _highlight(rest, addItems, text, className); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(() => { + /* Do not call highlightSearchWords() when we are on the search page. + * It will highlight words from the *previous* search query. + */ + if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); + SphinxHighlight.initEscapeListener(); +}); diff --git a/cmsearch.html b/cmsearch.html new file mode 100644 index 0000000..c9bb252 --- /dev/null +++ b/cmsearch.html @@ -0,0 +1,118 @@ + + + + + + + + Cmsearch Module Documentation — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cpg.html b/cpg.html new file mode 100644 index 0000000..81b4432 --- /dev/null +++ b/cpg.html @@ -0,0 +1,118 @@ + + + + + + + + CpG Module Documentation — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dust.html b/dust.html new file mode 100644 index 0000000..7febea6 --- /dev/null +++ b/dust.html @@ -0,0 +1,118 @@ + + + + + + + + DustMasker Module Documentation — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/eponine.html b/eponine.html new file mode 100644 index 0000000..1b839b9 --- /dev/null +++ b/eponine.html @@ -0,0 +1,118 @@ + + + + + + + + Eponine Module Documentation — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/genblast.html b/genblast.html new file mode 100644 index 0000000..6ea7392 --- /dev/null +++ b/genblast.html @@ -0,0 +1,118 @@ + + + + + + + + Genblast Module Documentation — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/genindex.html b/genindex.html new file mode 100644 index 0000000..0248786 --- /dev/null +++ b/genindex.html @@ -0,0 +1,107 @@ + + + + + + + Index — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..f7947ae --- /dev/null +++ b/index.html @@ -0,0 +1,148 @@ + + + + + + + + Contents — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/install.html b/install.html new file mode 100644 index 0000000..ab91d09 --- /dev/null +++ b/install.html @@ -0,0 +1,156 @@ + + + + + + + + API Setup and installation — ensembl-anno 0.1 documentation + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +
+

API Setup and installation

+
+

Requirements

+

An Ensembl API checkout including:

+ +
+

Software

+
    +
  1. Python 3.8+

  2. +
  3. Bioperl 1.6.9+

  4. +
+
+
+

Python Modules

+
    +
  1. argschema

  2. +
+
+
+
+

Installation

+

Directly from GitHub:

+
1git clone https://github.com/Ensembl/ensembl-analysis -b experimental/gbiab
+2git clone https://github.com/Ensembl/ensembl-production
+3git clone https://github.com/Ensembl/ensembl-hive
+4git clone https://github.com/Ensembl/ensembl-taxonomy
+5git clone https://github.com/Ensembl/ensembl-orm
+
+
+
+
+ + +
+
+
+
+
+ +
+
+
+ + + + + \ No newline at end of file diff --git a/license.html b/license.html new file mode 100644 index 0000000..6f069f0 --- /dev/null +++ b/license.html @@ -0,0 +1,298 @@ + + + + + + + + License — ensembl-anno 0.1 documentation + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +
+

License

+
+

Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/

+
    +
  1. Definitions.

    +

    “License” shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document.

    +

    “Licensor” shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License.

    +

    “Legal Entity” shall mean the union of the acting entity and all +other entities that control, are controlled by, or are under common +control with that entity. For the purposes of this definition, +“control” means (i) the power, direct or indirect, to cause the +direction or management of such entity, whether by contract or +otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity.

    +

    “You” (or “Your”) shall mean an individual or Legal Entity +exercising permissions granted by this License.

    +

    “Source” form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files.

    +

    “Object” form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types.

    +

    “Work” shall mean the work of authorship, whether in Source or +Object form, made available under the License, as indicated by a +copyright notice that is included in or attached to the work +(an example is provided in the Appendix below).

    +

    “Derivative Works” shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the purposes +of this License, Derivative Works shall not include works that remain +separable from, or merely link (or bind by name) to the interfaces of, +the Work and Derivative Works thereof.

    +

    “Contribution” shall mean any work of authorship, including +the original version of the Work and any modifications or additions +to that Work or Derivative Works thereof, that is intentionally +submitted to Licensor for inclusion in the Work by the copyright owner +or by an individual or Legal Entity authorized to submit on behalf of +the copyright owner. For the purposes of this definition, “submitted” +means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, +and issue tracking systems that are managed by, or on behalf of, the +Licensor for the purpose of discussing and improving the Work, but +excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as “Not a Contribution.”

    +

    “Contributor” shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work.

    +
  2. +
  3. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form.

  4. +
  5. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work, +where such license applies only to those patent claims licensable +by such Contributor that are necessarily infringed by their +Contribution(s) alone or by combination of their Contribution(s) +with the Work to which such Contribution(s) was submitted. If You +institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work +or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses +granted to You under this License for that Work shall terminate +as of the date such litigation is filed.

  6. +
  7. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You +meet the following conditions:

    +
      +
    1. You must give any other recipients of the Work or +Derivative Works a copy of this License; and

    2. +
    3. You must cause any modified files to carry prominent notices +stating that You changed the files; and

    4. +
    5. You must retain, in the Source form of any Derivative Works +that You distribute, all copyright, patent, trademark, and +attribution notices from the Source form of the Work, +excluding those notices that do not pertain to any part of +the Derivative Works; and

    6. +
    7. If the Work includes a “NOTICE” text file as part of its +distribution, then any Derivative Works that You distribute must +include a readable copy of the attribution notices contained +within such NOTICE file, excluding those notices that do not +pertain to any part of the Derivative Works, in at least one +of the following places: within a NOTICE text file distributed +as part of the Derivative Works; within the Source form or +documentation, if provided along with the Derivative Works; or, +within a display generated by the Derivative Works, if and +wherever such third-party notices normally appear. The contents +of the NOTICE file are for informational purposes only and +do not modify the License. You may add Your own attribution +notices within Derivative Works that You distribute, alongside +or as an addendum to the NOTICE text from the Work, provided +that such additional attribution notices cannot be construed +as modifying the License.

    8. +
    +

    You may add Your own copyright statement to Your modifications and +may provide additional or different license terms and conditions +for use, reproduction, or distribution of Your modifications, or +for any such Derivative Works as a whole, provided Your use, +reproduction, and distribution of the Work otherwise complies with +the conditions stated in this License.

    +
  8. +
  9. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions.

  10. +
  11. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file.

  12. +
  13. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an “AS IS” BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License.

  14. +
  15. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages.

  16. +
  17. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability.

  18. +
+

END OF TERMS AND CONDITIONS

+

APPENDIX: How to apply the Apache License to your work.

+
+

To apply the Apache License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets “{}” +replaced with your own identifying information. (Don’t include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same “printed page” as the copyright notice for easier +identification within third-party archives.

+
+

Copyright [yyyy] [name of copyright owner]

+

Licensed under the Apache License, Version 2.0 (the “License”); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at

+
+
+

Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an “AS IS” BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.

+
+
+ + +
+
+
+
+
+ +
+
+
+ + + + + \ No newline at end of file diff --git a/minimap.html b/minimap.html new file mode 100644 index 0000000..2600af3 --- /dev/null +++ b/minimap.html @@ -0,0 +1,118 @@ + + + + + + + + Minimap2 Module Documentation — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/objects.inv b/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..c0b3be37a01d69f96d2791756d9d217b68fb7062 GIT binary patch literal 475 zcmV<10VMt-AX9K?X>NERX>N99Zgg*Qc_4OWa&u{KZXhxWBOp+6Z)#;@bUGkqZgXXA zVr(s8Zf%ZEX>4U6 zX>%ZBZ*6dLWpi_7WFU2OX>MmAdTeQ8E(&|B7r)Ir67%vfq}U!1`SNJQN+fByT7$F>+e@KKzZNBJ(TVD&2#QF}S#pxJtHG*(U; z*v5)!0D~NrHI;CEhPpmdZdV56nzF8HLP8kA83cd0K* + + + + + + + Red Module Documentation — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/repeatmasker.html b/repeatmasker.html new file mode 100644 index 0000000..3e189cf --- /dev/null +++ b/repeatmasker.html @@ -0,0 +1,118 @@ + + + + + + + + Repeatmasker Module Documentation — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/scallop.html b/scallop.html new file mode 100644 index 0000000..2c42c46 --- /dev/null +++ b/scallop.html @@ -0,0 +1,118 @@ + + + + + + + + Scallop Module Documentation — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/search.html b/search.html new file mode 100644 index 0000000..b823293 --- /dev/null +++ b/search.html @@ -0,0 +1,136 @@ + + + + + + + Search — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +

Search

+ + + + +

+ Searching for multiple words only shows matches that contain + all words. +

+ + +
+ + + +
+ + + +
+ +
+ + +
+
+
+
+
+ +
+
+
+ + + + + \ No newline at end of file diff --git a/searchindex.js b/searchindex.js new file mode 100644 index 0000000..e242878 --- /dev/null +++ b/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"docnames": ["cmsearch", "cpg", "dust", "eponine", "genblast", "index", "install", "license", "minimap", "red", "repeatmasker", "scallop", "star", "stringtie", "trf", "trnascan"], "filenames": ["cmsearch.rst", "cpg.rst", "dust.rst", "eponine.rst", "genblast.rst", "index.rst", "install.rst", "license.rst", "minimap.rst", "red.rst", "repeatmasker.rst", "scallop.rst", "star.rst", "stringtie.rst", "trf.rst", "trnascan.rst"], "titles": ["Cmsearch Module Documentation", "CpG Module Documentation", "DustMasker Module Documentation", "Eponine Module Documentation", "Genblast Module Documentation", "Contents", "API Setup and installation", "License", "Minimap2 Module Documentation", "Red Module Documentation", "Repeatmasker Module Documentation", "Scallop Module Documentation", "STAR Module Documentation", "Stringtie Module Documentation", "TRF Module Documentation", "tRNAscan-SE Module Documentation"], "terms": {"anno": 5, "tool": 5, "kit": 5, "check": 5, "out": [5, 7], "instal": 5, "section": [5, 7], "further": 5, "inform": [5, 7], "how": [5, 7], "project": 5, "api": 5, "setup": 5, "requir": [5, 7], "licens": 5, "cmsearch": 5, "modul": 5, "document": [5, 7], "cpg": 5, "dustmask": 5, "eponin": 5, "genblast": 5, "minimap2": 5, "red": 5, "repeatmask": 5, "scallop": 5, "star": 5, "stringti": 5, "trf": 5, "trnascan": 5, "se": 5, "search": 5, "page": [5, 7], "an": [6, 7], "ensembl": 6, "checkout": 6, "includ": [6, 7], "product": [6, 7], "analysi": 6, "dev": 6, "hive_mast": 6, "branch": 6, "taxonomi": 6, "orm": 6, "3": 6, "8": 6, "bioperl": 6, "1": [6, 7], "6": 6, "9": [6, 7], "argschema": 6, "directli": 6, "from": [6, 7], "github": 6, "git": 6, "clone": 6, "http": [6, 7], "com": 6, "b": 6, "experiment": 6, "gbiab": 6, "hive": 6, "apach": 7, "version": 7, "2": 7, "0": 7, "januari": 7, "2004": 7, "www": 7, "org": 7, "definit": 7, "shall": 7, "mean": 7, "term": 7, "condit": 7, "us": 7, "reproduct": 7, "distribut": 7, "defin": 7, "through": 7, "thi": 7, "licensor": 7, "copyright": 7, "owner": 7, "entiti": 7, "author": 7, "i": 7, "grant": 7, "legal": 7, "union": 7, "act": 7, "all": 7, "other": 7, "control": 7, "ar": 7, "under": 7, "common": 7, "For": 7, "purpos": 7, "power": 7, "direct": 7, "indirect": 7, "caus": 7, "manag": 7, "whether": 7, "contract": 7, "otherwis": 7, "ii": 7, "ownership": 7, "fifti": 7, "percent": 7, "50": 7, "more": 7, "outstand": 7, "share": 7, "iii": 7, "benefici": 7, "you": 7, "your": 7, "individu": 7, "exercis": 7, "permiss": 7, "sourc": 7, "form": 7, "prefer": 7, "make": 7, "modif": 7, "limit": 7, "softwar": 7, "code": 7, "configur": 7, "file": 7, "object": 7, "ani": 7, "result": 7, "mechan": 7, "transform": 7, "translat": 7, "compil": 7, "gener": 7, "convers": 7, "media": 7, "type": 7, "work": 7, "authorship": 7, "made": 7, "avail": 7, "indic": 7, "notic": 7, "attach": 7, "exampl": 7, "provid": 7, "appendix": 7, "below": 7, "deriv": 7, "base": 7, "which": 7, "editori": 7, "revis": 7, "annot": 7, "elabor": 7, "repres": 7, "whole": 7, "origin": 7, "remain": 7, "separ": 7, "mere": 7, "link": 7, "bind": 7, "name": 7, "interfac": 7, "thereof": 7, "contribut": 7, "addit": 7, "intention": 7, "submit": 7, "inclus": 7, "behalf": 7, "electron": 7, "verbal": 7, "written": 7, "commun": 7, "sent": 7, "its": 7, "mail": 7, "list": 7, "system": 7, "issu": 7, "track": 7, "discuss": 7, "improv": 7, "exclud": 7, "conspicu": 7, "mark": 7, "design": 7, "write": 7, "Not": 7, "contributor": 7, "whom": 7, "ha": 7, "been": 7, "receiv": 7, "subsequ": 7, "incorpor": 7, "within": 7, "subject": 7, "each": 7, "herebi": 7, "perpetu": 7, "worldwid": 7, "non": 7, "exclus": 7, "charg": 7, "royalti": 7, "free": 7, "irrevoc": 7, "reproduc": 7, "prepar": 7, "publicli": 7, "displai": 7, "perform": 7, "sublicens": 7, "patent": 7, "except": 7, "state": 7, "have": 7, "offer": 7, "sell": 7, "import": 7, "transfer": 7, "where": 7, "appli": 7, "onli": 7, "those": 7, "claim": 7, "necessarili": 7, "infring": 7, "": 7, "alon": 7, "combin": 7, "wa": 7, "If": 7, "institut": 7, "litig": 7, "against": 7, "cross": 7, "counterclaim": 7, "lawsuit": 7, "alleg": 7, "constitut": 7, "contributori": 7, "termin": 7, "date": 7, "redistribut": 7, "mai": 7, "copi": 7, "medium": 7, "without": 7, "meet": 7, "follow": 7, "must": 7, "give": 7, "recipi": 7, "modifi": 7, "carri": 7, "promin": 7, "chang": 7, "retain": 7, "trademark": 7, "attribut": 7, "do": 7, "pertain": 7, "part": 7, "text": 7, "readabl": 7, "contain": 7, "least": 7, "one": 7, "place": 7, "along": 7, "wherev": 7, "third": 7, "parti": 7, "normal": 7, "appear": 7, "The": 7, "content": 7, "add": 7, "own": 7, "alongsid": 7, "addendum": 7, "cannot": 7, "constru": 7, "statement": 7, "differ": 7, "compli": 7, "submiss": 7, "unless": 7, "explicitli": 7, "notwithstand": 7, "abov": 7, "noth": 7, "herein": 7, "supersed": 7, "agreement": 7, "execut": 7, "regard": 7, "doe": 7, "trade": 7, "servic": 7, "reason": 7, "customari": 7, "describ": 7, "disclaim": 7, "warranti": 7, "applic": 7, "law": 7, "agre": 7, "AS": 7, "basi": 7, "OR": 7, "OF": 7, "kind": 7, "either": 7, "express": 7, "impli": 7, "titl": 7, "merchant": 7, "fit": 7, "FOR": 7, "A": 7, "particular": 7, "sole": 7, "respons": 7, "determin": 7, "appropri": 7, "assum": 7, "risk": 7, "associ": 7, "liabil": 7, "In": 7, "event": 7, "theori": 7, "tort": 7, "neglig": 7, "deliber": 7, "grossli": 7, "liabl": 7, "damag": 7, "special": 7, "incident": 7, "consequenti": 7, "charact": 7, "aris": 7, "inabl": 7, "loss": 7, "goodwil": 7, "stoppag": 7, "comput": 7, "failur": 7, "malfunct": 7, "commerci": 7, "even": 7, "advis": 7, "possibl": 7, "accept": 7, "while": 7, "choos": 7, "fee": 7, "support": 7, "indemn": 7, "oblig": 7, "right": 7, "consist": 7, "howev": 7, "indemnifi": 7, "defend": 7, "hold": 7, "harmless": 7, "incur": 7, "assert": 7, "end": 7, "AND": 7, "To": 7, "boilerpl": 7, "field": 7, "enclos": 7, "bracket": 7, "replac": 7, "identifi": 7, "don": 7, "t": 7, "should": 7, "comment": 7, "syntax": 7, "format": 7, "we": 7, "also": 7, "recommend": 7, "class": 7, "descript": 7, "same": 7, "print": 7, "easier": 7, "identif": 7, "archiv": 7, "yyyi": 7, "complianc": 7, "obtain": 7, "see": 7, "specif": 7, "languag": 7, "govern": 7}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"cmsearch": 0, "modul": [0, 1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15], "document": [0, 1, 2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15], "cpg": 1, "dustmask": 2, "eponin": 3, "genblast": 4, "content": 5, "index": 5, "indic": 5, "tabl": 5, "api": 6, "setup": 6, "instal": 6, "requir": 6, "softwar": 6, "python": 6, "licens": 7, "minimap2": 8, "red": 9, "repeatmask": 10, "scallop": 11, "star": 12, "stringti": 13, "trf": 14, "trnascan": 15, "se": 15}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"Cmsearch Module Documentation": [[0, "cmsearch-module-documentation"]], "CpG Module Documentation": [[1, "cpg-module-documentation"]], "DustMasker Module Documentation": [[2, "dustmasker-module-documentation"]], "Eponine Module Documentation": [[3, "eponine-module-documentation"]], "Genblast Module Documentation": [[4, "genblast-module-documentation"]], "Contents": [[5, "contents"]], "Index": [[5, null]], "Indices and tables": [[5, "indices-and-tables"]], "API Setup and installation": [[6, "api-setup-and-installation"]], "Requirements": [[6, "requirements"]], "Software": [[6, "software"]], "Python Modules": [[6, "python-modules"]], "Installation": [[6, "installation"]], "License": [[7, "license"]], "Minimap2 Module Documentation": [[8, "minimap2-module-documentation"]], "Red Module Documentation": [[9, "red-module-documentation"]], "Repeatmasker Module Documentation": [[10, "repeatmasker-module-documentation"]], "Scallop Module Documentation": [[11, "scallop-module-documentation"]], "STAR Module Documentation": [[12, "star-module-documentation"]], "Stringtie Module Documentation": [[13, "stringtie-module-documentation"]], "TRF Module Documentation": [[14, "trf-module-documentation"]], "tRNAscan-SE Module Documentation": [[15, "trnascan-se-module-documentation"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/star.html b/star.html new file mode 100644 index 0000000..7b4ed03 --- /dev/null +++ b/star.html @@ -0,0 +1,118 @@ + + + + + + + + STAR Module Documentation — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/stringtie.html b/stringtie.html new file mode 100644 index 0000000..ea8bfbe --- /dev/null +++ b/stringtie.html @@ -0,0 +1,118 @@ + + + + + + + + Stringtie Module Documentation — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/trf.html b/trf.html new file mode 100644 index 0000000..e2bd5e0 --- /dev/null +++ b/trf.html @@ -0,0 +1,118 @@ + + + + + + + + TRF Module Documentation — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/trnascan.html b/trnascan.html new file mode 100644 index 0000000..dd4a03b --- /dev/null +++ b/trnascan.html @@ -0,0 +1,113 @@ + + + + + + + + tRNAscan-SE Module Documentation — ensembl-anno 0.1 documentation + + + + + + + + + + + + + + + + + + \ No newline at end of file