JCVI: A versatile toolkit for comparative genomics analysis - Tang, Haibao; Krishnakumar, Vivek; Zeng, Xiaofei; Xu, Zhougeng; Taranto, Adam; Lomas, Johnathan S.; Zhang, Yixing; Huang, Yumin; Wang, Yibin; Yim, Won Cheol; Zhang, Jisen; Zhang, Xingtan (iMeta, 2024)
The life cycle of genome builds spans interlocking pillars of assembly, annotation, and comparative genomics to drive biological insights. While tools exist to address each pillar separately, there is a growing need for tools to integrate different pillars of a genome project holistically. For example, comparative approaches can provide quality control of assembly or annotation; genome assembly, in turn, can help to identify artifacts that may complicate the interpretation of genome comparisons. The JCVI library is a versatile Python‐based library that offers a suite of tools that excel across these pillars. Featuring a modular design, the JCVI library provides high‐level utilities for tasks such as format parsing, graphics generation, and manipulation of genome assemblies and annotations. Supporting genomics algorithms like MCscan and ALLMAPS are widely employed in building genome releases, producing publication‐ready figures for quality assessment and evolutionary inference. Developed and maintained collaboratively, the JCVI library emphasizes quality and reusability. The JCVI library contains a set of computational tools that are often used in tasks covering genome assembly, annotation, and comparative genomics. Engineered with a focus on versatility, the library incorporates modules for algorithms, format parsing, and graphics generation, enabling seamless integration into diverse research workflows. Highlights JCVI is a Python‐based library that enables genomic workflows through a collection of simple reusable tools. The JCVI library is modular with basic functionalities separated into bioinformatics format parsing, assembly and annotation‐related tools, comparative genomics, and graphics generation. Embedded algorithms like MCscan, ALLMAPS, and other tools within JCVI are now widely used in the community and power a wide array of use cases.