From 6fd54350ebed029e24736893c6883aae7bf01e1e Mon Sep 17 00:00:00 2001 From: Guruprasad Anada Date: Fri, 20 Feb 2009 14:17:46 -0500 Subject: [PATCH] Integration of Assaf Gordon's Solexa toolkit into Galaxy - (all tools except 3 are working fine). --- .../barcode_splitter_output_example.png | Bin 0 -> 38747 bytes .../fasta_clipping_histogram_1.png | Bin 0 -> 3558 bytes .../fasta_clipping_histogram_2.png | Bin 0 -> 5417 bytes .../fastq_nucleotides_distribution_1.png | Bin 0 -> 12522 bytes .../fastq_nucleotides_distribution_2.png | Bin 0 -> 7083 bytes .../fastq_nucleotides_distribution_3.png | Bin 0 -> 13472 bytes .../fastq_nucleotides_distribution_4.png | Bin 0 -> 13644 bytes .../fastx_icons/fastq_quality_boxplot_1.png | Bin 0 -> 10391 bytes .../fastx_icons/fastq_quality_boxplot_2.png | Bin 0 -> 10720 bytes .../fastx_icons/fastq_quality_boxplot_3.png | Bin 0 -> 12827 bytes static/fastx_icons/fastx_clipper_example.png | Bin 0 -> 45505 bytes .../fastx_clipper_illustration.png | Bin 0 -> 10011 bytes tool_conf.xml.sample | 19 +++ .../fasta_clipping_histogram.xml | 38 ++++++ tools/fastx_toolkit/fasta_collapser.xml | 75 ++++++++++++ .../fastq_nucleotides_distribution.xml | 66 +++++++++++ tools/fastx_toolkit/fastq_qual_conv.xml | 82 +++++++++++++ tools/fastx_toolkit/fastq_qual_stat.xml | 100 ++++++++++++++++ tools/fastx_toolkit/fastq_quality_boxplot.xml | 47 ++++++++ tools/fastx_toolkit/fastq_quality_filter.xml | 73 ++++++++++++ tools/fastx_toolkit/fastq_to_fasta.xml | 70 +++++++++++ .../fastx_toolkit/fastx_artifacts_filter.xml | 80 +++++++++++++ .../fastx_toolkit/fastx_barcode_splitter.xml | 68 +++++++++++ tools/fastx_toolkit/fastx_clipper.xml | 109 ++++++++++++++++++ .../fastx_reverse_complement.xml | 52 +++++++++ tools/fastx_toolkit/fastx_trimmer.xml | 70 +++++++++++ 26 files changed, 949 insertions(+) create mode 100644 static/fastx_icons/barcode_splitter_output_example.png create mode 100644 static/fastx_icons/fasta_clipping_histogram_1.png create mode 100644 static/fastx_icons/fasta_clipping_histogram_2.png create mode 100644 static/fastx_icons/fastq_nucleotides_distribution_1.png create mode 100644 static/fastx_icons/fastq_nucleotides_distribution_2.png create mode 100644 static/fastx_icons/fastq_nucleotides_distribution_3.png create mode 100644 static/fastx_icons/fastq_nucleotides_distribution_4.png create mode 100644 static/fastx_icons/fastq_quality_boxplot_1.png create mode 100644 static/fastx_icons/fastq_quality_boxplot_2.png create mode 100644 static/fastx_icons/fastq_quality_boxplot_3.png create mode 100644 static/fastx_icons/fastx_clipper_example.png create mode 100644 static/fastx_icons/fastx_clipper_illustration.png create mode 100644 tools/fastx_toolkit/fasta_clipping_histogram.xml create mode 100644 tools/fastx_toolkit/fasta_collapser.xml create mode 100644 tools/fastx_toolkit/fastq_nucleotides_distribution.xml create mode 100644 tools/fastx_toolkit/fastq_qual_conv.xml create mode 100644 tools/fastx_toolkit/fastq_qual_stat.xml create mode 100644 tools/fastx_toolkit/fastq_quality_boxplot.xml create mode 100644 tools/fastx_toolkit/fastq_quality_filter.xml create mode 100644 tools/fastx_toolkit/fastq_to_fasta.xml create mode 100644 tools/fastx_toolkit/fastx_artifacts_filter.xml create mode 100644 tools/fastx_toolkit/fastx_barcode_splitter.xml create mode 100644 tools/fastx_toolkit/fastx_clipper.xml create mode 100644 tools/fastx_toolkit/fastx_reverse_complement.xml create mode 100644 tools/fastx_toolkit/fastx_trimmer.xml diff --git a/static/fastx_icons/barcode_splitter_output_example.png b/static/fastx_icons/barcode_splitter_output_example.png new file mode 100644 index 0000000000000000000000000000000000000000..49dfd6c4cdbef5de2727e01f9714da11bbe69636 GIT binary patch literal 38747 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 literal 0 HcmV?d00001 diff --git a/static/fastx_icons/fasta_clipping_histogram_1.png b/static/fastx_icons/fasta_clipping_histogram_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a9416f68d9dd8052e5b1ef4e6b7542a75d2bf512 GIT binary patch literal 3558 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 TBG(`<$C%(9;bg(KgSr0&wB^5+ literal 0 HcmV?d00001 diff --git a/static/fastx_icons/fasta_clipping_histogram_2.png b/static/fastx_icons/fasta_clipping_histogram_2.png new file mode 100644 index 0000000000000000000000000000000000000000..471be686bc1fa67fa67fb1248fe38a7b08577a01 GIT binary patch literal 5417 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 literal 0 HcmV?d00001 diff --git a/static/fastx_icons/fastq_nucleotides_distribution_3.png b/static/fastx_icons/fastq_nucleotides_distribution_3.png new file mode 100644 index 0000000000000000000000000000000000000000..cae0c53a88c557cb37fb809701ca535dc5df1e9f GIT binary patch literal 13472 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

)hT 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 br3jSVuN2xozkU((O|YBiF!$1I&i4NR4I-_k literal 0 HcmV?d00001 diff --git a/static/fastx_icons/fastq_quality_boxplot_1.png b/static/fastx_icons/fastq_quality_boxplot_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c3621fabf6c3365ba4dfd838dba3d4b2a712736f GIT binary patch literal 10391 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 MV*5pD3%KF`52=M(^b literal 0 HcmV?d00001 diff --git a/static/fastx_icons/fastq_quality_boxplot_2.png b/static/fastx_icons/fastq_quality_boxplot_2.png new file mode 100644 index 0000000000000000000000000000000000000000..95af2c1a64816f3738c22cf177c5020e05baaf9e GIT binary patch literal 10720 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 B9F710 literal 0 HcmV?d00001 diff --git a/static/fastx_icons/fastq_quality_boxplot_3.png b/static/fastx_icons/fastq_quality_boxplot_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6121c84edbea054a6c009d451343006a1eb00570 GIT binary patch literal 12827 zcmch72|SeF_waolGmL#?t;8U*h59BWJd{*g2vLb??@L+B5}AiKQD{|&X{8~gY!Oc? zDp~qgRJM_=Z`QIeW8OQX<@@`*|KI2R|33fsedja7^W1yxIp>~x&bjB@drsSJun`xT zBLV;rU$c7UCICqAQ2rGJ1hV|bnVtTT61|Hg3HCZT)-s=F4Kq0q;r`V7sm(! z;5fkPT%1ne7>;8!oCd#uN#inUGy=eWz~s`HY&OnjbD4mP0|1fG=>);#;!OC+1%QA^ z;fL3YLqs?vg<)I_5Im%SfPV-!K?jf$L8CEi*-R!A$8kso(xc;W0G$r0VmJ-MXfzrf zeqaxPUqC0AbOO+s1V-R(+3*SQ$ny}xVQ?H3BE@ikVHi#a26P;Q{P8H_0Dd9w1RYKq z#{d)OLO?DgPb2#J0D%F}*GE89u$}i0K$du@x!g+yQXTLKIkahm1Hd{z>;-@Z)~vL2 z3`**~b~Yi$c-E@N@01>MLq1%Sa=g_%b&h^wS=YzICB-MHMOA;=>3T~7N@Z`oH11!} z(qGA7ESK^jqXkN%MY*qxPy<7{w@|zw;u^znzJLF`(YeJW!AL>0K(W%wt$uJK@aW^m z7Tzs^46pn{g{9N}Ef0-X7bsHLexbtjH5m?gR_XX$omfkAX^`Ldva z(WP_e5Tns}-BF*}R6bJ6fRNd83ZNPMzxoN0X`+>tA4=5hna$JMA@?m+ zGyl%2xZmG+^q8AH!=&2l)~FFjp>R%W9@pI2UFadF{M+Ygza);4Oi9UKFJ8Pi?%*UY zSk^00rznk2Wf~V|zKhtP^|a63Q2GA)j?g;gtZ$Qlq$c#~SA0A>1Y1*@mR=exjMgW) z3fStOhKTylnNQT8DGe!RF$Pzr9wmg!DMXOL%jxc;n?3Yv-?@MJ-r7ydUe4n5?|NBk z^m3@B%42X(W1Vq}TTrZbZ(yLa*Yu^DHcs2Ykdi*-{$wIwu~6 zSe>r$%*r1sj5A~m2Df}_Nsb-14bzutFgUGz?V6~X)75(=jJqFZi5(Hg*3%a0hdg=D zS<|n9KO1{5TCJe%qF+ZXko!4->-6y6m23?gOXxx_H;Sg`B$T@3Vl&kgZ@>=rau z!{u@$jT(Ih4_}yyFmE#zJUIPsUXfm9a<5LrJ@w)^dF<<4ArllBjBj09V;$Tw)pZz~ zUbei2b4gF0c+?P4ctBH%U^pzc@W26BHxli2^H^Z&utleKuR3^qJXjvO+;S;`6Vl2M zrkgDvQ@9-qN&<(4QJ_HNH0LX=7G*#F+fzm#jk~GzX%0JQxnyB3Fqc32S%&$x2+Sb? zgNWGrp@38n8#rQaSnvJ*eNS$H0Bnwoksp)k&*44$%%cJfx^mtR-&oSzqtkFJPr?8N z0|e*r;9A%rGa}z?RJ_108`AZO{MI+k8UB`1<0-JIe@YGDCc)b~9y~7TZ`;IdKQ-ib z?fc}%rJh}<0T3M6+LWR+Hr3ug{UCgVMxGo$P**LD05N*VFn2R3vfxa};PMEvcQ;py zrjEC3;nGNGaf0uGK(J^`moyNhJj5uO8hwAe#_R3i$Nsbe?d-p`NPsPztJ*P3FH__U z0F4)d7G2*08sZl>3rttmL}&Ru6*uaiJ9q-|7uJ_?CWmc*mR+b{WC)T@6{+(c2zT9&rYpeLBn5tAa;1TUn} zGz(coFRB?dmx_p0dRhX@*@H{zt$kD?yI77yy_n)A90^W#5kNKnZb?$Zl}AsBQJA+F{xKk|QF$>9zcD>>Df1=rHt@{L2ZI;+i*e~! z$=QFYKS`s!tFvGTp~k5eyA|xEUMvgCW}y}tR@q$H+qqxM%zI3y-HaMcrDk!0DU~qc30>j;6FBC?mionkBU$MeS%W-npS^(;_K<5hh&Zn!oOg3f zhQ7`7(0LYdX;L;sr$B9$6FvRacXy9cmahNEH@~+*7g!<(8ZGT>Z+sgJTxp7qy>E*U z`+?G1l#Gy0un4vCnwHjs*P*u9$p-PJTf9&Piid^9Dp)X1<)4TE5oMR~-%wCVAa?_K zc2vxcN<>1$LEAK;Qd8)^2gjlXiIL(|%qbHpUSS@1tz)~b{H~$}hswALHygXH9OA#T=vw!>xk%x!RIb3l+hrRc3-$_owo)X4* z(DPG^!rTsoBqus<@fj>aqGG{v8FB}Oc0^+Ks>|dq8KNa3^74w44?)5P#Jo5h6fcb2 zZ?gMEF(v4hZb7agO0zILB__};sM|6Rr70(^5QN%zu2N(CrO9rLCyeRdJcDzYYd=6QXLLUlDyOV6cipvI>B(U}PpcF)Wp z4^{kuKhKieS*O9j0~E^;IUpmAfy11av7K=$xa08S2H^Cgkj8q0LXVuq~MhiaZV~O>98jVC2rEJ9!U%n8EVYBkl0gGIB}<5 zvMf_%%HZ-q*(#8g*nhBJvc?AV`Mp;>N}@4pFSU(THNEk?u_6|1vMs@ zvT-0dV;)Ty5T($u|FDCnPb|Wlihtx;lGn3Yn7tGITX1XC4d$=Lo{rf<@#?Z!-ESWFPXjTj(6z z2%GIy@xLG`W7Hs#XBS0MUn$HC?E#KgKw6r}lpu12XWIR%bP*XRvKxuEbQO^0uS2kr zl`v01%yz>N(1=1DfchM46d}yKp*;|O1pJdt5t0Fo?;-jHQI{Z5c91pm*8nPkq6%?* z?Ftk?bc@N^2ckjD%!=`3r;M(46?Q2yRYnW8&G#d*&3QNqI*OL`Nbp#zy^`WwWt0az zDiLFOkP58LGLvk7<1~$@;p89G1N1C^Ek%!O1dyW=INwtik`P@Qj__vnz+d>E*nRk8 z$Y_we@;Wm-X9jxyWiZRuSRW6Z9nKLVQ}L_(y(Jzlhlj8;g&4a(`gcfze<7wF7^Bp&x$eB%9#iw0lKj@0PsR9*3 zVG&1O5BG#S;1~Qq%9x;<8b8QZ)rZUUN+5?`?Qv+QFt6C5s~5J;LW<#jT3t2ML`Q3F z$3~il$NH2gOb5M0RU7aeau;6z>;26kmDgg%q}kLf^3f*Mot`c0c|+A@)Y|>Ftjf zp$dsVAzCl@|CMb@s#X8R+$s>*EO_YBF8~L?brQ>o625z6C)`$N<_xW7r?59^pr1Pu zJ+*z^nIoWUX0Gcrkz1DsHiJ47Tp4LxIH&w?!|5;MUw*Qq2GTvgcpk6lsyplyZtC>X zP~J6XSyq~$&Pcl4LufKJsbQs0)6vSD*EclpJv!tf_cV7xS-Wi8NKl8G^Tq-;+~H>< zY4S+_S6i}3EZE)G8`rQ6vebW=WOwvg+)>aMBW5*^$HKvu;L>khjI~hC6Ekv75R!&W zx0Fm=Qa1h4q=IiKJP@UbT~+?^?i3z~}NW6id;xCI#fojN0)qPzYbX=x>{#F2Ta|!Qi@^zZbSj ziV*oHQ(ohG;{Ve7DitI%rae#oo|_c$s*}Rjdlj*{A8P!|Uz{eY;ay$f0V(5;l`}+i z{k=u2dGfUZw}TCk`8m#G*bp)JgI6V6AZu-Tb`+uF+H%W675Rz=`FYiwe$z?j zK-0ui@vJ!ovFBCqvE;QA!tbwKgv(d(suLfUF%v+A8Rb87myTH`& z3Y<%qjhKZg`eg)=?y`u^S^ zI{t1}$W+a;*svZR5@;s*6HNS!yh zX4P;Vg$V=KsJ*p+@K%~$2E8H1Q?6zhR?riEzEO$eJV*MMB9hVgefu1!*(Z4+248(t zK=;##vvAFS(X|B9KYJs9#_J#4-ChYJJH%X~XFi`98)J!S{p+SGj3Tl5k>S^J&4ScSc_TGDTaKYL))2BIi7}UD4)5h1bZ{gOHqJxNnD0~w5wSZ&VrIdhaS)2P2Xmf9_ccu*N4stOQRKc`X23`G44qM^m z1NS)_uuJICc`ye9&Hf~V0H&xg?tts?ky8i~67*7v_zyj^t=dY$hi^RKk7|%JO^uBoLtz@BMhFqlKArFp}X7umTz|29E*d z634+hDjv_{pMqSW0ev2WaA&gwZu~J+)W==6AdkW1LF}J}$Xp^_*tLneyP5wkfk11x zyrLveuW=qaa6t{fFR)$(>adXJXQP1dE?S?+djbZfPPY(Z!#cTbLX_L!5xOPQfgnf55+qpj{H6fqoP8%Y*QISKsXUS2*O>VW_`Q1hxAFybC{H z0k5+JJwL)Zp8pq$+`WO)P0G;TWNkJgnZu94m;DXo>Nmpg{f#O&nk^bmpBq{2Izj z)6m~@FBUY|Id$59hSQz&Edw=-_8CRti^DocckHQ4S^hzzB3dn{Te%SC8b&{+dQMw( zIvZ|J4OJNv4|Z?9Z@=j52h`5FSrxByefY^gQ1nO|jMT^SdQ;O;i=`>D)An0@jwMez zIo;)sG?=IF*fuzBL!mi|Z(HtH*z#Sw@xmo?jTu=}G`Uc!zhky-&~+D}6csV8T{FGo z75Ca_8TM+ut-Xcu`!@S$8oS86E0JJx?x7TBnh?tKY1Ui8RR{c(O62-T@ahOZgm+d9 zk;e{9eiuYFyTf@&t?M~m(dic@;w~X72#jR;LA|Vy4tm-j|JoEh>8pZYH$jcfoE0;K zT};tm5b(?|22k+_uD-oDn5D0z0P1sDCv&^ZkTcv#9G#_Qfd5Z#-(QEq~y_ zI2SBIVTZ{p3weFG7OU*dg?nzICOQ@w1~;)f3JpeEJEX0FvJ~nA-7f#}jW@}sYc1g# z15U1&K|)trND<%9Jz?FG!mp|UlHJA0S(pHYcn!JLe6>J|*t+orOMZV_TSbF~4S1>% z1{)D2ic7AUjWTJg^(-br?rEZl3PMP`-y16sl83Sl@k3z)qn|vJK6O=n z2_1`A1yU)@33WiCcR@Yr32{7g3?#v=AD-}I4WZRkn57iLOe>j+?oX^SLD|;Cp%@^s zk%By|>JmfV9RsfwVRCvjHp(|l9iP0G!+!Y-dNvC0kOMwSve5d2I8^%*o9D(&WV_9> zE};rvHrUs`5{IV@A4Z{=^Z79Z%qg5&W&6PT`&q&xRKt zwmqU`rES)Mfr})!|2T`NJ3g(Q-oBYj+d7h-;8B`e^DL^O;kx!ffUtgJUQ^F2M$Nsm z@)Vdb4!X}n9MAaos^NV$vr4&SXXC`ztumM?Yf~F(w(y1$em_7S9w2QDGgLs0 z85K~0cH1=iVZiny&1|S^$MG$)F0!|K-LKULJF(rQ7mr-lJ(-@+slRIZROw3lPr)p7 z^i$UG@xCF^w9w*HEL8p)x;t$dY8Nyatpu~houM%xrk(Y1$CPvoSgfXo!&?!cQR(C_ zh_q{?Dmaf3-m3^wTw;oeZ~wNGS=Im*daoqOXCWd3-79wsjbyOY23+W1je8>VVVGGI zFs_C_F+s2BI#;bB*-1jls^KsFU?3{mEVl$T2!RgUPVj$g4U*=C;zyYBlme2=Km`2YL!HV!40p+3fTW{ zvakl+%jAqtbCBb&q=;Oy4>wD1e--qwjxj(_56{)3FXBI|isG>Xrb$#Z^1SjaY{#1H z_O5UkSNd8}Xluh(g6HZ_HVuQQrCL1mSsH-n;y5x(79B}N#Hz>HFG*!uoawj z3Lkx$*eiv98B#p%02tDbT>8Gi%rLB63;V7qfCMGgKKHYMsZ3ZDIIpG#PVoTtKMAg6 z=z(UzA>-@O9WioA`BPByip5>-o1VSUwZ$LaLd#dqTWIV(u7b?RfFZoB-mV+?kX_ud zkHSOtB#1Yc3ArxZ8?u zN#(2nqsJFa&uwcn`0OMyZ0W={b_ze$U!N)Gx*f)=%d%Lj4v4Uia}q29#*-QwuQ-M0 zdj?h>Y*;fFPr#KH$jlE6*lo}tg>6|+bZ9f5ts$j?J`LFVklH1Kz0|^1ftv8O0rAAk z!Mi4bM%QVDH%}Pf1k*(~p+rN}Y3RUGep}FXWO>oR7Tgie&JwPw?`A|3CcN_kyV}R! zB^4#w#WlXMf@gaH|C9H19bf-yRf?BU1Cmg_TelTBed(xl;Ud9dFtt9i@%6lg zu9B#xj__p#OdFt@*ZgqvSu{<0F!2%&=Ui@Z!fraKUgQ`iPw( z!ReV&4pMdm@R%v~fae2UT3DwQQ=({aWI4Q&gGV5KlM+;Hro5xr5!_6daz4Yj3|M@$ z#{%qh@DYx-F?4qP5)qgj|12WmABeD%Ck^akn}S1>jDwrwQm*l`Y`Y6TL7UP2vk@Mz zkf(+~7{0(Yg~cemWF43-kqzg|LQ;cwT6?!1Xo`IGg~cf_*O!qeTZ5}VxzB;uzR^#T zmF14)r-}6Ju-#Q?AdM!d&yN}vL1je2GqBYbB%$;D ze^j}=c&tDozlYP|rW`$`)CH95{cYbQxqyi7b27bt~ToJid*Jt%j3%^SxVf=Zl*obVZAKm;|(5}Gr zY`*fYf-dpGx5DBKam-!?v^|DykPmi@%xn?TwIFLYZ%4f?%6)3)`lU+G2@#0{Kh^YK ztBU?1(c|FGi>8@HQ6U*v^Q`=TRIv1aMqQ=ClitA@I^yzJY^;ETB=MsRYR*DjX&7iy zK70S@mm|(a(BL&4ms@&YdmzP{rNR2xV!d$l;ffw7zni`FO~+X&r$3ixiWF}t+7?Bw z?Fd0+a+BL6g~qQ#)%hh-EIt7jAz@)2aDq^%kKV(BmgZz3{#?bw#F;fk@II_*5a%nW z3CXUc2v!M=--XL3E{~%;DgFS4$D15zd-AZx>o|Bc)D^tK?IKUOU;awz5)ZbA=qXHF zMzT@6H5~g~1}|vOe`HZu&E4=~yBRyZbC32FTL5ZhNr0;GZ+=(8(d?)w8Z6=YptDJy z#L^O8noXmCA?zZldy{nbp+GR82E&M8q*yyTOlg(lC34rvxn9+Uiz*`)ctkAI5|sdE z3R~n95n#Np2iD5~!my15&-_5&?9rw4=Y4=}MM;7P_>X>jBSEsV zdV3oInx%9$>9?ZD^86b#3LXMW4^Fw1kqr@L3ZP5$L}4%~r4s4IUycm=0!t^lSAlQP zE@yJyX!yJQXr7!SbJ$0O{Z**M zVfI=KRun_-|C8VEnewWn{>aoGXd6^^BzK;i8*2m)X=5uE!TVK!`)_gzuTpm%RHb{t zCET`HAMNYE%Mx*YWD3TFVeyh_R65E?-r61@1T0jXWIwo;xl%|z^9p8B|MR+80f=h) zW^f=dh}&%$ck2G}XkLR_K93Y+NzzkT-kH2KJxYyNC-X31Ru=pMi8{r+o(mJq=%)8g(QwYhOI z{P3xaqj8a*6WzW&rX8ai^Cv5P1Jv&72ds&4Xkeu1hrbGpHG1nFGidhLA1yT&W*dUJ zou@ZU;)XWxH0ZWo{iUt7T6;cl(mU1i?k3etv>ApmIvw9~I*g0XHN(~i4R`#^ZJFPj z+Ny@)+d^Z9-jwd0YHD+uDKOq(unLqPTQlO`|6miZn${{_(tQEmVc*M8ww->w<__0u z^Ve-j?rotVt!5>;Elt}C$DPe%M`QDQ#~(3@yNyjHHR@kZf2$Lr7jEpV^H+bvu()}O zgS)pW)Od6wr9ziEHPYB;@5hbhA{_=DqK?s)8#GmB<+^uUE?_j2n{|8lha7`7lV82p zy^?!clsKp5wRHEB(2@j;8}Bw+EiZk4qi#^DEpnL7J%3_$^Y@Qkbv19N*X-LU{w~Z~ zZ=?FVvFF{~AbY#QoFTcdN~Y;s-aIPZa69fH=piRe{6Ul3|K2LAKP%wK)N>PlIU zoB!&vs++3nI_k*?F|X4fe{6T)>HM%m0eWW~_vB4X-`;6!@Wl`qhCeIrAv=#Qcnkx= zHfMd~UAJCGES1}t!&rdyw!>Ih`F%{wL-yD5yW76_DXJuY_BB_!bjjJnV9|!AFkbi7G6SI;xmq0qrGcaD z=)gkX4583Wp!8jF*|*QvK4E<~ZZJOQk`@I$H}38kWn}jS+V)&^J^LWhJF~Ppz0*B$ z<7Cj=z~#G3Lg-grW4IjLpL4k6D3QZJ^+@P{vzU@%GqTuzuq?PhgF;h0f!ZnG54Q~m zW%dO(wv4G@z`3J@v;RW{qwk|$!=zHyWPozWv5&C8V-L4=pvmTW{`L~{;Sv+_{_$HT zuK`-1o#n(GuP{}|vmS(zs3^(DDev~u*RsW;qxlr}XBwWqGjqxt?h=1rNd^6K5T3$j z6>}pPC26C>s_e{4oAC7Yo;O7bBq%h4j6Kk&TLK(b7!O*EtWMpRMrhUn_*rAUVP&Qj HJ>q`>p83oz literal 0 HcmV?d00001 diff --git a/static/fastx_icons/fastx_clipper_example.png b/static/fastx_icons/fastx_clipper_example.png new file mode 100644 index 0000000000000000000000000000000000000000..8d4ff4cc21a66ba8027506fec6fa6d063570fad2 GIT binary patch literal 45505 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%0Dy^@OQJJsMj#@;=*qx2tTw6thO3SS53l@^re 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�d*2gYxLafxXbPtHCQr=P z-NOCc|1@NUZ7yl$ZT{l^&!neOr@~tUE5678VaKuvU z4WEXmj1K{<)Wh+M`PTd~D2w}+xF$ehi~eWE%SMZ&?KvL9Yk%woOb{95ZTutJMM$Q! z9-l)Bs%`8A%O?rD^QmExsLnU zumjLjvc+#2J-J!M@1wY<)Aice$%s~=6~ORD>*WhGalXzfh@a)A#%q)_#yiy*8NI^} zP_O7t0tl@r{HdulNwE#mUB<)Qp!1wKAaCB9*Ie!{I&Y>YcBbCD*wgt^QeqOuu&*E6 z*|X!aB=eCkykLJ>$ua8wqqO}r6L@HPT!8k0mLn&zz8)5}TIUe7e@GjS3W>Q@^yC(& z>-~nffWB_0YFDpQRwVSYQmKxwiSh7zf0!0yA7~u?EB{Or+seapw8@@pO2O1`;RAc@_KH<{ zpg;pW2!y_N2Oe=3ccnBY&eK>YVL;c(%CPXu&muTT5Ye`~VcMeFC4DJ43Xt%w&;d-5 zG^G(8gN(Xqv_qmF1gksGa@ zRbZJcWMAuHl-3$<1Z9+CzU?Ad>8)W zLEXe>F^-@y{LBi9i1}OZ9LU3XbK-5{OlJ?<{K&P~{31{IEuF-t*N!Kgd6vg|i*npK zl|QzJwN$j8O=LE(crx?LPDTD%>Rc*Rz(s1zNzJ^natK^m^mmo7=~g~=Hx?_Fhcf*C z2c7=Uoi$#9coLZ&NcCm}3jd9V*~AZgNBpxcnTvZP2f5zJ=z1cTPzso!?fxg|_>Z*j z$3Tw+kZ%kk;n+R#mtXb`1Yn8}%3uHU>&wwkaZbaWAgIz4%2*@dO5j|#CzA^PHyZbH z$WC;GIX?6)Z=GV<3jo#;^9g4B(0b7Q?rH1(ZGcFY%G}A^bCrUQ#-e#pAat-78e-e~ z?PjeFZ7Z8Sq|4n!@A`i(MFJr9=e#=k1jB*(!K7gPg*pUgeFtCodwW95fLcQQC_~76 zkvHlH?^2fj?HyB4(Q{-+Qb+711wwo<&=0X2pn}p)e@a)wZjVYHP1OVEC=8?tV1sq- zzx#PgP_Ig0_ODVxwhbhU6o=T}^sZ zi>`b4KWg&RzzLwr#CSm7FWbwB^?8&%pBlUIkkWaHTUHbP=o>8-e;~RZ+`HnixeZa1fvFGCa=yEh5T4-@<@hIu2Hs5Zn)3H#s3qw2tJZ(}bDxbl@bO8}1! zKA}es^ncZkX&-umn~O;<ls0iD~8=dM><{h-}~W21Fs%L2MOSe$JPJa=>N3+ z-%~v^^+WLJV)sCMZ&043igk3RO{A63-q@7c*ZDX@+ zySvla$-R4`jhHT_;hSNr*@eWr*l6Ps*!Zz4hw13mAsz6zoEHX+hbW#XwhEvdH8&LM z^@I-3etKr?9`t(cj?O7}B8sM>VVH#cTz0k0Q0|1i-Xm?`hy1L4$AJ{AwW_OWz=5{j z_g%*aL4wF;pL)jC0e0KAs-=k^Fl=k5STii^dHdQD6JU zqEu(C=o4mqQ9zjn5nSs*c1w@$I~lw>%F?(@bn^!eB0VBrWtaFu58lS!xby45HH{Oq zd4$URLa!RxS4qjaraHl3(wlenSez!l;y3}NUO}?lQ#M`f?n(Jw=*Hz|p8)cQdBbo| z_k1nrE&9@1L4{lKs%x{jr(j)P3n~&A-wPAA)7;%RBp9&7-pd;vg`LlxX$kiUi9+tA zDlDMCn842G^bzaj0emNZm@72=BkBOpgb0T3A&Xjaj=-k%bFAPgvlW=lO6rXW<)obs zrjth4yCm3gii6#VLshufsF|)atrpW`Fe-o>aVN1T4$mb+!vrp%ARGG5&`HkR^jj)& zCsAk66zWYiL`au?uQlz;32_Jj9x&eJ(iD}yrNl4m`m%i=4Y5L`Clh@qq>k0@H&$p9 z0wwNrfq#U9If(zh&d@vJqmvx|I<)g*(Rl<4z8PG|6s0ewAc92Fc2L0BUz}d18w2`1 z#0*E^qeOC{)@euS3Nmyq0?f~e-Xkg8O?&6@XkuE#>W2K*k>I!{0DHd>?ti(6Bcb|4 z9f_xRV{=3MOUL@qOLZmi^%Ks+)4=D~;>ss(MvTM3+Cx1H?;1~HjMeHSRq|iqJ0zLW zT{QhvARD}G_^A^tMpn#itUZ08lB}}jGAY9B`re%IF_>_qFC$|T|T}Z|@)iw~RKFLE^ zWe!`^8aS7Jd@et5Ls??zy$2kUHPL>xJNPdb0HaP>_#EMa$FI5hk z5||bFg+z{DSPRhzH$YUwQbS+It9J+q0we(hmkO&PV!Lq>xv$g4e-$`HjydAsV#7P7 zg2NX8ZyBHeVa+Ixr~zE$K8*)JQV4TeUp5Pqv^(#CGA5{Lia+XP+!ATWGQ>q(Y2^v< zEhaunSJg})t6%X1dWFOSOFRForyUJ(|zS~Kl1yw#@_vvi~ z&NymY+pta>6CR1DO&FTMWwu-JLmluzTePa9TniarD)VLwbkN?(VaM z%^39*B!8h@SZCAqwcI>q4@!ZvBww-8Yc6gY#+Qu>3@bilM-hu4s4Iuho0i&jN#~ly zDOzi`y+yuf`o3B`XIe^Nu9}?B_wK`MGm8r{m_qEYYUz#>j)@hKG`B_tmox65X1Vyr zP>ITJ=v?FF9KDe5L(7wx**53UZi=3Wxwpf#VRVQq#mILCPF}~xMp+oX1C^r&W*yTq z-vTYF;Gpq&)0ehgqU0PodbTPh76-V$CywEhD^o8Hb>ym#xFF1yJPvMO z)2kI;Uvaw|(*zOKXFLVt!lR^p=z(*X0>8ydg$Hih(M>&JS_gHB*G10V$OVP#(Y%hx z%&%sLZg4UT{k9P?{ zFqnYyB>;bqY09~ebArz80j+|G(P4DlTrW`xzob0vMUJ`ei8%%w_5yTP+mjE-+R z$C_i2Zuwik@YWhH!-+!gzRh&j-ky?SvHt1A>G?MGZfT=bhMIf6*z^08@Vtd;@F~gm zKWj+;*=8McWURgbM_#qj9CtorVwVe_3cMil6WUZDi1#O+ODm9b{$91PmhTRH?HaT~ zbpxb(%!^p>bOUoFn|a$eSsKG#)-c@@ zl&7}D$OTJk`0Y8`SEN3zT>Kd01DG(ex-%Sf*!#5hr@-%Yw7CxC?mQDmG=rO-<7ld4 za}7QIT*s%LIzZZcsvp3c4=Qy9c+}(mnP=@q3&Z3UGC#>7{1`?0rHK;^5DT!LO=2{KS$+4DIHzrgg>$GV!u~uTHqf;)|a!|pKrz!m5H7P z;B>Fzl5B9I4j$xmWMR*GPvg(e!1@E6B(-i+eZWpA*T8zzg4Qkshl5bHd}OkB>^~x>3_MA$?GH^Az{i z7Y+5|R1$vRxnJpPI|Rgiu6U_ScYno|uLn3QJN1zlwLd$wO{;(}2*b~OS-_DQf;>4v zmYv2Fr6n!=GCKSaQ=Pwp0jSwvyUj^pyO8{xyobOAh-)<9=TP#yZjHhLSa)E1zi)Voc;a8=l?s?}(z)-k?(bU6EDF0{b!Xe2s&?}F(W z*)s0c-RuyDn8fGpaeAjq)wIsnD5?BHBim!)U1`! z1~cKDu@(JUZN-!R%Hc>s3Fm-pwIkN`G-f zc9P|nvla9G!rU11DQfB!RHllI!{))6^>5G@=cO#Yr_rW68fa^v8LQ4A2SyqbGHnKew*`bAX{Wp}!)Cn(=e55=T5=xHlt zy>&Z9iKeK&d6{emI=uF;@JpGGAl_Mtk2(W1JWM7oiq72pzOO}TZzs0ReaAw07!b;eSoVb#?C)cUPzWtSKKn_LRk04kZm8-p-QRCl$VX8-!a)`_g3a^H@+ z49SNyd8UgWl?&_W0f(JF zQxa~ZY(#%4WM|DpL-c18cK;U8{R8eHYxEk$c&H(;sb>!ka}0GPT$l9t%yda4x46Ua z#?qcjJ*Mkvnq^&D7-9XdhZO(36CuaDDgn-xs3u6#xtfZQ{u_>w^5cUB@W9hg3Mh#p z23{mzQJqukFVdEmr3Co|-+IkDmP-ARM{ zbjTk_cfgcPzmM9*Na49)WN|-C+=XiBXVO+v%)rG$#D>mnOIK0A7Zo#5#WA4?hs}U* z#O;Km`YOj%BzCf%cwQ21BE-?p5P3`FR58&L_D3es9%ll2KVs7$!ltE{jY~z1znAAv zPAd;Q@^44kdTi>I0~UZfHKY*}?YG9Mr(mT&MV!--h}R3d44cl5IkoDwiPn^>zDPKX zreW-y`6N`DO@2Ka2_2rpAbj*m=xZi2_|00&B>Ws&{5Vs)Z&-yB$ zg2zRB8(IlTE0#EAdUcu<`UvWkTl<_xE5(VbloK#1?XqT~SKoV`JW)wfa75vyXdG;+RWSLRf;j*|bQvacz*w zfMB+o3x?$S1N#P6j^d?AqUOk^vU8crcNilzB%+&golHjcy9VZ%lj@m%TTua6F5}-O zc``@e_o?a1%m0?2%5-8U_**SSQX4&dhHo>i6B|TA()?6H?Lc2R+a{9>v**k(uQ#H4 ztD^c{V(O>BwAj_hf;FXRkj0fBs{L0%-8;ZU_ykG*>h&FDsT~JjdZbv2thCK18pAm- zHge0rfy+zO-i(zM$tywd2Wukq3&5c53pdv?Xy%4g0ko47@jR!cSH4MnZ@d-@E$Cro_sYSc<0gR_ZNiC!OX1l;oXCb^Clui20z|M^2TteoDvfK|1^9mH0m=iywFs zrfcUyYXMo{Lv2IGd&8rT2qiF#+nx+XtAzi|tvg6KcN z4=0bbFFBQ2ZRHjct0Y_!KS9?sW(76=l>IeU!N;&2W@Kl(Lfj)DgDBsJf}CDy>YKHf zU13pKwbfBh9fMfNSBn#SA!!VCbGGfGcXf)_(^pg(O&DrmNc7Zqi&>`l9OUDMJ-^=* z7a=U!y_5fQZXkFbs}`NRdxO~-V?jogEy#lV?Yze;nr-6fZSZ%8S^Id?wS zG_U^(ULQ?Fk6b>!Bt zc;3I+ZAd+!Sbp@2MtU~uvpz1zzT~YfSr1FG6;1dVBOhZ8|q^9~Us^k#wJAJT!RzRPuAEmxe3}@wv8S zXFrR+)T^BM{cwbY^+t62X24q9ClxaYp=|EcXNF9uZnKxF*-|;y66mIy9zhKs4}^lo z{Zkgn$&%YTn4%c8Lv8uugz$1EQhQPv--aeze1u>|`DO&gEyEk9bhxbYk-4}PrGTU0 zr#`xHVY5K&WBZzY4|gbrR@SR_)_2EW`4T~Y9yjJY`A)sVcBCXnvNt?aTvx6SM$A*N z-=UkEVkJa5MlnHX@af76PtGOII~EE<&Q_EOvW`C6v(prauuC4;0*eioHG_ULKRn`) zH1Nh;2VmY^#V;Nc8j5^T+_nJuZv$hm`Qu_{9w#%uxKa-_v<*DRU8$GtCSMvQ&Rg66 z_*pI0El7g@?A?<&qhRyc;aKW0Wa)Kq!WPSV0FGrm{q$P$bp5UqIEm<85tRd}iY4Z- z;?uie!YqpY{mC;#cs5$u`yfJwS{8AiOl^Ht?@y6oz=xD!jZwu{;~|c?Y#F*d1ND?0 z4VDgr(o(VLJY%}LfeR%iit61N3*BwK?_ZmPZ}a2FALLqa<^BxGcm3f6v?v{Ye?Wz< zuektN8r^8u=2|87U`p<8MUmaR0L44b<}#gumh!{sPoX49^GcN0ZcX`J`FJm=$*!jh zX3-V4%v7JK@RiQw7Yy)=9Cf>Xr)r0#82dak6Woe52N;9WvJQ)N49Hk?K5wOF++4>m zl-kuxq#%?;j#q`E99D(f%!s=b2nTXGGjueZ`|XpOd@UWNRnZIiX)wvlX}Soi_<21D zPV4)ic890joX5d3FqE0@tu6UWs{ovGFkm{RA;AcqcU`;)yej#;qXWcA>5aB=7;e1v z)%#P`AV#34Vn8@AnfEs4V`iUu{Kq{*hll+&r5;rL`5)sNq#d~4;!%@&J0Ga=n>+yo z+(t>DE}$JvZOB+a{lMm2^iKdq^cA^NIse;8EMil)8=b|$=GH`l%gtk?9-~& zW~(n~I+NgigyF2dchU9Vb#u(RYotfQI&}x!D`ky~`$@b8Yn1O!uHxtulN{0gNT$x&-@!(>>-O0>30xT&`W*W2m%PJf|vWhx$~Tpa5wBM3~ASoW$(-{#ql)+vN$l zIJxSKa;e4pkfr84_8DEM1!Y)2ch|0fcc51Kz1B@k4Z)@;3&u;*AB(QFd!7@N1~a)& zgQQJbv#okA3Jeoe#|$t+W=E(?B9-M8$>eg%uh+J3EFChuhw%~<|G^t{@u``OJJOU6 zwfjby)ft`p$V?Ek2ZwEwS}Ce`k#}g!16b9d>9>0Z=NeH|6+83z2w~f z;oASdqD!@UkFg!`e7dAee&PZ%^CkLJ?;o1|KXIEUW2HEb)$ffr^Y!|S8a>Pn_1E() zyi=Oi-H*-xJn7fXi|_Zombx{?T~i`c7V{#6u9QyzPu!<}Xg>dm$a<7OxaF_60iQVz zqV#(wHd^_k{^3gf69x7Qc#?NsV!xW2gJaHBf{YpdrPlkaTLY2MU!v_I@;*M`cyi5m zAW2$E{CkK*Q?b8|8Y5Nk`Yg=pN{9rEW8?D=vKIM*DA5~tS@&t_;6Z23>0gR|AJT!y zFl?5%0XwjBgxkMp*5Xk)Yx32}qbqzC-Lxt677hGTJ~jTkt2It<{=dK-N<92}Pu%4l zrKegb<0B22YH%wJpwBqTSgpQ51KzuE<@cYMe7@~Z{-?T!j;_{2(Oq=A+hLAc$=0`z zquR@LsitI5Q!iLs>x?ysP{-i@pP{h7y+M*F{ULa0x5B|lw;4p@d@if_Z(>qW)8J7a zi)9w9x;cSz|DF{cJ*FtUJ-;K$SW>V8uZ)o!c`vE&f6&%n?t6rmD6uEnYtgz>hKpIT zDE1G!a*Yh3|H%m#zA*ykS-T@t0M8Zgj3tms?|~cK% zvR6*{donTn4W6e5x!_5NzPH8S-i=JSXlxq()}@UHl-GKWppTZlSS|Q1!mE9hb%EFm z_wD=g4MhTrMz}iUbk{S&uz4)O$hBh^?sq=awE{lOt?VF=L}cMP3x(h~L@LUSCp>3+ zAv;0~r{HxxfHC}>kk5EWZVR&T)JCyJV9*$xHxMU|^2lNB#@*-v#lUj1g(P1#I7`(- z(8q)~uy+GFY*TZE8ll6ATe3R^ML&Jrmty4HA*`&%OH%dqWi_yw#P>lJmLWXO0`NW9 zc}M`yV`q`>uoG%Cy4$5tH>@|rA6dg2`CnJ4=2s$yNUVdVw{6T&g$WcymE@aE0Lma+ zr+jxpH(z(0{E-=4Afwhfvzu3e`epF@V8I9|}0{+zu_NtjgXDs zjj%$rA%)1dFt#E5^x_uQdHoV2P_S8i7eyF&EEYLJ{G4wN@TxrV|kv(j&j2$OhqoVmKRr&UwIqGIuZ%DoIcnBmqYJ+ zg%^^gB`w>O)MIjaUt{YQwI-?UaYVl195#YbO}o*$;o-AX_>=o>(5vd;+r_aX_lN}; zZk;Fn!x<>7^Xi5E>IA>X=E}5rd7a^_DdzDz(Qef+n*YH?GK4NMO?h5{+kLPk;?m)w zBz?^+9WuxAXMlbjX_Ew8OC;8S5e1@GQ4MrG@gv*(#;#HQVad?Yr12dzX>#b5z=Lvuy+QW0MhR|hmnVYqmSEP$HpO=q zogvEq5dGF2lge)S7X6H(CDe2h{|})(G$_&R0Bsaw zwwQE_fZrQ5VaU?aU8XbzZR5O^~zx7Gv05-2rR zV2yWXmgC&q^l9T5(1t7QeHfS0#Z?w68SRGSWMd$FDpD(7F`M@5_gPPN1`b#GfxwE= z-tQYzd?SC)-~tJm%C5GrP`p=FhLZF=hWnCZA&tR%@+$YF1+(k$yzg14TrdFc}|I``mb^arSUmTKlwE_-CWdC#!P5g~J{IyL`qtenX@?PvEjx_a}Q4 zmiTULz=f|Foqzcs)7;aXh_h5cy+G>_?1>pnC40p=Wqo3XX0Dyd>DG8?A8{s_KvhTV zUMlq+#w8|7+Nw^`mZzBH&Ij_C0ZZAS2?`%*{du`^BI#MtWv`QT9vRF-IqK{lM(W-c|=$0ZrICpn4263CS(qTg;fYt z^lHnn!d6FApIJHUqF=7gfFl%IN+&b4Q|C#UJ`?Th+R+rk&_8Xnfo07-!XOTJ_7_*w zw?_>oyyB;n;*tZ|9n_R7Hvg;{KBRPi%iZb1IV155u$wR%|AZ20fQ%nCK65={sCmSZ zcnS6t~T&8cMN znLWIK+FFSBtPsHuBY}6}s9BJIE%=u8^o|ZOWrU};`96$EnJU(@-|H7w7(?$UV2ujGBf+$N_1nRH1gi!+kmd$b&G+5`h~}~<(Ze@Yxw5V2R2Cuo`wK`%Fi4+ z;OAbv((Ih?0*!RnR))Kh3u?@9cP znK;ymoZC=vaGiVKvm9}=L_n)D7)Xq!M|?t0jA@}L0GYPyc0mwCpqcbLt!(UUOB8UU z+>G4?F^i^gO@bQ`3LE)(89nzzi{h#Yc%S;`Mf_E$=@4D!8v8YG(L5J|-_z6yYCU&+ z_qBCG^*25i!i3=#{UurNf2+)#MYYX)#HOX2IKa*p?piheQ#BLp{{{p5iZOcFprVdw z!~huUPJT1h9onQzt5hXuK&$R(l9YryKAVv?`3i%5qf|8+hsS^obUb`rq7VsQ zvv;Zg00}fv32_{qHe(Xu7-3Khb3sA|#L`5iFiL^V4r#tmMhU@iMWZNcAaa12$AAEp9ZMchUJ)NtS_2daI`>KuJnd-7rHBkuE zE8YtqAtLjLJw{lflP4)h0R2VuV?#J0x?xc1-LpLJ4@_X_Bp$(cHkx{sm4OnLoNI4Vqw=!*l7TCE|Ii=&k0s;?7?4C;JD+hnu4Kz z@vs-wrER_V^-{6$d7jYqvCS<})GcI@==JNZuKuPE7B8iV=|4mJEMXAgIS;CnuyC_a zmbA7qTP4>sR|x$%-w^M#W}pD7*wOR~{G%%u1{Zqg`e~DJUk0Aj3xh+vHp!XjwmQyU zX&oz8V#B}ZRK`OtJzpQqPC#I-tbt-Gp;ls2+5Q=+tu>3_l$j$=aZ3CxIKcv)n}12@|_-Y zcxH3bTai1qg8x1+hR}l|HK2w2i(Q5O$>f4O8MPG}-zlp&cUpty+cO_znuWda;NL*@ zsV6M%yzv`Px}PIJ$d)+PRqZFKTtt#PCw(>(8HLT@XfkezK_JQ&$;2_v9wda7i!i~( z{HUCrTNv!xBtF4NNFjEH#0U3s9HNWk!%*_RM(ix1C|aYrvllo}wML2~JPL}nn1hnM zZTOHvHQ4yQh~KekTTDyIxSk9+w-?QToKF!H?cmKd`^7S`3OZxyNk__Qb5)*P;l)Nb zk-;PvP_7kRsU|?saz)BO&T(Er%t%QL+GU@OQepxMOM3t#!y@ZK)@3|-&`O+F zOQY6C%NukNVXTZHy|yMcu=e()yEW|#0`L>70zur9GQU^WERT9VYw4gj`l*0Vo>zrC zg4`x-htt`fO+d&X_~`BcFSkXZA_W!cj=|t};i>4Q&1BEAtwx{|>9HTXP5a|(8x{%R zA9*;YvesWxUR_aGZC&!Gmm2UtFeD55{Bim`FDZDn=b?!Sjx3Ys(n$K44UUHlC2%H+ zyd~#IiTPJ_@xq*HoON4$ZW=Qup^A}dR$Lu;vOK#HAr`uzpvaDCvyg;<2sR*r6gGJYQ$_uFf35O+_W%Tv$nki zfg8pj0D2+NZGe>oOW#8|0kWx5{g!aCD77y6?6b`vaQ3a-o47v9*5};8^llG4sLzHI zZpWt1Bc%%Gcg?=Sw?lt%Z|`{0@N9kZ7ZCG4r>?kl3*$On9hiDZ2@%921m+Gs$9%+E zP&rOL_F6DC3?&&MFOsJ!fXpJ~Oyla}+tiyL!4OZ8Y?4+*>OzM7fO|*qIxRB3$PmQX`|rQg zx|mg7_9)Sck@L#qeIL+Qb zc`I#@SlOg>v#w*p8EEZzE0Sz4jJ+jDT{2Tl!I1Ht`p)Ca=pcPtZ)X00i$At%pP&Np~Q_SJ`F z+YMcEz5m#1))!K*u9tymB(gz1fu&ARj;)>x&)m!Zn`e3!K25lyKp@mvL38)rJCi)r zxvE5rCn}BORwFN|*N*Fk*^2KpA(kbTd4#&|$s_!#Zrwz<)ws^tc&)fpf7gJ2pXoC- z5?X7$7j5*g#t3_UmRSrUtllnU+p5wWpptxFgl#H3-r@}vQw56=n2(26=YkkdPuLk7ZzSJ zs|^nkYU7UWkGJ4s3gP*YAkL*9-i)y*a1t7Tww9I4QuzK%S%)6@YBq>wIohEl6%|K& zhR`VnbFaohQ?}Fh(&jNt{xLxt&w#r+_SMMynepf9Sb#E72F7vVn6z)IkZ0ECzpSkj zoXPnObboR-sqI?P^(ZIR!x670As;O5j@-rk) z=+sR3;}SHQwDt3~z}m^AN@Adl1Kg#}%`=Y-$Qs5YYuJ2!b6nt?@l&s_MU zdn%gNMR-4-*jY}^UjvOb-UNGVIVG$P;%CY4h04F2qV)XY(IWLwqPn!FqmKiD z>Rf{@oQsq}0Oa7{Q;>u!bwZw4v%ytDJl=9svxdB{$a_ddP@H@pT}z0&GQENL8=z9j z^;H9QS=Knq@}a=Xq+*b|%hhLw6qMnYkvE)*z={N$oG89ynj=Qi|!2N&N7l~kW z7Nqhim-viy0hAiuL1WZ5F;1>wU*5t5W16^@a08rCBz8Dz7yOZWBX`(L#K z&SFg7TWud}*M{wqFA09a`TauN^9w73=hay=;Th-0s@pYwwHRk|nWp^iU)lEQV^xC?1$m9p+hIfccmV-*yPu2we^KI$5v7@a^j!JrK(q2xk z6g?O{Cm|i5^3gQpEh&`ppXHNKne#{K?Q%`fDIm^9nHVJj#90HR+8 z%Y7_0Ub^{GZzXxv&;as37pOb0Vsc9y7;k7uI5wsrkFI&(<^B~egY&SLd6s|Zfz5g6 zS0s4bRxZiLgQ_-RFgkX$J=YXiY#JsJw`7)ssB?YEREZ-8yg0HH%Abv@}`9d-R>TN%s9n>VbNTDXGlx!60q zph)jM=EQso8pT0+HRzT%4J=6XVEa`>K#WHU{bsk4M?dKl#o*V3wdnG4Nw@gh&*yt9 zigggfx&39raj6&;kR4_`d7~)&({XW7Y6cwcW2e5+O66Er*ki#>mP!Aue4x)=se}O+ zT6s!SQV{bx#=l`g$2gf!Ww4<`tQYUYu1IMGYe%s`jGRyybmXi!6Y;Vp8RU$P zgV2CmhPXGtcJw-hEy!Vy#EteLcs_yrL6nl9l;})2(L8~N3=1W!U@@POLCRlLuHcu% z5)DDzNeRyr8i9W0>W$D8-q)osA%8xFCi|C%_2omPLjQ`#=~tr-H$FbM5ecy1Cen3g ze2d|vbjOfu_>5Sn@}w;d1U9pkWg3_w{v>O_-=hw#W*rs9R(*y`jPNB)Br|)eqMJ{;T}44B zT8|nP-k%0C1YxpF*3)b$U{%f*Fbt(I=z`wVj^hm{zUOTs>*jjXkbO$mSlHc6RVGTO zy!kLGU@~UAhof`^!X^;9@}-)8<)PT>M;!;+`M^01g6TV|v|S~P`!C;5B=AU&y<$^v4kW+LpV1BJ zJsvWf`o=m$Vm1l%jqU5uqFhLD&`(xr9vh#TT|>oE(EkI^ CPI4mv literal 0 HcmV?d00001 diff --git a/static/fastx_icons/fastx_clipper_illustration.png b/static/fastx_icons/fastx_clipper_illustration.png new file mode 100644 index 0000000000000000000000000000000000000000..5acf892fac9ac5c65ae71cfedb1305a07ea80f0b GIT binary patch literal 10011 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 literal 0 HcmV?d00001 diff --git a/tool_conf.xml.sample b/tool_conf.xml.sample index a047871b85e..9a6851b13d3 100644 --- a/tool_conf.xml.sample +++ b/tool_conf.xml.sample @@ -288,6 +288,25 @@ +

