orfdata 0.31.0__tar.gz → 0.32.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 (274) hide show
  1. {orfdata-0.31.0 → orfdata-0.32.0}/MANIFEST.in +2 -0
  2. {orfdata-0.31.0/orfdata.egg-info → orfdata-0.32.0}/PKG-INFO +2 -1
  3. {orfdata-0.31.0 → orfdata-0.32.0}/README.md +1 -0
  4. {orfdata-0.31.0 → orfdata-0.32.0}/docs/catalogs.md +7 -6
  5. {orfdata-0.31.0 → orfdata-0.32.0}/docs/coverage.md +17 -0
  6. orfdata-0.32.0/docs/dog-peptides.md +147 -0
  7. {orfdata-0.31.0 → orfdata-0.32.0}/docs/measurements.md +1 -0
  8. {orfdata-0.31.0 → orfdata-0.32.0}/docs/storage.md +7 -1
  9. {orfdata-0.31.0 → orfdata-0.32.0}/mkdocs.yml +1 -0
  10. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/datasets.json +616 -0
  11. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/dataset.py +37 -5
  12. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/dataset_cli.py +1 -1
  13. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/datasets.py +55 -14
  14. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/sources/__init__.py +8 -0
  15. orfdata-0.32.0/orfdata/sources/kaabinejadian.py +261 -0
  16. orfdata-0.32.0/orfdata/sources/peptideatlas.py +286 -0
  17. orfdata-0.32.0/orfdata/version.py +1 -0
  18. {orfdata-0.31.0 → orfdata-0.32.0/orfdata.egg-info}/PKG-INFO +2 -1
  19. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata.egg-info/SOURCES.txt +14 -0
  20. orfdata-0.32.0/tests/data/kaabinejadian/README.md +22 -0
  21. orfdata-0.32.0/tests/data/kaabinejadian/Results.zip +0 -0
  22. orfdata-0.32.0/tests/data/kaabinejadian/manifest.json +212 -0
  23. orfdata-0.32.0/tests/data/kaabinejadian/sdrf.tsv +10 -0
  24. orfdata-0.32.0/tests/data/peptideatlas/README.md +24 -0
  25. orfdata-0.32.0/tests/data/peptideatlas/atlas_build.tsv.zip +0 -0
  26. orfdata-0.32.0/tests/data/peptideatlas/ensembl.pep.fa.gz +0 -0
  27. orfdata-0.32.0/tests/data/peptideatlas/manifest.json +148 -0
  28. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/storage/README.md +4 -2
  29. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/storage/generate.py +15 -2
  30. orfdata-0.32.0/tests/data/storage/v4.json +983 -0
  31. orfdata-0.32.0/tests/data/storage/v4.sqlite +0 -0
  32. orfdata-0.32.0/tests/test_dog_peptides.py +326 -0
  33. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_storage.py +14 -4
  34. orfdata-0.31.0/orfdata/version.py +0 -1
  35. {orfdata-0.31.0 → orfdata-0.32.0}/LICENSE +0 -0
  36. {orfdata-0.31.0 → orfdata-0.32.0}/deploy.sh +0 -0
  37. {orfdata-0.31.0 → orfdata-0.32.0}/docs/copy-yeast.md +0 -0
  38. {orfdata-0.31.0 → orfdata-0.32.0}/docs/examples.md +0 -0
  39. {orfdata-0.31.0 → orfdata-0.32.0}/docs/human-tissue.md +0 -0
  40. {orfdata-0.31.0 → orfdata-0.32.0}/docs/index.md +0 -0
  41. {orfdata-0.31.0 → orfdata-0.32.0}/docs/ingolia-yeast.md +0 -0
  42. {orfdata-0.31.0 → orfdata-0.32.0}/docs/pairing.md +0 -0
  43. {orfdata-0.31.0 → orfdata-0.32.0}/docs/pfizer-protein.md +0 -0
  44. {orfdata-0.31.0 → orfdata-0.32.0}/docs/pfizer-rna.md +0 -0
  45. {orfdata-0.31.0 → orfdata-0.32.0}/docs/proteome.md +0 -0
  46. {orfdata-0.31.0 → orfdata-0.32.0}/docs/reference.md +0 -0
  47. {orfdata-0.31.0 → orfdata-0.32.0}/docs/search-references.md +0 -0
  48. {orfdata-0.31.0 → orfdata-0.32.0}/docs/source-references.md +0 -0
  49. {orfdata-0.31.0 → orfdata-0.32.0}/docs/species.md +0 -0
  50. {orfdata-0.31.0 → orfdata-0.32.0}/docs/stylesheets/docs.css +0 -0
  51. {orfdata-0.31.0 → orfdata-0.32.0}/docs/viral.md +0 -0
  52. {orfdata-0.31.0 → orfdata-0.32.0}/docs.sh +0 -0
  53. {orfdata-0.31.0 → orfdata-0.32.0}/lint.sh +0 -0
  54. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/__init__.py +0 -0
  55. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/_pinned_genome.py +0 -0
  56. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/_structure.py +0 -0
  57. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/build.py +0 -0
  58. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/catalog.py +0 -0
  59. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/catalog_cli.py +0 -0
  60. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/catalog_manifest.py +0 -0
  61. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/catalogs.py +0 -0
  62. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/cli.py +0 -0
  63. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/catalogs.json +0 -0
  64. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/chains.json +0 -0
  65. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/genomes.json +0 -0
  66. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/ires/rfam-15.1-human-ires.json +0 -0
  67. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/orf-evidence/AUTHOR-LICENSE.txt +0 -0
  68. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/orf-evidence/NOTICE.txt +0 -0
  69. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/orf-evidence/catalog.json.gz +0 -0
  70. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/orf-evidence/manifest.json +0 -0
  71. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/uorf-evidence/AUTHOR-LICENSE.txt +0 -0
  72. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/uorf-evidence/NOTICE.txt +0 -0
  73. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/uorf-evidence/catalog.json.gz +0 -0
  74. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/uorf-evidence/manifest.json +0 -0
  75. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/viral/NOTICE.md +0 -0
  76. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/data/viral/hpv16-refseq-CDS.json.gz +0 -0
  77. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/evidence.py +0 -0
  78. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/evidence_summary.py +0 -0
  79. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/genomes.py +0 -0
  80. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/genomes_cli.py +0 -0
  81. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/initiation_context.py +0 -0
  82. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/install.py +0 -0
  83. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/liftover.py +0 -0
  84. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/liftover_cli.py +0 -0
  85. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/measurements.py +0 -0
  86. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/model.py +0 -0
  87. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/pairing.py +0 -0
  88. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/proteome.py +0 -0
  89. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/proteome_cli.py +0 -0
  90. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/reference.py +0 -0
  91. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/reference_mapping.py +0 -0
  92. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/refseq.py +0 -0
  93. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/rna.py +0 -0
  94. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/search_reference.py +0 -0
  95. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/sequence.py +0 -0
  96. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/sources/copy.py +0 -0
  97. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/sources/ingolia.py +0 -0
  98. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/sources/ncorf_mammals.py +0 -0
  99. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/sources/openprot.py +0 -0
  100. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/sources/pfizer.py +0 -0
  101. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/sources/pfizer_rna.py +0 -0
  102. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/sources/riborf.py +0 -0
  103. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/sources/wang.py +0 -0
  104. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata/viral.py +0 -0
  105. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata.egg-info/dependency_links.txt +0 -0
  106. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata.egg-info/entry_points.txt +0 -0
  107. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata.egg-info/requires.txt +0 -0
  108. {orfdata-0.31.0 → orfdata-0.32.0}/orfdata.egg-info/top_level.txt +0 -0
  109. {orfdata-0.31.0 → orfdata-0.32.0}/pyproject.toml +0 -0
  110. {orfdata-0.31.0 → orfdata-0.32.0}/setup.cfg +0 -0
  111. {orfdata-0.31.0 → orfdata-0.32.0}/test.sh +0 -0
  112. {orfdata-0.31.0 → orfdata-0.32.0}/tests/conftest.py +0 -0
  113. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/aggregate_evidence.json +0 -0
  114. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/GSM1905474.soft +0 -0
  115. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/GSM1905474_KL9_fpkm.txt.gz +0 -0
  116. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/GSM1905476.soft +0 -0
  117. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/GSM1905476_KL10_fpkm.txt.gz +0 -0
  118. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/GSM1905478.soft +0 -0
  119. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/GSM1905478_KL11_fpkm.txt.gz +0 -0
  120. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/GSM1905479.soft +0 -0
  121. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/GSM1905479_KL12_fpkm.txt.gz +0 -0
  122. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/NOTICE.md +0 -0
  123. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/expected.json +0 -0
  124. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/geo-series.soft +0 -0
  125. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/manifest.json +0 -0
  126. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/methods.pdf +0 -0
  127. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/paper.xml +0 -0
  128. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/pmc-metadata.json +0 -0
  129. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/qconcat.fasta +0 -0
  130. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/copy/workbook.xlsx +0 -0
  131. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346111.metadata.txt +0 -0
  132. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346111.quant.txt.gz +0 -0
  133. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346114.metadata.txt +0 -0
  134. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346114.quant.txt.gz +0 -0
  135. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346115.metadata.txt +0 -0
  136. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346115.quant.txt.gz +0 -0
  137. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346116.metadata.txt +0 -0
  138. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346116.quant.txt.gz +0 -0
  139. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346117.metadata.txt +0 -0
  140. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346117.quant.txt.gz +0 -0
  141. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346118.metadata.txt +0 -0
  142. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346118.quant.txt.gz +0 -0
  143. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346120.metadata.txt +0 -0
  144. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346120.quant.txt.gz +0 -0
  145. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346122.metadata.txt +0 -0
  146. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/GSM346122.quant.txt.gz +0 -0
  147. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/NOTICE.md +0 -0
  148. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/expected.json +0 -0
  149. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/manifest.json +0 -0
  150. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ingolia/readMe.txt.gz +0 -0
  151. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ncorf_mammals/README.md +0 -0
  152. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ncorf_mammals/S3.xlsx +0 -0
  153. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ncorf_mammals/ensembl107.cdna.fa.gz +0 -0
  154. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ncorf_mammals/ensembl107.gtf.gz +0 -0
  155. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ncorf_mammals/human-ensembl107.gtf.gz +0 -0
  156. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ncorf_mammals/human.bed +0 -0
  157. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ncorf_mammals/human.pep.fa +0 -0
  158. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ncorf_mammals/mouse.bed +0 -0
  159. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/ncorf_mammals/mouse.pep.fa +0 -0
  160. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/openprot/README.md +0 -0
  161. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/openprot/ensembl106.cdna.fa.gz +0 -0
  162. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/openprot/ensembl106.gtf.gz +0 -0
  163. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/openprot/mouse-openprot-2_2-altprots+isoforms-min_2_pep-GRCm39.106.bed.zip +0 -0
  164. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/openprot/mouse-openprot-2_2-altprots+isoforms-min_2_pep-GRCm39.106.fasta.zip +0 -0
  165. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/openprot/mouse-openprot-2_2-altprots+isoforms-min_2_pep-GRCm39.106.tsv.zip +0 -0
  166. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer/NOTICE.md +0 -0
  167. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer/dog/expected.json +0 -0
  168. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer/dog/manifest.json +0 -0
  169. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer/dog/protein.tsv +0 -0
  170. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer/dog/search.fasta +0 -0
  171. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer/human/expected.json +0 -0
  172. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer/human/manifest.json +0 -0
  173. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer/human/protein.tsv +0 -0
  174. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer/human/search.fasta +0 -0
  175. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer/mouse/expected.json +0 -0
  176. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer/mouse/manifest.json +0 -0
  177. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer/mouse/protein.tsv +0 -0
  178. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer/mouse/search.fasta +0 -0
  179. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer_rna/GSE325522_family.soft.gz +0 -0
  180. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer_rna/GSE325523_family.soft.gz +0 -0
  181. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer_rna/GSE325525_family.soft.gz +0 -0
  182. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer_rna/NOTICE.md +0 -0
  183. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer_rna/counts.csv.gz +0 -0
  184. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer_rna/dog-annotation.gtf.gz +0 -0
  185. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer_rna/dog-expected.json +0 -0
  186. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer_rna/dog-manifest.json +0 -0
  187. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer_rna/mouse-annotation.gtf.gz +0 -0
  188. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer_rna/mouse-expected.json +0 -0
  189. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer_rna/mouse-manifest.json +0 -0
  190. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/pfizer_rna/samples.xlsx +0 -0
  191. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/references/README.md +0 -0
  192. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/references/canis_lupus_familiaris.json +0 -0
  193. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/references/context-keys-v0.4.json +0 -0
  194. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/references/ensembl115.json +0 -0
  195. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/references/homo_sapiens.json +0 -0
  196. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/references/mitochondrial.json +0 -0
  197. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/references/mus_musculus.json +0 -0
  198. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/references/saccharomyces_cerevisiae.json +0 -0
  199. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/references/uniprot_literature.json +0 -0
  200. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/regions/NOTICE.md +0 -0
  201. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/regions/ingolia.json +0 -0
  202. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/README.md +0 -0
  203. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/SD3.xlsx +0 -0
  204. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/ensembl107.cdna.fa.gz +0 -0
  205. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/ensembl107.gtf.gz +0 -0
  206. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/ensembl107.ncrna.fa.gz +0 -0
  207. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/human-ensembl105.cdna.fa.gz +0 -0
  208. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/human-ensembl105.gtf.gz +0 -0
  209. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/human-ensembl105.ncrna.fa.gz +0 -0
  210. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/worm-ensembl105.cdna.fa.gz +0 -0
  211. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/worm-ensembl105.gtf.gz +0 -0
  212. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/worm-ensembl105.ncrna.fa.gz +0 -0
  213. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/yeast-ensembl115.cdna.fa.gz +0 -0
  214. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/yeast-ensembl115.dna.fa.gz +0 -0
  215. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/yeast-ensembl115.gtf.gz +0 -0
  216. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/zebrafish-ensembl115.cdna.fa.gz +0 -0
  217. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/zebrafish-ensembl115.gtf.gz +0 -0
  218. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/riborf/zebrafish-ensembl115.ncrna.fa.gz +0 -0
  219. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/search_reference/NOTICE.md +0 -0
  220. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/search_reference/dog.fasta +0 -0
  221. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/search_reference/ensembl83-expected.json +0 -0
  222. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/search_reference/ensembl83-human.fasta.gz +0 -0
  223. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/search_reference/expected.json +0 -0
  224. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/storage/v1.json +0 -0
  225. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/storage/v1.sqlite +0 -0
  226. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/storage/v2.json +0 -0
  227. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/storage/v2.sqlite +0 -0
  228. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/storage/v3.json +0 -0
  229. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/storage/v3.sqlite +0 -0
  230. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/viral/NC_001526.4.gb.gz +0 -0
  231. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/wang/NOTICE.md +0 -0
  232. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/wang/annotation.gtf.gz +0 -0
  233. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/wang/copies.zip +0 -0
  234. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/wang/expected.json +0 -0
  235. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/wang/manifest.json +0 -0
  236. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/wang/protein.zip +0 -0
  237. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/wang/rna.zip +0 -0
  238. {orfdata-0.31.0 → orfdata-0.32.0}/tests/data/wang/search.fasta.gz +0 -0
  239. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_catalog_registry.py +0 -0
  240. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_copy.py +0 -0
  241. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_cross_reference_pairing.py +0 -0
  242. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_ensembl_search_reference.py +0 -0
  243. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_evidence_rules.py +0 -0
  244. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_evidence_summary.py +0 -0
  245. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_genetic_codes.py +0 -0
  246. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_genomes.py +0 -0
  247. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_ingolia.py +0 -0
  248. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_initiation_context.py +0 -0
  249. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_liftover.py +0 -0
  250. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_local_build_queries.py +0 -0
  251. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_measurements.py +0 -0
  252. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_merge_catalogs.py +0 -0
  253. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_more_species.py +0 -0
  254. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_ncorf_mammals.py +0 -0
  255. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_openprot.py +0 -0
  256. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_orf_cases.py +0 -0
  257. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_paired_selectors.py +0 -0
  258. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_pairing.py +0 -0
  259. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_pfizer.py +0 -0
  260. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_pfizer_rna.py +0 -0
  261. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_proteome.py +0 -0
  262. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_reference_context.py +0 -0
  263. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_reference_mapping.py +0 -0
  264. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_reference_orf.py +0 -0
  265. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_refseq.py +0 -0
  266. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_region_targets.py +0 -0
  267. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_riborf.py +0 -0
  268. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_search_reference.py +0 -0
  269. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_selectors.py +0 -0
  270. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_uorf_catalog.py +0 -0
  271. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_viral.py +0 -0
  272. {orfdata-0.31.0 → orfdata-0.32.0}/tests/test_wang.py +0 -0
  273. {orfdata-0.31.0 → orfdata-0.32.0}/tools/__init__.py +0 -0
  274. {orfdata-0.31.0 → orfdata-0.32.0}/tools/build_hpv16_cds.py +0 -0
