orfdata 0.36.0__tar.gz → 0.37.0__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 (324) hide show
  1. {orfdata-0.36.0/orfdata.egg-info → orfdata-0.37.0}/PKG-INFO +11 -6
  2. {orfdata-0.36.0 → orfdata-0.37.0}/README.md +10 -5
  3. {orfdata-0.36.0 → orfdata-0.37.0}/docs/catalogs.md +50 -44
  4. {orfdata-0.36.0 → orfdata-0.37.0}/docs/coverage.md +2 -2
  5. {orfdata-0.36.0 → orfdata-0.37.0}/docs/downstream.md +5 -0
  6. {orfdata-0.36.0 → orfdata-0.37.0}/docs/index.md +10 -7
  7. {orfdata-0.36.0 → orfdata-0.37.0}/docs/proteome.md +16 -0
  8. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/catalog.py +6 -0
  9. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/catalogs.py +2 -2
  10. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/cli.py +3 -0
  11. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/catalogs.json +511 -5
  12. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/proteome.py +65 -15
  13. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/proteome_cli.py +4 -1
  14. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/sources/riborf.py +25 -11
  15. orfdata-0.37.0/orfdata/version.py +1 -0
  16. {orfdata-0.36.0 → orfdata-0.37.0/orfdata.egg-info}/PKG-INFO +11 -6
  17. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/README.md +2 -2
  18. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_catalog_registry.py +9 -3
  19. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_more_species.py +13 -12
  20. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_proteome.py +19 -0
  21. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_riborf.py +37 -9
  22. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_uorf_catalog.py +3 -0
  23. orfdata-0.36.0/orfdata/version.py +0 -1
  24. {orfdata-0.36.0 → orfdata-0.37.0}/LICENSE +0 -0
  25. {orfdata-0.36.0 → orfdata-0.37.0}/MANIFEST.in +0 -0
  26. {orfdata-0.36.0 → orfdata-0.37.0}/deploy.sh +0 -0
  27. {orfdata-0.36.0 → orfdata-0.37.0}/docs/copy-yeast.md +0 -0
  28. {orfdata-0.36.0 → orfdata-0.37.0}/docs/dog-peptides.md +0 -0
  29. {orfdata-0.36.0 → orfdata-0.37.0}/docs/downloads.md +0 -0
  30. {orfdata-0.36.0 → orfdata-0.37.0}/docs/examples.md +0 -0
  31. {orfdata-0.36.0 → orfdata-0.37.0}/docs/human-tissue.md +0 -0
  32. {orfdata-0.36.0 → orfdata-0.37.0}/docs/ingolia-yeast.md +0 -0
  33. {orfdata-0.36.0 → orfdata-0.37.0}/docs/measurements.md +0 -0
  34. {orfdata-0.36.0 → orfdata-0.37.0}/docs/pairing.md +0 -0
  35. {orfdata-0.36.0 → orfdata-0.37.0}/docs/pfizer-protein.md +0 -0
  36. {orfdata-0.36.0 → orfdata-0.37.0}/docs/pfizer-rna.md +0 -0
  37. {orfdata-0.36.0 → orfdata-0.37.0}/docs/reference.md +0 -0
  38. {orfdata-0.36.0 → orfdata-0.37.0}/docs/search-references.md +0 -0
  39. {orfdata-0.36.0 → orfdata-0.37.0}/docs/source-references.md +0 -0
  40. {orfdata-0.36.0 → orfdata-0.37.0}/docs/species.md +0 -0
  41. {orfdata-0.36.0 → orfdata-0.37.0}/docs/storage.md +0 -0
  42. {orfdata-0.36.0 → orfdata-0.37.0}/docs/stylesheets/docs.css +0 -0
  43. {orfdata-0.36.0 → orfdata-0.37.0}/docs/viral.md +0 -0
  44. {orfdata-0.36.0 → orfdata-0.37.0}/docs.sh +0 -0
  45. {orfdata-0.36.0 → orfdata-0.37.0}/lint.sh +0 -0
  46. {orfdata-0.36.0 → orfdata-0.37.0}/mkdocs.yml +0 -0
  47. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/__init__.py +0 -0
  48. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/_pinned_genome.py +0 -0
  49. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/_structure.py +0 -0
  50. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/build.py +0 -0
  51. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/catalog_cli.py +0 -0
  52. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/catalog_manifest.py +0 -0
  53. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/cli_output.py +0 -0
  54. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/chains.json +0 -0
  55. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/datasets.json +0 -0
  56. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/genomes.json +0 -0
  57. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/ires/rfam-15.1-human-ires.json +0 -0
  58. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/orf-evidence/AUTHOR-LICENSE.txt +0 -0
  59. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/orf-evidence/NOTICE.txt +0 -0
  60. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/orf-evidence/catalog.json.gz +0 -0
  61. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/orf-evidence/manifest.json +0 -0
  62. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/uorf-evidence/AUTHOR-LICENSE.txt +0 -0
  63. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/uorf-evidence/NOTICE.txt +0 -0
  64. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/uorf-evidence/catalog.json.gz +0 -0
  65. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/uorf-evidence/manifest.json +0 -0
  66. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/viral/NOTICE.md +0 -0
  67. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/viral/gdc-grch38-d1-vd1-coverage.tsv +0 -0
  68. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/viral/gdc-grch38-d1-vd1-genbank.tsv +0 -0
  69. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/viral/gdc-grch38-d1-vd1-pave.tsv +0 -0
  70. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/viral/hpv16-refseq-CDS.json.gz +0 -0
  71. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/data/viral/subsets.yaml +0 -0
  72. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/dataset.py +0 -0
  73. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/dataset_cli.py +0 -0
  74. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/datasets.py +0 -0
  75. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/download_cli.py +0 -0
  76. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/downloads.py +0 -0
  77. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/evidence.py +0 -0
  78. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/evidence_summary.py +0 -0
  79. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/fasta.py +0 -0
  80. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/genbank.py +0 -0
  81. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/genomes.py +0 -0
  82. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/genomes_cli.py +0 -0
  83. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/gtf.py +0 -0
  84. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/initiation_context.py +0 -0
  85. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/install.py +0 -0
  86. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/liftover.py +0 -0
  87. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/liftover_cli.py +0 -0
  88. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/measurements.py +0 -0
  89. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/model.py +0 -0
  90. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/net.py +0 -0
  91. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/pairing.py +0 -0
  92. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/record_sources.py +0 -0
  93. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/reference.py +0 -0
  94. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/reference_ledger.py +0 -0
  95. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/reference_mapping.py +0 -0
  96. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/reference_table.py +0 -0
  97. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/refseq.py +0 -0
  98. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/rna.py +0 -0
  99. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/search_reference.py +0 -0
  100. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/sequence.py +0 -0
  101. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/sources/__init__.py +0 -0
  102. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/sources/copy.py +0 -0
  103. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/sources/ingolia.py +0 -0
  104. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/sources/kaabinejadian.py +0 -0
  105. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/sources/ncorf_mammals.py +0 -0
  106. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/sources/openprot.py +0 -0
  107. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/sources/peptideatlas.py +0 -0
  108. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/sources/pfizer.py +0 -0
  109. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/sources/pfizer_rna.py +0 -0
  110. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/sources/wang.py +0 -0
  111. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/viral.py +0 -0
  112. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/viral_annotation.py +0 -0
  113. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/viral_cli.py +0 -0
  114. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/viral_coverage.py +0 -0
  115. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/viral_panel.py +0 -0
  116. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/viral_registry.py +0 -0
  117. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata/viral_subsets.py +0 -0
  118. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata.egg-info/SOURCES.txt +0 -0
  119. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata.egg-info/dependency_links.txt +0 -0
  120. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata.egg-info/entry_points.txt +0 -0
  121. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata.egg-info/requires.txt +0 -0
  122. {orfdata-0.36.0 → orfdata-0.37.0}/orfdata.egg-info/top_level.txt +0 -0
  123. {orfdata-0.36.0 → orfdata-0.37.0}/pyproject.toml +0 -0
  124. {orfdata-0.36.0 → orfdata-0.37.0}/setup.cfg +0 -0
  125. {orfdata-0.36.0 → orfdata-0.37.0}/test.sh +0 -0
  126. {orfdata-0.36.0 → orfdata-0.37.0}/tests/conftest.py +0 -0
  127. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/aggregate_evidence.json +0 -0
  128. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/GSM1905474.soft +0 -0
  129. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/GSM1905474_KL9_fpkm.txt.gz +0 -0
  130. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/GSM1905476.soft +0 -0
  131. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/GSM1905476_KL10_fpkm.txt.gz +0 -0
  132. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/GSM1905478.soft +0 -0
  133. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/GSM1905478_KL11_fpkm.txt.gz +0 -0
  134. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/GSM1905479.soft +0 -0
  135. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/GSM1905479_KL12_fpkm.txt.gz +0 -0
  136. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/NOTICE.md +0 -0
  137. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/expected.json +0 -0
  138. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/geo-series.soft +0 -0
  139. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/manifest.json +0 -0
  140. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/methods.pdf +0 -0
  141. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/paper.xml +0 -0
  142. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/pmc-metadata.json +0 -0
  143. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/qconcat.fasta +0 -0
  144. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/copy/workbook.xlsx +0 -0
  145. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346111.metadata.txt +0 -0
  146. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346111.quant.txt.gz +0 -0
  147. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346114.metadata.txt +0 -0
  148. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346114.quant.txt.gz +0 -0
  149. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346115.metadata.txt +0 -0
  150. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346115.quant.txt.gz +0 -0
  151. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346116.metadata.txt +0 -0
  152. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346116.quant.txt.gz +0 -0
  153. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346117.metadata.txt +0 -0
  154. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346117.quant.txt.gz +0 -0
  155. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346118.metadata.txt +0 -0
  156. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346118.quant.txt.gz +0 -0
  157. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346120.metadata.txt +0 -0
  158. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346120.quant.txt.gz +0 -0
  159. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346122.metadata.txt +0 -0
  160. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/GSM346122.quant.txt.gz +0 -0
  161. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/NOTICE.md +0 -0
  162. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/expected.json +0 -0
  163. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/manifest.json +0 -0
  164. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ingolia/readMe.txt.gz +0 -0
  165. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/kaabinejadian/README.md +0 -0
  166. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/kaabinejadian/Results.zip +0 -0
  167. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/kaabinejadian/manifest-v1.json +0 -0
  168. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/kaabinejadian/manifest.json +0 -0
  169. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/kaabinejadian/sdrf.tsv +0 -0
  170. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ncorf_mammals/README.md +0 -0
  171. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ncorf_mammals/S3.xlsx +0 -0
  172. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ncorf_mammals/ensembl107.cdna.fa.gz +0 -0
  173. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ncorf_mammals/ensembl107.gtf.gz +0 -0
  174. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ncorf_mammals/human-ensembl107.gtf.gz +0 -0
  175. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ncorf_mammals/human.bed +0 -0
  176. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ncorf_mammals/human.pep.fa +0 -0
  177. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ncorf_mammals/mouse.bed +0 -0
  178. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/ncorf_mammals/mouse.pep.fa +0 -0
  179. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/openprot/README.md +0 -0
  180. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/openprot/ensembl106.cdna.fa.gz +0 -0
  181. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/openprot/ensembl106.gtf.gz +0 -0
  182. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/openprot/mouse-openprot-2_2-altprots+isoforms-min_2_pep-GRCm39.106.bed.zip +0 -0
  183. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/openprot/mouse-openprot-2_2-altprots+isoforms-min_2_pep-GRCm39.106.fasta.zip +0 -0
  184. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/openprot/mouse-openprot-2_2-altprots+isoforms-min_2_pep-GRCm39.106.tsv.zip +0 -0
  185. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/peptideatlas/README.md +0 -0
  186. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/peptideatlas/atlas_build.tsv.zip +0 -0
  187. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/peptideatlas/ensembl.pep.fa.gz +0 -0
  188. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/peptideatlas/manifest.json +0 -0
  189. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer/NOTICE.md +0 -0
  190. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer/dog/expected.json +0 -0
  191. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer/dog/manifest.json +0 -0
  192. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer/dog/protein.tsv +0 -0
  193. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer/dog/search.fasta +0 -0
  194. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer/human/expected.json +0 -0
  195. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer/human/manifest.json +0 -0
  196. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer/human/protein.tsv +0 -0
  197. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer/human/search.fasta +0 -0
  198. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer/mouse/expected.json +0 -0
  199. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer/mouse/manifest.json +0 -0
  200. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer/mouse/protein.tsv +0 -0
  201. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer/mouse/search.fasta +0 -0
  202. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer_rna/GSE325522_family.soft.gz +0 -0
  203. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer_rna/GSE325523_family.soft.gz +0 -0
  204. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer_rna/GSE325525_family.soft.gz +0 -0
  205. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer_rna/NOTICE.md +0 -0
  206. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer_rna/counts.csv.gz +0 -0
  207. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer_rna/dog-annotation.gtf.gz +0 -0
  208. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer_rna/dog-expected.json +0 -0
  209. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer_rna/dog-manifest.json +0 -0
  210. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer_rna/mouse-annotation.gtf.gz +0 -0
  211. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer_rna/mouse-expected.json +0 -0
  212. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer_rna/mouse-manifest.json +0 -0
  213. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/pfizer_rna/samples.xlsx +0 -0
  214. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/references/README.md +0 -0
  215. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/references/canis_lupus_familiaris.json +0 -0
  216. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/references/context-keys-v0.4.json +0 -0
  217. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/references/ensembl115.json +0 -0
  218. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/references/homo_sapiens.json +0 -0
  219. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/references/mitochondrial.json +0 -0
  220. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/references/mus_musculus.json +0 -0
  221. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/references/saccharomyces_cerevisiae.json +0 -0
  222. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/references/uniprot_literature.json +0 -0
  223. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/regions/NOTICE.md +0 -0
  224. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/regions/ingolia.json +0 -0
  225. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/SD3.xlsx +0 -0
  226. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/ensembl107.cdna.fa.gz +0 -0
  227. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/ensembl107.gtf.gz +0 -0
  228. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/ensembl107.ncrna.fa.gz +0 -0
  229. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/human-ensembl105.cdna.fa.gz +0 -0
  230. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/human-ensembl105.gtf.gz +0 -0
  231. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/human-ensembl105.ncrna.fa.gz +0 -0
  232. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/worm-ensembl105.cdna.fa.gz +0 -0
  233. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/worm-ensembl105.gtf.gz +0 -0
  234. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/worm-ensembl105.ncrna.fa.gz +0 -0
  235. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/yeast-ensembl115.cdna.fa.gz +0 -0
  236. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/yeast-ensembl115.dna.fa.gz +0 -0
  237. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/yeast-ensembl115.gtf.gz +0 -0
  238. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/zebrafish-ensembl115.cdna.fa.gz +0 -0
  239. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/zebrafish-ensembl115.gtf.gz +0 -0
  240. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/riborf/zebrafish-ensembl115.ncrna.fa.gz +0 -0
  241. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/search_reference/NOTICE.md +0 -0
  242. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/search_reference/dog.fasta +0 -0
  243. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/search_reference/ensembl83-expected.json +0 -0
  244. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/search_reference/ensembl83-human.fasta.gz +0 -0
  245. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/search_reference/expected.json +0 -0
  246. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/storage/README.md +0 -0
  247. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/storage/generate.py +0 -0
  248. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/storage/v1.json +0 -0
  249. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/storage/v1.sqlite +0 -0
  250. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/storage/v2.json +0 -0
  251. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/storage/v2.sqlite +0 -0
  252. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/storage/v3.json +0 -0
  253. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/storage/v3.sqlite +0 -0
  254. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/storage/v4.json +0 -0
  255. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/storage/v4.sqlite +0 -0
  256. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/viral/GRCh83.d1.vd1_virus_decoy.txt.gz +0 -0
  257. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/viral/NC_001526.4.gb.gz +0 -0
  258. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/viral/genbank/HBV__X04615.1.gb.gz +0 -0
  259. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/viral/genbank/HPV16__K02718.1.gb.gz +0 -0
  260. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/viral/genbank/HPV35__X74477.1.gb.gz +0 -0
  261. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/viral/genbank/HPV51__M62877.1.gb.gz +0 -0
  262. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/viral/genbank/HPV56__X74483.1.gb.gz +0 -0
  263. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/wang/NOTICE.md +0 -0
  264. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/wang/annotation.gtf.gz +0 -0
  265. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/wang/copies.zip +0 -0
  266. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/wang/expected.json +0 -0
  267. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/wang/manifest.json +0 -0
  268. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/wang/protein.zip +0 -0
  269. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/wang/rna.zip +0 -0
  270. {orfdata-0.36.0 → orfdata-0.37.0}/tests/data/wang/search.fasta.gz +0 -0
  271. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_copy.py +0 -0
  272. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_cross_reference_pairing.py +0 -0
  273. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_dog_peptides.py +0 -0
  274. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_downloads.py +0 -0
  275. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_ensembl_search_reference.py +0 -0
  276. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_evidence_rules.py +0 -0
  277. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_evidence_summary.py +0 -0
  278. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_genbank.py +0 -0
  279. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_genbank_equivalence.py +0 -0
  280. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_genetic_codes.py +0 -0
  281. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_genomes.py +0 -0
  282. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_ingolia.py +0 -0
  283. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_initiation_context.py +0 -0
  284. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_liftover.py +0 -0
  285. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_local_build_queries.py +0 -0
  286. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_measurements.py +0 -0
  287. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_merge_catalogs.py +0 -0
  288. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_ncorf_mammals.py +0 -0
  289. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_openprot.py +0 -0
  290. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_orf_cases.py +0 -0
  291. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_orf_gtf.py +0 -0
  292. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_paired_selectors.py +0 -0
  293. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_pairing.py +0 -0
  294. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_pfizer.py +0 -0
  295. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_pfizer_rna.py +0 -0
  296. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_protein_set.py +0 -0
  297. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_proteome_external.py +0 -0
  298. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_proteome_fasta_tokens.py +0 -0
  299. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_proteome_producer_graph.py +0 -0
  300. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_reference_context.py +0 -0
  301. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_reference_ledger.py +0 -0
  302. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_reference_mapping.py +0 -0
  303. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_reference_orf.py +0 -0
  304. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_reference_table.py +0 -0
  305. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_refseq.py +0 -0
  306. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_region_targets.py +0 -0
  307. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_search_reference.py +0 -0
  308. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_selectors.py +0 -0
  309. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_storage.py +0 -0
  310. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_viral.py +0 -0
  311. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_viral_bundle.py +0 -0
  312. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_viral_cli.py +0 -0
  313. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_viral_collections.py +0 -0
  314. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_viral_completeness.py +0 -0
  315. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_viral_coverage.py +0 -0
  316. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_viral_initiation.py +0 -0
  317. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_viral_origin_join.py +0 -0
  318. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_viral_sources.py +0 -0
  319. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_viral_subsets.py +0 -0
  320. {orfdata-0.36.0 → orfdata-0.37.0}/tests/test_wang.py +0 -0
  321. {orfdata-0.36.0 → orfdata-0.37.0}/tools/__init__.py +0 -0
  322. {orfdata-0.36.0 → orfdata-0.37.0}/tools/build_gdc_viral_coverage.py +0 -0
  323. {orfdata-0.36.0 → orfdata-0.37.0}/tools/build_hpv16_cds.py +0 -0
  324. {orfdata-0.36.0 → orfdata-0.37.0}/tools/build_reference_ledger.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orfdata
