orfdata 0.18.0__tar.gz → 0.28.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 (245) hide show
  1. {orfdata-0.18.0 → orfdata-0.28.0}/MANIFEST.in +5 -2
  2. orfdata-0.28.0/PKG-INFO +147 -0
  3. orfdata-0.28.0/README.md +117 -0
  4. orfdata-0.28.0/docs/catalogs.md +479 -0
  5. {orfdata-0.18.0 → orfdata-0.28.0}/docs/coverage.md +31 -17
  6. orfdata-0.28.0/docs/examples.md +285 -0
  7. {orfdata-0.18.0 → orfdata-0.28.0}/docs/human-tissue.md +16 -6
  8. orfdata-0.28.0/docs/index.md +122 -0
  9. {orfdata-0.18.0 → orfdata-0.28.0}/docs/measurements.md +74 -46
  10. {orfdata-0.18.0 → orfdata-0.28.0}/docs/pairing.md +3 -1
  11. orfdata-0.28.0/docs/proteome.md +356 -0
  12. orfdata-0.28.0/docs/reference.md +343 -0
  13. {orfdata-0.18.0 → orfdata-0.28.0}/docs/species.md +19 -4
  14. orfdata-0.28.0/docs/stylesheets/docs.css +69 -0
  15. orfdata-0.28.0/docs.sh +3 -0
  16. orfdata-0.28.0/mkdocs.yml +61 -0
  17. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/__init__.py +69 -1
  18. orfdata-0.28.0/orfdata/_pinned_genome.py +18 -0
  19. orfdata-0.28.0/orfdata/_structure.py +144 -0
  20. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/build.py +4 -4
  21. orfdata-0.28.0/orfdata/catalog.py +1275 -0
  22. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/catalog_cli.py +23 -9
  23. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/catalogs.py +73 -17
  24. orfdata-0.28.0/orfdata/cli.py +312 -0
  25. orfdata-0.28.0/orfdata/data/catalogs.json +307 -0
  26. orfdata-0.28.0/orfdata/data/chains.json +122 -0
  27. orfdata-0.28.0/orfdata/data/genomes.json +30 -0
  28. orfdata-0.28.0/orfdata/data/ires/rfam-15.1-human-ires.json +374 -0
  29. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/datasets.py +1 -1
  30. orfdata-0.28.0/orfdata/evidence.py +312 -0
  31. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/evidence_summary.py +3 -3
  32. orfdata-0.28.0/orfdata/genomes.py +146 -0
  33. orfdata-0.28.0/orfdata/genomes_cli.py +39 -0
  34. orfdata-0.28.0/orfdata/install.py +137 -0
  35. orfdata-0.28.0/orfdata/liftover.py +404 -0
  36. orfdata-0.28.0/orfdata/liftover_cli.py +109 -0
  37. orfdata-0.28.0/orfdata/model.py +757 -0
  38. orfdata-0.28.0/orfdata/proteome.py +995 -0
  39. orfdata-0.28.0/orfdata/proteome_cli.py +76 -0
  40. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/reference.py +13 -1
  41. orfdata-0.28.0/orfdata/rna.py +304 -0
  42. orfdata-0.28.0/orfdata/sequence.py +152 -0
  43. orfdata-0.28.0/orfdata/sources/ncorf_mammals.py +176 -0
  44. orfdata-0.28.0/orfdata/sources/openprot.py +156 -0
  45. orfdata-0.28.0/orfdata/sources/riborf.py +163 -0
  46. orfdata-0.28.0/orfdata/version.py +1 -0
  47. orfdata-0.28.0/orfdata.egg-info/PKG-INFO +147 -0
  48. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata.egg-info/SOURCES.txt +53 -1
  49. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata.egg-info/requires.txt +4 -0
  50. {orfdata-0.18.0 → orfdata-0.28.0}/pyproject.toml +3 -2
  51. {orfdata-0.18.0 → orfdata-0.28.0}/tests/conftest.py +6 -0
  52. orfdata-0.28.0/tests/data/ncorf_mammals/README.md +20 -0
  53. orfdata-0.28.0/tests/data/ncorf_mammals/S3.xlsx +0 -0
  54. orfdata-0.28.0/tests/data/ncorf_mammals/ensembl107.cdna.fa.gz +0 -0
  55. orfdata-0.28.0/tests/data/ncorf_mammals/ensembl107.gtf.gz +0 -0
  56. orfdata-0.28.0/tests/data/ncorf_mammals/mouse.bed +6 -0
  57. orfdata-0.28.0/tests/data/ncorf_mammals/mouse.pep.fa +12 -0
  58. orfdata-0.28.0/tests/data/openprot/README.md +31 -0
  59. orfdata-0.28.0/tests/data/openprot/ensembl106.cdna.fa.gz +0 -0
  60. orfdata-0.28.0/tests/data/openprot/ensembl106.gtf.gz +0 -0
  61. orfdata-0.28.0/tests/data/openprot/mouse-openprot-2_2-altprots+isoforms-min_2_pep-GRCm39.106.bed.zip +0 -0
  62. orfdata-0.28.0/tests/data/openprot/mouse-openprot-2_2-altprots+isoforms-min_2_pep-GRCm39.106.fasta.zip +0 -0
  63. orfdata-0.28.0/tests/data/openprot/mouse-openprot-2_2-altprots+isoforms-min_2_pep-GRCm39.106.tsv.zip +0 -0
  64. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/references/README.md +10 -0
  65. orfdata-0.28.0/tests/data/references/ensembl115.json +1409 -0
  66. orfdata-0.28.0/tests/data/references/mitochondrial.json +307 -0
  67. orfdata-0.28.0/tests/data/references/uniprot_literature.json +603 -0
  68. orfdata-0.28.0/tests/data/riborf/README.md +21 -0
  69. orfdata-0.28.0/tests/data/riborf/SD3.xlsx +0 -0
  70. orfdata-0.28.0/tests/data/riborf/ensembl107.cdna.fa.gz +0 -0
  71. orfdata-0.28.0/tests/data/riborf/ensembl107.gtf.gz +0 -0
  72. orfdata-0.28.0/tests/data/riborf/ensembl107.ncrna.fa.gz +0 -0
  73. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_catalog_registry.py +141 -3
  74. orfdata-0.28.0/tests/test_evidence_rules.py +292 -0
  75. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_evidence_summary.py +40 -8
  76. orfdata-0.28.0/tests/test_genetic_codes.py +124 -0
  77. orfdata-0.28.0/tests/test_genomes.py +102 -0
  78. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_initiation_context.py +1 -1
  79. orfdata-0.28.0/tests/test_liftover.py +608 -0
  80. orfdata-0.28.0/tests/test_merge_catalogs.py +226 -0
  81. orfdata-0.28.0/tests/test_ncorf_mammals.py +170 -0
  82. orfdata-0.28.0/tests/test_openprot.py +235 -0
  83. orfdata-0.28.0/tests/test_orf_cases.py +295 -0
  84. orfdata-0.28.0/tests/test_proteome.py +751 -0
  85. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_reference_context.py +28 -1
  86. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_reference_orf.py +10 -7
  87. orfdata-0.28.0/tests/test_riborf.py +107 -0
  88. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_uorf_catalog.py +16 -16
  89. orfdata-0.18.0/PKG-INFO +0 -119
  90. orfdata-0.18.0/README.md +0 -92
  91. orfdata-0.18.0/docs/catalogs.md +0 -89
  92. orfdata-0.18.0/docs/design.md +0 -84
  93. orfdata-0.18.0/docs/reference.md +0 -178
  94. orfdata-0.18.0/orfdata/catalog.py +0 -692
  95. orfdata-0.18.0/orfdata/cli.py +0 -188
  96. orfdata-0.18.0/orfdata/data/catalogs.json +0 -1
  97. orfdata-0.18.0/orfdata/model.py +0 -222
  98. orfdata-0.18.0/orfdata/sequence.py +0 -30
  99. orfdata-0.18.0/orfdata/version.py +0 -1
  100. orfdata-0.18.0/orfdata.egg-info/PKG-INFO +0 -119
  101. {orfdata-0.18.0 → orfdata-0.28.0}/LICENSE +0 -0
  102. {orfdata-0.18.0 → orfdata-0.28.0}/deploy.sh +0 -0
  103. {orfdata-0.18.0 → orfdata-0.28.0}/docs/copy-yeast.md +0 -0
  104. {orfdata-0.18.0 → orfdata-0.28.0}/docs/ingolia-yeast.md +0 -0
  105. {orfdata-0.18.0 → orfdata-0.28.0}/docs/pfizer-protein.md +0 -0
  106. {orfdata-0.18.0 → orfdata-0.28.0}/docs/pfizer-rna.md +0 -0
  107. {orfdata-0.18.0 → orfdata-0.28.0}/docs/search-references.md +0 -0
  108. {orfdata-0.18.0 → orfdata-0.28.0}/docs/source-references.md +0 -0
  109. {orfdata-0.18.0 → orfdata-0.28.0}/docs/storage.md +0 -0
  110. {orfdata-0.18.0 → orfdata-0.28.0}/lint.sh +0 -0
  111. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/catalog_manifest.py +0 -0
  112. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/data/datasets.json +0 -0
  113. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/data/orf-evidence/AUTHOR-LICENSE.txt +0 -0
  114. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/data/orf-evidence/NOTICE.txt +0 -0
  115. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/data/orf-evidence/catalog.json.gz +0 -0
  116. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/data/orf-evidence/manifest.json +0 -0
  117. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/data/uorf-evidence/AUTHOR-LICENSE.txt +0 -0
  118. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/data/uorf-evidence/NOTICE.txt +0 -0
  119. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/data/uorf-evidence/catalog.json.gz +0 -0
  120. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/data/uorf-evidence/manifest.json +0 -0
  121. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/dataset.py +0 -0
  122. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/dataset_cli.py +0 -0
  123. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/initiation_context.py +0 -0
  124. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/measurements.py +0 -0
  125. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/pairing.py +0 -0
  126. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/reference_mapping.py +0 -0
  127. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/search_reference.py +0 -0
  128. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/sources/__init__.py +0 -0
  129. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/sources/copy.py +0 -0
  130. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/sources/ingolia.py +0 -0
  131. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/sources/pfizer.py +0 -0
  132. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/sources/pfizer_rna.py +0 -0
  133. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata/sources/wang.py +0 -0
  134. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata.egg-info/dependency_links.txt +0 -0
  135. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata.egg-info/entry_points.txt +0 -0
  136. {orfdata-0.18.0 → orfdata-0.28.0}/orfdata.egg-info/top_level.txt +0 -0
  137. {orfdata-0.18.0 → orfdata-0.28.0}/setup.cfg +0 -0
  138. {orfdata-0.18.0 → orfdata-0.28.0}/test.sh +0 -0
  139. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/aggregate_evidence.json +0 -0
  140. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/GSM1905474.soft +0 -0
  141. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/GSM1905474_KL9_fpkm.txt.gz +0 -0
  142. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/GSM1905476.soft +0 -0
  143. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/GSM1905476_KL10_fpkm.txt.gz +0 -0
  144. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/GSM1905478.soft +0 -0
  145. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/GSM1905478_KL11_fpkm.txt.gz +0 -0
  146. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/GSM1905479.soft +0 -0
  147. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/GSM1905479_KL12_fpkm.txt.gz +0 -0
  148. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/NOTICE.md +0 -0
  149. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/expected.json +0 -0
  150. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/geo-series.soft +0 -0
  151. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/manifest.json +0 -0
  152. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/methods.pdf +0 -0
  153. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/paper.xml +0 -0
  154. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/pmc-metadata.json +0 -0
  155. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/qconcat.fasta +0 -0
  156. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/copy/workbook.xlsx +0 -0
  157. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346111.metadata.txt +0 -0
  158. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346111.quant.txt.gz +0 -0
  159. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346114.metadata.txt +0 -0
  160. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346114.quant.txt.gz +0 -0
  161. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346115.metadata.txt +0 -0
  162. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346115.quant.txt.gz +0 -0
  163. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346116.metadata.txt +0 -0
  164. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346116.quant.txt.gz +0 -0
  165. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346117.metadata.txt +0 -0
  166. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346117.quant.txt.gz +0 -0
  167. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346118.metadata.txt +0 -0
  168. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346118.quant.txt.gz +0 -0
  169. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346120.metadata.txt +0 -0
  170. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346120.quant.txt.gz +0 -0
  171. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346122.metadata.txt +0 -0
  172. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/GSM346122.quant.txt.gz +0 -0
  173. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/NOTICE.md +0 -0
  174. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/expected.json +0 -0
  175. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/manifest.json +0 -0
  176. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/ingolia/readMe.txt.gz +0 -0
  177. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer/NOTICE.md +0 -0
  178. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer/dog/expected.json +0 -0
  179. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer/dog/manifest.json +0 -0
  180. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer/dog/protein.tsv +0 -0
  181. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer/dog/search.fasta +0 -0
  182. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer/human/expected.json +0 -0
  183. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer/human/manifest.json +0 -0
  184. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer/human/protein.tsv +0 -0
  185. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer/human/search.fasta +0 -0
  186. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer/mouse/expected.json +0 -0
  187. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer/mouse/manifest.json +0 -0
  188. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer/mouse/protein.tsv +0 -0
  189. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer/mouse/search.fasta +0 -0
  190. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer_rna/GSE325522_family.soft.gz +0 -0
  191. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer_rna/GSE325523_family.soft.gz +0 -0
  192. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer_rna/GSE325525_family.soft.gz +0 -0
  193. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer_rna/NOTICE.md +0 -0
  194. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer_rna/counts.csv.gz +0 -0
  195. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer_rna/dog-annotation.gtf.gz +0 -0
  196. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer_rna/dog-expected.json +0 -0
  197. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer_rna/dog-manifest.json +0 -0
  198. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer_rna/mouse-annotation.gtf.gz +0 -0
  199. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer_rna/mouse-expected.json +0 -0
  200. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer_rna/mouse-manifest.json +0 -0
  201. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/pfizer_rna/samples.xlsx +0 -0
  202. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/references/canis_lupus_familiaris.json +0 -0
  203. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/references/context-keys-v0.4.json +0 -0
  204. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/references/homo_sapiens.json +0 -0
  205. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/references/mus_musculus.json +0 -0
  206. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/references/saccharomyces_cerevisiae.json +0 -0
  207. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/regions/NOTICE.md +0 -0
  208. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/regions/ingolia.json +0 -0
  209. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/search_reference/NOTICE.md +0 -0
  210. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/search_reference/dog.fasta +0 -0
  211. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/search_reference/ensembl83-expected.json +0 -0
  212. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/search_reference/ensembl83-human.fasta.gz +0 -0
  213. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/search_reference/expected.json +0 -0
  214. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/storage/README.md +0 -0
  215. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/storage/generate.py +0 -0
  216. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/storage/v1.json +0 -0
  217. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/storage/v1.sqlite +0 -0
  218. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/storage/v2.json +0 -0
  219. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/storage/v2.sqlite +0 -0
  220. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/storage/v3.json +0 -0
  221. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/storage/v3.sqlite +0 -0
  222. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/wang/NOTICE.md +0 -0
  223. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/wang/annotation.gtf.gz +0 -0
  224. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/wang/copies.zip +0 -0
  225. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/wang/expected.json +0 -0
  226. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/wang/manifest.json +0 -0
  227. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/wang/protein.zip +0 -0
  228. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/wang/rna.zip +0 -0
  229. {orfdata-0.18.0 → orfdata-0.28.0}/tests/data/wang/search.fasta.gz +0 -0
  230. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_copy.py +0 -0
  231. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_cross_reference_pairing.py +0 -0
  232. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_ensembl_search_reference.py +0 -0
  233. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_ingolia.py +0 -0
  234. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_local_build_queries.py +0 -0
  235. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_measurements.py +0 -0
  236. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_paired_selectors.py +0 -0
  237. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_pairing.py +0 -0
  238. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_pfizer.py +0 -0
  239. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_pfizer_rna.py +0 -0
  240. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_reference_mapping.py +0 -0
  241. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_region_targets.py +0 -0
  242. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_search_reference.py +0 -0
  243. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_selectors.py +0 -0
  244. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_storage.py +0 -0
  245. {orfdata-0.18.0 → orfdata-0.28.0}/tests/test_wang.py +0 -0
