From 799e19c58d623aa2d3dec98bf1972e90b8dd68b5 Mon Sep 17 00:00:00 2001 From: omaus <omaus@bio.uni-kl.de> Date: Mon, 25 Oct 2021 17:52:02 +0200 Subject: [PATCH] Add ARC --- README.md | 30 ++++- TalinumFacultativeCAM.study.xlsx | Bin 0 -> 12928 bytes assays/Talinum_RNASeq_minimal/README.md | 0 .../DB_097_CAMMD_CAGATC_L001_R1_001.fastq.gz | 3 + .../DB_099_CAMMD_CTTGTA_L001_R1_001.fastq.gz | 3 + .../DB_103_CAMMD_AGTCAA_L001_R1_001.fastq.gz | 3 + .../DB_161_reC3MD_GTCCGC_L001_R1_001.fastq.gz | 3 + .../DB_163_reC3MD_GTGAAA_L001_R1_001.fastq.gz | 3 + ...DB_165_re-C3MD_GTGAAA_L002_R1_001.fastq.gz | 3 + assays/Talinum_RNASeq_minimal/isa.assay.xlsx | Bin 0 -> 43378 bytes .../protocols/01_plant_material.md | 3 + .../protocols/02_RNAex_libraries.md | 3 + .../protocols/README.md | 0 externals/README.md | 7 ++ isa.investigation.xlsx | Bin 0 -> 12313 bytes workflows/01_KallistoQuant.sh | 42 +++++++ workflows/03_KallistoCollect.R | 86 ++++++++++++++ workflows/04_Sleuth.R | 35 ++++++ workflows/05_plot_shinyPrep.R | 21 ++++ .../05_plotshinyPrep/05_plot_shinyPrep.R | 16 +++ workflows/05_plotshinyPrep/plot_shinyPrep.cwl | 31 +++++ workflows/05_plotshinyPrep/plot_shinyPrep.yml | 6 + workflows/06_plot_shinyApp.Rmd | 108 ++++++++++++++++++ 23 files changed, 405 insertions(+), 1 deletion(-) create mode 100644 TalinumFacultativeCAM.study.xlsx create mode 100644 assays/Talinum_RNASeq_minimal/README.md create mode 100644 assays/Talinum_RNASeq_minimal/dataset/DB_097_CAMMD_CAGATC_L001_R1_001.fastq.gz create mode 100644 assays/Talinum_RNASeq_minimal/dataset/DB_099_CAMMD_CTTGTA_L001_R1_001.fastq.gz create mode 100644 assays/Talinum_RNASeq_minimal/dataset/DB_103_CAMMD_AGTCAA_L001_R1_001.fastq.gz create mode 100644 assays/Talinum_RNASeq_minimal/dataset/DB_161_reC3MD_GTCCGC_L001_R1_001.fastq.gz create mode 100644 assays/Talinum_RNASeq_minimal/dataset/DB_163_reC3MD_GTGAAA_L001_R1_001.fastq.gz create mode 100644 assays/Talinum_RNASeq_minimal/dataset/DB_165_re-C3MD_GTGAAA_L002_R1_001.fastq.gz create mode 100644 assays/Talinum_RNASeq_minimal/isa.assay.xlsx create mode 100644 assays/Talinum_RNASeq_minimal/protocols/01_plant_material.md create mode 100644 assays/Talinum_RNASeq_minimal/protocols/02_RNAex_libraries.md create mode 100644 assays/Talinum_RNASeq_minimal/protocols/README.md create mode 100644 externals/README.md create mode 100644 isa.investigation.xlsx create mode 100644 workflows/01_KallistoQuant.sh create mode 100644 workflows/03_KallistoCollect.R create mode 100644 workflows/04_Sleuth.R create mode 100644 workflows/05_plot_shinyPrep.R create mode 100644 workflows/05_plotshinyPrep/05_plot_shinyPrep.R create mode 100644 workflows/05_plotshinyPrep/plot_shinyPrep.cwl create mode 100644 workflows/05_plotshinyPrep/plot_shinyPrep.yml create mode 100644 workflows/06_plot_shinyApp.Rmd diff --git a/README.md b/README.md index 736fe63..05f29a6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,30 @@ -# SampleARC_RNASeq +# ARC mininmal Example RNASeq + + +## Notes + +- CWL not yet implemented + + + +### isa.assay +- split GEO SWATE templates into four sheets + - 1SPL01_plants + - 2EXT01_RNA + - 3ASY01_RNASeq + - 4COM01_RNASeq + + +### adding raw data via git lfs + +``` +git lfs track "*.fastq.gz" +``` + +add data to assays folder + +``` +git add assays/Talinum_RNASeq_minimal/dataset/ +``` + diff --git a/TalinumFacultativeCAM.study.xlsx b/TalinumFacultativeCAM.study.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..3dc159704211be4bd2b6d62bfc315a48f567e134 GIT binary patch literal 12928 zcmeHtg<Bk1v-c3(-QC^Y-ARIb@WCy(6Wk%VySoI};2zvvg9QjK0lwMnzBjvh_xlU( z?dO^9>FHB7r>d(?$@wYDgF|2dpa3uc0Du(01BKZU2?hW>LIMEj0GL-g;&!%9KwBq$ zRd;)!<2xod8*7q0h*vZ@fLEaL|9AW^)<A{oux$VfN{7agFo{0B{j|868Y!<6Z)0ql z&xe2z1F*)u_l;d=n+)M}cxXZJ<TYPA2GfBYOS5YAuR=x+5)k9TB1Fuj=sIMUCQitG zOi?{@3riw{6KueiOuT%#(`*<GB$n`0)ZOg#c?K&!Xd4(YnDY%sl?N4TG;OMz6lwx| z2@tZ}OzWY)8E+WWd_O>RsIBn2>dc+sr$nMNnL0i->P=)bv?*lUlBLzRxDTORXQxQO zJvGQ>5c-HPpo5zh{{nmCu5S{hf|gfm|Ew}g5nxBx$yJqsuR`@zR9iJoKm%7Mp3%yI zMD$ohh5_L9j*^tBLGdBy5y7`PQXtT9LM-hC{xcz;z#P7t+d32JXD5`r4fPM+D?}n~ zDezk&KAzI?Q*9qqPMAjfGYB?2VZD<DKe#jyjcu_MMIkU$PGTn(47e>k4L?BagxX`C z(e_X>)jMYA7ocYH8OJ6i1{~v`)<mV9ETW<CRBtxNEbl)I$wZv)BO!Cfk?1tLYp(6+ zgY56+1stIG4=1(=Cov=hIq??AN8v$EtnUD{c4TJy<NSZl`@h&@|0a4xoRWMm3r5fe z<cs*wW14e#XvJCtj3;`j@Fr8sH@WoHkGc(yw?#9DaE>q!DZ9J7{9jF5@T{5jSo@N6 zNiVILAo*SwIlm^&E)Q9%#E9+2Js375b;a2$Yj4*SGDOZ`>bE)0mtkVUau_{1O9=Of zz%r5|ddF8vtGQW^5OtBmZ?4F=e~FJ7Eoj2~9m7gxsD?{JS(QIq?>VBWZph$+s0AF) zC21_AtqPWssQE{D3mM^}Z_OGeVcKOgA`!$NtjobA%Xnu@Fz1}h2UFaIqDt581Hkj~ z@y$Xrp<TyVuh1n`_0t>`@6U7|NZP2MjHbSaiF(x$V{BkXnPapfD!E4QJqT;vsNr&a zHG^6w4xQaKPCENnZ}JmLNWKI;X$5%`9smZ+&6@d7hjO)Zurji<v-%?_{>Qn%K#>vT zdH=hQ3gy@GeW1ty{~W^Nn(l&$y5z)6cA|ES3^QC$yFx|E?sK()PuKcRb6%bq+%DMt zY<$q=mJ?|k9R0eRz9bwC!UNs<j33f&{Bj%|#^_rmk-sz~I@-z6arrlRq%=qL7NNKy zhAa%8{W}^;+>rbtGKs5}>0l1aFD%Y%mX4EzBd@jAN9%V#JOrwoRQlI9HIbyzn(n={ zh_Bp0W&67mPhH}|$_gO51EvmUN$KypC2wFZ+JBh7cK>44o&SKaM^G+LRK_Xj73@S3 zG9*pxOB?67mzUb6cDCgt_BcY@wQ|8QdUa;HJ3KhI0eaK_y#VK!pXZc;%!LsO06+$f z0GZ6+jio?!#dezo#arLvh4jMHGF?nAKR7%okL+7jnO?)&A&Ov49v4e~NY(2NR|1%X zi)kD3b4qqzA$G?Bv#+CKP|T~ExoZ9gsG?vRrC$QmC=a%La9orO2vu<7wZB7DHcNi( z$QJ&BwLC_xJpl?0T%s+Gz{uLyj(RMf1@cv&+2)E2kQz;cZ7g_3t-rL;Q`n-SZTZ6n z&BN5*BLru?ksN{MtAwjs#p|;lCYWq$p|J^2FUa<zPf67PrX1x#gob_WskBtYz_1WV zqqSL-5L=XAhE0O<LH$ANmphjMQ52957mH_eJxd72p%*U{nvJG#s0Wu6!h1)cjF10J z=7rc)p>QRsK7~cU?5A{L!vQy4)_^8{(HT0w<Y1M%zN9Mi+?-_ldE^3_-m8!Tj^fiP z9eT7GET3Pc-gyUh5gjufX}6qgvJ>j5&7POBf8<*&$~8fl7C-1g8a^B6c50Y>W<u_8 zUZ2uLa6;SdhpK(clTqD(o&cR^UD)2-S`mE|`bdVTrM`8RWaz|L*dAmo|G`wIK(xy+ zR5r83{so52fEe|i=Wmqyb$JP12-b|g17{qgNcg+Ls-w!;a0o4$m+z{D_aV*Go0ayX z*ug5K1N0R$`EOn|ypl9YS0}nRB8XA5G~)9S>^z!r@mz$hmPro`Y<%46XR!<!e0uJ; zm(ebMC$~X@gWg|inmEeMc0LJfDL#&@(6v-otB9sSwld{LnNEFm8IoJuasS~d=$7WL z=M-Y6sry2<M1lDzRDHZvoTO9I#tkiX6n*x{#r3SJC1vk(Qr2wrBu18+|IH%8ymjz- zpwFUlz{XT*wOWqagkPDC-(*)S8~FYrp{sq=V|vpUb~uHT7`FV#d1vd+H>nD_;6HW= zWo@i&AJ&Ec)vTpx4d$Rgs~Zx?v@!lPYe#cK2cU_HlY@n=nd2V|p;K)4n_d<ai8GlW z0YE1EoHyYx7`#<-B;0fmdx0oyUzDZ8ziqFPJlqyoBGa%9db5AZpBuT4IbP(Junu5$ z7aHaPw-cLra30oIzrN=*lUe3&g(s5hgxqy>_M$)yL)40)Y?4UFC!N%^$D=j`_fZrQ zcS;Lpt%9^AJAh&Yw7gOHRDtrQDT^K5<E^+|x7OK8HBlLOiUVb>THLJTK|WaHEK&gp zWk1qcVcW{BwM$~bCy4P+5g3dY6t6v*2iLXn;bJ?4mPNptvKSO2#)6>M2i7qq29a(B z))o#?_yudthIe~#KCk63*0~a&zqMe~XCxY+Cs*}-gV8HI$NaB)^975{`3!nO0MZ@p zpL%lz8Ufuvg_Wa)ovq_v@x;l{(aPS?7Wh+-KLd*HM7M1Z3j)+8KiV0}eP`>Ep;(E9 zos2H^4S>{nC6p?9+dQC2zga1|ac|<eZHq|#T3$;)8obp)RLM!;fd~JtB|``)r(lt1 zIguRK?c?XkGuJil%EnnrEiW{+L>j0h<!Mx<Rk3cl-Y}y~g^U2khB0=kV_O%hAJ!|( zW7SYs_$ryw;P(QSipkPt$r~q|?@YH!IikTYINWbl8`jJ2q%~Tx!zVr@*0~oMZ8nsr zKad-2Y*DGafEK;~UKQypSZvNg;@gANK=f~F_=f^aCcEW8K?G{EZIeH6)ka$~w(w97 ztGi7|ge$eNmn$_6x2es}4o*_NgA)Dj#cukP`Mt8)P-H@dZJ9Q`OxCNS?xTsArVx!v zO<g$KJP37tzw6GnE-UPh?$pt5KgoYC>!Vn&6fc*ieLGM?Ov+b9_Mo89p_-MK+bNA~ z>PM~%F}*yxPdz9w|Jo)^%C!q#mBg10i8e5@mqt4?_IoJ$$lOt$9?OvV^^7C0nfClr z(tDl6+>Mg^?08cdU{scaQxE2zVK32;ucVB!{dL4J3$NB3`4`<*7o6}zL5^i7o2BD@ zo#*wIM^KFTZ(Vi773vtkf)Wl{008k%T{$|rTmNYrW4bH0J3MIK#0D>-C^a$Br;V74 zM15~KW<>1lz%vI<%Na(asakR3R(Gxpp1sRU;AQm>CAgZR-Y`fCs8y&iV96&)b=k&i z-lOhICKMXaHP5I~Dg;=g7M9mOJS`m~suj{aIc*JU;YH6i)hPOA{@6)YQtIsAYD#8d z!2BQ+QTw2rbnN+>-anb;dqkTxVbOUqFp1g+HsoH8e%}3n8O}PPFRk?0oAG<TY9-2P zya)uv_sfOxR&0~uW#)W$4Cy`mZskOZ=9hZ8PpjF3IY;v~Pa;crPphhp?&N_PYw__C zqFI<rb?xA~j5<vDB&!+=bGqZmG-xDU$iwy=Yr7Af;~QZnR_=G?Vh^*!=Bb6iT!<wq zMn45?4oUpguA-&v(h%Q(PuIYBrSB^DTZ8rkstv<5L)#1*a+^pBW}B(AZ+niyQ;DT7 z1$yG;g~PU+jyNo&52~u=$ykK+3UkR4`OtO|ZXb*ZPhu{3wL22NdhWfv&(Ux^Ftrku zR@~-i92zF`-df~aZDTS)6>iR|5GP8h-Z!4RB;mqo^|9fu2x?&`++9;hVQ<!&V3@do z%DjoZl%#T)Et2p{S}3HQfVm=qis5EAyX}d-u0rZ-!UN;kY;7>=8yNH!#&x@E3Cdn| zlRHkRb?iLb>avZLDLQ$ze?k+zg3;r^qVs`09+g4|m{LqcKy!WjwTW{Vj&?Vw#9#fL z>;942X%{Y4Dsw*`h86*%V#Hje35|0`>UDPe5_;^YIaOIds^UaCVin+l!`W=jiqCPa zO7u0d5Mh82&)s4BqllUrS0#DiT4Eeyma<ez=&>vKf^&$JFAqU$BXE(6^`iaefaYD` ziao3PV`i#_J~%XoeP!+nw<ziw5t<VB+~-%2P|@s82n+RF!o!T!)uIbr&Z<ilY<Mz8 ziBlqI<rIZ;e4#(CWe(-de%?ny#c2{c5%@t*YXLbv_R;10QK-xE7WLM`Vag6){=CIS zq^Moiy3mp~pi!4I{flZ^6Vq7qV?C3UcgH6F0dfpiD#?xGz)mW^mT^y+OV%EI^YB#C zfQ_b-`d6xa9^IrGpYd88gsxF*MB%SmT0NN`hRsp$%NeeXb+@<}A+&p5qc;n)sgEYp zxIr4~qBcx7p}l8>WsKpf5<Ky%M7AD0(HL!umZ07uTc&vIumTca8L^Nr-*^q;;%|>f zjRZ#V*I$z(-j^SuTZ@)ZDZq09vdwkHY9z6}3mR0XgxDDS9)>tjPRM8S$eFcG@SF9U z<ZHenI%ig(GT$WkekiVVZyfIwoZ#X$nEGVXdY)byMjR&(AB|WPl(NBs2=Nqb@m;8k zm*>2BdfeU9F<HNCpfvU^Tx|hbxe~Y@TNI2xyO)ns86R-MF)Y+2`s(S&riTicv8Sl3 zFSgG03G%Q6%D{K-jP;i`Yj!xA!`D(Pg>klM%(TLyoX9T9oA1u|>1W4}tJQ842?1e) zc&U@m_T>Hg)jLhh=_W+`L`!<21+kwrvx}uw;%+8)LU^<bWo5$SEFmvBCq`IkhHsD^ z&bCv8=25*P@nj^jV}_byhM@UjS9ZuRau1w8BG*Ky-fx;I{{S12j1v6tYQFUC;Y^{l zm__~+K;~mE7(*{U;%7miIUu%m3P6xx2{_6)508li2M5<7O!*95BJ<IgF&4!bDZJf? zIVMQ|;No>~TX&z1y_2OWPjgagOpvA)X>cx~6dorSLB=+~bj`L%U`KN-*%XE9z#nOr z3<b(|CsAPxGL?;tXa@r)+@u_EG^8#%ePzYc`C&?~5tm~8bA_;j%K0J56p*a1?DOkk zZdE^LDBI3BW6<eizW<Lq^AXUD*gp#)FU58zV3MR_#{KzQ1^W>4$D#_rFi*hWen|QO zF&#%tTuDDD9mSZUzNb>;z~`p1rMkp4p{|HnBw+l03K<&-QKZ4Xr#Sz-rT8IKRVh86 zO3f-d^$1qzH6*gMnxxtu<!F93An>gkq#_WpJS4YqbVqF+ozI^qjL+!FxXa7t{Uwe7 zZ(}~0K7^3jm$jo?!_-wAOiWo`&ybITXN%wF!|I-3#kyUZC=(C_a4g3d;h%#g`B^Z% z7VRq19)uIKE>LnV8&5+fP`_|1A*?vs4;hXja6ztiXRA{m4??~*Z16G4dtuRJp=0j1 ztTf-|7%}KJ@4|rZ(}?^?qfonP`=wv=<MOO#$}WrMM|<5eY>v`ew-tW>#wO(NGV0)w z9Ulx(J2V+a$b(g&;9I?DvG!0MQUCL;m~G&OWLFvV)HECct9hkR6Xa}Atl@hw%bmU- zrN?k^JYgT`A|%~+z30%b)UYBhh92o$wEFZIu=ZkO&>Iah3~Fg&yfSJacOd>4Wpf6z z?8BXRL1YK#;T0s-vg1uyY>MisL6g9_KFTP{T&+l>-|oBO|NJgjvFNVE2wo}?E@(hu zy|ppNx%fFRthK#&Q-It^(@jojvG4rND>sZTqz$MuCe2V3F%Q@P4ItDCf;Nedz$ORX ztE>8VgFZ*eTF*rSAuDx3JF>12TRx+8^HKt@s>&oW9thW80M$u~%e(%!hC5;@E)3`U z-6L0&%k=?%x55g0Onw&9;KZt|zG!~;302&T;$95>r8*GXjtQN?@av9l@Wz-j5Qp;3 zw2ocZU6~&!%~P10c?<hD#UYlg>eAVL{5ohVV@@@dCLvzd6C!bk3CZ|0j98TmZYPvr z`O(rv$6hzNy;X!E3ji9x*P<&yus-j6rH#h2JvhBPh$Wih<TiPUU|cH+q*vz&Uhw>w zDK{2OS@+PB+%Q%LSpj*~cI0<{)EGT|67bwfb*rA<EA93PCX1&&>fyyQ1h;*sDDqWZ zOghud((5(6TDWJ3h{QWM+`7T?cPxG{j6H>2VWVGfVvG}gUa*%C5Tz=rAMl=r<X*9= zAG%(Qpu#wk;BJ5a`pSi=*A5sjZG2r_eE8Yh>tbwOF&oLV5tC1FAyw#xz>~|{>q>WR z*35TiVPcWkEeg^73@L#U;juGx3&`!hwxoS;ceSbsM54PMo>x{(pIhU6d<ZZ;5S*Bf z%38Y(=`h@I@W?VwiShP)*mXn7Z@c`muy&AUsLK3BbT9LfO|FMW4!;U7c=3}68bQ`U z;5<w2R5IS{XXt-R#Y!@+0qvj^j1rW#lK+*qf;vBr=0Kp+e^U3KH?05D2nvkphU@vG z2=aeHxv`!0K#48t2%RiHfUY=fL~N8DlA7w`-jozQ=Qu%nG%dCyx}-S8Sn?>&O@M@P z7;v3O#QRd*YYFd<-ikzhCes^_ljhM<63t;aA}z4|nM{Si3P%Nwzi=^<gIu0?2v~gk zejs6xr{u$aIC!bElC|m&6OpHW44Y!o#&@vWR|vfK!Yj8Oob|W+T%cTsOtoiJ0yp%1 zPJ!siZSaQj$Pb2+R%QLYBW#dp|DA_=E}KOQg9P6IeaQY2{vV~w-wT<a3NVR%2dY_6 z0ypTdkzzLpS16ic$w+AI0TRdtafr1Ei?IuP(rRaVAw`x-#AX%WPrdl{_1d`j0>o`z zi%N{iLKM{}auxfx6S{Daqj~`8=Cr{fTfpM>w(l)`{FWf2?XL}jtudZiaVq>d)^FJd zYOHfqa9mrRux!5VOuLNDH!%4<MQsNdp)>KI`%ARa4TYpsHPO>jCs2FIYiK>lT{2)h zHN_6|C9arU$N9$f*F*>4>1q<44qH$jTj2T2jzGR<r?JR#kfmoGu7lkz8$r8R$r!X? z2)Q|^gr}tA5x4TR&v$IT?q2Ja&3EPQIYn1H?#A6Sd|}7yBKF{x=m=IKZomzVhKo9? zt@Sb4e<p=DM0cB?cOEgeUbEP3tljg39)On7WrMD~@Dt=}9W*QiTx`)q{Cnltjg8Xz z24s~3B!6tj{cI#TnFDQr%s<aR^?jl>9)Zt|(S`jWjNs_{gL5Z_a(#2cI)079Br}1a zq47jXot-VN9UuJ_CGWK|O+jI@n4Mt4v<Nt2$5jk0Mg1Z16!rKbdF38Oy0x6P3u1)y zb4PLUZI+M6rPKH6jua2+6!@OFB>hgs3&D)Y#T1H}Bws5Y8V;|wG6|8WKv>&*c!nSH zE7?8{s5ZkegNxwz64tp%#In3AbXff`!LiMsO?mt_s3HetddRb}1_=lQ)>E+P3zaKz z$m8zx{EZYnz1c{~PY@I3d_7Cs-)^zSiXleQY-p6#Qs&m~^wx=m1|2A$5|S=o7-q5Z z6K#7=-_oF=`Iz5RK7GY*V#b<Mr;^x%(h|4Ld0}f&F!0ixa=bX~wwxw`3DEW|)CVuo z9lSn%((Y=UE(SB_@J}piT;w}WwEbv^sQ56K+oo}*Hj1@AssHX%3t?GI&_a%?Z%r^U zLhGg^e6=X8kZx~CrfIR+@j?!UzE1Cg{5L(trYkE&30a5cV5Xo3OV^fVOp~62X!Lc2 z0MU*(+6kqPh~+2BDhirp+<V%Qr))xi53iIdWVeU=5#CP1)HO%Y@NV|4P|m=h*#)Cf z88oZXBFd@VRSWq&7m<fIval5-zB35Z#8<v?GwK^wX#7E+GsjKBoF(Y_e13Qt(k1A7 zb#ULSU)Rz=CvOW)siJZ^7o-33^n|^x-}QWc^qu=~mil{7U)PWO(d4d|?|j!a+pCz& zo!%E0hw<1O-q&B>#t<&A5D=!ElZMrvS8W-eQAHT~Aw7Nv6VB{o5$lT+K|OFOIUOB( zrKdx3)Z<+9t!ITma{#hkpv!8hmH2xLMRaPlR4wGHaij~5E8k{W+UWVYeU`#n{AEj6 zTi9f*)hUx)1>p88dydAo@={a{a33)oEv$&Ads?NdRy>lhyiGiGZ$Xf4TcIZG>J+6q zAasUO+`)iSnW<jfD0H+3ND{bwF}`k7-CJTcC+KBDZU~wOi%)3j-oU6ilhTPYuLLV6 zVP}NNE}MgIw=`81GlhglIPK+wF+-sIK3~W+o@f^w!Vc0S(YrpbIC+PI>6Qo__E<re z#VADq$7O}Mp*|lfBvQ#(*8o{;ub3r%2|;lJ#X8p2CfLTFCsVR!$X&~{1nSTS;1|N$ z_Q=!@Vr(b>nh4;sK;vS=co;iB-(_jyavP3{Q{(`SXOobl=A<F}=+~Ah4Kjm7!V|d) z`k^ms*BJ(2z_>E2d0K~L7<%CC_XL|7GrRZxZdf#7s2c_McoJ)J?|AkyR6R1IkzQ|d zzS<++jhLZbfIMJ{YwMCdj)KuLOZLDz^?GMd?_>9A&_I7(@LMMYu9qb)$xYMEIEs>$ zzkp#d3>*UXntv$fv#vyDxwiFbLi%Dl7cw}8lzInx{BBhLL|7g557!YQS1?B?$QYgP zj|qI~G{CPCexG1(i5aXs%(GTM+s9Qn&bzBQ>doD~JeHZx=m}K=zgVSSY7boBT#H(! zwtM-FP@P>IWW8;#-D4+BI30!TZxeI%hG?IPgk~vOQEH`bu>|`<c9+JP!mye^&bafQ zN|>5$Ic5?;TO7FdIU`)*TGfr6D#y4W#F-v5d$RKJ&81sR)XW>RmWtN2Qh3O?dpBC$ zDDh;uq62Ngv-Qf^W1j<6SFL0ynxz>WLj_ZOC1)HZeIzjqJ+nZ)rBux+C(S9vqvTv| zsrP$uEH;>!ZhJSIk{x>?qRXPerUVIJjWLVsQ`;k};J&0vdBn4qrh+LNF|(7zIH@eP zzIV5DwkYe6EMO#$bovy<GR@+Ty~V&kp7f|S(3%=D%l5X#s0H7F{U{0<)k>0#y4jD4 zN@cQ--}b)25~hicoWtrK{Q#$T!40Z~d{zfLPo>!fS2oM`&ebpp7rQP*B7sjg{>=y! zYix>VLLZ|(qi-T2#}q-H4ZX$(6d~=MG!c5@^!F%E{6lVR-Q*U*YdA_-Z;1W2RI2Qs z%lbD6D=3x-dOC=sVmiS2zH*}$XlgRkLq~^whzM{v8fW!OufdGnyLa6-7%^XH51-~u zh$iQYP;|*lG0E!T467QOdP`4?^L8n%JNKALAf*iarsM4zH}TwvBb3FySy4aT(X3Pa zVF>>&V)=#mY#m*p?b91Zhbk+k79_Mece(bhS?>t&ZWhMuF}BxQ?QeR+KYdbKsb^<^ zL3lgMb!X!&#UuE=iduLmb4=S=gyC2&^X_3}wSCSM+SO0M!`_#tSouIv%r2Rn=3yFt zD1pl$Vl`eX3TC67mzwd#ht?W;O>U7f0ne}tMKwS<7qziG$OT7z^r=So$e9j#(;!w! z7is4B0Zi9$QqskudT@d1bZ3uoJP0)+LP38FyJ72LyHj_`>-`xjN#<k2NRF0`i)D~$ zgCGq=$D91glX<=%y-J-kM31$aDFT7>4st}K<vCl$V{W(xhbA2uOG=<mzE%lzq8xuo z6aG`q6A8Vs!5*!*NhjdevaRt2l;8Y!_CtTH0&WNn0C0giaX5cvKfhAHUrAp^{IKl` z3rg@A<O34K8CHX21LUY^?5vEf<jkIe3VB2gO&LW;?m?R?jg|`l+z(%LTT!>uH<&$R zgIHDE#h_x=Ml_$K075%geyIxnVdv3-t+0=8J*j<)5#tIbX`NZfC*`bRX%X);Dn)%` zPJ`pSFDaOuG`8Stq7m$gT;cpbIIT?i!P`%`ON09jQ&{_f^3Y<owuT2~aj%FP7U|5_ z0IZYtA<rw?E-nSM@8RFP|Fq<So~srTnrL0Xf1@auFqFMe$>lX?uo^<M=TCsp$?7vq zGZUjvOG_Ks*y;clx3qcbe8<jZteYXb@O>jNOxe_c+WQrA$(=Woq^p^_mmlR>AkZvD zm?_>4s5L3Pb(oqH<%O=7_WqRl-I#nB?u`;ExSFW2^nEfdFv4A5SeWwUTe;ACuj^Nc zFwiBaO53B3h1UbjUIV!(VU7BmVY)mm0np}Y{z8=O4Bt08LeKIc_^sMcV?0JX3%c;? zwy}tuF6EP|q?FqEC{?{yn(aJZAROND6O6Ms>GQk0dqL3Gm`{OPLTqB(Lw!j!hs?zD z1i}dG*&i)F0xeSdT@xxkw-#PW$o0+hRZ6X)TYfND_JCP_0)!Qd#`PJZJwZcW&Z$gh z(O6*Qpf@nc<LG+#hFsO-e`|i6q5Q~=TOl0p3o?h7m!GGE_}57OEGSadVjckaJq<Bg z3?{LfFnW%pob~loRrzB08CyKI%T4bY*vwA4hUgi->$RO51)?}0!_=+C)cGtHgFCRF zqbd2e<f<Y`t?r6Mb7MR->tjFnU6Vam&<GY(7fYJIh=0J8rDPzMCQKgbz<e>`#-_?8 zv)@X&g`K@8;<qT<GjmT0BO+8(t>MjjQFi7MQn}<sGg7@pv2&@9i3o3wF|!s>Nc9Z- zJBFs+9Ve_pQS30cB$K}Axao<boOQxEOgIN(Yw_6~x+9`)+mN+`M$v;tb?J4!ToeBi zRUuLbu15qxvI(sYutG+b(D>p5vnF;_z%EWqn;N>}iUIZ1_SL?5O*HGQK<E@!J*#r? z!AWxRKzxa6a6u1+iZ#Ac(ZHdCn2&snOg#sWFW+J>b{0)wx8-X!)C+?-{<|0tN5uWs zhdo@qJbAb=uJ(U*%TL8+5e%Rwx1bLyXh+_}&REgG&fbyP*v<j?7ewv<HsV2V%{o@z z3bYv)coy^wo!`c|R78o|2yQV{>L;e6?SVc`g<4A_BbWK(kuLhUC?-E;$<9oA?xbXS z7d#_bYJp|~Moz?$ykLF)0N9~GP4nH)qFXyZSBm=Fe13IZbyeAxK!De{8xmG1jN%(@ z6X$Y}0qsE6nFwpPWJvV(08hV|S1V&<<k=FIz37mjI!cOx-xfPd134<9Ot*A_U~?lh zOmr?JB%fP`8SnEAl>NvH|0KP}8_M3{f%M?!1?z6+?E@hXUc9!d(bl>c)XT4THrIEn z*=cg#r{Un1U!Lm6Lewf8$VJEAj`z@%?g^#xFP$!SYur^AqqV=4onuMv>%T&~l=omH z#yY07gj3$7O)WC1qf*gMxT^B1KDQH@slLBg8>jwh-M>Sqz}B^8O+nk7Z4m#n)#+qt z1loUL{(1RXd1a`M{;}$}V;=~koD>SO<VhR>`;e>!0pK=@6o;h;ez6BBB{FyviHkH3 zXN4w%?@@@C*9!_=OwG*tM$0QtK9h5+n{x(jK?Z*)mueCdRM={2!vmsd4yumwRo-Eo zHV0{Zx;<keY&+vQUmJO|wcIjJ0b~7XKW+)WV{0V4qCR%)UgHvFF>0%#!Rkxqi9gH^ z#YY92X6clneLE2fcHu`v%lcIo>QhPTRogy)5w7^XfN9edOSmQ|YeaXbjWq5}WezEw z4hL)^hRO0o^Sg9haXg%7n&7#1k=U0$xoAxvrm2T_o(k-TA%pr_qTv;Nv}Jh|k`@Xo z^`BWqIR{dbBo(j>pYdPy7hn%2On*6EII>lQ7o|TbGHyG*EDo+NvL|{icUEv2mDw@% zw#n*g_i4c1W!R(GYKqtP^I`D|j}FTUb>8GV=0wP-)5LVKBiMn0lVj$dVNu>HHiEC$ zuP|kC^1>%^_LNdQ?}sxII8(nmd#n1Cd(POiz+9K58t=I@Ts`)lb3VziFWO~UZ1X6L z(DalP7)Iu0P|>`l^T&#CPb}uir_Gg4OXGZlfBtl=&2Qs6QrUuzC9`%x{59o(Rt1$x z2?q<OUowfzUvNf%9yZTiZ91<AH+Of)X)p=`T8&%HI}6S0N6oWSG`G;+c%F5vQ8p18 zVk-=ylF$SiMl#35Ok9C8X6Jq;H)4}`bGI||S;vzZB=J%JI`OyeIi05CJLSqN(lld| z!ENmIaJ{1Ei*woXpjzAP58V~DH>n-8h%HW1*3Df?KQ>sMPSd03rVgG+KK=U^Jnsea zR5WPWLk49fD1Tr24DIdzZ{-8I@?S?r+-tiP7KGq4@Ec-;HT<PDMFhW!Jag`=8Y8ec zm&Mq`L(LL$Try*d$Lo9>4(Itymz_cSiz)il<KC)q4~1Q08nxOXwczglkr10wBJK^Q z&XPzRF-RK(%`)=1)<$CC6t!?dsvDWqNEp?!;1(Ur*HztwlVZ!Fe9j8|2C_5igRM76 zXL&1UEH#~Dm-JE41B!;uQ<+d@7Ta}SUkJ4&xzDF&_7`DmIJw^~ctA5W)g!ML%GB<k zfMp;Pln!?i5j09o0Ht^q4sM1or}m{LR6e;(ZdX>+aMlM(bzzPP_84ryd68Lp=-nLf z6h;29V?9>}PKfY)NGuE4C9MG<)zRYaG?Kr$F;ifkC1Jy5^e^QJcKjxAlWoHaN5O-Q z1WtuwkwI=N&?F;#gh}xX{hpPY2$yOdmYUh8-@6q&nDc^v?E8M*c{S#Sw_EO@E&3io zr?#6O$1xO|`u4-{wo3PEgl8#X@G2Kdqh^QYI(KlfZ`yMcV-?nYvF^HqI{U*n>XlzM z4EBl<1R42vl=*+&*?+G8f;m@||0jcgB3%DN_{X&$<QRX$yZ%o2PcYx#3DH4qw*No0 z?{_}GBfNfbk^<EVzu~=pC;lBr^NW}e;V1Ebp=y5T@H?X97Y8*ETHuer|3{PdPlfyg zUhxxO@;lq#5gNbP>LUFM+kY_po!9ROhF`owLFf?B6o26vekc9C<Nk{j9rw>^{3^o! z6zx|j_OEjN-o^gK5C!jF<odhven$G=C-{3?_7}ex{Ga@OZ_@tG;P=Av7Xu{F7Q<iW z^Vbf;FWG+Q^3Oc@7Y_iSkO~0!udMiY^51iuUkqSq|CHkQjOTX_|BObz=mCHn`oB%! auh^t04++A${DFu>20(%GDifwZ?*1RK)?%^% literal 0 HcmV?d00001 diff --git a/assays/Talinum_RNASeq_minimal/README.md b/assays/Talinum_RNASeq_minimal/README.md new file mode 100644 index 0000000..e69de29 diff --git a/assays/Talinum_RNASeq_minimal/dataset/DB_097_CAMMD_CAGATC_L001_R1_001.fastq.gz b/assays/Talinum_RNASeq_minimal/dataset/DB_097_CAMMD_CAGATC_L001_R1_001.fastq.gz new file mode 100644 index 0000000..f741bad --- /dev/null +++ b/assays/Talinum_RNASeq_minimal/dataset/DB_097_CAMMD_CAGATC_L001_R1_001.fastq.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f0b61abc9971ade750ce54f0f10aa50a6bc42a517be8ba60257e0cf6776d1c7 +size 1451886904 diff --git a/assays/Talinum_RNASeq_minimal/dataset/DB_099_CAMMD_CTTGTA_L001_R1_001.fastq.gz b/assays/Talinum_RNASeq_minimal/dataset/DB_099_CAMMD_CTTGTA_L001_R1_001.fastq.gz new file mode 100644 index 0000000..aca6b92 --- /dev/null +++ b/assays/Talinum_RNASeq_minimal/dataset/DB_099_CAMMD_CTTGTA_L001_R1_001.fastq.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d4200a78e57bc821b46c1b6c84b1c5bcf5889eaba82e6baff16cc35f2e77651 +size 1879439049 diff --git a/assays/Talinum_RNASeq_minimal/dataset/DB_103_CAMMD_AGTCAA_L001_R1_001.fastq.gz b/assays/Talinum_RNASeq_minimal/dataset/DB_103_CAMMD_AGTCAA_L001_R1_001.fastq.gz new file mode 100644 index 0000000..11c69db --- /dev/null +++ b/assays/Talinum_RNASeq_minimal/dataset/DB_103_CAMMD_AGTCAA_L001_R1_001.fastq.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7f7f26c5eb54c04aad9b4168b3104fcf17c6cbaff4ce4300d07c8955dbbeb28 +size 1713418642 diff --git a/assays/Talinum_RNASeq_minimal/dataset/DB_161_reC3MD_GTCCGC_L001_R1_001.fastq.gz b/assays/Talinum_RNASeq_minimal/dataset/DB_161_reC3MD_GTCCGC_L001_R1_001.fastq.gz new file mode 100644 index 0000000..7505cdb --- /dev/null +++ b/assays/Talinum_RNASeq_minimal/dataset/DB_161_reC3MD_GTCCGC_L001_R1_001.fastq.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:827908c02722e3bf22ca4cdfaeda269d999a36ae82e54ffeefc1602f7d3938f5 +size 1684786710 diff --git a/assays/Talinum_RNASeq_minimal/dataset/DB_163_reC3MD_GTGAAA_L001_R1_001.fastq.gz b/assays/Talinum_RNASeq_minimal/dataset/DB_163_reC3MD_GTGAAA_L001_R1_001.fastq.gz new file mode 100644 index 0000000..baa83fb --- /dev/null +++ b/assays/Talinum_RNASeq_minimal/dataset/DB_163_reC3MD_GTGAAA_L001_R1_001.fastq.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08a331f71ef4ba111d5c8c0a76cb5e767b93b208ba9d50c93c4b632115bfea03 +size 1880798768 diff --git a/assays/Talinum_RNASeq_minimal/dataset/DB_165_re-C3MD_GTGAAA_L002_R1_001.fastq.gz b/assays/Talinum_RNASeq_minimal/dataset/DB_165_re-C3MD_GTGAAA_L002_R1_001.fastq.gz new file mode 100644 index 0000000..e09a781 --- /dev/null +++ b/assays/Talinum_RNASeq_minimal/dataset/DB_165_re-C3MD_GTGAAA_L002_R1_001.fastq.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc8e318352b10c72c032ebf1609ea14cd57c454e0f922a7a0c14f1d8f754dfb9 +size 1801995178 diff --git a/assays/Talinum_RNASeq_minimal/isa.assay.xlsx b/assays/Talinum_RNASeq_minimal/isa.assay.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c6e6a3420aef7726b7b274ea429597e991cfa749 GIT binary patch literal 43378 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 literal 0 HcmV?d00001 diff --git a/assays/Talinum_RNASeq_minimal/protocols/01_plant_material.md b/assays/Talinum_RNASeq_minimal/protocols/01_plant_material.md new file mode 100644 index 0000000..4622948 --- /dev/null +++ b/assays/Talinum_RNASeq_minimal/protocols/01_plant_material.md @@ -0,0 +1,3 @@ +# Plant Material and Growth Conditions + +Talinum triangulare plants were grown in Miracle-Gro Potting Mix (Miracle- Gro) in “Short-One†treepots, 1.6 l (Stuewe and Sons). The experiment was initiated with 28-d-old plants in a controlled environment chamber (Environ- mental Growth Chambers) maintained under 12 h light (30°C, 37% relative humidity)/12 h dark (22°C) cycles. Photon flux density at leaf level was 425 mmol m22 s21. Irrigation was withheld on day 1 and recommenced on day 14. Leaves were harvested when plants were well-watered as well as after 4, 9, and 12 d of water deprivation and watered for two days following the drought period. \ No newline at end of file diff --git a/assays/Talinum_RNASeq_minimal/protocols/02_RNAex_libraries.md b/assays/Talinum_RNASeq_minimal/protocols/02_RNAex_libraries.md new file mode 100644 index 0000000..2ffb4c4 --- /dev/null +++ b/assays/Talinum_RNASeq_minimal/protocols/02_RNAex_libraries.md @@ -0,0 +1,3 @@ +# RNA Extraction, Preparation, and Sequencing of Illumina Libraries + +The topmost mature unshaded leaves (of approximately 3–4.5 cm length) of T. triangulare were harvested in the middle of the light or the middle of the dark period and immediately frozen in liquid nitrogen. RNA was isolated from ground tissue using the GeneMatrix Universal RNA Purification Kit (EURx Ltd.). Residues of DNA were removed with DNase (New England Biolabs). RNA integrity, sequencing library, and fragment size were analyzed on a 2100 Bioanalyzer (Agilent). Libraries were prepared using the TruSeq RNA Sample Prep Kit v2 (Illumina) and quantified with a Qubit 2.0 (Invitrogen). Samples were multiplexed with 12 libraries per lane and sequenced in single-end mode (Rapid Run, 150 bp read length) on an Illumina HiSEquation 2000 platform, yielding ;14 million reads per library. diff --git a/assays/Talinum_RNASeq_minimal/protocols/README.md b/assays/Talinum_RNASeq_minimal/protocols/README.md new file mode 100644 index 0000000..e69de29 diff --git a/externals/README.md b/externals/README.md new file mode 100644 index 0000000..c28804c --- /dev/null +++ b/externals/README.md @@ -0,0 +1,7 @@ + + +### Talinum Genome ref +File: Talinum.gm.CDS.nt.fa +Source: weber_fileshare/data/Eva_Maleckova-CAM/Genomics/Genome/Talinum-Flye-Polca_v201017/Talinum.gm.CDS.nt.fa +Contributor: Eva Maleckova + diff --git a/isa.investigation.xlsx b/isa.investigation.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c0e3330b608535e018150962d00fe31111d9b9b9 GIT binary patch literal 12313 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 ZD#}ZNz4tBv0R8^^{EmhTp!;?8{{Wi_3c~;Z literal 0 HcmV?d00001 diff --git a/workflows/01_KallistoQuant.sh b/workflows/01_KallistoQuant.sh new file mode 100644 index 0000000..8975e04 --- /dev/null +++ b/workflows/01_KallistoQuant.sh @@ -0,0 +1,42 @@ + +######################## +#### To be replaced by CWL routine +######################## + +ARC_root=~/Hackathon_ARCexample_rnaseq/ +cd $ARC_root'workflows/' + +# chmod a+x 01_KallistoQuant.sh +# ./01_KallistoQuant.sh > $ARC_root'runs/01_kallisto.log' 2>&1 & + +######################## + + +# Map RNASeq reads via kallisto + +## Manual: http://pachterlab.github.io/kallisto/manual.html + +kallisto version +kallisto cite + +### Build index + +kall_ref=$ARC_root'externals/Talinum.gm.CDS.nt.fa' +kallisto index -i $ARC_root'runs/01_kallisto_index' $kall_ref + +### Align reads + +ILLUMINASAMPLES=$(ls ${ARC_root}'assays/Talinum_RNASeq_minimal/dataset/'*fastq.gz) + +mkdir $ARC_root'/runs/01_kallisto_results/' + +for j in $ILLUMINASAMPLES; do + + sampleName=$(echo $j | sed -e 's|.*/||' | cut -c -6) # cut away path. retain only first six chars of file name + echo $sampleName + + kallisto quant --single -b 100 -t 30 -l 200 -s 20 -i $ARC_root'/runs/01_kallisto_index' -o $ARC_root'/runs/01_kallisto_results/'$sampleName $j + + echo 'Kallisto done' + +done \ No newline at end of file diff --git a/workflows/03_KallistoCollect.R b/workflows/03_KallistoCollect.R new file mode 100644 index 0000000..796a612 --- /dev/null +++ b/workflows/03_KallistoCollect.R @@ -0,0 +1,86 @@ + + +######################## +#### To be replaced by CWL routine +######################## + +ARC_root="~/Hackathon_ARCexample_rnaseq/" +setwd(paste0(ARC_root, 'workflows/')) + +######################## + +######################## +# Collect kallisto data +######################## + + +# ### sleuth installation +# +# if (!requireNamespace("BiocManager", quietly = TRUE)) +# install.packages("BiocManager") +# BiocManager::install() +# BiocManager::install("devtools") # only if devtools not yet installed +# BiocManager::install("pachterlab/sleuth") + +library(sleuth) +library(tidyverse) +library(jsonlite) +library(openxlsx) + +## read experimental metadata from isa.assay wb + +isa_assay <- paste0(ARC_root, 'assays/Talinum_RNASeq_minimal/assay.isa.xlsx') + +assay_data <- merge(readWorkbook(isa_assay, "1SPL01_plants", startRow = 2), + readWorkbook(isa_assay, "3ASY01_RNASeq", startRow = 2), + by = "Sample.Name" + ) + +## remove empty cols +assay_data <- assay_data[, !apply(assay_data, 2, function(x){sum(is.na(x)) == nrow(assay_data)})] + +# Pointer to kallisto results folder +base_dir <- paste0(ARC_root, '/runs/01_kallisto_results/') + +# A list of paths to the kallisto results indexed by the sample IDs is collated with +kal_dirs <- dir(base_dir, full.names = T) ## Sleuth requires full paths + +s2c <- assay_data[order(assay_data$Sample.Name), c('Sample.Name', "Characteristics.[Photosynthesis.mode]")] +# For kallisto / sleuth: 's2c' (sample_to_covariates) must contain a column named 'sample' +colnames(s2c) <- c("sample", "Photosynthesis.mode") + +s2c$path <- kal_dirs +s2c <- s2c[order(s2c$sample), ] + +# Build a sleuth object +so <- sleuth_prep(s2c, ~Photosynthesis.mode) +save(so, file = paste0(ARC_root, 'runs/03_kallisto_sleuthObject.RData')) + +# Extract expression tables + +## as data.frame +expression_data <- kallisto_table(so) +write.csv(expression_data, paste0(ARC_root, 'runs/03_kallisto_df.csv'), row.names = F) + +## as tpm matrix (gene x sample) +tpm_table <- pivot_wider(expression_data, id_cols = target_id, names_from = sample, values_from = tpm) +write.csv(tpm_table, paste0(ARC_root, 'runs/03_kallisto_tpmMatrix.csv'), row.names = F) + + +# Summarize mapping stats + +mapping_stats <- c() +for(i in dir(kal_dirs, pattern = '.json', full.names = T)) +{ + id <- unlist(strsplit(i, split = '/')) + + z <- data.frame(ID = id[length(id) - 1], read_json(i, simplifyVector = T)) + mapping_stats <- rbind(mapping_stats, z) +} + +write.csv(mapping_stats, paste0(ARC_root, 'runs/03_kallisto_mappingStats.csv'), row.names = F) + + + + + diff --git a/workflows/04_Sleuth.R b/workflows/04_Sleuth.R new file mode 100644 index 0000000..ab2f579 --- /dev/null +++ b/workflows/04_Sleuth.R @@ -0,0 +1,35 @@ + + +######################## +#### To be replaced by CWL routine +######################## + +ARC_root="~/Hackathon_ARCexample_rnaseq/" +setwd(paste0(ARC_root, 'workflows/')) + +######################## + +######################## +# Determine diff. gene expression with sleuth +######################## + +library(sleuth) + +# Load the sleuth object +load(file = paste0(ARC_root, 'runs/03_kallisto_sleuthObject.RData')) + + +so <- sleuth_fit(so) +so <- sleuth_fit(so, ~Group, 'full') +so <- sleuth_fit(so, ~1, 'reduced') +so <- sleuth_lrt(so, 'reduced', 'full') + +sleuth_table <- sleuth_results(so, 'reduced:full', 'lrt', show_all = FALSE) + + +write.csv(sleuth_table, paste0(ARC_root, 'runs/04_sleuth_dge.csv'), row.names = F) + + + + + diff --git a/workflows/05_plot_shinyPrep.R b/workflows/05_plot_shinyPrep.R new file mode 100644 index 0000000..e0b2fe5 --- /dev/null +++ b/workflows/05_plot_shinyPrep.R @@ -0,0 +1,21 @@ + + +######################## +#### To be replaced by CWL routine +######################## + +ARC_root="~/Hackathon_ARCexample_rnaseq/" +setwd(paste0(ARC_root, 'workflows/')) + +######################## + +######################## +# Prep data for shiny app +######################## + +library(openxlsx) + +expression_data <- read.csv(file = paste0(ARC_root, 'runs/03_kallisto_df.csv')) +available_genes <- unique(expression_data$target_id) + +save(expression_data, available_genes, file = paste0(ARC_root, 'runs/05_shinyPrep.RData')) diff --git a/workflows/05_plotshinyPrep/05_plot_shinyPrep.R b/workflows/05_plotshinyPrep/05_plot_shinyPrep.R new file mode 100644 index 0000000..664bf39 --- /dev/null +++ b/workflows/05_plotshinyPrep/05_plot_shinyPrep.R @@ -0,0 +1,16 @@ + +######################## +# Prep data for shiny app +######################## + + +install.packages("openxlsx",dependencies=TRUE, lib='./lib',repos='http://cran.rstudio.com/') +library(openxlsx, lib.loc = "./lib") + +options <- commandArgs(trailingOnly = TRUE) +wd <- getwd() + +expression_data <- read.csv(file = options[1]) +available_genes <- unique(expression_data$target_id) + +save(expression_data, available_genes, file = paste0(wd, "/05_shinyPrep.RData")) diff --git a/workflows/05_plotshinyPrep/plot_shinyPrep.cwl b/workflows/05_plotshinyPrep/plot_shinyPrep.cwl new file mode 100644 index 0000000..04ffba6 --- /dev/null +++ b/workflows/05_plotshinyPrep/plot_shinyPrep.cwl @@ -0,0 +1,31 @@ +#!/usr/bin/env cwl-runner + +cwlVersion: v1.2 +class: CommandLineTool +hints: + DockerRequirement: + dockerPull: rocker/tidyverse:4.1 +requirements: + - class: NetworkAccess + networkAccess: true + - class: InlineJavascriptRequirement + - class: InitialWorkDirRequirement + listing: + - entry: "$({class: 'Directory', listing: []})" + entryname: "./lib" + writable: true +baseCommand: Rscript +inputs: + rScript: + type: File + inputBinding: + position: 1 + kallistoResults: + type: File + inputBinding: + position: 2 +outputs: + outFile: + type: File + outputBinding: + glob: "*05_shinyPrep.RData" \ No newline at end of file diff --git a/workflows/05_plotshinyPrep/plot_shinyPrep.yml b/workflows/05_plotshinyPrep/plot_shinyPrep.yml new file mode 100644 index 0000000..426ca84 --- /dev/null +++ b/workflows/05_plotshinyPrep/plot_shinyPrep.yml @@ -0,0 +1,6 @@ +rScript: + class: File + path: ./05_plot_shinyPrep.R +kallistoResults: + class: File + path: ./../../runs/run1/03_kallisto_df.csv \ No newline at end of file diff --git a/workflows/06_plot_shinyApp.Rmd b/workflows/06_plot_shinyApp.Rmd new file mode 100644 index 0000000..d48a3b6 --- /dev/null +++ b/workflows/06_plot_shinyApp.Rmd @@ -0,0 +1,108 @@ +--- +title: "Plot RNASeq data mapped against Talinum genome" +output: html_document +runtime: shiny +--- + +```{r setup, include=FALSE} +knitr::opts_chunk$set(echo = TRUE) + +``` + + +```{r load_data, include=FALSE} + +# Load data + +ARC_root="~/Hackathon_ARCexample_rnaseq/" +load(file = paste0(ARC_root, 'runs/05_shinyPrep.RData')) + +``` + + +```{r plot_setup, message=TRUE, warning=TRUE, include=FALSE} + +# Setup plot environment + +required.packages <- c('knitr', 'kableExtra', ## RMarkdown, + "shiny", "tidyverse", ## data loading and shaping + "RColorBrewer", "shiny" ## plotting + ) + +for(package in required.packages) +{ + print(package) + ## Check if package is installed. If not, install + if(!package %in% row.names(installed.packages())) + {install.packages(package, repos ="https://cran.uni-muenster.de/")} + ## Load package + library(package, character.only = T) +} + +``` + + +```{r, eval=F, echo=FALSE} + + +# Non-interactive test + +current_selection <- sample(expression_data$target_id, 10) + +plot_set <- subset(expression_data, target_id %in% current_selection) + +ggplot(plot_set, aes(x = Group, y = tpm, group = Group)) + + stat_summary(fun = 'mean', geom = 'bar') + + geom_point(size = 0.5) + + facet_wrap(~ target_id , scales = "free") + + theme_minimal() + +``` + +# Let it shine + +```{r shiny_part, echo=FALSE} + +sidebarLayout( + + sidebarPanel( + + selectizeInput(multiple = T, "target", label = "Select Gene by target id", + choices = available_genes, + selected = sample(available_genes, size = 1), + options = list(delimiter = ' ', + create = I("function(input, callback){return {value: input, text: input};}")) + ), + helpText("You can copy/paste target ids from excel") + + ), + + + mainPanel( + + renderPlot({ + + + plot_set <- subset(expression_data, target_id %in% input$target) + + ## Facetted by gene only + + ggplot(plot_set, aes(x = Group, y = tpm)) + + stat_summary(fun = 'mean', geom = 'bar') + + geom_point(size = 0.5) + + facet_wrap( ~ target_id, scales = "free") + + theme_minimal() + + theme(aspect.ratio = 1) + + + }), + + + ) +) + + + +``` + + -- GitLab