3
- Version: 0.36.0
3
+ Version: 0.37.0
4
4
  Summary: Reference proteomes with evidence-backed noncanonical ORFs on PyEnsembl genomes
5
5
  Author: OpenVax
6
6
  License-Expression: Apache-2.0
@@ -130,11 +130,11 @@ immunopeptidomics: peptides eluted from HLA molecules.
130
130
 
131
131
  | Species | Noncanonical ORFs | Sources |
132
132
  | --- | ---: | --- |
133
- | Human | 7,264 bundled; 57,607 with `nc_orf_sources="all"` | GENCODE; optionally Chang et al. 2025 and Yang et al. 2024 Ribo-seq |
134
- | Mouse | 48,805 | Chang et al. and Yang et al. Ribo-seq, OpenProt 2.2 MS |
135
- | Zebrafish | 9,759 | Yang et al. Ribo-seq |
136
- | C. elegans | 2,849 | Yang et al. Ribo-seq |
137
- | Yeast | 1,128 | Yang et al. Ribo-seq |
133
+ | Human | 7,264 bundled; 69,286 with `nc_orf_sources="all"` | GENCODE; optionally Chang et al. 2025 and Yang et al. 2024 Ribo-seq |
134
+ | Mouse | 60,707 | Chang et al. and Yang et al. Ribo-seq, OpenProt 2.2 MS |
135
+ | Zebrafish | 15,491 | Yang et al. Ribo-seq |
136
+ | C. elegans | 4,035 | Yang et al. Ribo-seq |
137
+ | Yeast | 1,369 | Yang et al. Ribo-seq |
138
138
  | Dog | none: no public dog Ribo-seq or ncORF MS exists | |