+ + + + +
+ +
+ + + + + + + + + +
+
diff --git a/tools/fastx_toolkit/fasta_clipping_histogram.xml b/tools/fastx_toolkit/fasta_clipping_histogram.xml new file mode 100644 index 00000000000..a76de578f29 --- /dev/null +++ b/tools/fastx_toolkit/fasta_clipping_histogram.xml @@ -0,0 +1,38 @@ + + chart + fasta_clipping_histogram.pl $input $outfile + + + + + + + + + + +**What it does** + +This tool creates a histogram image of sequence lengths distribution in a given fasta data set file. + +**TIP:** Use this tool after clipping your library (with **FASTX Clipper tool**), to visualize the clipping results. + +----- + +**Output Examples** + + +In the following library, most sequences are 24-mers to 27-mers. +This could indicate an abundance of endo-siRNAs (depending of course of what you've tried to sequence in the first place). + +.. image:: ../static/fastx_icons/fasta_clipping_histogram_1.png + + +In the following library, most sequences are 19,22 or 23-mers. +This could indicate an abundance of miRNAs (depending of course of what you've tried to sequence in the first place). + +.. image:: ../static/fastx_icons/fasta_clipping_histogram_2.png + + + + diff --git a/tools/fastx_toolkit/fasta_collapser.xml b/tools/fastx_toolkit/fasta_collapser.xml new file mode 100644 index 00000000000..032f0656bb3 --- /dev/null +++ b/tools/fastx_toolkit/fasta_collapser.xml @@ -0,0 +1,75 @@ + + sequences + fasta_collapser.pl $input $output + + + + + + + + + + + + + + + + + +**What it does** + +This tool collapses identical sequences in a FASTA file into a single sequence. + +-------- + +**Example** + +Example Input File (Sequence "ATAT" appears multiple times):: + + >CSHL_2_FC0042AGLLOO_1_1_605_414 + TGCG + >CSHL_2_FC0042AGLLOO_1_1_537_759 + ATAT + >CSHL_2_FC0042AGLLOO_1_1_774_520 + TGGC + >CSHL_2_FC0042AGLLOO_1_1_742_502 + ATAT + >CSHL_2_FC0042AGLLOO_1_1_781_514 + TGAG + >CSHL_2_FC0042AGLLOO_1_1_757_487 + TTCA + >CSHL_2_FC0042AGLLOO_1_1_903_769 + ATAT + >CSHL_2_FC0042AGLLOO_1_1_724_499 + ATAT + +Example Output file:: + + >1-1 + TGCG + >2-4 + ATAT + >3-1 + TGGC + >4-1 + TGAG + >5-1 + TTCA + +.. class:: infomark + +Original Sequence Names / Lane descriptions (e.g. "CSHL_2_FC0042AGLLOO_1_1_742_502") are discarded. + +The output seqeunce name is composed of two numbers: the first is the sequence's number, the second is the multiplicity value. + +The following output:: + + >2-4 + ATAT + +means that the sequence "ATAT" is the second sequence in the file, and it appeared 4 times in the input FASTA file. + + + diff --git a/tools/fastx_toolkit/fastq_nucleotides_distribution.xml b/tools/fastx_toolkit/fastq_nucleotides_distribution.xml new file mode 100644 index 00000000000..bbae04eb47b --- /dev/null +++ b/tools/fastx_toolkit/fastq_nucleotides_distribution.xml @@ -0,0 +1,66 @@ + + chart + fastq_nucleotide_distribution_graph.sh -t '$input.name' -i $input -o $output + + + + + + + + + + +**What it does** + +Creates a stacked-histogram graph for the nucleotide distribution in the Solexa library. + +.. class:: infomark + +**TIP:** Use the **FASTQ Statistics** tool to generate the report file needed for this tool. + +----- + +**Output Examples** + + + +The following chart clearly shows the barcode used at the 5'-end of the library: **GATCT** + +.. image:: ../static/fastx_icons/fastq_nucleotides_distribution_1.png + + + + + + + +In the following chart, one can almost 'read' the most abundant sequence by looking at the dominant values: **TGATA TCGTA TTGAT GACTG AA...** + +.. image:: ../static/fastx_icons/fastq_nucleotides_distribution_2.png + + + + + + + + +The following chart shows a growing number of unknown (N) nucleotides towards later cycles (which might indicate a sequencing problem): + +.. image:: ../static/fastx_icons/fastq_nucleotides_distribution_3.png + + + + + + + + +But most of the time, the chart will look rather random: + +.. image:: ../static/fastx_icons/fastq_nucleotides_distribution_4.png + + + + diff --git a/tools/fastx_toolkit/fastq_qual_conv.xml b/tools/fastx_toolkit/fastq_qual_conv.xml new file mode 100644 index 00000000000..a19f32c9f04 --- /dev/null +++ b/tools/fastx_toolkit/fastq_qual_conv.xml @@ -0,0 +1,82 @@ + + (ASCII-Numeric) + zcat -f $input | fastq_quality_converter $QUAL_FORMAT -o $output + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +**What it does** + +Converts a solexa FASTQ file to/from numeric or ASCII quality format. + +.. class:: warningmark + +Re-scaling is **not** performed. (e.g. conversion from Phred scale to Solexa scale). + + +----- + +FASTQ with Numeric quality scores:: + + @CSHL__2_FC042AGWWWXX:8:1:120:202 + ACGATAGATCGGAAGAGCTAGTATGCCGTTTTCTGC + +CSHL__2_FC042AGWWWXX:8:1:120:202 + 40 40 40 40 20 40 40 40 40 6 40 40 28 40 40 25 40 20 40 -1 30 40 14 27 40 8 1 3 7 -1 11 10 -1 21 10 8 + @CSHL__2_FC042AGWWWXX:8:1:103:1185 + ATCACGATAGATCGGCAGAGCTCGTTTACCGTCTTC + +CSHL__2_FC042AGWWWXX:8:1:103:1185 + 40 40 40 40 40 35 33 31 40 40 40 32 30 22 40 -0 9 22 17 14 8 36 15 34 22 12 23 3 10 -0 8 2 4 25 30 2 + + +FASTQ with ASCII quality scores:: + + @CSHL__2_FC042AGWWWXX:8:1:120:202 + ACGATAGATCGGAAGAGCTAGTATGCCGTTTTCTGC + +CSHL__2_FC042AGWWWXX:8:1:120:202 + hhhhThhhhFhh\hhYhTh?^hN[hHACG?KJ?UJH + @CSHL__2_FC042AGWWWXX:8:1:103:1185 + ATCACGATAGATCGGCAGAGCTCGTTTACCGTCTTC + +CSHL__2_FC042AGWWWXX:8:1:103:1185 + hhhhhca_hhh`^Vh@IVQNHdObVLWCJ@HBDY^B + + + + + diff --git a/tools/fastx_toolkit/fastq_qual_stat.xml b/tools/fastx_toolkit/fastq_qual_stat.xml new file mode 100644 index 00000000000..c7a1de21477 --- /dev/null +++ b/tools/fastx_toolkit/fastq_qual_stat.xml @@ -0,0 +1,100 @@ + + + zcat -f $input | fastq_quality_stats -o $output + + + + + + + + + + + + + + + + + + +**What it does** + +Creates quality statistics report for the given Solexa/FASTQ library. + +.. class:: infomark + +**TIP:** This statistics report can be used as input for **Quality Score** and **Nucleotides Distribution** tools. + +----- + +**The output file will contain the following fields:** + +* column = column number (1 to 36 for a 36-cycles read solexa file) +* count = number of bases found in this column. +* min = Lowest quality score value found in this column. +* max = Highest quality score value found in this column. +* sum = Sum of quality score values for this column. +* mean = Mean quality score value for this column. +* Q1 = 1st quartile quality score. +* med = Median quality score. +* Q3 = 3rd quartile quality score. +* IQR = Inter-Quartile range (Q3-Q1). +* lW = 'Left-Whisker' value (for boxplotting). +* rW = 'Right-Whisker' value (for boxplotting). +* A_Count = Count of 'A' nucleotides found in this column. +* C_Count = Count of 'C' nucleotides found in this column. +* G_Count = Count of 'G' nucleotides found in this column. +* T_Count = Count of 'T' nucleotides found in this column. +* N_Count = Count of 'N' nucleotides found in this column. + + + + + + +**Output Example**:: + + column count min max sum mean Q1 med Q3 IQR lW rW A_Count C_Count G_Count T_Count N_Count + 1 6362991 -4 40 250734117 39.41 40 40 40 0 40 40 1396976 1329101 678730 2958184 0 + 2 6362991 -5 40 250531036 39.37 40 40 40 0 40 40 1786786 1055766 1738025 1782414 0 + 3 6362991 -5 40 248722469 39.09 40 40 40 0 40 40 2296384 984875 1443989 1637743 0 + 4 6362991 -5 40 247654797 38.92 40 40 40 0 40 40 1683197 1410855 1722633 1546306 0 + 5 6362991 -4 40 248214827 39.01 40 40 40 0 40 40 2536861 1167423 1248968 1409739 0 + 6 6362991 -5 40 248499903 39.05 40 40 40 0 40 40 1598956 1236081 1568608 1959346 0 + 7 6362991 -4 40 247719760 38.93 40 40 40 0 40 40 1692667 1822140 1496741 1351443 0 + 8 6362991 -5 40 245745205 38.62 40 40 40 0 40 40 2230936 1343260 1529928 1258867 0 + 9 6362991 -5 40 245766735 38.62 40 40 40 0 40 40 1702064 1306257 1336511 2018159 0 + 10 6362991 -5 40 245089706 38.52 40 40 40 0 40 40 1519917 1446370 1450995 1945709 0 + 11 6362991 -5 40 242641359 38.13 40 40 40 0 40 40 1717434 1282975 1387804 1974778 0 + 12 6362991 -5 40 242026113 38.04 40 40 40 0 40 40 1662872 1202041 1519721 1978357 0 + 13 6362991 -5 40 238704245 37.51 40 40 40 0 40 40 1549965 1271411 1973291 1566681 1643 + 14 6362991 -5 40 235622401 37.03 40 40 40 0 40 40 2101301 1141451 1603990 1515774 475 + 15 6362991 -5 40 230766669 36.27 40 40 40 0 40 40 2344003 1058571 1440466 1519865 86 + 16 6362991 -5 40 224466237 35.28 38 40 40 2 35 40 2203515 1026017 1474060 1651582 7817 + 17 6362991 -5 40 219990002 34.57 34 40 40 6 25 40 1522515 1125455 2159183 1555765 73 + 18 6362991 -5 40 214104778 33.65 30 40 40 10 15 40 1479795 2068113 1558400 1249337 7346 + 19 6362991 -5 40 212934712 33.46 30 40 40 10 15 40 1432749 1231352 1769799 1920093 8998 + 20 6362991 -5 40 212787944 33.44 29 40 40 11 13 40 1311657 1411663 2126316 1513282 73 + 21 6362991 -5 40 211369187 33.22 28 40 40 12 10 40 1887985 1846300 1300326 1318380 10000 + 22 6362991 -5 40 213371720 33.53 30 40 40 10 15 40 542299 3446249 516615 1848190 9638 + 23 6362991 -5 40 221975899 34.89 36 40 40 4 30 40 347679 1233267 926621 3855355 69 + 24 6362991 -5 40 194378421 30.55 21 40 40 19 -5 40 433560 674358 3262764 1992242 67 + 25 6362991 -5 40 199773985 31.40 23 40 40 17 -2 40 944760 325595 1322800 3769641 195 + 26 6362991 -5 40 179404759 28.20 17 34 40 23 -5 40 3457922 156013 1494664 1254293 99 + 27 6362991 -5 40 163386668 25.68 13 28 40 27 -5 40 1392177 281250 3867895 821491 178 + 28 6362991 -5 40 156230534 24.55 12 25 40 28 -5 40 907189 981249 4174945 299437 171 + 29 6362991 -5 40 163236046 25.65 13 28 40 27 -5 40 1097171 3418678 1567013 280008 121 + 30 6362991 -5 40 151309826 23.78 12 23 40 28 -5 40 3514775 2036194 566277 245613 132 + 31 6362991 -5 40 141392520 22.22 10 21 40 30 -5 40 1569000 4571357 124732 97721 181 + 32 6362991 -5 40 143436943 22.54 10 21 40 30 -5 40 1453607 4519441 38176 351107 660 + 33 6362991 -5 40 114269843 17.96 6 14 30 24 -5 40 3311001 2161254 155505 734297 934 + 34 6362991 -5 40 140638447 22.10 10 20 40 30 -5 40 1501615 1637357 18113 3205237 669 + 35 6362991 -5 40 138910532 21.83 10 20 40 30 -5 40 1532519 3495057 23229 1311834 352 + 36 6362991 -5 40 117158566 18.41 7 15 30 23 -5 40 4074444 1402980 63287 822035 245 + + + + + diff --git a/tools/fastx_toolkit/fastq_quality_boxplot.xml b/tools/fastx_toolkit/fastq_quality_boxplot.xml new file mode 100644 index 00000000000..2ba0f04d517 --- /dev/null +++ b/tools/fastx_toolkit/fastq_quality_boxplot.xml @@ -0,0 +1,47 @@ + + chart + + fastq_quality_boxplot_graph.sh -t '$input.name' -i $input -o $output + + + + + + + + + + +**What it does** + +Creates a boxplot graph for the quality scores in the library. + +.. class:: infomark + +**TIP:** Use the **FASTQ Statistics** tool to generate the report file needed for this tool. + +----- + +**Output Examples** + +* Black horizontal lines are medians +* Rectangular red boxes show the Inter-quartile Range (IQR) (top value is Q3, bottom value is Q1) +* Whiskers show outlier at max. 1.5*IQR + + +An excellent quality library (median quality is 40 for almost all 36 cycles): + +.. image:: ../static/fastx_icons/fastq_quality_boxplot_1.png + + +A relatively good quality library (median quality degrades towards later cycles): + +.. image:: ../static/fastx_icons/fastq_quality_boxplot_2.png + +A low quality library (median drops quickly): + +.. image:: ../static/fastx_icons/fastq_quality_boxplot_3.png + + + + diff --git a/tools/fastx_toolkit/fastq_quality_filter.xml b/tools/fastx_toolkit/fastq_quality_filter.xml new file mode 100644 index 00000000000..28c7044b33c --- /dev/null +++ b/tools/fastx_toolkit/fastq_quality_filter.xml @@ -0,0 +1,73 @@ + + + + zcat -f '$input' | fastq_quality_filter -q $quality -p $percent -v -o $output + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +**What it does** + +This tool filters reads based on quality scores. + +.. class:: infomark + +Using **percent = 100** requires all cycles of all reads to be at least the quality cut-off value. + +.. class:: infomark + +Using **percent = 50** requires the median quality of the cycles (in each read) to be at least the quality cut-off value. + +-------- + +Quality score distribution (of all cycles) is calculated for each read. If it is lower than the quality cut-off value - the read is discarded. + + +**Example**:: + + @CSHL_4_FC042AGOOII:1:2:214:584 + GACAATAAAC + +CSHL_4_FC042AGOOII:1:2:214:584 + 30 30 30 30 30 30 30 30 20 10 + +Using **percent = 50** and **cut-off = 30** - This read will not be discarded (the median quality is higher than 30). + +Using **percent = 90** and **cut-off = 30** - This read will be discarded (90% of the cycles do no have quality equal to / higher than 30). + +Using **percent = 100** and **cut-off = 20** - This read will be discarded (not all cycles have quality equal to / higher than 20). + + + + + diff --git a/tools/fastx_toolkit/fastq_to_fasta.xml b/tools/fastx_toolkit/fastq_to_fasta.xml new file mode 100644 index 00000000000..530857faa49 --- /dev/null +++ b/tools/fastx_toolkit/fastq_to_fasta.xml @@ -0,0 +1,70 @@ + + converter + gunzip -cf $input | fastq_to_fasta $SKIPN $RENAMESEQ -o $output -v + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +**What it does** + +This tool converts data from Solexa format to FASTA format (scroll down for format description). + +-------- + +**Example** + +The following data in Solexa-FASTQ format:: + + @CSHL_4_FC042GAMMII_2_1_517_596 + GGTCAATGATGAGTTGGCACTGTAGGCACCATCAAT + +CSHL_4_FC042GAMMII_2_1_517_596 + 40 40 40 40 40 40 40 40 40 40 38 40 40 40 40 40 14 40 40 40 40 40 36 40 13 14 24 24 9 24 9 40 10 10 15 40 + +Will be converted to FASTA (with 'rename sequence names' = NO):: + + >CSHL_4_FC042GAMMII_2_1_517_596 + GGTCAATGATGAGTTGGCACTGTAGGCACCATCAAT + +Will be converted to FASTA (with 'rename sequence names' = YES):: + + >1 + GGTCAATGATGAGTTGGCACTGTAGGCACCATCAAT + + + + diff --git a/tools/fastx_toolkit/fastx_artifacts_filter.xml b/tools/fastx_toolkit/fastx_artifacts_filter.xml new file mode 100644 index 00000000000..2397f9652aa --- /dev/null +++ b/tools/fastx_toolkit/fastx_artifacts_filter.xml @@ -0,0 +1,80 @@ + + + zcat -f '$input' | fastx_artifacts_filter -v -o "$output" + + + + + + + + + + + + + + + + + + + + + + + +**What it does** + +This tool filters sequencing artifacts (reads with all but 3 identical bases). + +-------- + +**The following is an example of sequences which will be filtered out**:: + + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAACACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAACACAAAAAAAAAAAAAAAAAAAAAAAAAAAAACACAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC + AAAAACACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAACACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAACACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAA + AAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAA + AAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAA + AAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAA + + + + diff --git a/tools/fastx_toolkit/fastx_barcode_splitter.xml b/tools/fastx_toolkit/fastx_barcode_splitter.xml new file mode 100644 index 00000000000..0b22466adb7 --- /dev/null +++ b/tools/fastx_toolkit/fastx_barcode_splitter.xml @@ -0,0 +1,68 @@ + + + fastx_barcode_splitter_galaxy_wrapper.sh $BARCODE $input "$input.name" --mismatches $mismatches --partial $partial $EOL > $output + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +**What it does** + +This tool splits a solexa library (FASTQ file) or a regular FASTA file to several files, using barcodes as the split criteria. + +-------- + +**Barcode file Format** + +Barcode files are simple text files. +Each line should contain an identifier (descriptive name for the barcode), and the barcode itself (A/C/G/T), separated by a TAB character. +Example:: + + #This line is a comment (starts with a 'number' sign) + BC1 GATCT + BC2 ATCGT + BC3 GTGAT + BC4 TGTCT + +For each barcode, a new FASTQ file will be created (with the barcode's identifier as part of the file name). +Sequences matching the barcode will be stored in the appropriate file. + +One additional FASTQ file will be created (the 'unmatched' file), where sequences not matching any barcode will be stored. + +The output of this tool is an HTML file, displaying the split counts and the file locations. + +**Output Example** + +.. image:: ../static/fastx_icons/barcode_splitter_output_example.png + + + + diff --git a/tools/fastx_toolkit/fastx_clipper.xml b/tools/fastx_toolkit/fastx_clipper.xml new file mode 100644 index 00000000000..f0ed8a9a416 --- /dev/null +++ b/tools/fastx_toolkit/fastx_clipper.xml @@ -0,0 +1,109 @@ + + adapter sequences + + zcat -f $input | fastx_clipper -s $maxmismatches -l $minlength -a $clip_source.clip_sequence -d $keepdelta -o $output -v $KEEP_N $DISCARD_OPTIONS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + use this for hairpin barcoding. keep at 0 unless you know what you're doing. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +**What it does** + +This tool clips adapters from the 3'-end of the sequences in a FASTA/FASTQ file. + +-------- + + +**Clipping Illustration:** + +.. image:: ../static/fastx_icons/fastx_clipper_illustration.png + + + + + + + + +**Clipping Example:** + +.. image:: ../static/fastx_icons/fastx_clipper_example.png + + + +**In the above example:** + +* Sequence no. 1 was discarded since it wasn't clipped (i.e. didn't contain the adapter sequence). (**Output** parameter). +* Sequence no. 5 was discarded --- it's length (after clipping) was shorter than 15 nt (**Minimum Sequence Length** parameter). + + + + + + diff --git a/tools/fastx_toolkit/fastx_reverse_complement.xml b/tools/fastx_toolkit/fastx_reverse_complement.xml new file mode 100644 index 00000000000..a4321eb846d --- /dev/null +++ b/tools/fastx_toolkit/fastx_reverse_complement.xml @@ -0,0 +1,52 @@ + + sequences + zcat -f '$input' | fastx_reverse_complement -v -o $output + + + + + + + + + + + + + + + + + + + + + + + +**What it does** + +This tool reverse-complements each sequence in a library. +If the library is a FASTQ, the quality-scores are also reversed. + +-------- + +**Example** + +Input FASTQ file:: + + @CSHL_1_FC42AGWWWXX:8:1:3:740 + TGTCTGTAGCCTCNTCCTTGTAATTCAAAGNNGGTA + +CSHL_1_FC42AGWWWXX:8:1:3:740 + 33 33 33 34 33 33 33 33 33 33 33 33 27 5 27 33 33 33 33 33 33 27 21 27 33 32 31 29 26 24 5 5 15 17 27 26 + + +Output FASTQ file:: + + @CSHL_1_FC42AGWWWXX:8:1:3:740 + TACCNNCTTTGAATTACAAGGANGAGGCTACAGACA + +CSHL_1_FC42AGWWWXX:8:1:3:740 + 26 27 17 15 5 5 24 26 29 31 32 33 27 21 27 33 33 33 33 33 33 27 5 27 33 33 33 33 33 33 33 33 34 33 33 33 + + + diff --git a/tools/fastx_toolkit/fastx_trimmer.xml b/tools/fastx_toolkit/fastx_trimmer.xml new file mode 100644 index 00000000000..96d5e16c9db --- /dev/null +++ b/tools/fastx_toolkit/fastx_trimmer.xml @@ -0,0 +1,70 @@ + + sequences + zcat -f '$input' | fastx_trimmer -v -f $first -l $last -o $output + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +**What it does** + +This tool trims (cut bases from) sequences in a FASTA/Q file. + +-------- + +**Example** + +Input Fasta file (with 36 bases in each sequences):: + + >1-1 + TATGGTCAGAAACCATATGCAGAGCCTGTAGGCACC + >2-1 + CAGCGAGGCTTTAATGCCATTTGGCTGTAGGCACCA + + +Trimming with First=1 and Last=21, we get a FASTA file with 21 bases in each sequences (starting from the first base):: + + >1-1 + TATGGTCAGAAACCATATGCA + >2-1 + CAGCGAGGCTTTAATGCCATT + +Trimming with First=6 and Last=10, will generate a FASTA file with 5 bases (bases 6,7,8,9,10) in each sequences:: + + >1-1 + TCAGA + >2-1 + AGGCT + + + +