celescope 2.2.2__tar.gz → 2.3.0.dev1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. {celescope-2.2.2/celescope.egg-info → celescope-2.3.0.dev1}/PKG-INFO +1 -1
  2. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/__init__.py +2 -2
  3. celescope-2.3.0.dev1/celescope/bulk_rna/__init__.py +5 -0
  4. celescope-2.3.0.dev1/celescope/bulk_rna/multi_bulk_rna.py +33 -0
  5. celescope-2.3.0.dev1/celescope/bulk_rna/starsolo.py +247 -0
  6. celescope-2.3.0.dev1/celescope/chemistry_dict.py +84 -0
  7. celescope-2.3.0.dev1/celescope/data/chemistry/GEXSCOPE-V1/bc.txt +96 -0
  8. celescope-2.3.0.dev1/celescope/data/chemistry/GEXSCOPE-V1/linker1.txt +4 -0
  9. celescope-2.3.0.dev1/celescope/data/chemistry/GEXSCOPE-V1/linker2.txt +4 -0
  10. celescope-2.2.2/celescope/data/chemistry/scopeV3.0.1/bclist2 → celescope-2.3.0.dev1/celescope/data/chemistry/GEXSCOPE-V2/bc2.txt +1 -1
  11. celescope-2.2.2/celescope/data/chemistry/scopeV3.0.1/bclist3 → celescope-2.3.0.dev1/celescope/data/chemistry/GEXSCOPE-V2/bc3.txt +1 -1
  12. celescope-2.3.0.dev1/celescope/data/chemistry/GEXSCOPE-V2/linker1.txt +4 -0
  13. celescope-2.3.0.dev1/celescope/data/chemistry/GEXSCOPE-V2/linker2.txt +4 -0
  14. celescope-2.2.2/celescope/data/chemistry/scopeV3.0.1/bclist1 → celescope-2.3.0.dev1/celescope/data/chemistry/GEXSCOPE-V3/bc1.txt +1 -1
  15. celescope-2.3.0.dev1/celescope/data/chemistry/GEXSCOPE-V3/bc2.txt +96 -0
  16. celescope-2.2.2/celescope/data/chemistry/scopeV3.0.1/bclist → celescope-2.3.0.dev1/celescope/data/chemistry/GEXSCOPE-V3/bc3.txt +0 -192
  17. celescope-2.3.0.dev1/celescope/data/chemistry/GEXSCOPE-V3/linker1.txt +1 -0
  18. celescope-2.3.0.dev1/celescope/data/chemistry/GEXSCOPE-V3/linker2.txt +1 -0
  19. celescope-2.3.0.dev1/celescope/data/chemistry/bulk_rna-V2/bc.txt +96 -0
  20. celescope-2.3.0.dev1/celescope/data/chemistry/bulk_vdj/bc.txt +96 -0
  21. celescope-2.3.0.dev1/celescope/rna_5p3p/convert.py +124 -0
  22. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/rna_5p3p/multi_rna_5p3p.py +1 -7
  23. celescope-2.3.0.dev1/celescope/templates/html/bulk_rna/base.html +20 -0
  24. celescope-2.3.0.dev1/celescope/tools/__init__.py +14 -0
  25. celescope-2.3.0.dev1/celescope/tools/barcode.py +214 -0
  26. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/consensus.py +1 -0
  27. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/cutadapt.py +0 -9
  28. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/make_ref.py +3 -3
  29. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/matrix.py +11 -1
  30. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/multi.py +5 -13
  31. celescope-2.3.0.dev1/celescope/tools/parse_chemistry.py +388 -0
  32. celescope-2.3.0.dev1/celescope/tools/sample.py +54 -0
  33. celescope-2.3.0.dev1/celescope/tools/split_fastq.py +106 -0
  34. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/starsolo.py +156 -108
  35. {celescope-2.2.2/tests → celescope-2.3.0.dev1/celescope/tools/tag}/__init__.py +0 -0
  36. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/tag/mapping_tag.py +10 -46
  37. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/utils.py +31 -12
  38. {celescope-2.2.2 → celescope-2.3.0.dev1/celescope.egg-info}/PKG-INFO +1 -1
  39. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope.egg-info/SOURCES.txt +36 -32
  40. celescope-2.3.0.dev1/scripts/split_fastq.py +73 -0
  41. celescope-2.3.0.dev1/tests/__init__.py +0 -0
  42. celescope-2.3.0.dev1/tests/unittests/snp/__init__.py +0 -0
  43. celescope-2.2.2/celescope/bulk_rna/__init__.py +0 -18
  44. celescope-2.2.2/celescope/bulk_rna/count.py +0 -193
  45. celescope-2.2.2/celescope/bulk_rna/multi_bulk_rna.py +0 -41
  46. celescope-2.2.2/celescope/data/chemistry/scopeV2.0.0/bclist +0 -96
  47. celescope-2.2.2/celescope/data/chemistry/scopeV2.0.0/linker +0 -1
  48. celescope-2.2.2/celescope/data/chemistry/scopeV2.0.1/bclist +0 -96
  49. celescope-2.2.2/celescope/data/chemistry/scopeV2.0.1/linker_withC +0 -1
  50. celescope-2.2.2/celescope/data/chemistry/scopeV2.1.0/bclist +0 -96
  51. celescope-2.2.2/celescope/data/chemistry/scopeV2.1.0/linker +0 -1
  52. celescope-2.2.2/celescope/data/chemistry/scopeV2.1.1/bclist +0 -96
  53. celescope-2.2.2/celescope/data/chemistry/scopeV2.1.1/linker_withC +0 -1
  54. celescope-2.2.2/celescope/data/chemistry/scopeV2.2.1/bclist +0 -96
  55. celescope-2.2.2/celescope/data/chemistry/scopeV2.2.1/linker_4types +0 -4
  56. celescope-2.2.2/celescope/data/chemistry/scopeV3.0.1/linker_4types +0 -4
  57. celescope-2.2.2/celescope/rna_5p3p/convert.py +0 -140
  58. celescope-2.2.2/celescope/templates/html/bulk_rna/base.html +0 -21
  59. celescope-2.2.2/celescope/templates/html/bulk_rna/count.html +0 -30
  60. celescope-2.2.2/celescope/tools/__init__.py +0 -43
  61. celescope-2.2.2/celescope/tools/barcode.py +0 -949
  62. celescope-2.2.2/celescope/tools/sample.py +0 -85
  63. {celescope-2.2.2 → celescope-2.3.0.dev1}/LICENSE +0 -0
  64. {celescope-2.2.2 → celescope-2.3.0.dev1}/MANIFEST.in +0 -0
  65. {celescope-2.2.2 → celescope-2.3.0.dev1}/README.md +0 -0
  66. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/bulk_vdj/__init__.py +0 -0
  67. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/bulk_vdj/consensus.py +0 -0
  68. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/bulk_vdj/count_vdj.py +0 -0
  69. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/bulk_vdj/mapping_vdj.py +0 -0
  70. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/bulk_vdj/multi_bulk_vdj.py +0 -0
  71. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/capture_virus/__init__.py +0 -0
  72. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/capture_virus/analysis_virus.py +0 -0
  73. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/capture_virus/count.py +0 -0
  74. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/capture_virus/count_virus.py +0 -0
  75. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/capture_virus/featureCounts.py +0 -0
  76. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/capture_virus/filter_virus.py +0 -0
  77. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/capture_virus/mkref.py +0 -0
  78. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/capture_virus/multi_capture_virus.py +0 -0
  79. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/capture_virus/star_virus.py +0 -0
  80. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/celescope.py +0 -0
  81. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/citeseq/__init__.py +0 -0
  82. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/citeseq/analysis_cite.py +0 -0
  83. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/citeseq/count_cite.py +0 -0
  84. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/citeseq/mapping_tag.py +0 -0
  85. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/citeseq/multi_citeseq.py +0 -0
  86. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/data/Clindex/tag_barcode.fasta +0 -0
  87. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/data/Clindex/tag_linker.fasta +0 -0
  88. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/data/HLA/hla_reference_rna.fasta +0 -0
  89. {celescope-2.2.2/celescope/tools/emptydrop_cr → celescope-2.3.0.dev1/celescope/data}/__init__.py +0 -0
  90. /celescope-2.2.2/celescope/data/chemistry/5p3p-1/bclist1 → /celescope-2.3.0.dev1/celescope/data/chemistry/5p3p-1/bc1.txt +0 -0
  91. /celescope-2.2.2/celescope/data/chemistry/5p3p-1/bclist2 → /celescope-2.3.0.dev1/celescope/data/chemistry/5p3p-1/bc2.txt +0 -0
  92. /celescope-2.2.2/celescope/data/chemistry/5p3p-1/bclist3 → /celescope-2.3.0.dev1/celescope/data/chemistry/5p3p-1/bc3.txt +0 -0
  93. /celescope-2.2.2/celescope/data/chemistry/5p3p-2/bclist1 → /celescope-2.3.0.dev1/celescope/data/chemistry/5p3p-2/bc1.txt +0 -0
  94. /celescope-2.2.2/celescope/data/chemistry/5p3p-2/bclist2 → /celescope-2.3.0.dev1/celescope/data/chemistry/5p3p-2/bc2.txt +0 -0
  95. /celescope-2.2.2/celescope/data/chemistry/5p3p-2/bclist3 → /celescope-2.3.0.dev1/celescope/data/chemistry/5p3p-2/bc3.txt +0 -0
  96. /celescope-2.2.2/celescope/data/chemistry/5p3p-3/bclist1 → /celescope-2.3.0.dev1/celescope/data/chemistry/5p3p-3/bc1.txt +0 -0
  97. /celescope-2.2.2/celescope/data/chemistry/5p3p-3/bclist2 → /celescope-2.3.0.dev1/celescope/data/chemistry/5p3p-3/bc2.txt +0 -0
  98. /celescope-2.2.2/celescope/data/chemistry/5p3p-3/bclist3 → /celescope-2.3.0.dev1/celescope/data/chemistry/5p3p-3/bc3.txt +0 -0
  99. /celescope-2.2.2/celescope/data/chemistry/bulk_rna/bclist96 → /celescope-2.3.0.dev1/celescope/data/chemistry/GEXSCOPE-V2/bc1.txt +0 -0
  100. {celescope-2.2.2/celescope/tools/tag → celescope-2.3.0.dev1/celescope/data/chemistry}/__init__.py +0 -0
  101. /celescope-2.2.2/celescope/data/chemistry/bulk_rna/bclist384 → /celescope-2.3.0.dev1/celescope/data/chemistry/bulk_rna-V1/bc.txt +0 -0
  102. /celescope-2.2.2/celescope/data/chemistry/bulk_vdj/bclist → /celescope-2.3.0.dev1/celescope/data/chemistry/bulk_rna-bulk_vdj_match/bc.txt +0 -0
  103. /celescope-2.2.2/celescope/data/chemistry/bulk_vdj/linker → /celescope-2.3.0.dev1/celescope/data/chemistry/bulk_vdj/linker.txt +0 -0
  104. /celescope-2.2.2/celescope/data/chemistry/flv/bclist → /celescope-2.3.0.dev1/celescope/data/chemistry/flv/bc.txt +0 -0
  105. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/data/chemistry/flv/linker +0 -0
  106. /celescope-2.2.2/celescope/data/chemistry/flv_rna/bclist → /celescope-2.3.0.dev1/celescope/data/chemistry/flv_rna/bc.txt +0 -0
  107. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/data/chemistry/flv_rna/linker_4types +0 -0
  108. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/data/fusion/blood_1/BCR_ABL1_PML_RARA_all.fasta +0 -0
  109. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/data/fusion/blood_1/BCR_ABL1_PML_RARA_all_pos.txt +0 -0
  110. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/data/fusion/blood_1/mkref.sh +0 -0
  111. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/data/rRNA/human_ribo.fasta +0 -0
  112. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/data/snp/panel/CHIP.bed +0 -0
  113. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/data/snp/panel/blood_1.bed +0 -0
  114. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/data/snp/panel/lung_1.bed +0 -0
  115. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/data/sweetseq/sweetseq_barcode.fasta +0 -0
  116. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/data/sweetseq/sweetseq_linker.fasta +0 -0
  117. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/dynaseq/__init__.py +0 -0
  118. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/dynaseq/conversion.py +0 -0
  119. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/dynaseq/multi_dynaseq.py +0 -0
  120. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/dynaseq/replacement.py +0 -0
  121. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/dynaseq/substitution.py +0 -0
  122. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/flv_trust4/__init__.py +0 -0
  123. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/flv_trust4/annotation.py +0 -0
  124. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/flv_trust4/assemble.py +0 -0
  125. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/flv_trust4/mapping.py +0 -0
  126. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/flv_trust4/multi_flv_trust4.py +0 -0
  127. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/flv_trust4/summarize.py +0 -0
  128. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/fusion/__init__.py +0 -0
  129. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/fusion/analysis_fusion.py +0 -0
  130. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/fusion/count_fusion.py +0 -0
  131. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/fusion/filter_fusion.py +0 -0
  132. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/fusion/mkref.py +0 -0
  133. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/fusion/multi_fusion.py +0 -0
  134. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/fusion/star_fusion.py +0 -0
  135. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/hla/__init__.py +0 -0
  136. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/hla/mapping_hla.py +0 -0
  137. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/hla/multi_hla.py +0 -0
  138. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/pathseq/__init__.py +0 -0
  139. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/pathseq/analysis_pathseq.py +0 -0
  140. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/pathseq/count_pathseq.py +0 -0
  141. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/pathseq/multi_pathseq.py +0 -0
  142. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/pathseq/pathseq.py +0 -0
  143. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/pathseq/starsolo.py +0 -0
  144. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/rna/__init__.py +0 -0
  145. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/rna/analysis.py +0 -0
  146. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/rna/mkref.py +0 -0
  147. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/rna/multi_rna.py +0 -0
  148. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/rna/star.py +0 -0
  149. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/rna_5p3p/__init__.py +0 -0
  150. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/snp/__init__.py +0 -0
  151. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/snp/analysis_snp.py +0 -0
  152. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/snp/filter_snp.py +0 -0
  153. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/snp/mkref.py +0 -0
  154. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/snp/multi_snp.py +0 -0
  155. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/snp/variant_calling.py +0 -0
  156. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/sweetseq/__init__.py +0 -0
  157. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/sweetseq/analysis_tag.py +0 -0
  158. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/sweetseq/count_tag.py +0 -0
  159. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/sweetseq/mapping_tag.py +0 -0
  160. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/sweetseq/multi_sweetseq.py +0 -0
  161. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tag/__init__.py +0 -0
  162. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tag/analysis_tag.py +0 -0
  163. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tag/count_tag.py +0 -0
  164. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tag/mapping_tag.py +0 -0
  165. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tag/multi_tag.py +0 -0
  166. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tag/split_tag.py +0 -0
  167. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/bootstrap.min.css +0 -0
  168. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/buttons.dataTables.min.css +0 -0
  169. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/dataTables.jqueryui.min.css +0 -0
  170. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/fontello-323401c3/config.json +0 -0
  171. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/fontello-323401c3/css/animation.css +0 -0
  172. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/fontello-323401c3/css/fontello-codes.css +0 -0
  173. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/fontello-323401c3/css/fontello-embedded.css +0 -0
  174. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/fontello-323401c3/css/fontello-ie7-codes.css +0 -0
  175. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/fontello-323401c3/css/fontello-ie7.css +0 -0
  176. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/fontello-323401c3/css/fontello.css +0 -0
  177. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/fontello-323401c3/font/fontello.eot +0 -0
  178. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/fontello-323401c3/font/fontello.svg +0 -0
  179. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/fontello-323401c3/font/fontello.ttf +0 -0
  180. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/fontello-323401c3/font/fontello.woff +0 -0
  181. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/fontello-323401c3/font/fontello.woff2 +0 -0
  182. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/jquery-ui-git.css +0 -0
  183. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/jquery-ui.css +0 -0
  184. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/css/jquery.dataTables.css +0 -0
  185. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/bulk_vdj/base.html +0 -0
  186. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/bulk_vdj/count_vdj.html +0 -0
  187. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/capture_rna/base.html +0 -0
  188. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/capture_rna/count_capture_rna_summary.html +0 -0
  189. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/capture_virus/analysis_virus.html +0 -0
  190. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/capture_virus/base.html +0 -0
  191. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/citeseq/analysis_cite.html +0 -0
  192. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/citeseq/base.html +0 -0
  193. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/common/img1.html +0 -0
  194. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/common/logo.html +0 -0
  195. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/dynaseq/base.html +0 -0
  196. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/dynaseq/conversion.html +0 -0
  197. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/dynaseq/replacement.html +0 -0
  198. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/dynaseq/substitution.html +0 -0
  199. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/flv_trust4/annotation.html +0 -0
  200. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/flv_trust4/base.html +0 -0
  201. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/flv_trust4/summarize.html +0 -0
  202. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/fusion/analysis_fusion.html +0 -0
  203. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/fusion/base.html +0 -0
  204. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/hla/base.html +0 -0
  205. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/mut/base.html +0 -0
  206. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/pathseq/analysis_pathseq.html +0 -0
  207. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/pathseq/base.html +0 -0
  208. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/rna/analysis.html +0 -0
  209. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/rna/base.html +0 -0
  210. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/rna/count.html +0 -0
  211. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/rna/star.html +0 -0
  212. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/rna_5p3p/base.html +0 -0
  213. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/rna_virus/analysis_rna_virus_summary.html +0 -0
  214. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/rna_virus/base.html +0 -0
  215. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/snp/analysis_snp.html +0 -0
  216. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/snp/base.html +0 -0
  217. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/sweetseq/analysis_tag.html +0 -0
  218. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/sweetseq/base.html +0 -0
  219. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/tag/analysis_tag.html +0 -0
  220. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/tag/base.html +0 -0
  221. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/tcr_fl/analysis_tag_summary.html +0 -0
  222. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/tcr_fl/base.html +0 -0
  223. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/tcr_fl/count_tag_summary.html +0 -0
  224. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/tcr_fl/mapping_tag_summary.html +0 -0
  225. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/analysis.html +0 -0
  226. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/col1_metrics.html +0 -0
  227. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/col2_metrics.html +0 -0
  228. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/end.html +0 -0
  229. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/head.html +0 -0
  230. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/help_info.html +0 -0
  231. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/preprocessing.html +0 -0
  232. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/start.html +0 -0
  233. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/step.html +0 -0
  234. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/table_dict.html +0 -0
  235. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/table_script/bulk_rna.html +0 -0
  236. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/table_script/bulk_vdj.html +0 -0
  237. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/table_script/dynaseq.html +0 -0
  238. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/table_script/pathseq.html +0 -0
  239. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/table_script/rna.html +0 -0
  240. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/table_script/snp.html +0 -0
  241. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/utils/table_script/vdj.html +0 -0
  242. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/vdj/base.html +0 -0
  243. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/html/vdj/count_vdj.html +0 -0
  244. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/img/img1.png +0 -0
  245. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/img/logo2.png +0 -0
  246. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/js/bootstrap.min.js +0 -0
  247. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/js/buttons.flash.min.js +0 -0
  248. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/js/buttons.html5.min.js +0 -0
  249. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/js/buttons.print.min.js +0 -0
  250. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/js/dataTables.buttons.min.js +0 -0
  251. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/js/dataTables.jqueryui.min.js +0 -0
  252. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/js/jquery.dataTables.js +0 -0
  253. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/js/jquery.dataTables.min.js +0 -0
  254. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/js/jquery.min.3.3.1.js +0 -0
  255. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/js/jquery.min.js +0 -0
  256. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/js/jszip.min.js +0 -0
  257. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/templates/js/plotly-2.12.1.min.js +0 -0
  258. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/analysis_wrapper.py +0 -0
  259. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/capture/__init__.py +0 -0
  260. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/capture/analysis.py +0 -0
  261. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/capture/count_bam.py +0 -0
  262. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/capture/filter.py +0 -0
  263. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/capture/threshold.py +0 -0
  264. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/cells.py +0 -0
  265. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/count.py +0 -0
  266. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/debug.py +0 -0
  267. {celescope-2.2.2/scripts → celescope-2.3.0.dev1/celescope/tools/emptydrop_cr}/__init__.py +0 -0
  268. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/emptydrop_cr/cell_calling_3.py +0 -0
  269. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/emptydrop_cr/get_plot_elements.py +0 -0
  270. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/emptydrop_cr/sgt.py +0 -0
  271. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/emptydrop_cr/stats.py +0 -0
  272. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/featureCounts.py +0 -0
  273. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/merge_table.py +0 -0
  274. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/plotly_plot.py +0 -0
  275. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/prep.py +0 -0
  276. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/prep_map.py +0 -0
  277. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/reference.py +0 -0
  278. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/report.py +0 -0
  279. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/star_mixin.py +0 -0
  280. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/step.py +0 -0
  281. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/tag/analysis_tag.py +0 -0
  282. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/tag/count_tag.py +0 -0
  283. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/target_metrics.py +0 -0
  284. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/AddSequenceToCDR3File.pl +0 -0
  285. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/GetFullLengthAssembly.pl +0 -0
  286. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/Immune_marker.json +0 -0
  287. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/barcoderep-filter.py +0 -0
  288. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/human/IGH.fa +0 -0
  289. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/human/IGK.fa +0 -0
  290. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/human/IGL.fa +0 -0
  291. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/human/IMGT+C.fa +0 -0
  292. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/human/TRA.fa +0 -0
  293. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/human/TRB.fa +0 -0
  294. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/human/bcrtcr.fa +0 -0
  295. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/mouse/BCR.fa +0 -0
  296. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/mouse/IGH.fa +0 -0
  297. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/mouse/IGK.fa +0 -0
  298. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/mouse/IGL.fa +0 -0
  299. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/mouse/IMGT+C.fa +0 -0
  300. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/mouse/TCR.fa +0 -0
  301. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/mouse/TRA.fa +0 -0
  302. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/mouse/TRB.fa +0 -0
  303. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/database/mouse/bcrtcr.fa +0 -0
  304. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/trust-airr.pl +0 -0
  305. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/trust-barcoderep-to-10X.pl +0 -0
  306. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/trust-barcoderep.pl +0 -0
  307. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/trust-cluster.py +0 -0
  308. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/trust-simplerep.pl +0 -0
  309. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/tools/trust4/trust-stats.py +0 -0
  310. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/utils/__init__.py +0 -0
  311. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/utils/mapping_vdj.py +0 -0
  312. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/utils/mkgtf.py +0 -0
  313. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/vdj/__init__.py +0 -0
  314. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/vdj/count_vdj.py +0 -0
  315. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/vdj/mapping_vdj.py +0 -0
  316. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/vdj/mkref.py +0 -0
  317. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope/vdj/multi_vdj.py +0 -0
  318. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope.egg-info/dependency_links.txt +0 -0
  319. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope.egg-info/entry_points.txt +0 -0
  320. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope.egg-info/requires.txt +0 -0
  321. {celescope-2.2.2 → celescope-2.3.0.dev1}/celescope.egg-info/top_level.txt +0 -0
  322. {celescope-2.2.2/tests/unittests/snp → celescope-2.3.0.dev1/scripts}/__init__.py +0 -0
  323. {celescope-2.2.2 → celescope-2.3.0.dev1}/scripts/add_tag.py +0 -0
  324. {celescope-2.2.2 → celescope-2.3.0.dev1}/scripts/add_zero_count_genes.py +0 -0
  325. {celescope-2.2.2 → celescope-2.3.0.dev1}/scripts/extract_read.py +0 -0
  326. {celescope-2.2.2 → celescope-2.3.0.dev1}/scripts/generate_docs.py +0 -0
  327. {celescope-2.2.2 → celescope-2.3.0.dev1}/scripts/release_local.py +0 -0
  328. {celescope-2.2.2 → celescope-2.3.0.dev1}/setup.cfg +0 -0
  329. {celescope-2.2.2 → celescope-2.3.0.dev1}/setup.py +0 -0
  330. {celescope-2.2.2 → celescope-2.3.0.dev1}/tests/conftest.py +0 -0
  331. {celescope-2.2.2 → celescope-2.3.0.dev1}/tests/test_function.py +0 -0
  332. {celescope-2.2.2 → celescope-2.3.0.dev1}/tests/test_multi.py +0 -0
  333. {celescope-2.2.2 → celescope-2.3.0.dev1}/tests/unittests/__init__.py +0 -0
  334. {celescope-2.2.2 → celescope-2.3.0.dev1}/tests/unittests/snp/test_snp.py +0 -0
  335. {celescope-2.2.2 → celescope-2.3.0.dev1}/tests/unittests/snp/test_variant_calling.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: celescope