139
139
 
140
140
  Human's bundled catalogue needs no setup. For the others, `pip install
@@ -161,6 +161,11 @@ combined.save("human-all-proteins.proteome.json.gz") # Complete provenance.
161
161
 
162
162
  nc_only = transcriptome.proteome(reference_cds=False, nc_orf_sources="all")
163
163
  nc_only.write_fasta("human-reference-ncorfs.fasta")
164
+
165
+ # A peptide-search policy can exclude short products without deleting their ORF models.
166
+ search_reference = transcriptome.proteome(
167
+ nc_orf_sources="all", min_protein_length=5
168
+ )
164
169
  ```
165
170
 
166
171
  For sample-specific altered sequences, `DerivedProtein` records the supplied
@@ -95,11 +95,11 @@ immunopeptidomics: peptides eluted from HLA molecules.
95
95
 
96
96
  | Species | Noncanonical ORFs | Sources |
97
97
  | --- | ---: | --- |
98
- | Human | 7,264 bundled; 57,607 with `nc_orf_sources="all"` | GENCODE; optionally Chang et al. 2025 and Yang et al. 2024 Ribo-seq |
99
- | Mouse | 48,805 | Chang et al. and Yang et al. Ribo-seq, OpenProt 2.2 MS |
100
- | Zebrafish | 9,759 | Yang et al. Ribo-seq |
101
- | C. elegans | 2,849 | Yang et al. Ribo-seq |
102
- | Yeast | 1,128 | Yang et al. Ribo-seq |
98
+ | Human | 7,264 bundled; 69,286 with `nc_orf_sources="all"` | GENCODE; optionally Chang et al. 2025 and Yang et al. 2024 Ribo-seq |
99
+ | Mouse | 60,707 | Chang et al. and Yang et al. Ribo-seq, OpenProt 2.2 MS |
100
+ | Zebrafish | 15,491 | Yang et al. Ribo-seq |
101
+ | C. elegans | 4,035 | Yang et al. Ribo-seq |
102
+ | Yeast | 1,369 | Yang et al. Ribo-seq |
103
103
  | Dog | none: no public dog Ribo-seq or ncORF MS exists | |
104
104
 
105
105
  Human's bundled catalogue needs no setup. For the others, `pip install