@@ -1,5 +1,5 @@
1
- include lint.sh test.sh deploy.sh
2
- recursive-include docs *.md
1
+ include lint.sh test.sh deploy.sh docs.sh mkdocs.yml
2
+ recursive-include docs *.md *.css
3
3
  recursive-include tests *.py *.json *.md *.tsv *.fasta
4
4
  recursive-include tests/data/copy *.xlsx *.gz *.soft *.xml *.pdf
5
5
  recursive-include tests/data/storage *.sqlite
@@ -7,3 +7,6 @@ recursive-include tests/data/pfizer_rna *.gz *.xlsx
7
7
  recursive-include tests/data/search_reference *.gz
8
8
  recursive-include tests/data/wang *.zip *.gz
9
9
  recursive-include tests/data/ingolia *.gz *.txt
10
+ recursive-include tests/data/openprot *.zip *.gz
11
+ recursive-include tests/data/ncorf_mammals *.bed *.fa *.xlsx *.gz *.md
12
+ recursive-include tests/data/riborf *.xlsx *.gz *.md
@@ -0,0 +1,147 @@
1
+ Metadata-Version: 2.4
2
+ Name: orfdata
3
+ Version: 0.28.0
4
+ Summary: Reference proteomes with evidence-backed noncanonical ORFs on PyEnsembl genomes
5
+ Author: OpenVax
6
+ License-Expression: Apache-2.0
7
+ Requires-Python: >=3.9
8
+ Description-Content-Type: text/markdown
9
+ License-File: LICENSE
10
+ Provides-Extra: pyensembl
11
+ Requires-Dist: pyensembl>=2.27.2; extra == "pyensembl"
12
+ Provides-Extra: build-data
13
+ Requires-Dist: openpyxl>=3.1; extra == "build-data"
14
+ Provides-Extra: data
15
+ Requires-Dist: datacache<2,>=1.25.1; extra == "data"
16
+ Provides-Extra: columnar
17
+ Requires-Dist: pyarrow>=14; extra == "columnar"
18
+ Provides-Extra: dev
19
+ Requires-Dist: pytest; extra == "dev"
20
+ Requires-Dist: ruff; extra == "dev"
21
+ Requires-Dist: build; extra == "dev"
22
+ Requires-Dist: twine; extra == "dev"
23
+ Requires-Dist: openpyxl>=3.1; extra == "dev"
24
+ Requires-Dist: pyensembl>=2.27.2; extra == "dev"
25
+ Requires-Dist: datacache<2,>=1.25.1; extra == "dev"
26
+ Provides-Extra: docs
27
+ Requires-Dist: mkdocs<2,>=1.6; extra == "docs"
28
+ Requires-Dist: mkdocs-material<10,>=9.5; extra == "docs"
29
+ Dynamic: license-file
30
+
31
+ [![Tests](https://github.com/openvax/orfdata/actions/workflows/tests.yml/badge.svg)](https://github.com/openvax/orfdata/actions/workflows/tests.yml)
32
+ [![PyPI](https://img.shields.io/pypi/v/orfdata.svg)](https://pypi.org/project/orfdata/)
33
+
34
+ # orfdata
35
+
36
+ orfdata builds the protein reference for a species: the proteins annotated in
37
+ a [PyEnsembl](https://github.com/openvax/pyensembl) genome, plus open reading
38
+ frames (ORFs) that ribosome-profiling studies found translated outside those
39
+ annotations. These include upstream and downstream ORFs, ORFs in other reading
40
+ frames of a coding sequence, and ORFs on RNAs annotated as noncoding. Each added
41
+ ORF stays bound to its PyEnsembl transcript, with its source, category and
42
+ evidence.
43
+
44
+ ## Installation
45
+
46
+ Use Python 3.9 or later. Install orfdata and one PyEnsembl annotation:
47
+
48
+ ```sh
49
+ python -m pip install 'orfdata[pyensembl]'
50
+ pyensembl install --release 115 --species human
51
+ ```
52
+
53
+ ## Example
54
+
55
+ ```python
56
+ from pyensembl import EnsemblRelease
57
+ from orfdata import Proteome
58
+
59
+ genome = EnsemblRelease(115, species="human")
60
+ proteome = Proteome.from_genome(genome).with_extra_orfs(evidence="ms")
61
+ proteome.write_fasta("human-e115.fasta")
62
+ print(proteome.summary()["kinds"], len(proteome.excluded))
63
+ ```
64
+
65
+ ```text
66
+ {'annotated': 245535, 'extra_orf': 2181} 5
67
+ ```
68
+
69
+ This takes every protein in the Ensembl 115 annotation and adds the 2,181
70
+ bundled human ORFs that have supporting mass-spectrometry peptides and are
71
+ encoded by an Ensembl 115 transcript. Each entry lists every transcript encoding
72
+ it; the other 5 selected ORFs are listed in `proteome.excluded` with the
73
+ reason. Use `evidence="ribosome"` for all 7,239 encoded ribosome-profiling ORFs,
74
+ or a rule such as `RiboSeq(min_studies=2) & MS()` to set Ribo-seq and MS
75
+ stringency separately (1,293 encoded ORFs).
76
+ `proteome.save(path)` writes a checksummed snapshot that `Proteome.load` reads
77
+ offline. From the command line:
78
+
79
+ ```sh
80
+ orfdata proteome --species human --release 115 --output human-e115.fasta
81
+ ```
82
+
83
+ A translated ORF or a detected peptide does not by itself establish a stable,
84
+ functional protein. Most MS support in the bundled human catalogue comes from
85
+ immunopeptidomics: peptides eluted from HLA molecules.
86
+
87
+ ## Species
88
+
89
+ The bundled noncanonical ORF catalogue is human GRCh38. Mouse has 48,805:
90
+ Ribo-seq ORFs of Chang et al. 2025 and Yang et al. 2024, and 2,976 MS-supported
91
+ ones from OpenProt 2.2;
92
+ `pip install "orfdata[data,build-data]"` then `orfdata setup --species mouse`
93
+ builds all three from their sources' own files. After `orfdata chains download` (add
94
+ `--accept-terms` for UCSC's non-commercial mouse chains), older assemblies
95
+ (GRCh37, NCBI36, GRCm38, NCBIM37) and T2T-CHM13 use these catalogues lifted
96
+ to them; `orfdata genomes install t2t-chm13` installs a CHM13 annotation. Dog and yeast proteomes contain their
97
+ PyEnsembl-annotated proteins. `load_catalog(species=...)` and
98
+ `with_extra_orfs()` pick the catalogue for a species and raise when none is
99
+ available or built.
100
+ Human evidence is never transferred to another species. Viral proteomes can be added with
101
+ `with_viral(...)`, but only to a proteome for one of the virus's recorded hosts.
102
+ orfdata also provides [RNA, ribosome and protein measurements](https://openvax.github.io/orfdata/measurements/)
103
+ for human, mouse, dog and yeast.
104
+
105
+ ## Measurement datasets
106
+
107
+ RNA, ribosome and protein measurements are separate, downloadable datasets with
108
+ the same species-scoped API. Install the `data` extra, then download and query
109
+ one:
110
+
111
+ ```sh
112
+ pip install 'orfdata[data]'
113
+ orfdata datasets list
114
+ orfdata datasets download ingolia-yeast-rna-ribo
115
+ ```
116
+
117
+ | Guide | Species | Measurements |
118
+ | --- | --- | --- |
119
+ | [Protein abundance](https://openvax.github.io/orfdata/pfizer-protein/) | Human, mouse, dog | TMT protein groups (Oziolor et al.) |
120
+ | [RNA abundance](https://openvax.github.io/orfdata/pfizer-rna/) | Dog, mouse | Native gene counts (Oziolor et al.) |
121
+ | [Matched human tissues](https://openvax.github.io/orfdata/human-tissue/) | Human | RNA and protein from adjacent cryosections (Wang et al.) |
122
+ | [Yeast protein and RNA](https://openvax.github.io/orfdata/copy-yeast/) | Budding yeast | Calibrated protein and RNA abundance (CoPY) |
123
+ | [Yeast RNA and ribosome occupancy](https://openvax.github.io/orfdata/ingolia-yeast/) | Budding yeast | Source regions, including UTR and ncRNA labels (Ingolia et al.) |
124
+
125
+ Gene RNA and canonical protein measurements do not establish noncanonical ORF
126
+ abundance. See [released data and gaps](https://openvax.github.io/orfdata/coverage/).
127
+
128
+ ## Documentation
129
+
130
+ The [documentation](https://openvax.github.io/orfdata/) covers:
131
+
132
+ | Task | Guide |
133
+ | --- | --- |
134
+ | Build a proteome: evidence levels, exclusions, contigs, viral proteins | [Build a reference proteome](https://openvax.github.io/orfdata/proteome/) |
135
+ | ORF classes, evidence definitions, Varcode and Isovar integration | [ORFs and evidence](https://openvax.github.io/orfdata/reference/) |
136
+ | Species and reference identity, mitochondrial genetic codes | [Species, references and genetic codes](https://openvax.github.io/orfdata/species/) |
137
+ | Versioned ORF catalogues managed through DataCache | [Optional ORF catalogues](https://openvax.github.io/orfdata/catalogs/) |
138
+ | Quantitative datasets and what has been released | [Measurements](https://openvax.github.io/orfdata/measurements/), [released data and gaps](https://openvax.github.io/orfdata/coverage/) |
139
+
140
+ The [data roadmap](https://github.com/openvax/orfdata/issues/3) tracks further
141
+ species and sources. Every PR includes a version bump, lint and tests;
142
+ maintainers publish with `./deploy.sh` from clean `main`.
143
+
144
+ ## License
145
+
146
+ Apache 2.0. Downloadable datasets keep their sources' own terms and
147
+ attribution, recorded in each release manifest.
@@ -0,0 +1,117 @@
1
+ [![Tests](https://github.com/openvax/orfdata/actions/workflows/tests.yml/badge.svg)](https://github.com/openvax/orfdata/actions/workflows/tests.yml)
2
+ [![PyPI](https://img.shields.io/pypi/v/orfdata.svg)](https://pypi.org/project/orfdata/)
3
+
4
+ # orfdata
5
+
6
+ orfdata builds the protein reference for a species: the proteins annotated in
7
+ a [PyEnsembl](https://github.com/openvax/pyensembl) genome, plus open reading
8
+ frames (ORFs) that ribosome-profiling studies found translated outside those
9
+ annotations. These include upstream and downstream ORFs, ORFs in other reading
10
+ frames of a coding sequence, and ORFs on RNAs annotated as noncoding. Each added
11
+ ORF stays bound to its PyEnsembl transcript, with its source, category and
12
+ evidence.
13
+
14
+ ## Installation
15
+
16
+ Use Python 3.9 or later. Install orfdata and one PyEnsembl annotation:
17
+
18
+ ```sh
19
+ python -m pip install 'orfdata[pyensembl]'
20
+ pyensembl install --release 115 --species human
21
+ ```
22
+
23
+ ## Example
24
+
25
+ ```python
26
+ from pyensembl import EnsemblRelease
27
+ from orfdata import Proteome
28
+
29
+ genome = EnsemblRelease(115, species="human")
30
+ proteome = Proteome.from_genome(genome).with_extra_orfs(evidence="ms")
31
+ proteome.write_fasta("human-e115.fasta")
32
+ print(proteome.summary()["kinds"], len(proteome.excluded))
33
+ ```
34
+
35
+ ```text
36
+ {'annotated': 245535, 'extra_orf': 2181} 5
37
+ ```
38
+
39
+ This takes every protein in the Ensembl 115 annotation and adds the 2,181
40
+ bundled human ORFs that have supporting mass-spectrometry peptides and are
41
+ encoded by an Ensembl 115 transcript. Each entry lists every transcript encoding
42
+ it; the other 5 selected ORFs are listed in `proteome.excluded` with the
43
+ reason. Use `evidence="ribosome"` for all 7,239 encoded ribosome-profiling ORFs,
44
+ or a rule such as `RiboSeq(min_studies=2) & MS()` to set Ribo-seq and MS
45
+ stringency separately (1,293 encoded ORFs).
46
+ `proteome.save(path)` writes a checksummed snapshot that `Proteome.load` reads
47
+ offline. From the command line:
48
+
49
+ ```sh
50
+ orfdata proteome --species human --release 115 --output human-e115.fasta
51
+ ```
52
+
53
+ A translated ORF or a detected peptide does not by itself establish a stable,
54
+ functional protein. Most MS support in the bundled human catalogue comes from
55
+ immunopeptidomics: peptides eluted from HLA molecules.
56
+
57
+ ## Species
58
+
59
+ The bundled noncanonical ORF catalogue is human GRCh38. Mouse has 48,805:
60
+ Ribo-seq ORFs of Chang et al. 2025 and Yang et al. 2024, and 2,976 MS-supported
61
+ ones from OpenProt 2.2;
62
+ `pip install "orfdata[data,build-data]"` then `orfdata setup --species mouse`
63
+ builds all three from their sources' own files. After `orfdata chains download` (add
64
+ `--accept-terms` for UCSC's non-commercial mouse chains), older assemblies
65
+ (GRCh37, NCBI36, GRCm38, NCBIM37) and T2T-CHM13 use these catalogues lifted
66
+ to them; `orfdata genomes install t2t-chm13` installs a CHM13 annotation. Dog and yeast proteomes contain their
67
+ PyEnsembl-annotated proteins. `load_catalog(species=...)` and
68
+ `with_extra_orfs()` pick the catalogue for a species and raise when none is
69
+ available or built.
70
+ Human evidence is never transferred to another species. Viral proteomes can be added with
71
+ `with_viral(...)`, but only to a proteome for one of the virus's recorded hosts.
72
+ orfdata also provides [RNA, ribosome and protein measurements](https://openvax.github.io/orfdata/measurements/)
73
+ for human, mouse, dog and yeast.
74
+
75
+ ## Measurement datasets
76
+
77
+ RNA, ribosome and protein measurements are separate, downloadable datasets with
78
+ the same species-scoped API. Install the `data` extra, then download and query
79
+ one:
80
+
81
+ ```sh
82
+ pip install 'orfdata[data]'
83
+ orfdata datasets list
84
+ orfdata datasets download ingolia-yeast-rna-ribo
85
+ ```
86
+
87
+ | Guide | Species | Measurements |
88
+ | --- | --- | --- |
89
+ | [Protein abundance](https://openvax.github.io/orfdata/pfizer-protein/) | Human, mouse, dog | TMT protein groups (Oziolor et al.) |
90
+ | [RNA abundance](https://openvax.github.io/orfdata/pfizer-rna/) | Dog, mouse | Native gene counts (Oziolor et al.) |
91
+ | [Matched human tissues](https://openvax.github.io/orfdata/human-tissue/) | Human | RNA and protein from adjacent cryosections (Wang et al.) |
92
+ | [Yeast protein and RNA](https://openvax.github.io/orfdata/copy-yeast/) | Budding yeast | Calibrated protein and RNA abundance (CoPY) |
93
+ | [Yeast RNA and ribosome occupancy](https://openvax.github.io/orfdata/ingolia-yeast/) | Budding yeast | Source regions, including UTR and ncRNA labels (Ingolia et al.) |
94
+
95
+ Gene RNA and canonical protein measurements do not establish noncanonical ORF
96
+ abundance. See [released data and gaps](https://openvax.github.io/orfdata/coverage/).
97
+
98
+ ## Documentation
99
+
100
+ The [documentation](https://openvax.github.io/orfdata/) covers:
101
+
102
+ | Task | Guide |
103
+ | --- | --- |
104
+ | Build a proteome: evidence levels, exclusions, contigs, viral proteins | [Build a reference proteome](https://openvax.github.io/orfdata/proteome/) |
105
+ | ORF classes, evidence definitions, Varcode and Isovar integration | [ORFs and evidence](https://openvax.github.io/orfdata/reference/) |
106
+ | Species and reference identity, mitochondrial genetic codes | [Species, references and genetic codes](https://openvax.github.io/orfdata/species/) |
107
+ | Versioned ORF catalogues managed through DataCache | [Optional ORF catalogues](https://openvax.github.io/orfdata/catalogs/) |
108
+ | Quantitative datasets and what has been released | [Measurements](https://openvax.github.io/orfdata/measurements/), [released data and gaps](https://openvax.github.io/orfdata/coverage/) |
109
+
110
+ The [data roadmap](https://github.com/openvax/orfdata/issues/3) tracks further
111
+ species and sources. Every PR includes a version bump, lint and tests;
112
+ maintainers publish with `./deploy.sh` from clean `main`.
113
+
114
+ ## License
115
+
116
+ Apache 2.0. Downloadable datasets keep their sources' own terms and
117
+ attribution, recorded in each release manifest.