Piero Gasparotto, Luis Barba, Hans-Christian Stadler, Greta Assmann, Henrique Mendonça, Alun W Ashton, Markus Janousch, Filip Leonarski, Benjamín Béjar
{"title":"TORO Indexer:基于 PyTorch 的千赫兹序列晶体学索引算法。","authors":"Piero Gasparotto, Luis Barba, Hans-Christian Stadler, Greta Assmann, Henrique Mendonça, Alun W Ashton, Markus Janousch, Filip Leonarski, Benjamín Béjar","doi":"10.1107/S1600576724003182","DOIUrl":null,"url":null,"abstract":"<p><p>Serial crystallography (SX) involves combining observations from a very large number of diffraction patterns coming from crystals in random orientations. To compile a complete data set, these patterns must be indexed (<i>i.e.</i> their orientation determined), integrated and merged. Introduced here is <i>TORO</i> (<i>Torch</i>-powered robust optimization) <i>Indexer</i>, a robust and adaptable indexing algorithm developed using the <i>PyTorch</i> framework. <i>TORO</i> is capable of operating on graphics processing units (GPUs), central processing units (CPUs) and other hardware accelerators supported by <i>PyTorch</i>, ensuring compatibility with a wide variety of computational setups. In tests, <i>TORO</i> outpaces existing solutions, indexing thousands of frames per second when running on GPUs, which positions it as an attractive candidate to produce real-time indexing and user feedback. The algorithm streamlines some of the ideas introduced by previous indexers like <i>DIALS</i> real-space grid search [Gildea, Waterman, Parkhurst, Axford, Sutton, Stuart, Sauter, Evans & Winter (2014). <i>Acta Cryst.</i> D<b>70</b>, 2652-2666] and <i>XGandalf</i> [Gevorkov, Yefanov, Barty, White, Mariani, Brehm, Tolstikova, Grigat & Chapman (2019). <i>Acta Cryst.</i> A<b>75</b>, 694-704] and refines them using faster and principled robust optimization techniques which result in a concise code base consisting of less than 500 lines. On the basis of evaluations across four proteins, <i>TORO</i> consistently matches, and in certain instances outperforms, established algorithms such as <i>XGandalf</i> and <i>MOSFLM</i> [Powell (1999). <i>Acta Cryst.</i> D<b>55</b>, 1690-1695], occasionally amplifying the quality of the consolidated data while achieving superior indexing speed. The inherent modularity of <i>TORO</i> and the versatility of <i>PyTorch</i> code bases facilitate its deployment into a wide array of architectures, software platforms and bespoke applications, highlighting its prospective significance in SX.</p>","PeriodicalId":14950,"journal":{"name":"Journal of Applied Crystallography","volume":null,"pages":null},"PeriodicalIF":6.1000,"publicationDate":"2024-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC11299607/pdf/","citationCount":"0","resultStr":"{\"title\":\"<i>TORO Indexer</i>: a <i>PyTorch</i>-based indexing algorithm for kilohertz serial crystallography.\",\"authors\":\"Piero Gasparotto, Luis Barba, Hans-Christian Stadler, Greta Assmann, Henrique Mendonça, Alun W Ashton, Markus Janousch, Filip Leonarski, Benjamín Béjar\",\"doi\":\"10.1107/S1600576724003182\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<p><p>Serial crystallography (SX) involves combining observations from a very large number of diffraction patterns coming from crystals in random orientations. To compile a complete data set, these patterns must be indexed (<i>i.e.</i> their orientation determined), integrated and merged. Introduced here is <i>TORO</i> (<i>Torch</i>-powered robust optimization) <i>Indexer</i>, a robust and adaptable indexing algorithm developed using the <i>PyTorch</i> framework. <i>TORO</i> is capable of operating on graphics processing units (GPUs), central processing units (CPUs) and other hardware accelerators supported by <i>PyTorch</i>, ensuring compatibility with a wide variety of computational setups. In tests, <i>TORO</i> outpaces existing solutions, indexing thousands of frames per second when running on GPUs, which positions it as an attractive candidate to produce real-time indexing and user feedback. The algorithm streamlines some of the ideas introduced by previous indexers like <i>DIALS</i> real-space grid search [Gildea, Waterman, Parkhurst, Axford, Sutton, Stuart, Sauter, Evans & Winter (2014). <i>Acta Cryst.</i> D<b>70</b>, 2652-2666] and <i>XGandalf</i> [Gevorkov, Yefanov, Barty, White, Mariani, Brehm, Tolstikova, Grigat & Chapman (2019). <i>Acta Cryst.</i> A<b>75</b>, 694-704] and refines them using faster and principled robust optimization techniques which result in a concise code base consisting of less than 500 lines. On the basis of evaluations across four proteins, <i>TORO</i> consistently matches, and in certain instances outperforms, established algorithms such as <i>XGandalf</i> and <i>MOSFLM</i> [Powell (1999). <i>Acta Cryst.</i> D<b>55</b>, 1690-1695], occasionally amplifying the quality of the consolidated data while achieving superior indexing speed. The inherent modularity of <i>TORO</i> and the versatility of <i>PyTorch</i> code bases facilitate its deployment into a wide array of architectures, software platforms and bespoke applications, highlighting its prospective significance in SX.</p>\",\"PeriodicalId\":14950,\"journal\":{\"name\":\"Journal of Applied Crystallography\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":6.1000,\"publicationDate\":\"2024-06-18\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC11299607/pdf/\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Journal of Applied Crystallography\",\"FirstCategoryId\":\"88\",\"ListUrlMain\":\"https://doi.org/10.1107/S1600576724003182\",\"RegionNum\":3,\"RegionCategory\":\"材料科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"2024/8/1 0:00:00\",\"PubModel\":\"eCollection\",\"JCR\":\"Q1\",\"JCRName\":\"Biochemistry, Genetics and Molecular Biology\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Applied Crystallography","FirstCategoryId":"88","ListUrlMain":"https://doi.org/10.1107/S1600576724003182","RegionNum":3,"RegionCategory":"材料科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2024/8/1 0:00:00","PubModel":"eCollection","JCR":"Q1","JCRName":"Biochemistry, Genetics and Molecular Biology","Score":null,"Total":0}
TORO Indexer: a PyTorch-based indexing algorithm for kilohertz serial crystallography.
Serial crystallography (SX) involves combining observations from a very large number of diffraction patterns coming from crystals in random orientations. To compile a complete data set, these patterns must be indexed (i.e. their orientation determined), integrated and merged. Introduced here is TORO (Torch-powered robust optimization) Indexer, a robust and adaptable indexing algorithm developed using the PyTorch framework. TORO is capable of operating on graphics processing units (GPUs), central processing units (CPUs) and other hardware accelerators supported by PyTorch, ensuring compatibility with a wide variety of computational setups. In tests, TORO outpaces existing solutions, indexing thousands of frames per second when running on GPUs, which positions it as an attractive candidate to produce real-time indexing and user feedback. The algorithm streamlines some of the ideas introduced by previous indexers like DIALS real-space grid search [Gildea, Waterman, Parkhurst, Axford, Sutton, Stuart, Sauter, Evans & Winter (2014). Acta Cryst. D70, 2652-2666] and XGandalf [Gevorkov, Yefanov, Barty, White, Mariani, Brehm, Tolstikova, Grigat & Chapman (2019). Acta Cryst. A75, 694-704] and refines them using faster and principled robust optimization techniques which result in a concise code base consisting of less than 500 lines. On the basis of evaluations across four proteins, TORO consistently matches, and in certain instances outperforms, established algorithms such as XGandalf and MOSFLM [Powell (1999). Acta Cryst. D55, 1690-1695], occasionally amplifying the quality of the consolidated data while achieving superior indexing speed. The inherent modularity of TORO and the versatility of PyTorch code bases facilitate its deployment into a wide array of architectures, software platforms and bespoke applications, highlighting its prospective significance in SX.
期刊介绍:
Many research topics in condensed matter research, materials science and the life sciences make use of crystallographic methods to study crystalline and non-crystalline matter with neutrons, X-rays and electrons. Articles published in the Journal of Applied Crystallography focus on these methods and their use in identifying structural and diffusion-controlled phase transformations, structure-property relationships, structural changes of defects, interfaces and surfaces, etc. Developments of instrumentation and crystallographic apparatus, theory and interpretation, numerical analysis and other related subjects are also covered. The journal is the primary place where crystallographic computer program information is published.