@@ -126,6 +126,11 @@ combined.save("human-all-proteins.proteome.json.gz") # Complete provenance.
126
126
 
127
127
  nc_only = transcriptome.proteome(reference_cds=False, nc_orf_sources="all")
128
128
  nc_only.write_fasta("human-reference-ncorfs.fasta")
129
+
130
+ # A peptide-search policy can exclude short products without deleting their ORF models.
131
+ search_reference = transcriptome.proteome(
132
+ nc_orf_sources="all", min_protein_length=5
133
+ )
129
134
  ```
130
135
 
131
136
  For sample-specific altered sequences, `DerivedProtein` records the supplied
@@ -21,11 +21,11 @@ The packaged registry builds each catalogue from its sources' own files:
21
21
 
22
22
  | Species | Catalogues | ORFs |
23
23
  | --- | --- | ---: |
24
- | Mouse | [OpenProt's MS-supported ORFs](#mouse-orfs-from-openprot), [Chang et al.'s](#mouse-ribo-seq-orfs-chang-et-al) and [Yang et al.'s](#mouse-riborf-orfs-yang-et-al) Ribo-seq ORFs | 48,805 merged |
25
- | Human | the bundled GENCODE set; optionally [Chang et al.'s and Yang et al.'s Ribo-seq ORFs](#human-ribo-seq-orfs-optional) | 7,264; 57,607 with both |
26
- | Zebrafish | [Yang et al.'s Ribo-seq ORFs](#zebrafish-c-elegans-and-yeast) | 9,759 |
27
- | C. elegans | [Yang et al.'s Ribo-seq ORFs](#zebrafish-c-elegans-and-yeast) | 2,849 |
28
- | Yeast | [Yang et al.'s Ribo-seq ORFs](#zebrafish-c-elegans-and-yeast) | 1,128 |
24
+ | Mouse | [OpenProt's MS-supported ORFs](#mouse-orfs-from-openprot), [Chang et al.'s](#mouse-ribo-seq-orfs-chang-et-al) and [Yang et al.'s](#mouse-riborf-orfs-yang-et-al) Ribo-seq ORFs | 60,707 merged |
25
+ | Human | the bundled GENCODE set; optionally [Chang et al.'s and Yang et al.'s Ribo-seq ORFs](#human-ribo-seq-orfs-optional) | 7,264; 69,286 with both |
26
+ | Zebrafish | [Yang et al.'s Ribo-seq ORFs](#zebrafish-c-elegans-and-yeast) | 15,491 |
27
+ | C. elegans | [Yang et al.'s Ribo-seq ORFs](#zebrafish-c-elegans-and-yeast) | 4,035 |
28
+ | Yeast | [Yang et al.'s Ribo-seq ORFs](#zebrafish-c-elegans-and-yeast) | 1,369 |
29
29
  | Dog | [none exists](#dog) | 0 |
30
30
 
31
31
  `orfdata setup --species mouse` (or zebrafish, worm, yeast) installs a
@@ -88,8 +88,8 @@ already installed, repaired or skipped. If one fails, the rest are still
88
88
  installed and it exits with status 1, naming each failure; in Python,
89
89
  `install_species` raises `InstallError`, whose `result` holds the same
90
90
  report. `load_catalog(species="mouse")` then merges the three,
91
- in this order, into 48,805 ORFs: 2,976 MS-supported OpenProt ORFs, 16,484
92
- Ribo-seq ORFs of Chang et al. and 40,089 of Yang et al. 10,448 of Chang's and
91
+ in this order, into 60,707 ORFs: 2,976 MS-supported OpenProt ORFs, 16,484
92
+ Ribo-seq ORFs of Chang et al. and 51,991 of Yang et al. 10,448 of Chang's and
93
93
  Yang's ORFs are the same ORF (28 of them also in OpenProt), and 296 OpenProt
94
94
  ORFs have Ribo-seq support from one or both, 242 from Yang et al. alone. On
95
95
  Ensembl 115 (GRCm39):
@@ -97,11 +97,11 @@ Ensembl 115 (GRCm39):
97
97
  | Evidence | Selected | Added to the proteome |
98
98
  | --- | ---: | ---: |
99
99
  | `"ms"` (default) | 2,976 | 2,854 |
100
- | `RiboSeq()` | 46,207 | 46,094 |
100
+ | `RiboSeq()` | 58,109 | 57,992 |
101
101
  | `RiboSeq() & MS()` | 378 | 371 |
102
- | `None` | 48,805 | 48,577 |
102
+ | `None` | 60,707 | 60,475 |
103
103
 
104
- Loading the merged catalogue takes about 10 seconds and 0.9 GB of memory, once
104
+ Loading the merged catalogue takes about 10 seconds and 1.1 GB of memory, once
105
105
  per process, whichever evidence is selected. On GRCm38 and NCBIM37 all three
106
106
  are [lifted automatically](#every-assembly-of-a-species).
107
107
 
@@ -138,32 +138,39 @@ ATG, CTG, GTG or TTG. Its types are uORF (8,294), lncORF (3,576), uoORF
138
138
  `riborf-mouse` holds the mouse ORFs that RibORF 2.0 identified as translated in
139
139
  the Ribo-seq data of Yang et al. (Nat Commun 2024,
140
140
  [doi:10.1038/s41467-024-46240-9](https://doi.org/10.1038/s41467-024-46240-9);
141
- 224 samples in 26 GEO series), of at least 5 residues: uORF (20,399), lncORF
142
- (6,954), dORF (4,075), uoORF (3,037), iORF (2,370), N-terminal truncation
143
- (2,047) and extension (575), and doORF (632). The source's ouORF, odORF and
141
+ 224 samples in 26 GEO series): uORF (26,052), lncORF (8,149), iORF (6,155),
142
+ dORF (5,174), uoORF (3,157), N-terminal truncation (2,059), doORF (670) and
143
+ extension (575). The source's ouORF, odORF and
144
144
  noncoding types take Chang et al.'s names, so `--biotype uoORF` finds both
145
145
  sources' overlapping uORFs. Annotated CDSs, likely sequencing errors,
146
- stop-codon readthrough and 12,222 ORFs shorter than Chang et al.'s shortest (5
147
- residues; 4,505 are a bare start and stop) are not imported.
146
+ and stop-codon readthrough are not imported. Release 2 retains 11,902 valid
147
+ ORFs shorter than five residues. Release 1, which applied a five-residue import
148
+ floor, remains available explicitly as `--version 1`.
148
149
 
149
150
  - **Placement.** The source gives mm10 / GENCODE vM25 transcript coordinates
150
151
  (a 1-based start, an exclusive end) and no proteins. Rather than lift mm10
151
152
  through a restricted chain, each ORF is placed on the same transcript in
152
153
  Ensembl 107 GRCm39 and translated from that transcript's sequence. Of the
153
- 41,906 rows long enough, 40,089 resolve. Listed as unresolved, with the
154
- reason: 1,393 rows on 633 transcripts that changed length since GENCODE
155
- vM25, 338 on 216 TEC transcripts that Ensembl 107 has in its GTF but in
156
- neither FASTA, 85 on 51 transcripts that are gone, and one whose
154
+ 54,128 non-skipped source rows, 51,991 resolve. Listed as unresolved, with the
155
+ reason: 1,642 rows on transcripts that changed length since GENCODE
156
+ vM25, 399 on transcripts that Ensembl 107 has in its GTF but in
157
+ neither FASTA, 95 on transcripts that are gone, and one whose
157
158
  transcript's sequence changed at the same length. Placing through the
158
159
  transcript gives the same coding path as lifting the source's mm10 blocks
159
160
  through UCSC's chain for all but 2, in a duplicated region of chr14 where
160
- the chain is ambiguous. 39,983 place on Ensembl 115.
161
+ the chain is ambiguous. Of the 12,222 source rows below five residues,
162
+ 11,902 resolve and 320 carry one of the same explicit failures. In all,
163
+ 51,881 place on Ensembl 115.
161
164
  - **Sources.** Supplementary Data 3 (CC BY 4.0) and Ensembl 107's GTF, cDNA
162
165
  and ncRNA FASTAs; about 115 MB, of which the 32 MB GTF is the one Chang et
163
166
  al.'s catalogue uses, so `orfdata setup` downloads it once. Building needs
164
167
  `orfdata[build-data]`.
165
168
  - **Evidence.** Presence in the source's set is aggregate Ribo-seq support:
166
169
  `RiboSeq()` selects every ORF, `RiboSeq(min_studies=2)` none.
170
+ - **Length policy.** `catalog.query(min_protein_length=5)` and
171
+ `Proteome.build(..., min_protein_length=5)` reproduce a downstream
172
+ five-residue selection without removing short models from the catalogue.
173
+ Proteome layers record the threshold and number filtered.
167
174
  - **IDs.** `riborf_` and the GRCm39 start and stop, such as
168
175
  `riborf_4_120262600_120262620_+`, never a name Chang et al. use. Two paths
169
176
  with the same start and stop add their transcript (`…@ENSMUST00000226495.2`),
@@ -268,8 +275,8 @@ load_catalog(species="human", catalogs=["ncorf-mammals-human"]) # Just one
268
275
  such as `nc_orf_sources="ms"` also query every compatible dataset; use
269
276
  `nc_orf_sources="bundled"` for only the bundled set. They merge after the bundled
270
277
  catalogue, Chang et al.'s before Yang et al.'s as for mouse, so an ORF in
271
- several keeps the first one's ID. Together they give 57,607 ORFs, of which 57,485 place on Ensembl 115; that
272
- takes about a minute and 3.2 GB of memory, against about a second for the
278
+ several keeps the first one's ID. Together they give 69,286 ORFs, of which 69,162 place on Ensembl 115; that
279
+ takes about a minute and several GB of memory, against about a second for the
273
280
  bundled catalogue alone. Neither adds MS evidence, so `"ms"` selects the same
274
281
  ORFs either way.
275
282
 
@@ -282,10 +289,11 @@ ORFs either way.
282
289
  - **`riborf-human`:** the human ORFs of [Yang et
283
290
  al.](#mouse-riborf-orfs-yang-et-al), from 136 samples in 30 GEO series, on
284
291
  GENCODE V39, placed through the same Ensembl 105 transcripts (GENCODE V39
285
- is Ensembl 105): 51,174 of the 51,275 rows long enough; 101 are on
286
- transcripts with no sequence in Ensembl 105's FASTAs. Types: uORF (23,664),
287
- lncORF (11,379), uoORF (4,548), dORF (3,747), N-terminal truncation (3,561),
288
- iORF (2,547), extension (1,046) and doORF (682).
292
+ is Ensembl 105): 62,853 of 62,962 non-skipped rows; 109 are on transcripts
293
+ with no sequence in Ensembl 105's FASTAs. The catalogue includes 11,679
294
+ valid records below five residues. Types: uORF (28,981), lncORF (12,938),
295
+ iORF (5,990), dORF (4,907), uoORF (4,679), N-terminal truncation (3,574),
296
+ extension (1,046) and doORF (738).
289
297
 
290
298
  `catalogs` takes `None` (the species' default set), `"all"`, or catalogue
291
299
  names, `"bundled"` among them. `orfdata catalogs status` marks optional
@@ -298,25 +306,25 @@ orfdata setup --species zebrafish # or worm, or yeast
298
306
  ```