@@ -12,3 +12,5 @@ recursive-include tests/data/ingolia *.gz *.txt
12
12
  recursive-include tests/data/openprot *.zip *.gz
13
13
  recursive-include tests/data/ncorf_mammals *.bed *.fa *.xlsx *.gz *.md
14
14
  recursive-include tests/data/riborf *.xlsx *.gz *.md
15
+ recursive-include tests/data/kaabinejadian *.zip *.tsv
16
+ recursive-include tests/data/peptideatlas *.zip *.gz
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orfdata
3
- Version: 0.31.0
3
+ Version: 0.32.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
@@ -139,6 +139,7 @@ orfdata datasets download ingolia-yeast-rna-ribo
139
139
  | [Matched human tissues](https://openvax.github.io/orfdata/human-tissue/) | Human | RNA and protein from adjacent cryosections (Wang et al.) |
140
140
  | [Yeast protein and RNA](https://openvax.github.io/orfdata/copy-yeast/) | Budding yeast | Calibrated protein and RNA abundance (CoPY) |
141
141
  | [Yeast RNA and ribosome occupancy](https://openvax.github.io/orfdata/ingolia-yeast/) | Budding yeast | Source regions, including UTR and ncRNA labels (Ingolia et al.) |
142
+ | [Dog peptides](https://openvax.github.io/orfdata/dog-peptides/) | Dog | DLA class I ligands from tumours (Kaabinejadian et al.); Canine PeptideAtlas peptides and protein calls, built locally |
142
143
 
143
144
  Gene RNA and canonical protein measurements do not establish noncanonical ORF
144
145
  abundance. See [released data and gaps](https://openvax.github.io/orfdata/coverage/).
@@ -107,6 +107,7 @@ orfdata datasets download ingolia-yeast-rna-ribo
107
107
  | [Matched human tissues](https://openvax.github.io/orfdata/human-tissue/) | Human | RNA and protein from adjacent cryosections (Wang et al.) |
108
108
  | [Yeast protein and RNA](https://openvax.github.io/orfdata/copy-yeast/) | Budding yeast | Calibrated protein and RNA abundance (CoPY) |
109
109
  | [Yeast RNA and ribosome occupancy](https://openvax.github.io/orfdata/ingolia-yeast/) | Budding yeast | Source regions, including UTR and ncRNA labels (Ingolia et al.) |
110
+ | [Dog peptides](https://openvax.github.io/orfdata/dog-peptides/) | Dog | DLA class I ligands from tumours (Kaabinejadian et al.); Canine PeptideAtlas peptides and protein calls, built locally |
110
111
 
111
112
  Gene RNA and canonical protein measurements do not establish noncanonical ORF
112
113
  abundance. See [released data and gaps](https://openvax.github.io/orfdata/coverage/).
@@ -341,15 +341,16 @@ No public resource gives dog ORF-level translation evidence, as of October
341
341
  rough-ER microsomes), deposited no reads.
342
342
  - **Mass spectrometry.** Every dog dataset searched canonical proteins only,
343
343
  so none reports a noncanonical peptide as deposited: the Canine
344
- PeptideAtlas (PXD052932, 245,884 peptides from 13 tissues, plasma and
345
- urine), the dog tumour DLA immunopeptidome (PXD074485, about 12,700
346
- ligands), the Pfizer TMT atlas (PXD070290) and the dog brain proteome
347
- (PXD033420, PXD034449).
344
+ PeptideAtlas (PXD052932, 149,546 peptides from 13 tissues, plasma and
345
+ urine), the dog tumour DLA immunopeptidome (PXD074485, 12,949 distinct
346
+ database-search ligands), the Pfizer TMT atlas (PXD070290) and the dog brain
347
+ proteome (PXD033420, PXD034449). The first two are available as
348
+ [dog peptide datasets](dog-peptides.md), as evidence for known proteins.
348
349
 
349
350
  Dog ncORF evidence therefore needs those spectra searched again against dog
350
351
  ORF sequences. Human and mouse ORFs are never transferred to dog by orthology.
351
- Dog proteomes contain their PyEnsembl-annotated proteins, and dog RNA and
352
- protein abundance are available as [measurements](measurements.md).
352
+ Dog proteomes contain their PyEnsembl-annotated proteins, and dog RNA, protein
353
+ abundance and peptides are available as [measurements](measurements.md).
353
354
 
354
355
  ## Every assembly of a species
355
356
 
@@ -11,6 +11,23 @@ data coverage, independently of what the API can represent.
11
11
  | Dog | Pfizer: 434 libraries, 30,941 gene targets, counts | Pfizer: 9,929 groups, 38 channels, iBAQ/rIBAQ | Unresolved library-to-pool correspondence |
12
12
  | Budding yeast | CoPY: four RNA libraries plus a source aggregate, FPKM and estimated copies/cell; Ingolia: four RNA libraries, counts and densities | CoPY: calibrated SRM and separately calibrated label-free estimates | CoPY: explicit source-cohort pairing; individual cross-assay replicate matches unknown |
13
13
 
14
+ ## Peptides and MHC ligands
15
+
16
+ Dog has two peptide-level datasets ([guide](dog-peptides.md)):
17
+
18
+ - **Canine PeptideAtlas** (build 573): 149,546 tryptic peptides with PSM counts
19
+ in 18 Labrador tissue, plasma and urine samples, every protein location, and
20
+ 17,795 protein calls, 17,110 of them mapped to Ensembl 110 proteins with an
21
+ identical sequence. PeptideAtlas states no licence,
22
+ so this dataset is built locally from its download and never redistributed.
23
+ - **DLA class I ligands** (Kaabinejadian et al.): 76,550 PEAKS rows from four
24
+ dog tumours, each searched against four protein databases, and from three
25
+ human HCT 116 lines that each express one DLA-88 allele.
26
+
27
+ Both searched known proteins only. Other species have no peptide-level
28
+ measurement dataset yet; the human and mouse ORF catalogues carry pooled
29
+ peptide evidence for their noncanonical ORFs.
30
+
14
31
  ## Reading the table
15
32
 
16
33
  - Gene targets include measured zeros; their presence in a matrix does not imply
@@ -0,0 +1,147 @@
1
+ # Dog peptides: MHC ligands and the Canine PeptideAtlas
2
+
3
+ Two dog peptide datasets record which peptides of known dog proteins mass
4
+ spectrometry has observed. Neither searched for noncanonical ORFs, so they
5
+ don't add ORFs to the dog proteome
6
+ ([why dog has no ncORF catalogue](catalogs.md#dog)).
7
+
8
+ | Dataset | What it holds | How to get it |
9
+ |---|---|---|
10
+ | `kaabinejadian-dog-dla-ligands` | DLA class I ligands from four dog tumours and three DLA-88 monoallelic cell lines | `orfdata datasets download` (CC0, 25 MB) |
11
+ | `peptideatlas-dog-peptides` | 149,546 tryptic peptides from 18 Labrador tissue, plasma and urine samples, with genome locations | `orfdata datasets build` (built locally from 71 MB of sources) |
12
+
13
+ ## DLA class I ligands
14
+
15
+ [Kaabinejadian et al. (2026)](https://doi.org/10.1016/j.isci.2026.115975)
16
+ eluted peptides from DLA class I molecules with the BB7.6 or H58A antibody. PRIDE
17
+ [PXD074485](https://www.ebi.ac.uk/pride/archive/projects/PXD074485) deposits
18
+ their PEAKS Studio 11.5 peptide tables (1% FDR), which this dataset imports in
19
+ full: 76,550 rows, each with its PEAKS area, intensity and spectrum count.
20
+
21
+ | Sample | Tumour | Breed | DLA-88 typing | Antibodies |
22
+ |---|---|---|---|---|
23
+ | Lola | osteosarcoma | Black Russian Terrier | \*501:01 | BB7.6, H58A |
24
+ | 163828A | anal sac adenocarcinoma | English Cocker Spaniel | \*004:02 | BB7.6 |
25
+ | Lily | anal sac adenocarcinoma | English Cocker Spaniel | \*501:01, \*501:02, \*004:02 | H58A |
26
+ | Bogey | oral melanoma | American Cocker Spaniel | \*003:02, \*006:01, \*017:01 | BB7.6 |
27
+ | HCT116-DLA88… | human HCT 116 cells, one DLA-88 allele each | — | \*003:02, \*012:01 or \*501:01 | BB7.6 |
28
+
29
+ Each tumour's spectra were searched four times: against UniProt's dog
30
+ proteome, Basenji and Great Dane (Zoey) Ensembl 104 proteins, and a merged
31
+ database of four dog assemblies. Each search is its own assay
32
+ (`Lola-BB76:UniProt9615`, `Lola-BB76:MergedCanFams`, ...). A peptide found in
33
+ two searches of one sample is one observation, not two. The HCT 116 lines were
34
+ searched against human SwissProt, and their peptides are human proteins, so
35
+ they sit in the dataset's separate human reference context.
36
+
37
+ Database search finds 11,363 distinct dog peptides in the UniProt searches and
38
+ 12,949 across all four databases. For the cell lines, the counts of unique
39
+ 8–14-mers from database search (591 for DLA-88\*003:02, 1,465 for \*501:01) match
40
+ the article's. The article's tumour counts come from its curated supplementary
41
+ lists, which aren't imported (they are CC BY-NC-ND), and match no single table.
42
+
43
+ Every row keeps its PEAKS identification type in provenance as `found_by`:
44
+ `DB Search`, `DeepNovo` (de novo sequencing) or `Homolog` (SPIDER homology
45
+ search). Only database-search peptides are guaranteed to occur in a listed
46
+ protein, so filter on it for a conservative ligand list. Rows of the Biognosys
47
+ iRT retention-time standards and their fragments (2,242) are marked
48
+ `irt_standard` in every search. That includes the merged database, which lacks
49
+ the kit, so PEAKS named dog proteins for them there.
50
+
51
+ ```python
52
+ from orfdata import DatasetRegistry, ScopedTarget
53
+
54
+ registry = DatasetRegistry()
55
+ ligands = registry.open("kaabinejadian-dog-dla-ligands") # After downloading it.
56
+ dog = next(r for r in ligands.manifest.references if r.taxon_id == 9615)
57
+
58
+ # Where a peptide was eluted, and how it was identified.
59
+ peptide = ScopedTarget(dog, "peptide", "AIKKGLEEL", "amino-acid-sequence")
60
+ for m in ligands.measurements(target=peptide, quantity="spectrum_count"):
61
+ print(m.sample_id, m.assay_id, m.value, m.provenance["found_by"])
62
+
63
+ # Lola's database-search ligands (BB7.6, UniProt search).
64
+ lola = {m.target.identifier for m in ligands.measurements(
65
+ reference=dog, assay_id="Lola-BB76:UniProt9615", quantity="spectrum_count")
66
+ if m.provenance["found_by"] == "DB Search" and not m.provenance["irt_standard"]}
67
+ ```
68
+
69
+ Targets are unmodified sequences; each row's modified form (for example
70
+ `M(+15.99)`) is in its provenance as `peptide`. `mappings()` lists, for each
71
+ search and identification type, the proteins PEAKS reported for a peptide:
72
+ `unique` or `ambiguous` for database-search and homology matches, and
73
+ `unmapped` with a reason for iRT standards and de novo sequences, whose listed
74
+ proteins stay in the mapping's evidence. The search FASTAs weren't deposited,
75
+ so no accession can be checked against a sequence.
76
+
77
+ Each row also records `raw_file_deposited`. For 1,695 rows the best spectrum
78
+ comes from a run missing from the deposit: Lily's second injection (22-1107,
79
+ 299 rows) and the first DLA-88\*012:01 runs (20240929, 1,396 rows). The raw
80
+ files of 163828A's H58A run have no deposited results and aren't included.
81
+
82
+ ## Canine PeptideAtlas
83
+
84
+ The [Canine PeptideAtlas](https://peptideatlas.org/builds/canine/)
85
+ ([Kusebauch et al. 2026](https://doi.org/10.1038/s41597-026-06647-z))
86
+ reprocessed 138 runs from Labrador Retrievers (13 tissues, plasma and urine;
87
+ PRIDE PXD052932) at a PSM FDR of 0.001. This dataset imports its 2024-01 build
88
+ (573):
89
+
90
+ - PSM counts for 149,546 peptides in each of the 18 samples where they were
91
+ observed (528,272 values);
92
+ - every protein each peptide maps to, with its position and, for Ensembl
93
+ proteins, its ROS_Cfam_1.0 coordinates (exon-spanning peptides have one
94
+ location per exon);
95
+ - the build's 17,795 protein calls with presence levels (6,423 canonical). Of
96
+ its 17,307 UniProt and Ensembl calls, 16,959 map to one Ensembl 110 protein
97
+ with an identical sequence, 151 to several and 197 to none; contaminant and
98
+ decoy calls aren't mapped.
99
+
100
+ PeptideAtlas states no licence for its downloads, so orfdata never
101
+ redistributes this dataset. `build` downloads the build's 61 MB export and
102
+ Ensembl 110's dog proteins, checks their SHA-256, and builds the dataset
103
+ locally (about a minute; 540 MB on disk). After that, `open` works offline.
104
+
105
+ ```sh
106
+ orfdata datasets build peptideatlas-dog-peptides
107
+ ```
108
+
109
+ ```python
110
+ from pyensembl import EnsemblRelease
111
+ from orfdata import DatasetRegistry, ScopedTarget
112
+
113
+ atlas = DatasetRegistry().open("peptideatlas-dog-peptides") # After building it.
114
+ source, ensembl = atlas.manifest.references
115
+
116
+ # PSMs of one peptide in each sample.
117
+ peptide = ScopedTarget(source, "peptide", "AAHEEICTTNEGVMYR", "amino-acid-sequence")
118
+ for m in atlas.measurements(target=peptide):
119
+ print(m.sample_id, m.value)
120
+
121
+ # The PeptideAtlas call for a PyEnsembl dog protein (albumin).
122
+ transcript = EnsemblRelease(110, species="dog").transcript_by_id("ENSCAFT00845010439")
123
+ protein = ScopedTarget(ensembl, "protein", transcript.protein_id, "ensembl")
124
+ for mapped in atlas.mapped_measurements(protein, require_sequence=True):
125
+ call = mapped.measurement
126
+ print(call.target.identifier, call.value, call.provenance["presence_level"])
127
+ ```
128
+
129
+ The `ensembl` context is exactly PyEnsembl's dog release 110
130
+ (`ReferenceContext.from_genome(EnsemblRelease(110, species="dog"))`), so
131
+ PyEnsembl protein IDs work directly. The [dog RNA dataset](pfizer-rna.md) uses
132
+ Ensembl 110 IDs too, in a context that also pins its GTF. Ensembl 105–111 have
133
+ identical sequences for all 25,710 Ensembl proteins in PeptideAtlas's search
134
+ set.
135
+
136
+ Each peptide's mapping (`mappings()`, keyed by PeptideAtlas accession) keeps its
137
+ locations as `[protein, start, end, chromosome, strand, chromosome_start,
138
+ chromosome_end, exact]`. `exact` is false for the 4,767 locations where the
139
+ protein has isoleucine for leucine or the reverse, which PeptideAtlas maps as
140
+ equal. 204 peptides map only to decoy sequences; they pass the FDR threshold but
141
+ are probably false identifications, and are `unmapped` with that reason.
142
+
143
+ A protein call's PSM count includes peptides it shares with other proteins, so
144
+ calls don't add up to the build's 13,781,115 PSMs. PeptideAtlas's web page
145
+ reports 245,884 peptides and 13,716,253 PSMs for the build; its export, which
146
+ this dataset reproduces, has 149,546 peptides (197,285 distinct modified forms)
147
+ and 13,781,115 PSMs.
@@ -13,6 +13,7 @@ Released datasets, each with its own guide:
13
13
  - [Matched human tissue RNA and protein](human-tissue.md) (Wang et al.)
14
14
  - [Yeast protein and RNA abundance](copy-yeast.md) (CoPY)
15
15
  - [Yeast RNA and ribosome occupancy](ingolia-yeast.md) (Ingolia et al.)
16
+ - [Dog MHC ligands and PeptideAtlas peptides](dog-peptides.md) (Kaabinejadian et al.; Kusebauch et al.)
16
17
 
17
18
  See [released coverage and gaps](coverage.md); the
18
19
  [data roadmap](https://github.com/openvax/orfdata/issues/3) tracks further
@@ -13,7 +13,13 @@ Zeros, nulls, censoring, uncertainty, nested provenance and derived inputs retai
13
13
  their meaning. Foreign keys prevent cross-reference target/assay assignments.
14
14
  Internal integer keys never appear as public biological identifiers.
15
15
 
16
- Published storage versions 1, 2 and 3 remain readable. There is no automatic
16
+ ORFdata 0.32 writes storage version 5, which also stores each target mapping's
17
+ candidates as kind, identifier and namespace: they always share the mapping's
18
+ reference, which its row already names. The dog DLA ligand dataset, with 62,492
19
+ mappings, is 255 MB, against 389 MB in the version 4 layout. Version 4 files remain readable, and a
20
+ version 4 fixture written by the released ORFdata 0.30.0 tests that.
21
+
22
+ Published storage versions 1, 2, 3 and 4 remain readable. There is no automatic
17
23
  migration or replacement of downloaded artifacts. A new source rebuild can use
18
24
  a different storage layout and therefore a different file checksum while
19
25
  returning the same records. Registry downloads always verify the exact published
@@ -40,6 +40,7 @@ nav:
40
40
  - Dog and mouse RNA: pfizer-rna.md
41
41
  - Yeast protein and RNA: copy-yeast.md
42
42
  - Yeast RNA and ribosome occupancy: ingolia-yeast.md
43
+ - Dog MHC ligands and PeptideAtlas: dog-peptides.md
43
44
  - Project:
44
45
  - Release notes: https://github.com/openvax/orfdata/blob/main/CHANGELOG.md
45
46
  - Data roadmap: https://github.com/openvax/orfdata/issues/3