3
- Version: 2.2.2
3
+ Version: 2.3.0.dev1
4
4
  Summary: Single Cell Analysis Pipelines
5
5
  Home-page: https://github.com/singleron-RD/CeleScope
6
6
  Author: zhouyiqi
@@ -1,6 +1,6 @@
1
1
  import os
2
2
 
3
- __VERSION__ = "2.2.2"
3
+ __VERSION__ = "2.3.0dev1"
4
4
  __version__ = __VERSION__
5
5
 
6
6
  ASSAY_LIST = [
@@ -58,7 +58,7 @@ HELP_DICT = {
58
58
  "genomeSAindexNbases": """For small genomes, the parameter --genomeSAindexNbases must to be scaled down, with a typical
59
59
  value of min(14, log2(GenomeLength)/2 - 1). For example, for 1 megaBase genome, this is equal
60
60
  to 9, for 100 kiloBase genome, this is equal to 7.""",
61
- "chemistry": "`--chemistry auto` can auto-detect scopeV2 mRNA, scopeV3 mRNA, full length VDJ mRNA(flv_rna) and full length VDJ(flv). You need to explicitly use `--chemistry scopeV1` for legacy chemistry scopeV1. `--chemistry customized` is used for user defined combinations that you need to provide `--pattern`, `--whitelist` and `--linker` at the same time.",
61
+ "chemistry": "`--chemistry auto` can auto-detect most chemistry. You need to explicitly use `--chemistry GEXSCOPE-MicroBead` for legacy chemistry GEXSCOPE-MicroBead as it has no barcode whitelists. `--chemistry customized` is used for user defined combinations that you need to provide `--pattern` and optional `--whitelist` at the same time.",
62
62
  }
63
63
 
64
64
  # report metrics help
@@ -0,0 +1,5 @@
1
+ STEPS = ["sample", "starsolo", "cells", "split_fastq"]
2
+ __ASSAY__ = "bulk_rna"
3
+ REMOVE_FROM_MULTI = {
4
+ "cells",
5
+ }
@@ -0,0 +1,33 @@
1
+ from celescope.bulk_rna.__init__ import __ASSAY__
2
+ from celescope.tools.multi import Multi
3
+ from celescope.tools.__init__ import (
4
+ OUTS_DIR,
5
+ )
6
+
7
+
8
+ class Multi_bulk_rna(Multi):
9
+ def starsolo(self, sample):
10
+ step = "starsolo"
11
+ arr = self.fq_dict[sample]
12
+ cmd_line = self.get_cmd_line(step, sample)
13
+ cmd = f'{cmd_line} ' f'--fq1 {arr["fq1_str"]} --fq2 {arr["fq2_str"]} '
14
+ self.process_cmd(cmd, step, sample, m=self.args.starMem, x=self.args.thread)
15
+
16
+ def split_fastq(self, sample):
17
+ step = "split_fastq"
18
+ arr = self.fq_dict[sample]
19
+ cmd_line = self.get_cmd_line(step, sample)
20
+ cmd = (
21
+ f'{cmd_line} '
22
+ f'--fq1 {arr["fq1_str"]} --fq2 {arr["fq2_str"]} --barcodes {self.outdir_dic[sample][OUTS_DIR]}/filtered/barcodes.tsv.gz'
23
+ )
24
+ self.process_cmd(cmd, step, sample, m=5, x=1)
25
+
26
+
27
+ def main():
28
+ multi = Multi_bulk_rna(__ASSAY__)
29
+ multi.run()
30
+
31
+
32
+ if __name__ == "__main__":
33
+ main()
@@ -0,0 +1,247 @@
1
+ import subprocess
2
+ import sys
3
+
4
+ import numpy as np
5
+ import pandas as pd
6
+
7
+ from celescope.__init__ import HELP_DICT
8
+ from celescope.tools.__init__ import COUNTS_FILE_NAME
9
+ from celescope.chemistry_dict import chemistry_dict
10
+ from celescope.tools.emptydrop_cr import get_plot_elements
11
+ from celescope.tools.starsolo import (
12
+ Demultiplexing,
13
+ Mapping,
14
+ create_solo_args,
15
+ )
16
+ from celescope.tools.starsolo import (
17
+ Starsolo as tools_Starsolo,
18
+ )
19
+ from celescope.tools.matrix import CountMatrix
20
+ from celescope.tools import utils
21
+ from celescope.tools.step import Step, s_common
22
+
23
+ SAM_attributes = "NH HI nM AS CR UR CB UB GX GN "
24
+
25
+
26
+ class Starsolo(tools_Starsolo):
27
+ def __init__(self, args, display_title=None):
28
+ super().__init__(args, display_title=display_title)
29
+ self.tsv_matrix_file = f"{self.out_prefix}_matrix.tsv.gz"
30
+ self.outs.append(self.tsv_matrix_file)
31
+
32
+ def run_starsolo(self):
33
+ cmd = create_solo_args(
34
+ pattern_args=self.pattern_args,
35
+ whitelist_args=self.whitelist_args,
36
+ outFileNamePrefix=self.out_prefix + "_",
37
+ fq1=self.args.fq1,
38
+ fq2=self.args.fq2,
39
+ genomeDir=self.args.genomeDir,
40
+ soloCellFilter=self.args.soloCellFilter,
41
+ runThreadN=self.args.thread,
42
+ clip3pAdapterSeq=self.args.adapter_3p,
43
+ outFilterMatchNmin=self.args.outFilterMatchNmin,
44
+ soloFeatures=self.args.soloFeatures,
45
+ outSAMattributes=self.outSAMattributes,
46
+ soloCBmatchWLtype=self.args.soloCBmatchWLtype,
47
+ extra_starsolo_args=self.extra_starsolo_args,
48
+ )
49
+ if self.chemistry == "bulk_rna-bulk_vdj_match":
50
+ cmd += "--soloStrand Reverse \\\n"
51
+ sys.stderr.write(cmd)
52
+ subprocess.check_call(cmd, shell=True)
53
+ cmd = f"chmod -R 755 {self.solo_out_dir}"
54
+ sys.stderr.write(cmd)
55
+ subprocess.check_call(cmd, shell=True)
56
+
57
+ @utils.add_log
58
+ def keep_barcodes(self):
59
+ """take in raw matrix, only keep barcodes in the input file, and convert barcodes to sample names"""
60
+ matrix = CountMatrix.from_matrix_dir(self.raw_matrix)
61
+ barcode_sample = utils.two_col_to_dict(self.args.barcode_sample)
62
+ for barcode in barcode_sample:
63
+ if barcode not in matrix.get_barcodes():
64
+ barcode_sample.pop(barcode)
65
+ sys.stderr.write(
66
+ f"WARNING: {barcode} {barcode_sample[barcode]} not found in raw matrix!\n"
67
+ )
68
+ filtered = matrix.slice_matrix_bc(barcode_sample.keys())
69
+ filtered.to_matrix_dir(self.filtered_matrix)
70
+ samples = [barcode_sample[bc] for bc in filtered.get_barcodes()]
71
+ converted = CountMatrix(filtered.get_features(), samples, filtered.get_matrix())
72
+ df = converted.to_df()
73
+ df.to_csv(self.tsv_matrix_file, sep="\t")
74
+ return filtered
75
+
76
+ def run(self):
77
+ self.run_starsolo()
78
+ filtered = self.keep_barcodes()
79
+ self.gzip_matrix()
80
+ q30_cb, q30_umi = self.get_Q30_cb_UMI()
81
+ return q30_cb, q30_umi, filtered
82
+
83
+
84
+ class Cells(Step):
85
+ def __init__(self, args, display_title=None):
86
+ super().__init__(args, display_title=display_title)
87
+ solo_dir = f"{self.outdir}/{self.sample}_Solo.out/GeneFull_Ex50pAS"
88
+ self.summary_file = f"{solo_dir}/Summary.csv"
89
+ self.counts_file = f"{self.outs_dir}/{COUNTS_FILE_NAME}"
90
+
91
+ @utils.add_log
92
+ def parse_summary(self):
93
+ df = pd.read_csv(self.summary_file, index_col=0, header=None)
94
+ s = df.iloc[:, 0]
95
+ saturation = float(s["Sequencing Saturation"])
96
+ n_reads = int(s["Number of Reads"])
97
+ q30_RNA = float(s["Q30 Bases in RNA read"])
98
+
99
+ return n_reads, q30_RNA, saturation
100
+
101
+ def run(self, filtered: CountMatrix):
102
+ df_counts = pd.read_csv(self.counts_file, index_col=0, header=0, sep="\t")
103
+ reads_total = df_counts["countedU"].sum()
104
+ bcs = filtered.get_barcodes()
105
+ n_cells = len(bcs)
106
+ reads_cell = df_counts.loc[bcs, "countedU"].sum()
107
+ fraction_reads_in_cells = float(reads_cell / reads_total)
108
+ mean_used_reads_per_cell = int(reads_cell // len(bcs))
109
+ median_umi_per_cell = int(df_counts.loc[bcs, "UMI"].median())
110
+
111
+ bc_geneNum, total_genes = filtered.get_bc_geneNum()
112
+ median_genes_per_cell = int(np.median(list(bc_geneNum.values())))
113
+
114
+ df_counts.loc[:, "mark"] = "UB"
115
+ df_counts.loc[bcs, "mark"] = "CB"
116
+ df_counts.to_csv(self.counts_file, sep="\t", index=True)
117
+
118
+ self.add_metric(
119
+ "Number of Wells",
120
+ n_cells,
121
+ help_info="number of barcodes with at least one UMI",
122
+ )
123
+ self.add_metric(
124
+ "Fraction of Reads in Wells",
125
+ fraction_reads_in_cells,
126
+ value_type="fraction",
127
+ help_info="Fraction of reads which were mapped to a barcode",
128
+ )
129
+ self.add_metric(
130
+ "Mean Reads per Well",
131
+ mean_used_reads_per_cell,
132
+ help_info="Mean number of reads per barcode",
133
+ )
134
+ self.add_metric(
135
+ "Median UMI per Well",
136
+ median_umi_per_cell,
137
+ help_info="Median UMI count per barcode",
138
+ )
139
+ self.add_metric(
140
+ "Median Genes per Well",
141
+ median_genes_per_cell,
142
+ help_info="Median number of genes per barcode",
143
+ )
144
+ self.add_data(chart=get_plot_elements.plot_barcode_rank(self.counts_file))
145
+
146
+ n_reads, q30_RNA, saturation = self.parse_summary()
147
+ self.add_metric(
148
+ "Saturation",
149
+ saturation,
150
+ value_type="fraction",
151
+ help_info="the fraction of read originating from an already-observed UMI.",
152
+ )
153
+ return n_reads, q30_RNA
154
+
155
+
156
+ def starsolo(args):
157
+ with Starsolo(args) as runner:
158
+ q30_cb, q30_umi, filtered = runner.run()
159
+
160
+ with Mapping(args) as runner:
161
+ valid_reads, corrected = runner.run()
162
+
163
+ with Cells(args) as runner:
164
+ n_reads, q30_RNA = runner.run(filtered)
165
+
166
+ with Demultiplexing(args) as runner:
167
+ runner.run(valid_reads, n_reads, corrected, q30_cb, q30_umi, q30_RNA)
168
+
169
+
170
+ def get_opts_starsolo(parser, sub_program=True):
171
+ parser.add_argument(
172
+ "--chemistry",
173
+ help=HELP_DICT["chemistry"],
174
+ choices=list(chemistry_dict.keys()),
175
+ default="auto",
176
+ )
177
+ parser.add_argument(
178
+ "--pattern",
179
+ help="""The pattern of R1 reads, e.g. `C8L16C8L16C8L1U12T18`. The number after the letter represents the number
180
+ of bases.
181
+ - `C`: cell barcode
182
+ - `L`: linker(common sequences)
183
+ - `U`: UMI
184
+ - `T`: poly T""",
185
+ )
186
+ parser.add_argument(
187
+ "--whitelist",
188
+ help="whitelist file path.",
189
+ )
190
+ parser.add_argument(
191
+ "--adapter_3p",
192
+ help="Adapter sequence to clip from 3 prime. Multiple sequences are seperated by space",
193
+ default="AAAAAAAAAAAA",
194
+ )
195
+ parser.add_argument(
196
+ "--genomeDir",
197
+ help=HELP_DICT["genomeDir"],
198
+ )
199
+ parser.add_argument(
200
+ "--outFilterMatchNmin",
201
+ help="""Alignment will be output only if the number of matched bases
202
+ is higher than or equal to this value.""",
203
+ default=50,
204
+ )
205
+ parser.add_argument(
206
+ "--soloCellFilter",
207
+ help="The same as the argument in STARsolo",
208
+ default="None",
209
+ )
210
+ parser.add_argument(
211
+ "--starMem", help="Maximum memory that STAR can use.", default=32
212
+ )
213
+ parser.add_argument("--STAR_param", help=HELP_DICT["additional_param"], default="")
214
+ parser.add_argument(
215
+ "--SAM_attributes",
216
+ help=f"Additional attributes(other than {SAM_attributes}) to be added to SAM file",
217
+ default="",
218
+ )
219
+ parser.add_argument(
220
+ "--soloFeatures",
221
+ help="The same as the argument in STARsolo",
222
+ default="GeneFull_Ex50pAS Gene",
223
+ )
224
+ parser.add_argument(
225
+ "--soloCBmatchWLtype",
226
+ help="The same as the argument in STARsolo. Please note `EditDist 2` only works with `--soloType CB UMI Complex`. ",
227
+ default="1MM",
228
+ )
229
+ parser.add_argument(
230
+ "--barcode_sample",
231
+ help="tsv file of well barcodes and sample names. The first column is well barcodes and the second column is sample names.",
232
+ required=True,
233
+ )
234
+ if sub_program:
235
+ parser.add_argument(
236
+ "--fq1",
237
+ help="R1 fastq file. Multiple files are separated by comma.",
238
+ required=True,
239
+ )
240
+ parser.add_argument(
241
+ "--fq2",
242
+ help="R2 fastq file. Multiple files are separated by comma.",
243
+ required=True,
244
+ )
245
+ parser = s_common(parser)
246
+
247
+ return parser
@@ -0,0 +1,84 @@
1
+ from importlib import resources
2
+
3
+ chemistry_dict = {
4
+ "auto": {
5
+ "pattern": "" # auto detect
6
+ },
7
+ "customized": {
8
+ "pattern": "" # user defined
9
+ },
10
+ "GEXSCOPE-MicroBead": {
11
+ "pattern": "C12U8",
12
+ "bc": [],
13
+ },
14
+ "GEXSCOPE-V1": {
15
+ "pattern": "C8L16C8L16C8L1U12",
16
+ "bc": ["bc.txt", "bc.txt", "bc.txt"],
17
+ },
18
+ "GEXSCOPE-V2": {
19
+ "pattern": "C9L16C9L16C9L1U12",
20
+ "bc": ["bc1.txt", "bc2.txt", "bc3.txt"],
21
+ },
22
+ "GEXSCOPE-V3": {
23
+ # 0-3 bases offset at the begining
24
+ "pattern": "C9L6C9L6C9L1U12",
25
+ "bc": ["bc1.txt", "bc2.txt", "bc3.txt"],
26
+ "linker": ["linker1.txt", "linker2.txt"],
27
+ },
28
+ "flv_rna": {
29
+ "pattern": "C8L16C8L16C8U9L6",
30
+ "bc": ["bc.txt", "bc.txt", "bc.txt"],
31
+ },
32
+ "flv": {
33
+ "pattern": "U9C8L16C8L16C8",
34
+ "bc": ["bc.txt", "bc.txt", "bc.txt"],
35
+ },
36
+ "rna_5p-1": {
37
+ "pattern": "U8C9L4C9L4C9",
38
+ },
39
+ "rna_3p-1": {
40
+ "pattern": "C9L4C9L4C9U8",
41
+ },
42
+ "5p3p-1": {
43
+ "pattern": "C9C9C9U8", # converted
44
+ "bc": ["bc1.txt", "bc2.txt", "bc3.txt"],
45
+ },
46
+ "rna_5p-2": {
47
+ "pattern": "C8L4U9C8L4C8",
48
+ },
49
+ "rna_3p-2": {
50
+ "pattern": "C8L4C8U9L4C8",
51
+ },
52
+ "5p3p-2": {
53
+ "pattern": "C8C8C8U9", # converted
54
+ "bc": ["bc1.txt", "bc2.txt", "bc3.txt"],
55
+ },
56
+ "rna_5p-3": {
57
+ "pattern": "C9L6U9C9L4C9",
58
+ },
59
+ "rna_3p-3": {
60
+ "pattern": "C9L4C9U9L6C9",
61
+ },
62
+ "5p3p-3": {
63
+ "pattern": "C9C9C9U9", # converted
64
+ "bc": ["bc1.txt", "bc2.txt", "bc3.txt"],
65
+ },
66
+ "bulk_vdj": {
67
+ "pattern": "L18C6U16",
68
+ "bc": ["bc.txt"],
69
+ },
70
+ "bulk_rna-V1": {
71
+ "pattern": "C9U12",
72
+ "bc": ["bc.txt"],
73
+ },
74
+ "bulk_rna-V2": {
75
+ "pattern": "L9C9U12",
76
+ "bc": ["bc.txt"],
77
+ },
78
+ "bulk_rna-bulk_vdj_match": {
79
+ "pattern": "L18C6U16",
80
+ "bc": ["bc.txt"],
81
+ },
82
+ }
83
+
84
+ chemistry_dir = str(resources.files("celescope.data.chemistry"))
@@ -0,0 +1,96 @@
1
+ AACGTGAT
2
+ AAACATCG
3
+ ATGCCTAA
4
+ AGTGGTCA
5
+ ACCACTGT
6
+ ACATTGGC
7
+ CAGATCTG
8
+ CATCAAGT
9
+ CGCTGATC
10
+ ACAAGCTA
11
+ CTGTAGCC
12
+ AGTACAAG
13
+ AACAACCA
14
+ AACCGAGA
15
+ AACGCTTA
16
+ AAGACGGA
17
+ AAGGTACA
18
+ ACACAGAA
19
+ ACAGCAGA
20
+ ACCTCCAA
21
+ ACGCTCGA
22
+ ACGTATCA
23
+ ACTATGCA
24
+ AGAGTCAA
25
+ AGATCGCA
26
+ AGCAGGAA
27
+ AGTCACTA
28
+ ATCCTGTA
29
+ ATTGAGGA
30
+ CAACCACA
31
+ GACTAGTA
32
+ CAATGGAA
33
+ CACTTCGA
34
+ CAGCGTTA
35
+ CATACCAA
36
+ CCAGTTCA
37
+ CCGAAGTA
38
+ CCGTGAGA
39
+ CCTCCTGA
40
+ CGAACTTA
41
+ CGACTGGA
42
+ CGCATACA
43
+ CTCAATGA
44
+ CTGAGCCA
45
+ CTGGCATA
46
+ GAATCTGA
47
+ CAAGACTA
48
+ GAGCTGAA
49
+ GATAGACA
50
+ GCCACATA
51
+ GCGAGTAA
52
+ GCTAACGA
53
+ GCTCGGTA
54
+ GGAGAACA
55
+ GGTGCGAA
56
+ GTACGCAA
57
+ GTCGTAGA
58
+ GTCTGTCA
59
+ GTGTTCTA
60
+ TAGGATGA
61
+ TATCAGCA
62
+ TCCGTCTA
63
+ TCTTCACA
64
+ TGAAGAGA
65
+ TGGAACAA
66
+ TGGCTTCA
67
+ TGGTGGTA
68
+ TTCACGCA
69
+ AACTCACC
70
+ AAGAGATC
71
+ AAGGACAC
72
+ AATCCGTC
73
+ AATGTTGC
74
+ ACACGACC
75
+ ACAGATTC
76
+ AGATGTAC
77
+ AGCACCTC
78
+ AGCCATGC
79
+ AGGCTAAC
80
+ ATAGCGAC
81
+ ATCATTCC
82
+ ATTGGCTC
83
+ CAAGGAGC
84
+ CACCTTAC
85
+ CCATCCTC
86
+ CCGACAAC
87
+ CCTAATCC
88
+ CCTCTATC
89
+ CGACACAC
90
+ CGGATTGC
91
+ CTAAGGTC
92
+ GAACAGGC
93
+ GACAGTGC
94
+ GAGTTAGC
95
+ GATGAATC
96
+ GCCAAGAC
@@ -0,0 +1,4 @@
1
+ ATCCACGTGCTTGAGA
2
+ TCGGTGACAGCCATAT
3
+ CGAACATGTAGGTCTC
4
+ GATTGTCACTAACGCG
@@ -0,0 +1,4 @@
1
+ TCAGCATGCGGCTACG
2
+ CGTAGTCAGAAGCTGA
3
+ GACTACGTATTAGCAT
4
+ ATGCTGACTCCTAGTC
@@ -93,4 +93,4 @@ GATAACCGC
93
93
  GCTGCGATA
94
94
  TACTCACCA
95
95
  ACCAGGTCA
96
- GCAACTTCA
96
+ GCAACTTCA
@@ -189,4 +189,4 @@ CTAGGTTGC
189
189
  AGGCAGAAC
190
190
  CTACTATGG
191
191
  CTCAATCGT
192
- GTAACGCTT
192
+ GTAACGCTT
@@ -0,0 +1,4 @@
1
+ ATCCACGTGCTTGAGA
2
+ TCGGTGACAGCCATAT
3
+ CGAACATGTAGGTCTC
4
+ GATTGTCACTAACGCG
@@ -0,0 +1,4 @@
1
+ TCAGCATGCGGCTACG
2
+ CGTAGTCAGAAGCTGA
3
+ GACTACGTATTAGCAT
4
+ ATGCTGACTCCTAGTC
@@ -93,4 +93,4 @@ TACCGTCTG
93
93
  TCTTGCTTG
94
94
  CCAGCTAAC
95
95
  CTTACGCAG
96
- AGTAGGAGG
96
+ AGTAGGAGG
@@ -0,0 +1,96 @@
1
+ TTGGTGACC
2
+ CATCGGTTC
3
+ CAATGCAAC
4
+ AAGGTGGTA
5
+ TCAGGTAGA
6
+ CACTAGGCA
7
+ GGCATGCAA
8
+ ATGCGATAC
9
+ AGACGAAGT
10
+ CGATAAGGC
11
+ CGAGTTGCA
12
+ GGTGATCAG
13
+ AGTGGTGGT
14
+ TAGCGATGA
15
+ ATGCCTAAG
16
+ CCATAATCG
17
+ CTAACCAGA
18
+ TGATGTGCC
19
+ TAGCTACAC
20
+ TCCTGGCTT
21
+ GTAGTTCCT
22
+ GTATCCTTC
23
+ GCCATAACC
24
+ GCATGTTGG
25
+ AATCCGGTG
26
+ ACGTTACGA
27
+ AGCATAGCG
28
+ GGTCCGTAA
29
+ GTTCTACCG
30
+ CGCTGTAAG
31
+ CGTCATACC
32
+ TGGTAACCG
33
+ ACAACAGGT
34
+ TGACTTCCG
35
+ CACGCAATA
36
+ ACCGTACTC
37
+ GATGTGTGT
38
+ ACACCAACG
39
+ TTGAGACAG
40
+ CGGATCATC
41
+ TAATGGCCG
42
+ ACCTCGACT
43
+ CGGCTAGAT
44
+ TGGACTTGT
45
+ TGATCCTCT
46
+ ATAGCGTGT
47
+ TGTCGGTGT
48
+ AGCCACATA
49
+ GAAGAAGCC
50
+ CTGTGGTAT
51
+ CAGCCGAAT
52
+ ACCTGCTAC
53
+ TCTTCTCAG
54
+ GATCAGGAC
55
+ TAGACCACT
56
+ TGAGTAGTC
57
+ TTCGAGGAT
58
+ ATGTATCGG
59
+ TCTGTCTGC
60
+ GCTTACAGG
61
+ ATACCAGTC
62
+ AACGTCCAA
63
+ CTCCTCAAT
64
+ TTCCAATCG
65
+ AACGCTAGT
66
+ TTACACGAC
67
+ CATACGACC
68
+ CTAATCGCG
69
+ CGTAATTGG
70
+ GTAGTGTTG
71
+ TATAGCGGT
72
+ CGTACTGAA
73
+ TCGATGTGG
74
+ CCAGAAGAT
75
+ AGGCTGTTG
76
+ TGAGGCCTT
77
+ CCAGTCCTA
78
+ CAATTGCGC
79
+ TTGCCGTCA
80
+ GAGTTGACA
81
+ TGGTCAGTT
82
+ GGTAGTCCA
83
+ ATCCTTCCA
84
+ ATGTGCAGC
85
+ GGAAGACTC
86
+ GTAATGGAC
87
+ TATCGTGCA
88
+ CCTACAAGG
89
+ TAGTCCGGA
90
+ AGATACGCA
91
+ ACTCATCGT
92
+ GATAACCGC
93
+ GCTGCGATA
94
+ TACTCACCA
95
+ ACCAGGTCA
96
+ GCAACTTCA