299
307
 
300
308
  Yang et al.'s RibORF 2.0 ORFs of [the mouse catalogue's
301
- kind](#mouse-riborf-orfs-yang-et-al), at least 5 residues long, from each
302
- species' sheet of Supplementary Data 3, imported the same way:
309
+ kind](#mouse-riborf-orfs-yang-et-al), including valid short source models, from
310
+ each species' sheet of Supplementary Data 3, imported the same way:
303
311
 
304
- | Catalogue | Samples (GEO series) | Placed through | ORFs | On Ensembl 115 |
312
+ | Catalogue | Samples (GEO series) | Placed through | ORFs | Below 5 aa |
305
313
  | --- | --- | --- | ---: | ---: |
306
- | `riborf-zebrafish` | 20 (2) | Ensembl 115 GRCz11 transcripts | 9,759 | 9,759 |
307
- | `riborf-worm` | 39 (1) | Ensembl 105 WBcel235 transcripts | 2,849 | 2,433 |
308
- | `riborf-yeast` | 5 (1) | the R64-1-1 genome (sacCer3) | 1,128 | 171 |
314
+ | `riborf-zebrafish` | 20 (2) | Ensembl 115 GRCz11 transcripts | 15,491 | 5,732 |
315
+ | `riborf-worm` | 39 (1) | Ensembl 105 WBcel235 transcripts | 4,035 | 1,186 |
316
+ | `riborf-yeast` | 5 (1) | the R64-1-1 genome (sacCer3) | 1,369 | 241 |
309
317
 
310
318
  - **Zebrafish:** every source transcript has the same length in Ensembl 100
311
319
  to 115, so the catalogue uses 115. 18 rows have ambiguous bases in the ORF
312
- and are left out. Types: N-terminal truncation (3,805), uORF (3,543), dORF
313
- (771), iORF (605), lncORF (411), uoORF (304), extension (224) and doORF (96).
320
+ and are left out. Types: uORF (6,168), N-terminal truncation (3,816), iORF
321
+ (2,696), dORF (1,623), lncORF (501), uoORF (343), extension (224) and doORF
322
+ (120).
314
323
  - **C. elegans:** the source's transcripts match Ensembl 100 and 105, and
315
- WormBase changed many models after, so the catalogue uses 105; all 2,849
316
- place there, 2,433 on 115. Transcript names with dots of their own
317
- (`F45H11.11.1`) are kept whole. Types: truncation (614), iORF (596),
318
- extension (556), uORF (521), uoORF (217), lncORF (151), doORF (117) and dORF
319
- (77).
324
+ WormBase changed many models after, so the catalogue uses 105; all 4,035
325
+ place there. Transcript names with dots of their own (`F45H11.11.1`) are
326
+ kept whole. Types: iORF (1,525), uORF (725), truncation (614), extension
327
+ (556), lncORF (158), uoORF (249), doORF (121) and dORF (87).
320
328
  - **Yeast:** the source's yeast transcripts carry UTRs, and some are unstable
321
329
  transcripts (CUTs, SUTs), none of which Ensembl's yeast annotation has; its
322
330
  transcripts span only the CDS. So each ORF is placed from its genomic span
@@ -330,8 +338,8 @@ species' sheet of Supplementary Data 3, imported the same way:
330
338
  Only the 171 ORFs on an Ensembl transcript, such as truncations and iORFs,
331
339
  place on a PyEnsembl genome; the rest (uORFs in 5′ UTRs, ORFs on CUTs) stay
332
340
  in the catalogue, queryable by region and gene, until ORFs on source-defined
333
- RNAs are supported (#66). Types: uORF (321), lncORF (249), dORF (224),
334
- truncation (137), extension (67), uoORF (55), doORF (40) and iORF (35).
341
+ RNAs are supported (#66). Types: uORF (393), dORF (267), lncORF (260), iORF
342
+ (139), truncation (138), extension (67), uoORF (58) and doORF (47).
335
343
 
336
344
  ## Dog
337
345
 
@@ -381,9 +389,7 @@ With evidence `None` (every catalogue ORF), each assembly gets:
381
389
  | Human Ensembl 75, GRCh37 | lifted, 1 hop | 7,247 | 6,857 | 270 transcripts absent, 108 paths changed, 1 on a transcript with a different protein |
382
390
  | Human Ensembl 54, NCBI36 | lifted, 1 hop | 7,253 | 4,195 | 2,708 transcripts absent, 2 on a transcript with a different protein |
383
391
  | Human Ensembl rapid 2022_07, T2T-CHM13v2.0 | lifted, 1 hop | 7,208 | 6,767 | 383 on a transcript with a different protein, 58 on no transcript, 56 not lifted |
384
- | Mouse Ensembl 115, GRCm39 | OpenProt, Chang et al. and Yang et al. | 48,805 | 48,577 | 110 transcripts absent, 109 without sequence |
385
- | Mouse Ensembl 102, GRCm38 | all three lifted, 1 hop | 48,800 | 48,169 | 434 transcripts absent, 5 not lifted |
386
- | Mouse Ensembl 67, NCBIM37 | all three lifted, 2 hops | 48,642 | 38,105 | 9,217 transcripts absent, 163 not lifted |
392
+ | Mouse Ensembl 115, GRCm39 | OpenProt, Chang et al. and Yang et al. | 60,707 | 60,475 | 232 fail transcript/path/sequence binding checks |
387
393
 
388
394
  Older annotations lack many of the transcripts the sources name, so fewer ORFs
389
395
  place; the rest, and any that didn't lift, are listed with the reason, never
@@ -48,10 +48,10 @@ Calibration and uncertainty remain attached to observations:
48
48
  ## ORF evidence and ribosome profiling
49
49
 
50
50
  The separate existence-evidence catalogue contains 7,264 human noncanonical
51
- ORFs, including 2,186 with reported MS support. Mouse has 48,805 ORFs: Ribo-seq ORFs
51
+ ORFs, including 2,186 with reported MS support. Mouse has 60,707 ORFs: Ribo-seq ORFs
52
52
  from Chang et al. and Yang et al., and 2,976 OpenProt 2.2 ORFs with at least
53
53
  two unique MS peptides, built from their sources' files. Yang et al.'s Ribo-seq ORFs
54
- cover zebrafish (9,759), C. elegans (2,849) and yeast (1,128), and with Chang et al.'s
54
+ cover zebrafish (15,491), C. elegans (4,035) and yeast (1,369), and with Chang et al.'s
55
55
  are optional human catalogues; dog has no experimental ncORF catalogue, because no
56
56
  dog Ribo-seq or ncORF MS search is public ([details](catalogs.md#dog)). Its
57
57
  ribosome evidence and pooled PSM counts are not sample-level ribosome
@@ -103,6 +103,11 @@ That writes `ncorfs/annotation.gtf`, `ncorfs/transcripts.fasta` and
103
103
  gene, with the spliced coding sequence and the translation. In Python the same
104
104
  is `proteome.write_annotation("ncorfs")`.
105
105
 
106
+ Catalogue imports preserve short translated ORFs for variant annotation. If a
107
+ particular peptide-search workflow requires a length floor, add
108
+ `--min-protein-length 5`; the generated proteome records the explicit policy and
109
+ its omitted count, while the underlying catalogue remains complete.
110
+
106
111
  ```python
107
112
  from pyensembl import Genome
108
113
 
@@ -67,17 +67,20 @@ orfdata proteome --species human --release 115 --nc-orf-sources ms --output huma
67
67
 
68
68
  | `nc_orf_sources=` | Selects ORFs with | Human ORFs | Encoded in Ensembl 115 |
69
69
  | --- | --- | ---: | ---: |
70
- | `"ribosome"` or `"riboseq"` | Ribosome profiling across all datasets | 57,607 | 57,485 |
70
+ | `"ribosome"` or `"riboseq"` | Ribosome profiling across all datasets | 69,286 | 69,162 |
71
71
  | `"ms"` | Any supporting MS peptide | 2,186 | 2,181 |
72
72
  | `"immunopeptidomics"` | Peptides eluted from MHC (in human, HLA) molecules | 1,881 | 1,879 |
73
73
  | `"proteomics"` | Peptides from digested cellular proteins | 73 | 72 |
74
- | `"all"` | Every compatible dataset | 57,607 | 57,485 |
74
+ | `"all"` | Every compatible dataset | 69,286 | 69,162 |
75
75
 
76
76
  Use `nc_orf_sources="bundled"` for the bundled dataset alone, or a list of
77
77
  names such as `["bundled", "ncorf-mammals-human"]` for a subset. Evidence presets
78
78
  and `"all"` require all compatible datasets; install human's optional datasets
79
79
  once with `orfdata setup --species human --catalogs all`. Missing resources
80
80
  produce installation instructions. The defaults still add no ncORFs.
81
+ RibORF source catalogues include valid 1–4-residue ORFs. Apply a downstream
82
+ policy explicitly with `min_protein_length=5`, or CLI
83
+ `--min-protein-length 5`, when a peptide-search reference should omit them.
81
84
 
82
85
  Most MS support in the bundled human catalogue comes from
83
86
  immunopeptidomics. A presented peptide shows that the ORF was translated; it
@@ -116,11 +119,11 @@ transcript alongside them.
116
119
 
117
120
  | Species | Annotated proteins | Noncanonical ORFs |
118
121
  | --- | --- | --- |
119
- | Human | From PyEnsembl; T2T-CHM13 from a pinned Ensembl annotation | 7,264 GRCh38 ORFs, bundled; lifted to GRCh37, NCBI36 and [T2T-CHM13](catalogs.md#t2t-chm13). 57,607 with the [optional Ribo-seq catalogues](catalogs.md#human-ribo-seq-orfs-optional) of Chang et al. and Yang et al. (`nc_orf_sources="all"`) |
120
- | Mouse | From PyEnsembl | 48,805 ORFs on GRCm39: Ribo-seq ORFs of Chang et al. and Yang et al., and 2,976 MS-supported ones (OpenProt 2.2), [built locally](catalogs.md#mouse) with `orfdata setup --species mouse`; lifted to GRCm38 and NCBIM37 |
121
- | Zebrafish | From PyEnsembl | 9,759 GRCz11 Ribo-seq ORFs of Yang et al., [built locally](catalogs.md#zebrafish-c-elegans-and-yeast) |
122
- | C. elegans | From PyEnsembl | 2,849 WBcel235 Ribo-seq ORFs of Yang et al., built locally |
123
- | Budding yeast | From PyEnsembl | 1,128 R64-1-1 Ribo-seq ORFs of Yang et al., built locally; 171 lie on Ensembl's transcripts |
122
+ | Human | From PyEnsembl; T2T-CHM13 from a pinned Ensembl annotation | 7,264 GRCh38 ORFs, bundled; lifted to GRCh37, NCBI36 and [T2T-CHM13](catalogs.md#t2t-chm13). 69,286 with the [optional Ribo-seq catalogues](catalogs.md#human-ribo-seq-orfs-optional) of Chang et al. and Yang et al. (`nc_orf_sources="all"`) |
123
+ | Mouse | From PyEnsembl | 60,707 ORFs on GRCm39: Ribo-seq ORFs of Chang et al. and Yang et al., and 2,976 MS-supported ones (OpenProt 2.2), [built locally](catalogs.md#mouse) with `orfdata setup --species mouse`; lifted to GRCm38 and NCBIM37 |
124
+ | Zebrafish | From PyEnsembl | 15,491 GRCz11 Ribo-seq ORFs of Yang et al., [built locally](catalogs.md#zebrafish-c-elegans-and-yeast) |
125
+ | C. elegans | From PyEnsembl | 4,035 WBcel235 Ribo-seq ORFs of Yang et al., built locally |
126
+ | Budding yeast | From PyEnsembl | 1,369 R64-1-1 Ribo-seq ORFs of Yang et al., built locally; 171 lie on Ensembl's transcripts |
124
127
  | Dog | From PyEnsembl | None: [no public dog Ribo-seq or ncORF MS exists](catalogs.md#dog) |
125
128
 
126
129
  Other assemblies use a catalogue lifted to them once `orfdata chains download`
@@ -146,6 +146,22 @@ A list of evidence names selects ORFs with any of them:
146
146
  MS peptide, unlike `"ms"`, which also counts unclassified MS. For ORFs that
147
147
  need two kinds of evidence at once, combine rules with `&`, below.
148
148
 
149
+ Length is a separate consumer policy, never an import rule. RibORF catalogues
150
+ retain valid short source ORFs because they can matter for variant annotation
151
+ even when they are unsuitable for a peptide search. Use
152
+ `catalog.query(min_protein_length=5)`, `extra_orfs(...,
153
+ min_protein_length=5)`, or:
154
+
155
+ ```python
156
+ search_reference = transcriptome.proteome(
157
+ nc_orf_sources="ribosome", min_protein_length=5
158
+ )
159
+ ```
160
+
161
+ The corresponding CLI option is `--min-protein-length 5`. A proteome snapshot's
162
+ ncORF layer records both the threshold and `length_filtered`, so the omission is
163
+ auditable and changes the cache identity. Reference CDS proteins are unaffected.
164
+
149
165
  ### Separate Ribo-seq and MS stringency
150
166
 
151
167
  For more control, pass a rule. `RiboSeq(min_studies=n)` needs ribosome
@@ -588,6 +588,7 @@ class ORFCatalog:
588
588
  require_reviewed=False,
589
589
  require_resolved=False,
590
590
  biotype=None,
591
+ min_protein_length=None,
591
592
  include_initiation_context=False,
592
593
  ):
593
594
  """Filter records; genomic intervals are 1-based inclusive and spliced.
@@ -602,6 +603,8 @@ class ORFCatalog:
602
603
  scope, not unique in every normal human proteome.
603
604
  ``require_resolved`` excludes aggregate-only support: MS needs a peptide
604
605
  observation and ribosome evidence needs a named study.
606
+ ``min_protein_length`` is an explicit consumer selection in amino acids;
607
+ the catalogue itself retains every representable source ORF.
605
608
  ``include_initiation_context`` also intersects placed spliced start
606
609
  flanks, for example an upstream Kozak SNV. The default remains coding
607
610
  blocks only. It does not include introns between context bases.
@@ -619,6 +622,8 @@ class ORFCatalog:
619
622
  raise ValueError(f"Expected genome build {self.genome_build}, got {genome_build}")
620
623
  rule = evidence_rule(evidence, require_unique=require_unique, require_reviewed=require_reviewed,
621
624
  require_resolved=require_resolved)
625
+ if min_protein_length is not None:
626
+ _positive_integer(min_protein_length, "min_protein_length")
622
627
 
623
628
  return tuple(
624
629
  r
@@ -642,6 +647,7 @@ class ORFCatalog:
642
647
  )
643
648
  )
644
649
  and (biotype is None or any(m.biotype == biotype for m in r.members or (r,)))
650
+ and (min_protein_length is None or len(r.protein_sequence) >= min_protein_length)
645
651
  and (rule is None or rule.matches(r.evidence))
646
652
  )
647
653
 
@@ -53,11 +53,11 @@ def _builder(manifest):
53
53
  from .sources.ncorf_mammals import import_orfs
54
54
 
55
55
  return lambda inputs, output: import_orfs(inputs, output, manifest)
56
- if importer == "riborf-v1":
56
+ if importer in ("riborf-v1", "riborf-v2"):
57
57
  from .sources.riborf import import_orfs
58
58
 
59
59
  return lambda inputs, output: import_orfs(inputs, output, manifest)
60
- if importer == "riborf-genome-v1":
60
+ if importer in ("riborf-genome-v1", "riborf-genome-v2"):
61
61
  from .sources.riborf import import_genome_orfs
62
62
 
63
63
  return lambda inputs, output: import_genome_orfs(inputs, output, manifest)
@@ -120,6 +120,8 @@ def _add_query_arguments(parser, *, catalog_path=True):
120
120
  parser.add_argument("--biotype", help="Source ORF class, as each source labels it: uORF, lncRNA, intORF, dORF "
121
121
  "(GENCODE, human); uORF, uoORF, iORF, dORF, doORF, lncORF (mouse Ribo-seq; "
122
122
  "RibORF also truncation, extension); AltProt, Isoform (OpenProt)")
123
+ parser.add_argument("--min-protein-length", type=int, metavar="AA",
124
+ help="Select ORFs with at least this many amino acids; source catalogues stay unfiltered")
123
125
  parser.add_argument("--region", help="1-based inclusive interval: chr7:66205483-66205522")
124
126
  parser.add_argument(
125
127
  "--position", help="Map a 1-based variant position: chr7:66205483 (JSON only)"
@@ -228,6 +230,7 @@ def _query(args, parser, catalog_loader):
228
230
  "transcript_id": args.transcript,
229
231
  "evidence": _rule(args, args.evidence, "--evidence"),
230
232
  "biotype": args.biotype,
233
+ "min_protein_length": args.min_protein_length,
231
234
  "genome_build": args.genome_build,
232
235
  "include_initiation_context": args.include_initiation_context or bool(args.ref),
233
236
  }