{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Get Star Count of the Pilot 2019 Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Load paths and libraries" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Registered S3 methods overwritten by 'ggplot2':\n", " method from \n", " [.quosures rlang\n", " c.quosures rlang\n", " print.quosures rlang\n", "── \u001b[1mAttaching packages\u001b[22m ─────────────────────────────────────── tidyverse 1.2.1 ──\n", "\u001b[32m✔\u001b[39m \u001b[34mggplot2\u001b[39m 3.1.1 \u001b[32m✔\u001b[39m \u001b[34mpurrr \u001b[39m 0.3.2\n", "\u001b[32m✔\u001b[39m \u001b[34mtibble \u001b[39m 2.1.2 \u001b[32m✔\u001b[39m \u001b[34mdplyr \u001b[39m 0.8.1\n", "\u001b[32m✔\u001b[39m \u001b[34mtidyr \u001b[39m 0.8.3 \u001b[32m✔\u001b[39m \u001b[34mstringr\u001b[39m 1.4.0\n", "\u001b[32m✔\u001b[39m \u001b[34mreadr \u001b[39m 1.3.1 \u001b[32m✔\u001b[39m \u001b[34mforcats\u001b[39m 0.4.0\n", "── \u001b[1mConflicts\u001b[22m ────────────────────────────────────────── tidyverse_conflicts() ──\n", "\u001b[31m✖\u001b[39m \u001b[34mpurrr\u001b[39m::\u001b[32maccumulate()\u001b[39m masks \u001b[34mforeach\u001b[39m::accumulate()\n", "\u001b[31m✖\u001b[39m \u001b[34mdplyr\u001b[39m::\u001b[32mfilter()\u001b[39m masks \u001b[34mstats\u001b[39m::filter()\n", "\u001b[31m✖\u001b[39m \u001b[34mdplyr\u001b[39m::\u001b[32mlag()\u001b[39m masks \u001b[34mstats\u001b[39m::lag()\n", "\u001b[31m✖\u001b[39m \u001b[34mpurrr\u001b[39m::\u001b[32mwhen()\u001b[39m masks \u001b[34mforeach\u001b[39m::when()\n" ] } ], "source": [ "library(foreach)\n", "library(tidyverse)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "data_root_dir <- \"/data/hts_2019_data/\"\n", "raw_fastq_dir <- paste(data_root_dir, \"hts2019_pilot_rawdata\", sep = \"\")\n", "metadata_file <- file.path(raw_fastq_dir, \"2019_pilot_metadata.tsv\")\n", "count_dir <- paste(data_root_dir, \"hts2019_pilot_counts\", sep = \"\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create directories\n", "\n", "Below is an illustration of our folder structure.\n", "```\n", "scratch\n", "└── bioinf_intro\n", "└── analysis_output\n", " ├── out -> the folder to store all our output data files\n", " └── img -> the folder to store all our images \n", "```" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "curdir <- \"/home/jovyan/work/scratch/analysis_output\"\n", "outdir <- file.path(curdir, \"out\")\n", "imgdir <- file.path(curdir, \"img\")" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [], "text/latex": [], "text/markdown": [], "text/plain": [ "character(0)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [], "text/latex": [], "text/markdown": [], "text/plain": [ "character(0)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "system(paste(\"mkdir -p\", outdir), intern = TRUE)\n", "system(paste(\"mkdir -p\", imgdir), intern = TRUE)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "count_suffix <- \"_ReadsPerGene.out.tab\"" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "list.files(count_dir, pattern = paste0(count_suffix,\"$\"), full.names = FALSE) -> countfiles" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load STAR Count Data" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. '1_2019_P_M1_S1_L001_ReadsPerGene.out.tab'
  2. \n", "\t
  3. '1_2019_P_M1_S1_L002_ReadsPerGene.out.tab'
  4. \n", "\t
  5. '1_2019_P_M1_S1_L003_ReadsPerGene.out.tab'
  6. \n", "\t
  7. '1_2019_P_M1_S1_L004_ReadsPerGene.out.tab'
  8. \n", "\t
  9. '10_2019_P_M1_S10_L001_ReadsPerGene.out.tab'
  10. \n", "\t
  11. '10_2019_P_M1_S10_L002_ReadsPerGene.out.tab'
  12. \n", "\t
  13. '10_2019_P_M1_S10_L003_ReadsPerGene.out.tab'
  14. \n", "\t
  15. '10_2019_P_M1_S10_L004_ReadsPerGene.out.tab'
  16. \n", "\t
  17. '11_2019_P_M1_S11_L001_ReadsPerGene.out.tab'
  18. \n", "\t
  19. '11_2019_P_M1_S11_L002_ReadsPerGene.out.tab'
  20. \n", "\t
  21. '11_2019_P_M1_S11_L003_ReadsPerGene.out.tab'
  22. \n", "\t
  23. '11_2019_P_M1_S11_L004_ReadsPerGene.out.tab'
  24. \n", "\t
  25. '12_2019_P_M1_S12_L001_ReadsPerGene.out.tab'
  26. \n", "\t
  27. '12_2019_P_M1_S12_L002_ReadsPerGene.out.tab'
  28. \n", "\t
  29. '12_2019_P_M1_S12_L003_ReadsPerGene.out.tab'
  30. \n", "\t
  31. '12_2019_P_M1_S12_L004_ReadsPerGene.out.tab'
  32. \n", "\t
  33. '13_2019_P_M1_S13_L001_ReadsPerGene.out.tab'
  34. \n", "\t
  35. '13_2019_P_M1_S13_L002_ReadsPerGene.out.tab'
  36. \n", "\t
  37. '13_2019_P_M1_S13_L003_ReadsPerGene.out.tab'
  38. \n", "\t
  39. '13_2019_P_M1_S13_L004_ReadsPerGene.out.tab'
  40. \n", "\t
  41. '14_2019_P_M1_S14_L001_ReadsPerGene.out.tab'
  42. \n", "\t
  43. '14_2019_P_M1_S14_L002_ReadsPerGene.out.tab'
  44. \n", "\t
  45. '14_2019_P_M1_S14_L003_ReadsPerGene.out.tab'
  46. \n", "\t
  47. '14_2019_P_M1_S14_L004_ReadsPerGene.out.tab'
  48. \n", "\t
  49. '15_2019_P_M1_S15_L001_ReadsPerGene.out.tab'
  50. \n", "\t
  51. '15_2019_P_M1_S15_L002_ReadsPerGene.out.tab'
  52. \n", "\t
  53. '15_2019_P_M1_S15_L003_ReadsPerGene.out.tab'
  54. \n", "\t
  55. '15_2019_P_M1_S15_L004_ReadsPerGene.out.tab'
  56. \n", "\t
  57. '16_2019_P_M1_S16_L001_ReadsPerGene.out.tab'
  58. \n", "\t
  59. '16_2019_P_M1_S16_L002_ReadsPerGene.out.tab'
  60. \n", "\t
  61. '16_2019_P_M1_S16_L003_ReadsPerGene.out.tab'
  62. \n", "\t
  63. '16_2019_P_M1_S16_L004_ReadsPerGene.out.tab'
  64. \n", "\t
  65. '17_2019_P_M1_S17_L001_ReadsPerGene.out.tab'
  66. \n", "\t
  67. '17_2019_P_M1_S17_L002_ReadsPerGene.out.tab'
  68. \n", "\t
  69. '17_2019_P_M1_S17_L003_ReadsPerGene.out.tab'
  70. \n", "\t
  71. '17_2019_P_M1_S17_L004_ReadsPerGene.out.tab'
  72. \n", "\t
  73. '18_2019_P_M1_S18_L001_ReadsPerGene.out.tab'
  74. \n", "\t
  75. '18_2019_P_M1_S18_L002_ReadsPerGene.out.tab'
  76. \n", "\t
  77. '18_2019_P_M1_S18_L003_ReadsPerGene.out.tab'
  78. \n", "\t
  79. '18_2019_P_M1_S18_L004_ReadsPerGene.out.tab'
  80. \n", "\t
  81. '19_2019_P_M1_S19_L001_ReadsPerGene.out.tab'
  82. \n", "\t
  83. '19_2019_P_M1_S19_L002_ReadsPerGene.out.tab'
  84. \n", "\t
  85. '19_2019_P_M1_S19_L003_ReadsPerGene.out.tab'
  86. \n", "\t
  87. '19_2019_P_M1_S19_L004_ReadsPerGene.out.tab'
  88. \n", "\t
  89. '2_2018_P_H1_S25_L001_ReadsPerGene.out.tab'
  90. \n", "\t
  91. '2_2018_P_H1_S25_L002_ReadsPerGene.out.tab'
  92. \n", "\t
  93. '2_2018_P_H1_S25_L003_ReadsPerGene.out.tab'
  94. \n", "\t
  95. '2_2018_P_H1_S25_L004_ReadsPerGene.out.tab'
  96. \n", "\t
  97. '2_2018_P_H2_S28_L001_ReadsPerGene.out.tab'
  98. \n", "\t
  99. '2_2018_P_H2_S28_L002_ReadsPerGene.out.tab'
  100. \n", "\t
  101. '2_2018_P_H2_S28_L003_ReadsPerGene.out.tab'
  102. \n", "\t
  103. '2_2018_P_H2_S28_L004_ReadsPerGene.out.tab'
  104. \n", "\t
  105. '2_2018_P_M1_S34_L001_ReadsPerGene.out.tab'
  106. \n", "\t
  107. '2_2018_P_M1_S34_L002_ReadsPerGene.out.tab'
  108. \n", "\t
  109. '2_2018_P_M1_S34_L003_ReadsPerGene.out.tab'
  110. \n", "\t
  111. '2_2018_P_M1_S34_L004_ReadsPerGene.out.tab'
  112. \n", "\t
  113. '2_2018_P_T1_S31_L001_ReadsPerGene.out.tab'
  114. \n", "\t
  115. '2_2018_P_T1_S31_L002_ReadsPerGene.out.tab'
  116. \n", "\t
  117. '2_2018_P_T1_S31_L003_ReadsPerGene.out.tab'
  118. \n", "\t
  119. '2_2018_P_T1_S31_L004_ReadsPerGene.out.tab'
  120. \n", "\t
  121. '2_2019_P_M1_S2_L001_ReadsPerGene.out.tab'
  122. \n", "\t
  123. '2_2019_P_M1_S2_L002_ReadsPerGene.out.tab'
  124. \n", "\t
  125. '2_2019_P_M1_S2_L003_ReadsPerGene.out.tab'
  126. \n", "\t
  127. '2_2019_P_M1_S2_L004_ReadsPerGene.out.tab'
  128. \n", "\t
  129. '20_2019_P_M1_S20_L001_ReadsPerGene.out.tab'
  130. \n", "\t
  131. '20_2019_P_M1_S20_L002_ReadsPerGene.out.tab'
  132. \n", "\t
  133. '20_2019_P_M1_S20_L003_ReadsPerGene.out.tab'
  134. \n", "\t
  135. '20_2019_P_M1_S20_L004_ReadsPerGene.out.tab'
  136. \n", "\t
  137. '21_2019_P_M1_S21_L001_ReadsPerGene.out.tab'
  138. \n", "\t
  139. '21_2019_P_M1_S21_L002_ReadsPerGene.out.tab'
  140. \n", "\t
  141. '21_2019_P_M1_S21_L003_ReadsPerGene.out.tab'
  142. \n", "\t
  143. '21_2019_P_M1_S21_L004_ReadsPerGene.out.tab'
  144. \n", "\t
  145. '22_2019_P_M1_S22_L001_ReadsPerGene.out.tab'
  146. \n", "\t
  147. '22_2019_P_M1_S22_L002_ReadsPerGene.out.tab'
  148. \n", "\t
  149. '22_2019_P_M1_S22_L003_ReadsPerGene.out.tab'
  150. \n", "\t
  151. '22_2019_P_M1_S22_L004_ReadsPerGene.out.tab'
  152. \n", "\t
  153. '23_2019_P_M1_S23_L001_ReadsPerGene.out.tab'
  154. \n", "\t
  155. '23_2019_P_M1_S23_L002_ReadsPerGene.out.tab'
  156. \n", "\t
  157. '23_2019_P_M1_S23_L003_ReadsPerGene.out.tab'
  158. \n", "\t
  159. '23_2019_P_M1_S23_L004_ReadsPerGene.out.tab'
  160. \n", "\t
  161. '24_2019_P_M1_S24_L001_ReadsPerGene.out.tab'
  162. \n", "\t
  163. '24_2019_P_M1_S24_L002_ReadsPerGene.out.tab'
  164. \n", "\t
  165. '24_2019_P_M1_S24_L003_ReadsPerGene.out.tab'
  166. \n", "\t
  167. '24_2019_P_M1_S24_L004_ReadsPerGene.out.tab'
  168. \n", "\t
  169. '3_2018_P_H1_S26_L001_ReadsPerGene.out.tab'
  170. \n", "\t
  171. '3_2018_P_H1_S26_L002_ReadsPerGene.out.tab'
  172. \n", "\t
  173. '3_2018_P_H1_S26_L003_ReadsPerGene.out.tab'
  174. \n", "\t
  175. '3_2018_P_H1_S26_L004_ReadsPerGene.out.tab'
  176. \n", "\t
  177. '3_2018_P_H2_S29_L001_ReadsPerGene.out.tab'
  178. \n", "\t
  179. '3_2018_P_H2_S29_L002_ReadsPerGene.out.tab'
  180. \n", "\t
  181. '3_2018_P_H2_S29_L003_ReadsPerGene.out.tab'
  182. \n", "\t
  183. '3_2018_P_H2_S29_L004_ReadsPerGene.out.tab'
  184. \n", "\t
  185. '3_2018_P_M1_S35_L001_ReadsPerGene.out.tab'
  186. \n", "\t
  187. '3_2018_P_M1_S35_L002_ReadsPerGene.out.tab'
  188. \n", "\t
  189. '3_2018_P_M1_S35_L003_ReadsPerGene.out.tab'
  190. \n", "\t
  191. '3_2018_P_M1_S35_L004_ReadsPerGene.out.tab'
  192. \n", "\t
  193. '3_2018_P_T1_S32_L001_ReadsPerGene.out.tab'
  194. \n", "\t
  195. '3_2018_P_T1_S32_L002_ReadsPerGene.out.tab'
  196. \n", "\t
  197. '3_2018_P_T1_S32_L003_ReadsPerGene.out.tab'
  198. \n", "\t
  199. '3_2018_P_T1_S32_L004_ReadsPerGene.out.tab'
  200. \n", "\t
  201. '3_2019_P_M1_S3_L001_ReadsPerGene.out.tab'
  202. \n", "\t
  203. '3_2019_P_M1_S3_L002_ReadsPerGene.out.tab'
  204. \n", "\t
  205. '3_2019_P_M1_S3_L003_ReadsPerGene.out.tab'
  206. \n", "\t
  207. '3_2019_P_M1_S3_L004_ReadsPerGene.out.tab'
  208. \n", "\t
  209. '4_2018_P_H1_S27_L001_ReadsPerGene.out.tab'
  210. \n", "\t
  211. '4_2018_P_H1_S27_L002_ReadsPerGene.out.tab'
  212. \n", "\t
  213. '4_2018_P_H1_S27_L003_ReadsPerGene.out.tab'
  214. \n", "\t
  215. '4_2018_P_H1_S27_L004_ReadsPerGene.out.tab'
  216. \n", "\t
  217. '4_2018_P_H2_S30_L001_ReadsPerGene.out.tab'
  218. \n", "\t
  219. '4_2018_P_H2_S30_L002_ReadsPerGene.out.tab'
  220. \n", "\t
  221. '4_2018_P_H2_S30_L003_ReadsPerGene.out.tab'
  222. \n", "\t
  223. '4_2018_P_H2_S30_L004_ReadsPerGene.out.tab'
  224. \n", "\t
  225. '4_2018_P_M1_S36_L001_ReadsPerGene.out.tab'
  226. \n", "\t
  227. '4_2018_P_M1_S36_L002_ReadsPerGene.out.tab'
  228. \n", "\t
  229. '4_2018_P_M1_S36_L003_ReadsPerGene.out.tab'
  230. \n", "\t
  231. '4_2018_P_M1_S36_L004_ReadsPerGene.out.tab'
  232. \n", "\t
  233. '4_2018_P_T1_S33_L001_ReadsPerGene.out.tab'
  234. \n", "\t
  235. '4_2018_P_T1_S33_L002_ReadsPerGene.out.tab'
  236. \n", "\t
  237. '4_2018_P_T1_S33_L003_ReadsPerGene.out.tab'
  238. \n", "\t
  239. '4_2018_P_T1_S33_L004_ReadsPerGene.out.tab'
  240. \n", "\t
  241. '4_2019_P_M1_S4_L001_ReadsPerGene.out.tab'
  242. \n", "\t
  243. '4_2019_P_M1_S4_L002_ReadsPerGene.out.tab'
  244. \n", "\t
  245. '4_2019_P_M1_S4_L003_ReadsPerGene.out.tab'
  246. \n", "\t
  247. '4_2019_P_M1_S4_L004_ReadsPerGene.out.tab'
  248. \n", "\t
  249. '5_2019_P_M1_S5_L001_ReadsPerGene.out.tab'
  250. \n", "\t
  251. '5_2019_P_M1_S5_L002_ReadsPerGene.out.tab'
  252. \n", "\t
  253. '5_2019_P_M1_S5_L003_ReadsPerGene.out.tab'
  254. \n", "\t
  255. '5_2019_P_M1_S5_L004_ReadsPerGene.out.tab'
  256. \n", "\t
  257. '6_2019_P_M1_S6_L001_ReadsPerGene.out.tab'
  258. \n", "\t
  259. '6_2019_P_M1_S6_L002_ReadsPerGene.out.tab'
  260. \n", "\t
  261. '6_2019_P_M1_S6_L003_ReadsPerGene.out.tab'
  262. \n", "\t
  263. '6_2019_P_M1_S6_L004_ReadsPerGene.out.tab'
  264. \n", "\t
  265. '7_2019_P_M1_S7_L001_ReadsPerGene.out.tab'
  266. \n", "\t
  267. '7_2019_P_M1_S7_L002_ReadsPerGene.out.tab'
  268. \n", "\t
  269. '7_2019_P_M1_S7_L003_ReadsPerGene.out.tab'
  270. \n", "\t
  271. '7_2019_P_M1_S7_L004_ReadsPerGene.out.tab'
  272. \n", "\t
  273. '8_2019_P_M1_S8_L001_ReadsPerGene.out.tab'
  274. \n", "\t
  275. '8_2019_P_M1_S8_L002_ReadsPerGene.out.tab'
  276. \n", "\t
  277. '8_2019_P_M1_S8_L003_ReadsPerGene.out.tab'
  278. \n", "\t
  279. '8_2019_P_M1_S8_L004_ReadsPerGene.out.tab'
  280. \n", "\t
  281. '9_2019_P_M1_S9_L001_ReadsPerGene.out.tab'
  282. \n", "\t
  283. '9_2019_P_M1_S9_L002_ReadsPerGene.out.tab'
  284. \n", "\t
  285. '9_2019_P_M1_S9_L003_ReadsPerGene.out.tab'
  286. \n", "\t
  287. '9_2019_P_M1_S9_L004_ReadsPerGene.out.tab'
  288. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item '1\\_2019\\_P\\_M1\\_S1\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '1\\_2019\\_P\\_M1\\_S1\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '1\\_2019\\_P\\_M1\\_S1\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '1\\_2019\\_P\\_M1\\_S1\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '10\\_2019\\_P\\_M1\\_S10\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '10\\_2019\\_P\\_M1\\_S10\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '10\\_2019\\_P\\_M1\\_S10\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '10\\_2019\\_P\\_M1\\_S10\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '11\\_2019\\_P\\_M1\\_S11\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '11\\_2019\\_P\\_M1\\_S11\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '11\\_2019\\_P\\_M1\\_S11\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '11\\_2019\\_P\\_M1\\_S11\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '12\\_2019\\_P\\_M1\\_S12\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '12\\_2019\\_P\\_M1\\_S12\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '12\\_2019\\_P\\_M1\\_S12\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '12\\_2019\\_P\\_M1\\_S12\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '13\\_2019\\_P\\_M1\\_S13\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '13\\_2019\\_P\\_M1\\_S13\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '13\\_2019\\_P\\_M1\\_S13\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '13\\_2019\\_P\\_M1\\_S13\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '14\\_2019\\_P\\_M1\\_S14\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '14\\_2019\\_P\\_M1\\_S14\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '14\\_2019\\_P\\_M1\\_S14\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '14\\_2019\\_P\\_M1\\_S14\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '15\\_2019\\_P\\_M1\\_S15\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '15\\_2019\\_P\\_M1\\_S15\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '15\\_2019\\_P\\_M1\\_S15\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '15\\_2019\\_P\\_M1\\_S15\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '16\\_2019\\_P\\_M1\\_S16\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '16\\_2019\\_P\\_M1\\_S16\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '16\\_2019\\_P\\_M1\\_S16\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '16\\_2019\\_P\\_M1\\_S16\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '17\\_2019\\_P\\_M1\\_S17\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '17\\_2019\\_P\\_M1\\_S17\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '17\\_2019\\_P\\_M1\\_S17\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '17\\_2019\\_P\\_M1\\_S17\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '18\\_2019\\_P\\_M1\\_S18\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '18\\_2019\\_P\\_M1\\_S18\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '18\\_2019\\_P\\_M1\\_S18\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '18\\_2019\\_P\\_M1\\_S18\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '19\\_2019\\_P\\_M1\\_S19\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '19\\_2019\\_P\\_M1\\_S19\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '19\\_2019\\_P\\_M1\\_S19\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '19\\_2019\\_P\\_M1\\_S19\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_H1\\_S25\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_H1\\_S25\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_H1\\_S25\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_H1\\_S25\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_H2\\_S28\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_H2\\_S28\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_H2\\_S28\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_H2\\_S28\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_M1\\_S34\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_M1\\_S34\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_M1\\_S34\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_M1\\_S34\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_T1\\_S31\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_T1\\_S31\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_T1\\_S31\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2018\\_P\\_T1\\_S31\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2019\\_P\\_M1\\_S2\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2019\\_P\\_M1\\_S2\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2019\\_P\\_M1\\_S2\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '2\\_2019\\_P\\_M1\\_S2\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '20\\_2019\\_P\\_M1\\_S20\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '20\\_2019\\_P\\_M1\\_S20\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '20\\_2019\\_P\\_M1\\_S20\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '20\\_2019\\_P\\_M1\\_S20\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '21\\_2019\\_P\\_M1\\_S21\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '21\\_2019\\_P\\_M1\\_S21\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '21\\_2019\\_P\\_M1\\_S21\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '21\\_2019\\_P\\_M1\\_S21\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '22\\_2019\\_P\\_M1\\_S22\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '22\\_2019\\_P\\_M1\\_S22\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '22\\_2019\\_P\\_M1\\_S22\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '22\\_2019\\_P\\_M1\\_S22\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '23\\_2019\\_P\\_M1\\_S23\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '23\\_2019\\_P\\_M1\\_S23\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '23\\_2019\\_P\\_M1\\_S23\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '23\\_2019\\_P\\_M1\\_S23\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '24\\_2019\\_P\\_M1\\_S24\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '24\\_2019\\_P\\_M1\\_S24\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '24\\_2019\\_P\\_M1\\_S24\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '24\\_2019\\_P\\_M1\\_S24\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_H1\\_S26\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_H1\\_S26\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_H1\\_S26\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_H1\\_S26\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_H2\\_S29\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_H2\\_S29\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_H2\\_S29\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_H2\\_S29\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_M1\\_S35\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_M1\\_S35\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_M1\\_S35\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_M1\\_S35\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_T1\\_S32\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_T1\\_S32\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_T1\\_S32\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2018\\_P\\_T1\\_S32\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2019\\_P\\_M1\\_S3\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2019\\_P\\_M1\\_S3\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2019\\_P\\_M1\\_S3\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '3\\_2019\\_P\\_M1\\_S3\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_H1\\_S27\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_H1\\_S27\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_H1\\_S27\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_H1\\_S27\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_H2\\_S30\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_H2\\_S30\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_H2\\_S30\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_H2\\_S30\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_M1\\_S36\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_M1\\_S36\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_M1\\_S36\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_M1\\_S36\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_T1\\_S33\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_T1\\_S33\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_T1\\_S33\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2018\\_P\\_T1\\_S33\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2019\\_P\\_M1\\_S4\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2019\\_P\\_M1\\_S4\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2019\\_P\\_M1\\_S4\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '4\\_2019\\_P\\_M1\\_S4\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '5\\_2019\\_P\\_M1\\_S5\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '5\\_2019\\_P\\_M1\\_S5\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '5\\_2019\\_P\\_M1\\_S5\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '5\\_2019\\_P\\_M1\\_S5\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '6\\_2019\\_P\\_M1\\_S6\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '6\\_2019\\_P\\_M1\\_S6\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '6\\_2019\\_P\\_M1\\_S6\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '6\\_2019\\_P\\_M1\\_S6\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '7\\_2019\\_P\\_M1\\_S7\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '7\\_2019\\_P\\_M1\\_S7\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '7\\_2019\\_P\\_M1\\_S7\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '7\\_2019\\_P\\_M1\\_S7\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '8\\_2019\\_P\\_M1\\_S8\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '8\\_2019\\_P\\_M1\\_S8\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '8\\_2019\\_P\\_M1\\_S8\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '8\\_2019\\_P\\_M1\\_S8\\_L004\\_ReadsPerGene.out.tab'\n", "\\item '9\\_2019\\_P\\_M1\\_S9\\_L001\\_ReadsPerGene.out.tab'\n", "\\item '9\\_2019\\_P\\_M1\\_S9\\_L002\\_ReadsPerGene.out.tab'\n", "\\item '9\\_2019\\_P\\_M1\\_S9\\_L003\\_ReadsPerGene.out.tab'\n", "\\item '9\\_2019\\_P\\_M1\\_S9\\_L004\\_ReadsPerGene.out.tab'\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. '1_2019_P_M1_S1_L001_ReadsPerGene.out.tab'\n", "2. '1_2019_P_M1_S1_L002_ReadsPerGene.out.tab'\n", "3. '1_2019_P_M1_S1_L003_ReadsPerGene.out.tab'\n", "4. '1_2019_P_M1_S1_L004_ReadsPerGene.out.tab'\n", "5. '10_2019_P_M1_S10_L001_ReadsPerGene.out.tab'\n", "6. '10_2019_P_M1_S10_L002_ReadsPerGene.out.tab'\n", "7. '10_2019_P_M1_S10_L003_ReadsPerGene.out.tab'\n", "8. '10_2019_P_M1_S10_L004_ReadsPerGene.out.tab'\n", "9. '11_2019_P_M1_S11_L001_ReadsPerGene.out.tab'\n", "10. '11_2019_P_M1_S11_L002_ReadsPerGene.out.tab'\n", "11. '11_2019_P_M1_S11_L003_ReadsPerGene.out.tab'\n", "12. '11_2019_P_M1_S11_L004_ReadsPerGene.out.tab'\n", "13. '12_2019_P_M1_S12_L001_ReadsPerGene.out.tab'\n", "14. '12_2019_P_M1_S12_L002_ReadsPerGene.out.tab'\n", "15. '12_2019_P_M1_S12_L003_ReadsPerGene.out.tab'\n", "16. '12_2019_P_M1_S12_L004_ReadsPerGene.out.tab'\n", "17. '13_2019_P_M1_S13_L001_ReadsPerGene.out.tab'\n", "18. '13_2019_P_M1_S13_L002_ReadsPerGene.out.tab'\n", "19. '13_2019_P_M1_S13_L003_ReadsPerGene.out.tab'\n", "20. '13_2019_P_M1_S13_L004_ReadsPerGene.out.tab'\n", "21. '14_2019_P_M1_S14_L001_ReadsPerGene.out.tab'\n", "22. '14_2019_P_M1_S14_L002_ReadsPerGene.out.tab'\n", "23. '14_2019_P_M1_S14_L003_ReadsPerGene.out.tab'\n", "24. '14_2019_P_M1_S14_L004_ReadsPerGene.out.tab'\n", "25. '15_2019_P_M1_S15_L001_ReadsPerGene.out.tab'\n", "26. '15_2019_P_M1_S15_L002_ReadsPerGene.out.tab'\n", "27. '15_2019_P_M1_S15_L003_ReadsPerGene.out.tab'\n", "28. '15_2019_P_M1_S15_L004_ReadsPerGene.out.tab'\n", "29. '16_2019_P_M1_S16_L001_ReadsPerGene.out.tab'\n", "30. '16_2019_P_M1_S16_L002_ReadsPerGene.out.tab'\n", "31. '16_2019_P_M1_S16_L003_ReadsPerGene.out.tab'\n", "32. '16_2019_P_M1_S16_L004_ReadsPerGene.out.tab'\n", "33. '17_2019_P_M1_S17_L001_ReadsPerGene.out.tab'\n", "34. '17_2019_P_M1_S17_L002_ReadsPerGene.out.tab'\n", "35. '17_2019_P_M1_S17_L003_ReadsPerGene.out.tab'\n", "36. '17_2019_P_M1_S17_L004_ReadsPerGene.out.tab'\n", "37. '18_2019_P_M1_S18_L001_ReadsPerGene.out.tab'\n", "38. '18_2019_P_M1_S18_L002_ReadsPerGene.out.tab'\n", "39. '18_2019_P_M1_S18_L003_ReadsPerGene.out.tab'\n", "40. '18_2019_P_M1_S18_L004_ReadsPerGene.out.tab'\n", "41. '19_2019_P_M1_S19_L001_ReadsPerGene.out.tab'\n", "42. '19_2019_P_M1_S19_L002_ReadsPerGene.out.tab'\n", "43. '19_2019_P_M1_S19_L003_ReadsPerGene.out.tab'\n", "44. '19_2019_P_M1_S19_L004_ReadsPerGene.out.tab'\n", "45. '2_2018_P_H1_S25_L001_ReadsPerGene.out.tab'\n", "46. '2_2018_P_H1_S25_L002_ReadsPerGene.out.tab'\n", "47. '2_2018_P_H1_S25_L003_ReadsPerGene.out.tab'\n", "48. '2_2018_P_H1_S25_L004_ReadsPerGene.out.tab'\n", "49. '2_2018_P_H2_S28_L001_ReadsPerGene.out.tab'\n", "50. '2_2018_P_H2_S28_L002_ReadsPerGene.out.tab'\n", "51. '2_2018_P_H2_S28_L003_ReadsPerGene.out.tab'\n", "52. '2_2018_P_H2_S28_L004_ReadsPerGene.out.tab'\n", "53. '2_2018_P_M1_S34_L001_ReadsPerGene.out.tab'\n", "54. '2_2018_P_M1_S34_L002_ReadsPerGene.out.tab'\n", "55. '2_2018_P_M1_S34_L003_ReadsPerGene.out.tab'\n", "56. '2_2018_P_M1_S34_L004_ReadsPerGene.out.tab'\n", "57. '2_2018_P_T1_S31_L001_ReadsPerGene.out.tab'\n", "58. '2_2018_P_T1_S31_L002_ReadsPerGene.out.tab'\n", "59. '2_2018_P_T1_S31_L003_ReadsPerGene.out.tab'\n", "60. '2_2018_P_T1_S31_L004_ReadsPerGene.out.tab'\n", "61. '2_2019_P_M1_S2_L001_ReadsPerGene.out.tab'\n", "62. '2_2019_P_M1_S2_L002_ReadsPerGene.out.tab'\n", "63. '2_2019_P_M1_S2_L003_ReadsPerGene.out.tab'\n", "64. '2_2019_P_M1_S2_L004_ReadsPerGene.out.tab'\n", "65. '20_2019_P_M1_S20_L001_ReadsPerGene.out.tab'\n", "66. '20_2019_P_M1_S20_L002_ReadsPerGene.out.tab'\n", "67. '20_2019_P_M1_S20_L003_ReadsPerGene.out.tab'\n", "68. '20_2019_P_M1_S20_L004_ReadsPerGene.out.tab'\n", "69. '21_2019_P_M1_S21_L001_ReadsPerGene.out.tab'\n", "70. '21_2019_P_M1_S21_L002_ReadsPerGene.out.tab'\n", "71. '21_2019_P_M1_S21_L003_ReadsPerGene.out.tab'\n", "72. '21_2019_P_M1_S21_L004_ReadsPerGene.out.tab'\n", "73. '22_2019_P_M1_S22_L001_ReadsPerGene.out.tab'\n", "74. '22_2019_P_M1_S22_L002_ReadsPerGene.out.tab'\n", "75. '22_2019_P_M1_S22_L003_ReadsPerGene.out.tab'\n", "76. '22_2019_P_M1_S22_L004_ReadsPerGene.out.tab'\n", "77. '23_2019_P_M1_S23_L001_ReadsPerGene.out.tab'\n", "78. '23_2019_P_M1_S23_L002_ReadsPerGene.out.tab'\n", "79. '23_2019_P_M1_S23_L003_ReadsPerGene.out.tab'\n", "80. '23_2019_P_M1_S23_L004_ReadsPerGene.out.tab'\n", "81. '24_2019_P_M1_S24_L001_ReadsPerGene.out.tab'\n", "82. '24_2019_P_M1_S24_L002_ReadsPerGene.out.tab'\n", "83. '24_2019_P_M1_S24_L003_ReadsPerGene.out.tab'\n", "84. '24_2019_P_M1_S24_L004_ReadsPerGene.out.tab'\n", "85. '3_2018_P_H1_S26_L001_ReadsPerGene.out.tab'\n", "86. '3_2018_P_H1_S26_L002_ReadsPerGene.out.tab'\n", "87. '3_2018_P_H1_S26_L003_ReadsPerGene.out.tab'\n", "88. '3_2018_P_H1_S26_L004_ReadsPerGene.out.tab'\n", "89. '3_2018_P_H2_S29_L001_ReadsPerGene.out.tab'\n", "90. '3_2018_P_H2_S29_L002_ReadsPerGene.out.tab'\n", "91. '3_2018_P_H2_S29_L003_ReadsPerGene.out.tab'\n", "92. '3_2018_P_H2_S29_L004_ReadsPerGene.out.tab'\n", "93. '3_2018_P_M1_S35_L001_ReadsPerGene.out.tab'\n", "94. '3_2018_P_M1_S35_L002_ReadsPerGene.out.tab'\n", "95. '3_2018_P_M1_S35_L003_ReadsPerGene.out.tab'\n", "96. '3_2018_P_M1_S35_L004_ReadsPerGene.out.tab'\n", "97. '3_2018_P_T1_S32_L001_ReadsPerGene.out.tab'\n", "98. '3_2018_P_T1_S32_L002_ReadsPerGene.out.tab'\n", "99. '3_2018_P_T1_S32_L003_ReadsPerGene.out.tab'\n", "100. '3_2018_P_T1_S32_L004_ReadsPerGene.out.tab'\n", "101. '3_2019_P_M1_S3_L001_ReadsPerGene.out.tab'\n", "102. '3_2019_P_M1_S3_L002_ReadsPerGene.out.tab'\n", "103. '3_2019_P_M1_S3_L003_ReadsPerGene.out.tab'\n", "104. '3_2019_P_M1_S3_L004_ReadsPerGene.out.tab'\n", "105. '4_2018_P_H1_S27_L001_ReadsPerGene.out.tab'\n", "106. '4_2018_P_H1_S27_L002_ReadsPerGene.out.tab'\n", "107. '4_2018_P_H1_S27_L003_ReadsPerGene.out.tab'\n", "108. '4_2018_P_H1_S27_L004_ReadsPerGene.out.tab'\n", "109. '4_2018_P_H2_S30_L001_ReadsPerGene.out.tab'\n", "110. '4_2018_P_H2_S30_L002_ReadsPerGene.out.tab'\n", "111. '4_2018_P_H2_S30_L003_ReadsPerGene.out.tab'\n", "112. '4_2018_P_H2_S30_L004_ReadsPerGene.out.tab'\n", "113. '4_2018_P_M1_S36_L001_ReadsPerGene.out.tab'\n", "114. '4_2018_P_M1_S36_L002_ReadsPerGene.out.tab'\n", "115. '4_2018_P_M1_S36_L003_ReadsPerGene.out.tab'\n", "116. '4_2018_P_M1_S36_L004_ReadsPerGene.out.tab'\n", "117. '4_2018_P_T1_S33_L001_ReadsPerGene.out.tab'\n", "118. '4_2018_P_T1_S33_L002_ReadsPerGene.out.tab'\n", "119. '4_2018_P_T1_S33_L003_ReadsPerGene.out.tab'\n", "120. '4_2018_P_T1_S33_L004_ReadsPerGene.out.tab'\n", "121. '4_2019_P_M1_S4_L001_ReadsPerGene.out.tab'\n", "122. '4_2019_P_M1_S4_L002_ReadsPerGene.out.tab'\n", "123. '4_2019_P_M1_S4_L003_ReadsPerGene.out.tab'\n", "124. '4_2019_P_M1_S4_L004_ReadsPerGene.out.tab'\n", "125. '5_2019_P_M1_S5_L001_ReadsPerGene.out.tab'\n", "126. '5_2019_P_M1_S5_L002_ReadsPerGene.out.tab'\n", "127. '5_2019_P_M1_S5_L003_ReadsPerGene.out.tab'\n", "128. '5_2019_P_M1_S5_L004_ReadsPerGene.out.tab'\n", "129. '6_2019_P_M1_S6_L001_ReadsPerGene.out.tab'\n", "130. '6_2019_P_M1_S6_L002_ReadsPerGene.out.tab'\n", "131. '6_2019_P_M1_S6_L003_ReadsPerGene.out.tab'\n", "132. '6_2019_P_M1_S6_L004_ReadsPerGene.out.tab'\n", "133. '7_2019_P_M1_S7_L001_ReadsPerGene.out.tab'\n", "134. '7_2019_P_M1_S7_L002_ReadsPerGene.out.tab'\n", "135. '7_2019_P_M1_S7_L003_ReadsPerGene.out.tab'\n", "136. '7_2019_P_M1_S7_L004_ReadsPerGene.out.tab'\n", "137. '8_2019_P_M1_S8_L001_ReadsPerGene.out.tab'\n", "138. '8_2019_P_M1_S8_L002_ReadsPerGene.out.tab'\n", "139. '8_2019_P_M1_S8_L003_ReadsPerGene.out.tab'\n", "140. '8_2019_P_M1_S8_L004_ReadsPerGene.out.tab'\n", "141. '9_2019_P_M1_S9_L001_ReadsPerGene.out.tab'\n", "142. '9_2019_P_M1_S9_L002_ReadsPerGene.out.tab'\n", "143. '9_2019_P_M1_S9_L003_ReadsPerGene.out.tab'\n", "144. '9_2019_P_M1_S9_L004_ReadsPerGene.out.tab'\n", "\n", "\n" ], "text/plain": [ " [1] \"1_2019_P_M1_S1_L001_ReadsPerGene.out.tab\" \n", " [2] \"1_2019_P_M1_S1_L002_ReadsPerGene.out.tab\" \n", " [3] \"1_2019_P_M1_S1_L003_ReadsPerGene.out.tab\" \n", " [4] \"1_2019_P_M1_S1_L004_ReadsPerGene.out.tab\" \n", " [5] \"10_2019_P_M1_S10_L001_ReadsPerGene.out.tab\"\n", " [6] \"10_2019_P_M1_S10_L002_ReadsPerGene.out.tab\"\n", " [7] \"10_2019_P_M1_S10_L003_ReadsPerGene.out.tab\"\n", " [8] \"10_2019_P_M1_S10_L004_ReadsPerGene.out.tab\"\n", " [9] \"11_2019_P_M1_S11_L001_ReadsPerGene.out.tab\"\n", " [10] \"11_2019_P_M1_S11_L002_ReadsPerGene.out.tab\"\n", " [11] \"11_2019_P_M1_S11_L003_ReadsPerGene.out.tab\"\n", " [12] \"11_2019_P_M1_S11_L004_ReadsPerGene.out.tab\"\n", " [13] \"12_2019_P_M1_S12_L001_ReadsPerGene.out.tab\"\n", " [14] \"12_2019_P_M1_S12_L002_ReadsPerGene.out.tab\"\n", " [15] \"12_2019_P_M1_S12_L003_ReadsPerGene.out.tab\"\n", " [16] \"12_2019_P_M1_S12_L004_ReadsPerGene.out.tab\"\n", " [17] \"13_2019_P_M1_S13_L001_ReadsPerGene.out.tab\"\n", " [18] \"13_2019_P_M1_S13_L002_ReadsPerGene.out.tab\"\n", " [19] \"13_2019_P_M1_S13_L003_ReadsPerGene.out.tab\"\n", " [20] \"13_2019_P_M1_S13_L004_ReadsPerGene.out.tab\"\n", " [21] \"14_2019_P_M1_S14_L001_ReadsPerGene.out.tab\"\n", " [22] \"14_2019_P_M1_S14_L002_ReadsPerGene.out.tab\"\n", " [23] \"14_2019_P_M1_S14_L003_ReadsPerGene.out.tab\"\n", " [24] \"14_2019_P_M1_S14_L004_ReadsPerGene.out.tab\"\n", " [25] \"15_2019_P_M1_S15_L001_ReadsPerGene.out.tab\"\n", " [26] \"15_2019_P_M1_S15_L002_ReadsPerGene.out.tab\"\n", " [27] \"15_2019_P_M1_S15_L003_ReadsPerGene.out.tab\"\n", " [28] \"15_2019_P_M1_S15_L004_ReadsPerGene.out.tab\"\n", " [29] \"16_2019_P_M1_S16_L001_ReadsPerGene.out.tab\"\n", " [30] \"16_2019_P_M1_S16_L002_ReadsPerGene.out.tab\"\n", " [31] \"16_2019_P_M1_S16_L003_ReadsPerGene.out.tab\"\n", " [32] \"16_2019_P_M1_S16_L004_ReadsPerGene.out.tab\"\n", " [33] \"17_2019_P_M1_S17_L001_ReadsPerGene.out.tab\"\n", " [34] \"17_2019_P_M1_S17_L002_ReadsPerGene.out.tab\"\n", " [35] \"17_2019_P_M1_S17_L003_ReadsPerGene.out.tab\"\n", " [36] \"17_2019_P_M1_S17_L004_ReadsPerGene.out.tab\"\n", " [37] \"18_2019_P_M1_S18_L001_ReadsPerGene.out.tab\"\n", " [38] \"18_2019_P_M1_S18_L002_ReadsPerGene.out.tab\"\n", " [39] \"18_2019_P_M1_S18_L003_ReadsPerGene.out.tab\"\n", " [40] \"18_2019_P_M1_S18_L004_ReadsPerGene.out.tab\"\n", " [41] \"19_2019_P_M1_S19_L001_ReadsPerGene.out.tab\"\n", " [42] \"19_2019_P_M1_S19_L002_ReadsPerGene.out.tab\"\n", " [43] \"19_2019_P_M1_S19_L003_ReadsPerGene.out.tab\"\n", " [44] \"19_2019_P_M1_S19_L004_ReadsPerGene.out.tab\"\n", " [45] \"2_2018_P_H1_S25_L001_ReadsPerGene.out.tab\" \n", " [46] \"2_2018_P_H1_S25_L002_ReadsPerGene.out.tab\" \n", " [47] \"2_2018_P_H1_S25_L003_ReadsPerGene.out.tab\" \n", " [48] \"2_2018_P_H1_S25_L004_ReadsPerGene.out.tab\" \n", " [49] \"2_2018_P_H2_S28_L001_ReadsPerGene.out.tab\" \n", " [50] \"2_2018_P_H2_S28_L002_ReadsPerGene.out.tab\" \n", " [51] \"2_2018_P_H2_S28_L003_ReadsPerGene.out.tab\" \n", " [52] \"2_2018_P_H2_S28_L004_ReadsPerGene.out.tab\" \n", " [53] \"2_2018_P_M1_S34_L001_ReadsPerGene.out.tab\" \n", " [54] \"2_2018_P_M1_S34_L002_ReadsPerGene.out.tab\" \n", " [55] \"2_2018_P_M1_S34_L003_ReadsPerGene.out.tab\" \n", " [56] \"2_2018_P_M1_S34_L004_ReadsPerGene.out.tab\" \n", " [57] \"2_2018_P_T1_S31_L001_ReadsPerGene.out.tab\" \n", " [58] \"2_2018_P_T1_S31_L002_ReadsPerGene.out.tab\" \n", " [59] \"2_2018_P_T1_S31_L003_ReadsPerGene.out.tab\" \n", " [60] \"2_2018_P_T1_S31_L004_ReadsPerGene.out.tab\" \n", " [61] \"2_2019_P_M1_S2_L001_ReadsPerGene.out.tab\" \n", " [62] \"2_2019_P_M1_S2_L002_ReadsPerGene.out.tab\" \n", " [63] \"2_2019_P_M1_S2_L003_ReadsPerGene.out.tab\" \n", " [64] \"2_2019_P_M1_S2_L004_ReadsPerGene.out.tab\" \n", " [65] \"20_2019_P_M1_S20_L001_ReadsPerGene.out.tab\"\n", " [66] \"20_2019_P_M1_S20_L002_ReadsPerGene.out.tab\"\n", " [67] \"20_2019_P_M1_S20_L003_ReadsPerGene.out.tab\"\n", " [68] \"20_2019_P_M1_S20_L004_ReadsPerGene.out.tab\"\n", " [69] \"21_2019_P_M1_S21_L001_ReadsPerGene.out.tab\"\n", " [70] \"21_2019_P_M1_S21_L002_ReadsPerGene.out.tab\"\n", " [71] \"21_2019_P_M1_S21_L003_ReadsPerGene.out.tab\"\n", " [72] \"21_2019_P_M1_S21_L004_ReadsPerGene.out.tab\"\n", " [73] \"22_2019_P_M1_S22_L001_ReadsPerGene.out.tab\"\n", " [74] \"22_2019_P_M1_S22_L002_ReadsPerGene.out.tab\"\n", " [75] \"22_2019_P_M1_S22_L003_ReadsPerGene.out.tab\"\n", " [76] \"22_2019_P_M1_S22_L004_ReadsPerGene.out.tab\"\n", " [77] \"23_2019_P_M1_S23_L001_ReadsPerGene.out.tab\"\n", " [78] \"23_2019_P_M1_S23_L002_ReadsPerGene.out.tab\"\n", " [79] \"23_2019_P_M1_S23_L003_ReadsPerGene.out.tab\"\n", " [80] \"23_2019_P_M1_S23_L004_ReadsPerGene.out.tab\"\n", " [81] \"24_2019_P_M1_S24_L001_ReadsPerGene.out.tab\"\n", " [82] \"24_2019_P_M1_S24_L002_ReadsPerGene.out.tab\"\n", " [83] \"24_2019_P_M1_S24_L003_ReadsPerGene.out.tab\"\n", " [84] \"24_2019_P_M1_S24_L004_ReadsPerGene.out.tab\"\n", " [85] \"3_2018_P_H1_S26_L001_ReadsPerGene.out.tab\" \n", " [86] \"3_2018_P_H1_S26_L002_ReadsPerGene.out.tab\" \n", " [87] \"3_2018_P_H1_S26_L003_ReadsPerGene.out.tab\" \n", " [88] \"3_2018_P_H1_S26_L004_ReadsPerGene.out.tab\" \n", " [89] \"3_2018_P_H2_S29_L001_ReadsPerGene.out.tab\" \n", " [90] \"3_2018_P_H2_S29_L002_ReadsPerGene.out.tab\" \n", " [91] \"3_2018_P_H2_S29_L003_ReadsPerGene.out.tab\" \n", " [92] \"3_2018_P_H2_S29_L004_ReadsPerGene.out.tab\" \n", " [93] \"3_2018_P_M1_S35_L001_ReadsPerGene.out.tab\" \n", " [94] \"3_2018_P_M1_S35_L002_ReadsPerGene.out.tab\" \n", " [95] \"3_2018_P_M1_S35_L003_ReadsPerGene.out.tab\" \n", " [96] \"3_2018_P_M1_S35_L004_ReadsPerGene.out.tab\" \n", " [97] \"3_2018_P_T1_S32_L001_ReadsPerGene.out.tab\" \n", " [98] \"3_2018_P_T1_S32_L002_ReadsPerGene.out.tab\" \n", " [99] \"3_2018_P_T1_S32_L003_ReadsPerGene.out.tab\" \n", "[100] \"3_2018_P_T1_S32_L004_ReadsPerGene.out.tab\" \n", "[101] \"3_2019_P_M1_S3_L001_ReadsPerGene.out.tab\" \n", "[102] \"3_2019_P_M1_S3_L002_ReadsPerGene.out.tab\" \n", "[103] \"3_2019_P_M1_S3_L003_ReadsPerGene.out.tab\" \n", "[104] \"3_2019_P_M1_S3_L004_ReadsPerGene.out.tab\" \n", "[105] \"4_2018_P_H1_S27_L001_ReadsPerGene.out.tab\" \n", "[106] \"4_2018_P_H1_S27_L002_ReadsPerGene.out.tab\" \n", "[107] \"4_2018_P_H1_S27_L003_ReadsPerGene.out.tab\" \n", "[108] \"4_2018_P_H1_S27_L004_ReadsPerGene.out.tab\" \n", "[109] \"4_2018_P_H2_S30_L001_ReadsPerGene.out.tab\" \n", "[110] \"4_2018_P_H2_S30_L002_ReadsPerGene.out.tab\" \n", "[111] \"4_2018_P_H2_S30_L003_ReadsPerGene.out.tab\" \n", "[112] \"4_2018_P_H2_S30_L004_ReadsPerGene.out.tab\" \n", "[113] \"4_2018_P_M1_S36_L001_ReadsPerGene.out.tab\" \n", "[114] \"4_2018_P_M1_S36_L002_ReadsPerGene.out.tab\" \n", "[115] \"4_2018_P_M1_S36_L003_ReadsPerGene.out.tab\" \n", "[116] \"4_2018_P_M1_S36_L004_ReadsPerGene.out.tab\" \n", "[117] \"4_2018_P_T1_S33_L001_ReadsPerGene.out.tab\" \n", "[118] \"4_2018_P_T1_S33_L002_ReadsPerGene.out.tab\" \n", "[119] \"4_2018_P_T1_S33_L003_ReadsPerGene.out.tab\" \n", "[120] \"4_2018_P_T1_S33_L004_ReadsPerGene.out.tab\" \n", "[121] \"4_2019_P_M1_S4_L001_ReadsPerGene.out.tab\" \n", "[122] \"4_2019_P_M1_S4_L002_ReadsPerGene.out.tab\" \n", "[123] \"4_2019_P_M1_S4_L003_ReadsPerGene.out.tab\" \n", "[124] \"4_2019_P_M1_S4_L004_ReadsPerGene.out.tab\" \n", "[125] \"5_2019_P_M1_S5_L001_ReadsPerGene.out.tab\" \n", "[126] \"5_2019_P_M1_S5_L002_ReadsPerGene.out.tab\" \n", "[127] \"5_2019_P_M1_S5_L003_ReadsPerGene.out.tab\" \n", "[128] \"5_2019_P_M1_S5_L004_ReadsPerGene.out.tab\" \n", "[129] \"6_2019_P_M1_S6_L001_ReadsPerGene.out.tab\" \n", "[130] \"6_2019_P_M1_S6_L002_ReadsPerGene.out.tab\" \n", "[131] \"6_2019_P_M1_S6_L003_ReadsPerGene.out.tab\" \n", "[132] \"6_2019_P_M1_S6_L004_ReadsPerGene.out.tab\" \n", "[133] \"7_2019_P_M1_S7_L001_ReadsPerGene.out.tab\" \n", "[134] \"7_2019_P_M1_S7_L002_ReadsPerGene.out.tab\" \n", "[135] \"7_2019_P_M1_S7_L003_ReadsPerGene.out.tab\" \n", "[136] \"7_2019_P_M1_S7_L004_ReadsPerGene.out.tab\" \n", "[137] \"8_2019_P_M1_S8_L001_ReadsPerGene.out.tab\" \n", "[138] \"8_2019_P_M1_S8_L002_ReadsPerGene.out.tab\" \n", "[139] \"8_2019_P_M1_S8_L003_ReadsPerGene.out.tab\" \n", "[140] \"8_2019_P_M1_S8_L004_ReadsPerGene.out.tab\" \n", "[141] \"9_2019_P_M1_S9_L001_ReadsPerGene.out.tab\" \n", "[142] \"9_2019_P_M1_S9_L002_ReadsPerGene.out.tab\" \n", "[143] \"9_2019_P_M1_S9_L003_ReadsPerGene.out.tab\" \n", "[144] \"9_2019_P_M1_S9_L004_ReadsPerGene.out.tab\" " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "list.files(count_dir, pattern = paste0(count_suffix,\"$\"), full.names = FALSE) -> countfiles\n", "countfiles" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "144" ], "text/latex": [ "144" ], "text/markdown": [ "144" ], "text/plain": [ "[1] 144" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "length(countfiles)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So there are 96 files about 2019 pilot data under this folder. Each file is generated from a fastq file using STAR." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": true }, "outputs": [], "source": [ "mycombine <- function(df1, df2) {\n", " # Combine two data frames by gene names\n", " #\n", " # Args:\n", " # df1 (Dataframe): the first count data\n", " # df2 (Dataframe): the second count data\n", " #\n", " # Returns:\n", " # (Dataframe) The combined data frame of df1 and df2\n", " full_join(df1, df2, by = \"gene\")\n", "}\n", "\n", "\n", "mystarfile <- function(rootdir, stardir) {\n", " # Get the absolute paths of a file\n", " #\n", " # Args:\n", " # rootdir (Character): the directory of the folder\n", " # stardir (Character): the filename\n", " #\n", " # Returns:\n", " # (Character) the directory of the input file\n", " file.path(rootdir, stardir)\n", "}\n", "\n", "# Data type for each column\n", "coltypes <- list(col_character(), col_integer(), col_integer(), col_integer())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "read the count files and combine them" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Warning message:\n", "“rename_() is deprecated. \n", "Please use rename() instead\n", "\n", "The 'programming' vignette or the tidyeval book can help you\n", "to program with rename() : https://tidyeval.tidyverse.org\n", "\u001b[90mThis warning is displayed once per session.\u001b[39m”" ] } ], "source": [ "out <- foreach(file = countfiles, .combine = mycombine) %do% {\n", " cntfile <- mystarfile(count_dir, file)\n", " readr::read_tsv(cntfile, col_names = FALSE, col_types = coltypes ) %>%\n", " dplyr::select(X1, X4) %>%\n", " dplyr::rename_(.dots=setNames(names(.), c(\"gene\", file)))\n", "}\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 8503
  2. \n", "\t
  3. 145
  4. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 8503\n", "\\item 145\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 8503\n", "2. 145\n", "\n", "\n" ], "text/plain": [ "[1] 8503 145" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dim(out)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 6
gene1_2019_P_M1_S1_L001_ReadsPerGene.out.tab1_2019_P_M1_S1_L002_ReadsPerGene.out.tab1_2019_P_M1_S1_L003_ReadsPerGene.out.tab1_2019_P_M1_S1_L004_ReadsPerGene.out.tab10_2019_P_M1_S10_L001_ReadsPerGene.out.tab
<chr><int><int><int><int><int>
N_unmapped 21162196441930717356 6456
N_multimapping9554094070977879872375280
N_noFeature 2692326053272572677526470
N_ambiguous 606 638 615 607 464
CNAG_04548 0 0 0 0 0
CNAG_07303 0 0 0 0 0
\n" ], "text/latex": [ "A tibble: 6 × 6\n", "\\begin{tabular}{r|llllll}\n", " gene & 1\\_2019\\_P\\_M1\\_S1\\_L001\\_ReadsPerGene.out.tab & 1\\_2019\\_P\\_M1\\_S1\\_L002\\_ReadsPerGene.out.tab & 1\\_2019\\_P\\_M1\\_S1\\_L003\\_ReadsPerGene.out.tab & 1\\_2019\\_P\\_M1\\_S1\\_L004\\_ReadsPerGene.out.tab & 10\\_2019\\_P\\_M1\\_S10\\_L001\\_ReadsPerGene.out.tab\\\\\n", " & & & & & \\\\\n", "\\hline\n", "\t N\\_unmapped & 21162 & 19644 & 19307 & 17356 & 6456\\\\\n", "\t N\\_multimapping & 95540 & 94070 & 97787 & 98723 & 75280\\\\\n", "\t N\\_noFeature & 26923 & 26053 & 27257 & 26775 & 26470\\\\\n", "\t N\\_ambiguous & 606 & 638 & 615 & 607 & 464\\\\\n", "\t CNAG\\_04548 & 0 & 0 & 0 & 0 & 0\\\\\n", "\t CNAG\\_07303 & 0 & 0 & 0 & 0 & 0\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 6 × 6\n", "\n", "| gene <chr> | 1_2019_P_M1_S1_L001_ReadsPerGene.out.tab <int> | 1_2019_P_M1_S1_L002_ReadsPerGene.out.tab <int> | 1_2019_P_M1_S1_L003_ReadsPerGene.out.tab <int> | 1_2019_P_M1_S1_L004_ReadsPerGene.out.tab <int> | 10_2019_P_M1_S10_L001_ReadsPerGene.out.tab <int> |\n", "|---|---|---|---|---|---|\n", "| N_unmapped | 21162 | 19644 | 19307 | 17356 | 6456 |\n", "| N_multimapping | 95540 | 94070 | 97787 | 98723 | 75280 |\n", "| N_noFeature | 26923 | 26053 | 27257 | 26775 | 26470 |\n", "| N_ambiguous | 606 | 638 | 615 | 607 | 464 |\n", "| CNAG_04548 | 0 | 0 | 0 | 0 | 0 |\n", "| CNAG_07303 | 0 | 0 | 0 | 0 | 0 |\n", "\n" ], "text/plain": [ " gene 1_2019_P_M1_S1_L001_ReadsPerGene.out.tab\n", "1 N_unmapped 21162 \n", "2 N_multimapping 95540 \n", "3 N_noFeature 26923 \n", "4 N_ambiguous 606 \n", "5 CNAG_04548 0 \n", "6 CNAG_07303 0 \n", " 1_2019_P_M1_S1_L002_ReadsPerGene.out.tab\n", "1 19644 \n", "2 94070 \n", "3 26053 \n", "4 638 \n", "5 0 \n", "6 0 \n", " 1_2019_P_M1_S1_L003_ReadsPerGene.out.tab\n", "1 19307 \n", "2 97787 \n", "3 27257 \n", "4 615 \n", "5 0 \n", "6 0 \n", " 1_2019_P_M1_S1_L004_ReadsPerGene.out.tab\n", "1 17356 \n", "2 98723 \n", "3 26775 \n", "4 607 \n", "5 0 \n", "6 0 \n", " 10_2019_P_M1_S10_L001_ReadsPerGene.out.tab\n", "1 6456 \n", "2 75280 \n", "3 26470 \n", "4 464 \n", "5 0 \n", "6 0 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "out[1:6, 1:6]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gather and spread the genes to get a count matrix (genecounts)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 6
expidCNAG_00001CNAG_00002CNAG_00003CNAG_00004CNAG_00005
<chr><int><int><int><int><int>
1_2019_P_M1_S1_L001_ReadsPerGene.out.tab 035482235
1_2019_P_M1_S1_L002_ReadsPerGene.out.tab 043462277
1_2019_P_M1_S1_L003_ReadsPerGene.out.tab 046492328
1_2019_P_M1_S1_L004_ReadsPerGene.out.tab 034582222
10_2019_P_M1_S10_L001_ReadsPerGene.out.tab030361305
10_2019_P_M1_S10_L002_ReadsPerGene.out.tab037371177
\n" ], "text/latex": [ "A tibble: 6 × 6\n", "\\begin{tabular}{r|llllll}\n", " expid & CNAG\\_00001 & CNAG\\_00002 & CNAG\\_00003 & CNAG\\_00004 & CNAG\\_00005\\\\\n", " & & & & & \\\\\n", "\\hline\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L001\\_ReadsPerGene.out.tab & 0 & 35 & 48 & 223 & 5\\\\\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L002\\_ReadsPerGene.out.tab & 0 & 43 & 46 & 227 & 7\\\\\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L003\\_ReadsPerGene.out.tab & 0 & 46 & 49 & 232 & 8\\\\\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L004\\_ReadsPerGene.out.tab & 0 & 34 & 58 & 222 & 2\\\\\n", "\t 10\\_2019\\_P\\_M1\\_S10\\_L001\\_ReadsPerGene.out.tab & 0 & 30 & 36 & 130 & 5\\\\\n", "\t 10\\_2019\\_P\\_M1\\_S10\\_L002\\_ReadsPerGene.out.tab & 0 & 37 & 37 & 117 & 7\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 6 × 6\n", "\n", "| expid <chr> | CNAG_00001 <int> | CNAG_00002 <int> | CNAG_00003 <int> | CNAG_00004 <int> | CNAG_00005 <int> |\n", "|---|---|---|---|---|---|\n", "| 1_2019_P_M1_S1_L001_ReadsPerGene.out.tab | 0 | 35 | 48 | 223 | 5 |\n", "| 1_2019_P_M1_S1_L002_ReadsPerGene.out.tab | 0 | 43 | 46 | 227 | 7 |\n", "| 1_2019_P_M1_S1_L003_ReadsPerGene.out.tab | 0 | 46 | 49 | 232 | 8 |\n", "| 1_2019_P_M1_S1_L004_ReadsPerGene.out.tab | 0 | 34 | 58 | 222 | 2 |\n", "| 10_2019_P_M1_S10_L001_ReadsPerGene.out.tab | 0 | 30 | 36 | 130 | 5 |\n", "| 10_2019_P_M1_S10_L002_ReadsPerGene.out.tab | 0 | 37 | 37 | 117 | 7 |\n", "\n" ], "text/plain": [ " expid CNAG_00001 CNAG_00002 CNAG_00003\n", "1 1_2019_P_M1_S1_L001_ReadsPerGene.out.tab 0 35 48 \n", "2 1_2019_P_M1_S1_L002_ReadsPerGene.out.tab 0 43 46 \n", "3 1_2019_P_M1_S1_L003_ReadsPerGene.out.tab 0 46 49 \n", "4 1_2019_P_M1_S1_L004_ReadsPerGene.out.tab 0 34 58 \n", "5 10_2019_P_M1_S10_L001_ReadsPerGene.out.tab 0 30 36 \n", "6 10_2019_P_M1_S10_L002_ReadsPerGene.out.tab 0 37 37 \n", " CNAG_00004 CNAG_00005\n", "1 223 5 \n", "2 227 7 \n", "3 232 8 \n", "4 222 2 \n", "5 130 5 \n", "6 117 7 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "out %>%\n", " slice(-(1:4)) %>%\n", " gather(expid, value, -gene) %>% \n", " spread(gene, value) -> genecounts\n", "\n", "genecounts[1:6, 1:6]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Gather and spread the first four rows to nmisc" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For nmisc, we will take the first 4 rows of out since those are the summarizing features. Next, we want to transform the data frame so that it is in statistical format (the samples are the rows and the feature types are the columns). Using a combination of gather and spread, we can transpose our matrix into the desired format." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 5
expidnambnmultinnofeatnunmap
<chr><int><int><int><int>
1_2019_P_M1_S1_L001_ReadsPerGene.out.tab 606955402692321162
1_2019_P_M1_S1_L002_ReadsPerGene.out.tab 638940702605319644
1_2019_P_M1_S1_L003_ReadsPerGene.out.tab 615977872725719307
1_2019_P_M1_S1_L004_ReadsPerGene.out.tab 607987232677517356
10_2019_P_M1_S10_L001_ReadsPerGene.out.tab4647528026470 6456
10_2019_P_M1_S10_L002_ReadsPerGene.out.tab4457319025919 6097
\n" ], "text/latex": [ "A tibble: 6 × 5\n", "\\begin{tabular}{r|lllll}\n", " expid & namb & nmulti & nnofeat & nunmap\\\\\n", " & & & & \\\\\n", "\\hline\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L001\\_ReadsPerGene.out.tab & 606 & 95540 & 26923 & 21162\\\\\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L002\\_ReadsPerGene.out.tab & 638 & 94070 & 26053 & 19644\\\\\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L003\\_ReadsPerGene.out.tab & 615 & 97787 & 27257 & 19307\\\\\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L004\\_ReadsPerGene.out.tab & 607 & 98723 & 26775 & 17356\\\\\n", "\t 10\\_2019\\_P\\_M1\\_S10\\_L001\\_ReadsPerGene.out.tab & 464 & 75280 & 26470 & 6456\\\\\n", "\t 10\\_2019\\_P\\_M1\\_S10\\_L002\\_ReadsPerGene.out.tab & 445 & 73190 & 25919 & 6097\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 6 × 5\n", "\n", "| expid <chr> | namb <int> | nmulti <int> | nnofeat <int> | nunmap <int> |\n", "|---|---|---|---|---|\n", "| 1_2019_P_M1_S1_L001_ReadsPerGene.out.tab | 606 | 95540 | 26923 | 21162 |\n", "| 1_2019_P_M1_S1_L002_ReadsPerGene.out.tab | 638 | 94070 | 26053 | 19644 |\n", "| 1_2019_P_M1_S1_L003_ReadsPerGene.out.tab | 615 | 97787 | 27257 | 19307 |\n", "| 1_2019_P_M1_S1_L004_ReadsPerGene.out.tab | 607 | 98723 | 26775 | 17356 |\n", "| 10_2019_P_M1_S10_L001_ReadsPerGene.out.tab | 464 | 75280 | 26470 | 6456 |\n", "| 10_2019_P_M1_S10_L002_ReadsPerGene.out.tab | 445 | 73190 | 25919 | 6097 |\n", "\n" ], "text/plain": [ " expid namb nmulti nnofeat nunmap\n", "1 1_2019_P_M1_S1_L001_ReadsPerGene.out.tab 606 95540 26923 21162 \n", "2 1_2019_P_M1_S1_L002_ReadsPerGene.out.tab 638 94070 26053 19644 \n", "3 1_2019_P_M1_S1_L003_ReadsPerGene.out.tab 615 97787 27257 19307 \n", "4 1_2019_P_M1_S1_L004_ReadsPerGene.out.tab 607 98723 26775 17356 \n", "5 10_2019_P_M1_S10_L001_ReadsPerGene.out.tab 464 75280 26470 6456 \n", "6 10_2019_P_M1_S10_L002_ReadsPerGene.out.tab 445 73190 25919 6097 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "out %>%\n", " slice(1:4) %>%\n", " gather(expid, value, -gene) %>% \n", " spread(gene, value) %>%\n", " rename_(.dots=setNames(names(.), c(\"expid\", \"namb\", \"nmulti\", \"nnofeat\",\"nunmap\"))) -> nmisc\n", "\n", "nmisc[1:6, ]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Gather and spread the gene rows" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For each samples, we want to sum up all the counts, so we can create a variable denoting the number of total genes mapped for each sample by summing across the rows." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 2
expidngenemap
<chr><dbl>
1_2019_P_M1_S1_L001_ReadsPerGene.out.tab 4660549
1_2019_P_M1_S1_L002_ReadsPerGene.out.tab 4591006
1_2019_P_M1_S1_L003_ReadsPerGene.out.tab 4715846
1_2019_P_M1_S1_L004_ReadsPerGene.out.tab 4681095
10_2019_P_M1_S10_L001_ReadsPerGene.out.tab3261459
10_2019_P_M1_S10_L002_ReadsPerGene.out.tab3208423
\n" ], "text/latex": [ "A tibble: 6 × 2\n", "\\begin{tabular}{r|ll}\n", " expid & ngenemap\\\\\n", " & \\\\\n", "\\hline\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L001\\_ReadsPerGene.out.tab & 4660549\\\\\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L002\\_ReadsPerGene.out.tab & 4591006\\\\\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L003\\_ReadsPerGene.out.tab & 4715846\\\\\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L004\\_ReadsPerGene.out.tab & 4681095\\\\\n", "\t 10\\_2019\\_P\\_M1\\_S10\\_L001\\_ReadsPerGene.out.tab & 3261459\\\\\n", "\t 10\\_2019\\_P\\_M1\\_S10\\_L002\\_ReadsPerGene.out.tab & 3208423\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 6 × 2\n", "\n", "| expid <chr> | ngenemap <dbl> |\n", "|---|---|\n", "| 1_2019_P_M1_S1_L001_ReadsPerGene.out.tab | 4660549 |\n", "| 1_2019_P_M1_S1_L002_ReadsPerGene.out.tab | 4591006 |\n", "| 1_2019_P_M1_S1_L003_ReadsPerGene.out.tab | 4715846 |\n", "| 1_2019_P_M1_S1_L004_ReadsPerGene.out.tab | 4681095 |\n", "| 10_2019_P_M1_S10_L001_ReadsPerGene.out.tab | 3261459 |\n", "| 10_2019_P_M1_S10_L002_ReadsPerGene.out.tab | 3208423 |\n", "\n" ], "text/plain": [ " expid ngenemap\n", "1 1_2019_P_M1_S1_L001_ReadsPerGene.out.tab 4660549 \n", "2 1_2019_P_M1_S1_L002_ReadsPerGene.out.tab 4591006 \n", "3 1_2019_P_M1_S1_L003_ReadsPerGene.out.tab 4715846 \n", "4 1_2019_P_M1_S1_L004_ReadsPerGene.out.tab 4681095 \n", "5 10_2019_P_M1_S10_L001_ReadsPerGene.out.tab 3261459 \n", "6 10_2019_P_M1_S10_L002_ReadsPerGene.out.tab 3208423 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "out %>%\n", " slice(-(1:4)) %>%\n", " gather(expid, value, -gene) %>% \n", " spread(gene, value) %>%\n", " mutate(ngenemap=rowSums(.[-1])) %>%\n", " select(expid, ngenemap) -> ngene\n", "\n", "ngene[1:6, ]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### merge in the 4 misc counts and add summaries" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So far, we can create a comprehensive data frame mapresults which will combine ngene with nmisc. This data frame will have summarizing mapping features in addition to proportion features." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 10
expidngenemapnambnmultinnofeatnunmapdepthprob.geneprob.nofeatprob.unique
<chr><dbl><int><int><int><int><int><dbl><dbl><dbl>
1_2019_P_M1_S1_L001_ReadsPerGene.out.tab 466054960695540269232116248047800.96998180.0056033780.9755851
1_2019_P_M1_S1_L002_ReadsPerGene.out.tab 459100663894070260531964447314110.97032490.0055063910.9758313
1_2019_P_M1_S1_L003_ReadsPerGene.out.tab 471584661597787272571930748608120.97017660.0056074990.9757841
1_2019_P_M1_S1_L004_ReadsPerGene.out.tab 468109560798723267751735648245560.97026440.0055497330.9758141
10_2019_P_M1_S10_L001_ReadsPerGene.out.tab32614594647528026470 645633701290.96775490.0078542990.9756092
10_2019_P_M1_S10_L002_ReadsPerGene.out.tab32084234457319025919 609733140740.96812050.0078208880.9759414
\n" ], "text/latex": [ "A tibble: 6 × 10\n", "\\begin{tabular}{r|llllllllll}\n", " expid & ngenemap & namb & nmulti & nnofeat & nunmap & depth & prob.gene & prob.nofeat & prob.unique\\\\\n", " & & & & & & & & & \\\\\n", "\\hline\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L001\\_ReadsPerGene.out.tab & 4660549 & 606 & 95540 & 26923 & 21162 & 4804780 & 0.9699818 & 0.005603378 & 0.9755851\\\\\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L002\\_ReadsPerGene.out.tab & 4591006 & 638 & 94070 & 26053 & 19644 & 4731411 & 0.9703249 & 0.005506391 & 0.9758313\\\\\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L003\\_ReadsPerGene.out.tab & 4715846 & 615 & 97787 & 27257 & 19307 & 4860812 & 0.9701766 & 0.005607499 & 0.9757841\\\\\n", "\t 1\\_2019\\_P\\_M1\\_S1\\_L004\\_ReadsPerGene.out.tab & 4681095 & 607 & 98723 & 26775 & 17356 & 4824556 & 0.9702644 & 0.005549733 & 0.9758141\\\\\n", "\t 10\\_2019\\_P\\_M1\\_S10\\_L001\\_ReadsPerGene.out.tab & 3261459 & 464 & 75280 & 26470 & 6456 & 3370129 & 0.9677549 & 0.007854299 & 0.9756092\\\\\n", "\t 10\\_2019\\_P\\_M1\\_S10\\_L002\\_ReadsPerGene.out.tab & 3208423 & 445 & 73190 & 25919 & 6097 & 3314074 & 0.9681205 & 0.007820888 & 0.9759414\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 6 × 10\n", "\n", "| expid <chr> | ngenemap <dbl> | namb <int> | nmulti <int> | nnofeat <int> | nunmap <int> | depth <int> | prob.gene <dbl> | prob.nofeat <dbl> | prob.unique <dbl> |\n", "|---|---|---|---|---|---|---|---|---|---|\n", "| 1_2019_P_M1_S1_L001_ReadsPerGene.out.tab | 4660549 | 606 | 95540 | 26923 | 21162 | 4804780 | 0.9699818 | 0.005603378 | 0.9755851 |\n", "| 1_2019_P_M1_S1_L002_ReadsPerGene.out.tab | 4591006 | 638 | 94070 | 26053 | 19644 | 4731411 | 0.9703249 | 0.005506391 | 0.9758313 |\n", "| 1_2019_P_M1_S1_L003_ReadsPerGene.out.tab | 4715846 | 615 | 97787 | 27257 | 19307 | 4860812 | 0.9701766 | 0.005607499 | 0.9757841 |\n", "| 1_2019_P_M1_S1_L004_ReadsPerGene.out.tab | 4681095 | 607 | 98723 | 26775 | 17356 | 4824556 | 0.9702644 | 0.005549733 | 0.9758141 |\n", "| 10_2019_P_M1_S10_L001_ReadsPerGene.out.tab | 3261459 | 464 | 75280 | 26470 | 6456 | 3370129 | 0.9677549 | 0.007854299 | 0.9756092 |\n", "| 10_2019_P_M1_S10_L002_ReadsPerGene.out.tab | 3208423 | 445 | 73190 | 25919 | 6097 | 3314074 | 0.9681205 | 0.007820888 | 0.9759414 |\n", "\n" ], "text/plain": [ " expid ngenemap namb nmulti nnofeat\n", "1 1_2019_P_M1_S1_L001_ReadsPerGene.out.tab 4660549 606 95540 26923 \n", "2 1_2019_P_M1_S1_L002_ReadsPerGene.out.tab 4591006 638 94070 26053 \n", "3 1_2019_P_M1_S1_L003_ReadsPerGene.out.tab 4715846 615 97787 27257 \n", "4 1_2019_P_M1_S1_L004_ReadsPerGene.out.tab 4681095 607 98723 26775 \n", "5 10_2019_P_M1_S10_L001_ReadsPerGene.out.tab 3261459 464 75280 26470 \n", "6 10_2019_P_M1_S10_L002_ReadsPerGene.out.tab 3208423 445 73190 25919 \n", " nunmap depth prob.gene prob.nofeat prob.unique\n", "1 21162 4804780 0.9699818 0.005603378 0.9755851 \n", "2 19644 4731411 0.9703249 0.005506391 0.9758313 \n", "3 19307 4860812 0.9701766 0.005607499 0.9757841 \n", "4 17356 4824556 0.9702644 0.005549733 0.9758141 \n", "5 6456 3370129 0.9677549 0.007854299 0.9756092 \n", "6 6097 3314074 0.9681205 0.007820888 0.9759414 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ngene %>%\n", " full_join(nmisc, by=\"expid\") %>%\n", " mutate(depth = as.integer(ngenemap + namb + nmulti + nnofeat + nunmap)) %>%\n", " mutate(prob.gene = ngenemap / depth) %>%\n", " mutate(prob.nofeat = nnofeat / depth) %>%\n", " mutate(prob.unique = (ngenemap+nnofeat) / depth) -> mapresults\n", "\n", "mapresults[1:6, ]" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "/home/jovyan/work/scratch/analysis_output/out/hts-pilot-2019.RData: 'f617195665ef950ffb36a89f2d18a9ca'" ], "text/latex": [ "\\textbf{/home/jovyan/work/scratch/analysis\\textbackslash{}\\_output/out/hts-pilot-2019.RData:} 'f617195665ef950ffb36a89f2d18a9ca'" ], "text/markdown": [ "**/home/jovyan/work/scratch/analysis_output/out/hts-pilot-2019.RData:** 'f617195665ef950ffb36a89f2d18a9ca'" ], "text/plain": [ "/home/jovyan/work/scratch/analysis_output/out/hts-pilot-2019.RData \n", " \"f617195665ef950ffb36a89f2d18a9ca\" " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "outfile <- file.path(outdir, \"hts-pilot-2019.RData\")\n", "save(mapresults, genecounts, file=outfile)\n", "tools::md5sum(outfile)" ] } ], "metadata": { "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "3.6.0" } }, "nbformat": 4, "nbformat_minor": 2 }