Human–robot collaboration could be advanced by facilitating the intuitive, gaze-based control of robots, and enabling robots to recognize human actions, infer human intent, and plan actions that support human goals. Traditionally, gaze tracking approaches to action recognition have relied upon computer vision-based analyses of two-dimensional egocentric camera videos. The objective of this study was to identify useful features that can be extracted from three-dimensional (3D) gaze behavior and used as inputs to machine learning algorithms for human action recognition. We investigated human gaze behavior and gaze–object interactions in 3D during the performance of a bimanual, instrumental activity of daily living: the preparation of a powdered drink. A marker-based motion capture system and binocular eye tracker were used to reconstruct 3D gaze vectors and their intersection with 3D point clouds of objects being manipulated. Statistical analyses of gaze fixation duration and saccade size suggested that some actions (pouring and stirring) may require more visual attention than other actions . 3D gaze saliency maps, generated with high spatial resolution for six subtasks, appeared to encode action-relevant information. The “gaze object sequence” was used to capture information about the identity of objects in concert with the temporal sequence in which the objects were visually regarded. Dynamic time warping barycentric averaging was used to create a population-based set of characteristic gaze object sequences that accounted for intra- and inter-subject variability. The gaze object sequence was used to demonstrate the feasibility of a simple action recognition algorithm that utilized a dynamic time warping Euclidean distance metric. Averaged over the six subtasks, the action recognition algorithm yielded an accuracy of 96.4%, precision of 89.5%, and recall of 89.2%. This level of performance suggests that the gaze object sequence is a promising feature for action recognition whose impact could be enhanced through the use of sophisticated machine learning classifiers and algorithmic improvements for real-time implementation. Robots capable of robust, real-time recognition of human actions during manipulation tasks could be used to improve quality of life in the home and quality of work in industrial environments. Recognition of human motion has the potential to greatly impact a number of fields, including assistive robotics, human–robot interaction, and autonomous monitoring systems. In the home, recognition of instrumental activities of daily living (iADLs) could enable an assistive robot to infer human intent and collaborate more seamlessly with humans while also reducing the cognitive burden on the user. A wheelchair-mounted robot with such capabilities could enhance the functional independence of wheelchair users with upper limb impairments Argall, . During The relationships between human vision, planning, and intent have inspired roboticists to adopt similar vision-based principles for planning robot movements and to use human gaze tracking for the intuitive control of robot systems. For instance, gaze fixation data collected during the human navigation of rocky terrain have been used to inspire the control of bipedal robots, specifically for the identification and selection of foot placement locations during traversal of rough terrain  participated in the study, whose preliminary results were first reported in Haji Fathaliyan et al. . AccordiSubjects were instructed to perform a bimanual tasks involving everyday objects and actions. In this work, we focus on one bimanual task that features numerous objects and subtasks: the preparation of a powdered drink. To investigate how the findings of this study may generalize to other iADL tasks, we plan to apply similar analyses to other bimanual tasks in the future. The objects for the drink preparation task were selected from the benchmark Yale-CMU-Berkeley (YCB) Object Set  as shown in Figure Subjects wore an ETL-500 binocular, infrared, head-mounted eye tracker  that tracked their visual point of regard, with respect to a head-mounted egocentric scene camera, at a 60 Hz sampling frequency. Calibration data suggest that the accuracy and precision of the eye tracker are approximately 1.43° and 0.11°, respectively. Six T-Series cameras sampled at 100 Hz and a Basler/Vue video camera  were used to track the motion of the subjects and YCB objects  based on reports in the literature that saccades typically precede related motions of the hand  to avoid type I errors when performing the post hoc pairwise comparisons. It was found that the average gaze fixation durations for “pour” and “stir” were significantly greater than those of other verbs  matrix, where M is the number of objects involved in the manipulation task and N is the total number of instances (frames sampled at 60 Hz) that at least one of the M objects was visually regarded, whether through gaze fixation or saccade , a technique that has been widely used for pattern recognition of human motion, such as gait recognition  of X to element(s) of Y. For example, ijp =  represents the matched pair of ux and vy. If the warping path is optimized to yield the lowest sum of Euclidean distances between the two sequences, the DTW distance between the two sequences X and Y can be defined as the following:Dynamic time warping compares two time-dependent sequences In order to identify a characteristic gaze object sequence for each subtask, we employed a global averaging method called dynamic time warping barycenter averaging (DBA), which performs the DTW and averaging processes simultaneously. This method uses optimization to iteratively refine a DBA (average) sequence until it yields the smallest DTW Euclidean distance see  with resTraditionally, the Euclidean distance is used as a metric for similarity between two vectors. However, the Euclidean distance alone is not an accurate measure of similarity for time series data  unlabeled sequences. Using all sequence data, at 100% elapsed time of a novel gaze object sequence, the classifier correctly labeled 36 of the 43 relevant sequences as Subtask 1, but also labeled 10 of the (43*5) irrelevant sequences as Subtask 1. In this case, TP1 = 36, TN1 = 205, FP1 = 10, and FN1 = 7. Using Eqs TP1 is shown as the first diagonal element in the confusion matrix . FP1 and FN1 are the sum of off-diagonal elements in the first column and first row, respectively.Figure Eye movements were investigated at the action unit level through gaze fixation duration and saccade size. For gaze fixation duration, both “pour” and “stir” were statistically significantly different from the other action unit verb groups Figure A. The meFor saccade size, both “move” and “stir” were statistically significantly different from the other action unit verb groups Figure B. The reThe concept of “quiet eye,” originally introduced in the literature with regards to the cognitive behaviors of elite athletes, has been used to differentiate between expert and novice surgeons  Figure D. In othLikewise, the gaze saliency maps for Subtask 2 (“move spoon into pitcher”) and Subtask 3 (“stir inside pitcher”) were distinguished only by the subtle difference in gaze fixation distribution on the spoon Figures B,C. The Some gaze saliency maps could also be easily associated with specific action units. For instance, gaze saliency intensity was greatest at the top of the pitcher for the action unit “reach for pitcher,” but greatest at the bottom for “set down pitcher” Figure C. By conAlthough 3D gaze saliency maps are not necessarily unique for all subtasks and action units, it is likely that a combination of the gaze saliency maps for a subtask and its constituent action units could provide additional temporal information that would enable recognition of a subtask. While beyond the scope of this work, we propose that a sequence of gaze saliency maps over time could be used for action recognition. The time series approaches presented for the analysis of gaze object sequences could similarly be applied to gaze saliency map sequences.If the dynamic tracking of 3D gaze saliency maps is to be practically implemented, one must address the high computational expense associated with tracking, accessing, and analyzing dense 3D point clouds. In this work, the 3D point clouds for the spoon and pitcher were comprised of approximately 3,000 and 20,000 points, respectively. At least two practical modifications could be made to the gaze saliency map representation. First, parametric geometric shapes could be substituted for highly detailed point clouds of rigid objects, especially if fine spatial resolution is not critical for action recognition. The use of a geometric shapes could also enable one to analytically solve for the intersection point(s) between the object and gaze vector. Second, gaze fixation can be tracked for a select subset of regions or segments, such as those associated with “object affordances,” which describe actions that can be taken with an object Gibson, , or “graOne limitation of this work is that we cannot comment on the subject’s true focal point or whether subjects were actively processing visual information. A gaze vector may pass through multiple objects, or even through materials that are not rigid objects . We calculated the intersection points between a gaze vector and objects in its path and then treated the closest intersection point to the user as a gaze fixation point. This approach may not work if some of the task-relevant objects are transparent and subjects look through one object to visually attend to a more distant object. In this work, objects sometimes passed through the path of a stationary gaze vector, but may not have been the focus of active visual attention. For example, the gaze saliency map for Subtask 3 (“stir inside pitcher”) displayed regions of greater intensity on both the bowl of the spoon and the inner wall of the pitcher Figure C. HoweveFuture work should address methods for enhancing the robustness of action recognition algorithms to occlusions. For example, if a gaze object is briefly occluded by a moving object that passes through the subject’s otherwise fixed field of view, an algorithm could be designed to automatically disregard the object as noise to be filtered out. In addition, a more advanced eye tracker and/or calibration process could be leveraged to estimate focal length. Focal length could be combined with 3D gaze vector direction to increase the accuracy of gaze object identification in cases, where the 3D gaze vector intersects multiple objects.Human gaze behavior “in the wild” will differ to some (as yet unknown) extent as compared to the gaze behavior observed in our laboratory setting. Our use of black curtains and the provision of only task-relevant objects enabled the standardization of the experimental setup across subjects. However, this protocol also unrealistically minimized visual clutter, the presence of novel objects, and distractions to the subject. In a more natural setting, one’s gaze vector could intersect with task-irrelevant objects in the scene. This would result in the injection of noise into the gaze object sequence, for example, and could decrease the speed and/or accuracy of action recognition. Probabilistic modeling of the noise could alleviate this challenge.During everyday activities, eye movements are primarily associated with task-relevant objects , and how they are used. The performance of household robots will largely depend on their ability to recognize and localize objects, especially in complex scenes .post hoc study of recognition accuracy as a function of time elapsed. However, in practice, the novel gaze object sequence will roll out in real-time and we will not know a priori what percent of the subtask has elapsed. To address this, we propose the use of parallel threads that calculate the DTW Euclidean distance metric for comparisons of the novel sequence with different portions of each characteristic sequence. For instance, one thread runs a comparison with the first 10% of one characteristic gaze object sequence; another thread runs a comparison for the first 20% of the same characteristic gaze object sequence, etc. Such an approach would also address scenarios in which an individual happens to be performing a subtask faster than the population, whose collective behavior is reflected in each characteristic gaze object sequence. For example, it can be seen that the novel gaze object sequence in Figure In this work, we have presented a simple proof-of-concept methods for action recognition using a DTW Euclidean distance metric drawn from comparisons between novel and characteristic gaze object sequences. In the current instantiation, novel and characteristic sequences were compared using the same elapsed time (percentage of the entire sequence) Figure . This apFor human-robot collaborations, the earlier that a robot can recognize the intent of the human, the more time the robot will have to plan and correct its actions for safety and efficacy. Thus, practical limitations associated with the computational expense of real-time gaze object sequence recognition must be addressed. At the least, comparisons of a novel sequence unfolding in real-time could be made with a library of characteristic subtask sequences using GPUs and parallel computational threads (one thread for each distinct comparison). The early recognition of a novel subtask is not just advantageous for robot planning and control. The computational expense of DTW increases for longer sequences. Thus, the sooner a novel sequence can be recognized, the less time is spent on calculating the proposed DTW Euclidean metric. Since DTW uses dynamic programming to find the best warping paths, a quadratic computational complexity results. While not implemented in this work, the computational expense of the DTW process could be further reduced by leveraging a generalized time warping technique that temporally aligns multimodal sequences of human motion data while maintaining linear complexity .The long-term objective of the work is to advance human-robot collaboration by (i) facilitating the intuitive, gaze-based control of robots and (ii) enabling robots to recognize human actions, infer human intent, and plan actions that support human goals. To this end, the objective of this study was to identify useful features that can be extracted from 3D gaze behavior and used as inputs to machine learning algorithms for human action recognition. We investigated human gaze behavior and gaze-object interactions in 3D during the performance of a bimanual, iADL: the preparation of a powdered drink. Gaze fixation duration was statistically significantly larger for some action verbs, suggesting that some actions such as pouring and stirring may require increased visual attention for task completion. 3D gaze saliency maps, generated with high spatial resolution for six subtasks, appeared to encode action-relevant information at the subtask and action unit levels. Dynamic time warping barycentric averaging was used to create a population-based set of characteristic gaze object sequences that accounted for intra- and inter-subject variability. The gaze object sequence was then used to demonstrate the feasibility of a simple action recognition algorithm that utilized a DTW Euclidean distance metric. Action recognition results , suggest that the gaze object sequence is a promising feature for action recognition whose impact could be enhanced through the use of sophisticated machine learning classifiers and algorithmic improvements for real-time implementation. Future work includes the development of a comprehensive action recognition algorithm that simultaneously leverages features from 3D gaze–object interactions, upper limb kinematics, and hand–object spatial relationships. Robots capable of robust, real-time recognition of human actions during manipulation tasks could be used to improve quality of life in the home as well as quality of work in industrial environments.This study was carried out in accordance with the recommendations of the UCLA Institutional Review Board with written informed consent from all subjects. All subjects gave written informed consent in accordance with the Declaration of Helsinki. The protocol was approved by the UCLA Institutional Review Board.All authors contributed to the conception and design of the study. AF and XW supervised data collection, performed the data analysis, and created the first draft of the figures. All authors wrote sections of the manuscript and contributed to its revision. All authors have read and approved the submitted manuscript.The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.


Structure comparison can provide useful information to identify functional and evolutionary relationship between proteins. With the dramatic increase of protein structure data in the Protein Data Bank, computation time quickly becomes the bottleneck for large scale structure comparisons. To more efficiently deal with informative multiple structure alignment tasks, we propose pmTM-align, a parallel protein structure alignment approach based on mTM-align/TM-align. pmTM-align contains two stages to handle pairwise structure alignments with Spark and the phylogenetic tree-based multiple structure alignment task on a single computer with OpenMP.Experiments with the SABmark dataset showed that parallelization along with data structure optimization provided considerable speedup for mTM-align. The Spark-based structure alignments achieved near ideal scalability with large datasets, and the OpenMP-based construction of the phylogenetic tree accelerated the incremental alignment of multiple structures and metrics computation by a factor of about 2–5.pmTM-align enables scalable pairwise and multiple structure alignment computing and offers more timely responses for medium to large-sized input data than existing alignment tools such as mTM-align. The three-dimensional structure of protein plays an important role in providing inference of its molecular function, and is more conserved than sequence during evolution. Structure comparison can be used to identify functional and evolutionary relationship between proteins, which are very useful for functional annotation, structure-based drug design, protein–protein docking, and many other applications .To compare two protein structures, we first need to find the best structural alignment between two proteins to initiate residue-level comparison. Many pairwise structure alignment (PSA) methods are developed in this aim, like DALI , CE 3],,3], TM-aThe task of finding alignment without a priori knowledge of equivalent residues is in general an NP-hard problem with no exact solution, which usually involves computation intensive procedures such as dynamic programming. With the dramatic increase of protein structural data in the Protein Data Bank, computation time quickly becomes the bottleneck for large scale structure comparisons. For example, it would take several days to compare a newly solved protein structure iteratively against all existing ones stored in a large database, and even longer to build MSTA with a smaller group of proteins. As a consequence, there is an increasing demand for structure alignment tools that can not only provide accurate results, but also complete large-scale requests with reasonable response time.To tackle this problem, many newly developed structure alignment tools employ parallel computing to improve the computation efficiency. These parallel computing tools differ drastically both in hardware and software architecture, ranging from multi-core CPU, GPU to cloud platforms.GPU is suited for fine-grained parallel tasks executed on parallel threads, for example, ppsAlign  utilizesCloud computing arises as another efficient computational framework for data intensive problems, it offers outstanding performance and scalability for processing large amount of data that are difficult to be handled by a single computer. Cloud computing has already been used to solve various biological problems , 13, forMore recently, Apache Spark has emerged as a promising and more flexible framework for the implementation of highly scalable parallel applications based on in-memory cluster computing. To maintain the scalability and high fault tolerance, Spark uses a distributed memory abstraction called Resilient Distributed Dataset (RDD), which offers a performance boost against Hadoop's MapReduce. For example, SparkSW  is a spaIn this paper, we propose pmTM-align, a parallel protein structure alignment approach based on mTM-align/TM-align. We optimized two major steps in mTM-align with parallel computing tools: Spark-based PSA computation and OpenMP-based incremental alignment. pmTM-align is built on a hybrid architecture to take advantage of data-level parallelism by cloud computing, and fine-grained parallelism of multi-core CPU. The goal is to provide near real-time responses for pairwise and multiple structure alignment requests with large-scale input.mTM-align is built with progressive merging of PSA results provided by TM-align. It has three main steps: (1) generation of PSAs and a distance matrix by TM-align, (2) construction of a structure-based phylogenetic tree by UPGMA , and (3)In this aim, we took a closer look on the computations involved in these steps. The PSA generation step mainly concerns grouping protein structures into pairs, then each pair is processed by TM-align in a sequential order. Since there is no dependency between protein pairs, these pairwise computations can be deployed on a distributed system to improve data efficiency.Once the PSAs and phylogenetic tree is ready, the final multiple alignment is built by progressive merging of intermediate alignment results from leaf nodes to the root. Aligning an already constructed alignment with another alignment/structure is performed using the NWDP algorithm. This task is essentially recursive as alignments at a given non-leaf node will be feasible only when its children nodes have been parsed. This process can be parallelized if the tree is not entirely skewed so nodes at the same depth can be processed simultaneously.Based on the above analyses, we divide the algorithm into two computational stages depending on their type of dominant task: the iterative PSA stage and the incremental alignment stage. The whole application thus utilizes a hybrid architecture to solve the task in each stage see Fig. . For theApache Spark outperforms Hadoop's MapReduce scheme for iterative data processing with its in-memory calculations by introducing an elastic distributed data structure abstraction (i.e. Spark RDD). Although Spark can be run in standalone mode and read data from the local file system, we choose to use Hadoop's task scheduling and data management systems, i.e. YARN and HDFS, to have a more integrated distributed computing environment.A driver application receives user commands and manage the whole application execution, including data distribution, task execution, and the gathering of results from all worker nodes. The workflow of the PSA stage is as follows: protein structures are first uploaded to HDFS, then are read by the Spark program and transformed to RDDs. HDFS allows data sharing without per site data replication and ensures high throughput when Spark fetches data from it. The RDD collection is then divided into partitions and distributed to each worker node for PSA computation. The final result is collected and saved on HDFS, then downloaded as a single file as input to form the distance matrix. The detailed workflow is shown in Fig. wholeTextFiles function on line 2 reads all protein structures from files on HDFS, and then the cartesian function on line 7 creates protein pairs in a Spark RDD, which are transferred to the local TM-align with a pipe operator on line 13, and all comparison results of TM-align are finally collected from standard output to form a new RDD. The input and output of the original TM-align is redesigned to fit the IO requirements of Spark.To integrate TM-align into the Spark platform, we chose a pipe-based architecture to call the TM-align program written in C++ as an external library. The procedure is shown in Algorithm 1: first, the This pipe operation has three advantages over other binding options. First, it requires minimum adaption of the original TM-align program, instead of writing wrapper code like JNI calls. Second, the Spark driver and the command line alignment tool is loosely coupled, so it is highly flexible and open to other alignment algorithms. Finally and more importantly, TM-align is computation intensive with heuristic search and dynamic programming, it is more efficient to stay with C/C++ implementation than having a Scala replicate.This Spark-based PSA implementation with TM-align can be easily deployed on a local cluster or public cloud with Spark's default parameter settings. However, several parameters are to be fine-tuned if we want to further optimize the computation efficiency.The phylogenetic tree used in the original mTM-align is based on an array-type data structure without direct link from a node to its direct children, each node can be accessed using its index and a string storing the name of the protein structure or a concatenation of names for non-leaf nodes. Although this representation is more compact in memory and allows quick sequential access to all nodes, it is neither efficient for node searching, nor an ideal data structure for tree traversal.So here a binary tree is used instead to store the generated phylogenetic tree, and the index of each node is kept to indicate whether it's a leaf node or not (non-leaf nodes have an index larger than the number of input protein structures). With the binary tree data structure, the incremental alignment order of structures can be generated with standard post-order tree traversal see Fig. .Fig. 3DaThe post-order traversal of the phylogenetic tree can be parallelized by OpenMP Tasks or Tasking which was introduced in OpenMP 3.0 . OpenMP Traversal is called, two new threads will be created respectively  for the processing of children nodes (except for the leaf nodes who have no children), the alignment computation on the current node starts only when its children finish their job on new threads (assured by the keyword taskwait). The pragma single prevents each thread to do a full traversal and taskwait assures the tree traversal order. A global cutoff parameter can be defined to limit excessive task subdivision, for example, cutoff = 3 means all nodes that have a distance to the root node larger than 3 will not create new threads for their children nodes.In the case of post-order tree traversal, the pseudo code is shown in Algorithm 2. Starting from the root of the phylogenetic tree, each time the function for pragma, the pseudo code is shown in Algorithm 3. The schedule clause can be used to control the assignment of loop iterations to the threads. The scheduling method can either be static or dynamic, we choose the latter for load balancing since protein structures usually have different lengths.The incremental alignment and metrics computation steps have more than 20 for loops to compute the final alignment and various scores like the average RMSD and TM-score, so they can be easily accelerated by using OpenMP's In order to evaluate the benefits brought by pmTM-align, we conducted a series of experiments to quantify the performance gain in term of computation efficiency. Since pmTM-align contains two stages that are run with different tools, i.e. Spark and OpenMP, we designed the experiment accordingly in a two-stage manner. First, we assessed the speedup ratio for the Spark-based PSA at each input data scale under different Spark settings. Second, with the best Spark configuration identified in previous step, pmTM-align was compared against mTM-align to observe the overall speedup.We chose the SABmark dataset (version 1.65)  for bencTo test the scalability of pmTM-align for PSA tasks, we merged all groups of structures in SABmark and created randomly formed groups with different sizes. Start from 25, the size of the test set doubles until reaching 1600 structures. To test the full MSTA process, we also created more fined subsets from 20 to 100 with an interval of 20.Experiments were carried out on China Telecom's e-Cloud. Each server instance had an Intel(R) Xeon(R) Gold 6151 CPU@3.00 GHz with 32 cores, 128 GB RAM. Given three server instances, we created a master node and three worker nodes containing 32 Spark executors. Each executor had two cores and 4 GB memory distributed over the worker nodes.We tested pmTM-align on Centos 7.6 using Spark 2.3.3 along with Hadoop 2.8.5 for its HDFS and YARN components. OpenMP was directly included in the GNU compiler and the version of G++ was 4.8.5.2) while the first one is O(n). In this study, we mainly focus on all-to-all comparison as a main component of MSTA.Given a database of protein structures, there are usually two types of pairwise comparison scenarios: (1) 1-to-all comparison: a query structure is compared against all the rest to find similar structures to the query protein; (2) all-to-all comparison: exhaustive comparisons are performed on the whole database to find potential connections among sequence divergent proteins. The computation tasks involved in these two scenarios are indeed of the same nature, but the second one has a time complexity of O.The results in Table Scalability test is performed by varying both the number of executors and the scale of input data to see how the Spark-based PSA implementation performs with different size of workload and how the performance evolves with increasing computing resources.We conducted a series of tests with fixed number of input partitions (64) and increasing number of executors (from 2 to 64) to plot the speedup ratio and parallel efficiency for all-to-all PSA tasks.As shown in Fig. From the above results, we can see that except for very small input data, the Spark-based PSA program is able to have good computing efficiency and scales well with different size of datasets. However, it's not trivial to choose an “optimal” number of executors for all tasks. Since parallel efficiency is not a prioritized concern, a good choice would be using all available computing cores to gain as much speedup as possible.pmTM-align-single hereafter for simplicity.With the best Spark configuration identified in previous section, we proceed the comparison between pmTM-align and the original mTM-align to see the actual benefits of parallel computing for end-to-end MSTA tasks. Here end-to-end means taking a group of structures as input, and giving the final alignment and associated scoring metrics as output. pmTM-align was benchmarked with and without OpenMP so we can see the contribution of Spark and OpenMP separately. pmTM-align without OpenMP (i.e. single-threaded) is referred as The three methods were compared using randomly sampled structures from the SABmark dataset. As the computation load for all-to-all PSA grows quadratically with the number of structures and mTM-align may provide invalid results for large number of randomly selected proteins if their structures are too divergent to find common core regions, here we mainly used small subsets to illustrate the performance gain of our modified versions.The results for subsets containing 20–100 structures are presented in Table Regarding mTM-align, the most time-consuming steps are all-to-all PSA and incremental alignment, the latter can take up to 90% of total running time see Fig. a. These To further understand the benefits of each modification that we apply to the original mTM-align, we first compared mTM-align with pmTM-align-single to see the influence of Spark and altered data structure. We can see in Fig. Then to assess the benefits of OpenMP, we compared pmTM-align-single and pmTM-align by their execution time on incremental alignment Fig. a and metFrom the results presented in previous section, we confirmed the benefits of using Spark and OpenMP for MSTA tasks. The final program named pmTM-align now allows datasets of medium or large sizes to be processed in a reasonable time. pmTM-align is divided into two computational stages and each stage is accomplished by the corresponding computing environment forming a hybrid architecture.The Spark-based PSA part yields significant improvements for TM-align based alignment tasks compared to the original serial version. The results of scalability tests see Fig.  show thaAs Spark is essentially designed to handle large datasets, when dealing with smaller datasets, we can still have acceptable speedup ratio, but the parallel efficiency drops quickly. From the scalability analyses, we recommend a configuration of no more than 16 executors (each has 2 cores) when dealing with less than 100 input structures.A specialty about this Spark-based PSA tool that has been previously discussed is the input partition issue. Since each structure file in the SABmark dataset is about 20 KB, Spark will only create two partitions if there are less than 12,000 structures to be loaded from HDFS. This default behavior leads to unbalanced workloads among executors, and thus impede efficient task execution. As shown in Table It should be noted that, many Hadoop-based PSA tools exist, but were not compared in this study for the lack of support for TM-align. It is thus impossible to draw conclusions on the comparison between Hadoop and Spark for PSA tasks based on the reported results in this study. Further comparisons are needed to run PSA on the same hardware, with the same alignment algorithm and datasets.for pragma worked well and is the main source of performance gain shown in Fig. 2 (n + 1)—1 is the tree's height. In the worst case, the tree is skewed in a way that alignment can only be built one after another. We observed the shape of phylogenetic trees built from our randomly sampled subsets and some groups in SABmark superfamilies set who share a common evolutionary origin, but no apparent rules can be find for the shapes of phylogenetic trees from these two different sources. So it's recommended to keep the loop parallelism and remove the Task-based parallel tree traversal.Regarding OpenMP, the loop parallelism with Finally, the optimal combination of design choices led us to Spark-based PSA plus parallel loops with OpenMP for doing MSTA tasks.In this paper, we propose pmTM-align, which largely improves the computing efficiency of mTM-align by applying data structure optimization and integration of parallel computing tools including Apache Spark and OpenMP. pmTM-align enables scalable pairwise and multiple structure alignment computing and offers more timely responses than mTM-align, it can not only process small to medium-sized data, but also has the potential to handle very large datasets if not limited by physical memory.Currently pmTM-align employs a hybrid two-stage architecture as Spark can only handle the all-to-all PSA part, while the rest is computed locally with OpenMP support. In the future, efforts will be made to find ways to build phylogenetic tree and achieve incremental alignment in a distributed environment, or to combine Spark and GPU to further improve the computing efficiency for PSA tasks.Project name: pmTM-align.Operating system(s): Centos 7.6 or other Linux distributions.Programming language: Scala, Shell and C++.Other requirements:Spark 2.3.3 or higher, Hadoop 2.8.5 or higher, G++ 4.8.5 or higher, OpenMP 3.0.License: BSD 3-clause Clear License.Any restrictions to use by non-academics: No extra restrictions except BSD 3-clause Clear License.


Mapping of reads to reference sequences is an essential step in a wide range of biological studies. The large size of datasets generated with next-generation sequencing technologies motivates the development of fast mapping software. Here, I describe URMAP, a new read mapping algorithm. URMAP is an order of magnitude faster than BWA with comparable accuracy on several validation tests. On a Genome in a Bottle (GIAB) variant calling test with 30× coverage 2×150 reads, URMAP achieves high accuracy  with the strelka2 caller. However, GIAB reference variants are shown to be biased against repetitive regions which are difficult to map and may therefore pose an unrealistically easy challenge to read mappers and variant callers. Next-generation sequencing has enabled dramatic advances in fields ranging from human functional genomics  to microde facto standard, with BWA and Bowtie2 in particular having more than 39,000 citations combined at the time of writing (Google Scholar accessed 31st Dec 2019). When first utilized in read mapping, BWT had the important advantage that it creates a compact index with size comparable to the reference database. For the human genome, this is ∼3 GB, which is small enough to be stored in RAM with the commodity computers of that time. Currently, computers with 32 GB or more RAM are readily available, which has raised the question of whether additional memory could enable better mapping performance. In particular, the authors of SNAP claim  close together in RAM to minimize memory cache misses. Slots found exactly once in the reference (pins) are flagged. For a given query, URMAP first searches for a pair of non-overlapping pins which are close together in the reference  ∈ [0 , 4k) in the usual way by considering letters to be base-4 digits A = 0, C = 1, G = 2 and T = 3. The murmur64 hash function (https://en.wikipedia.org/wiki/MurmurHash) is used to convert w to an integer (slot) s ∈ [0 , H) where H is the table size by s = murmur64(w (W)) mod H. For brevity, a word with a given slot value will be referred to simply as a slot. To reduce collisions, the table size H should be a prime number substantially larger than the reference; for the human genome H = 5 ×109 + 29 is recommended. The table design is intended to minimize size and optimize adjacency of data relating to a given slot with the goal of avoiding memory cache misses.The positions of words of length row) is five bytes: one byte  containing a one-bit flag and sometimes a 7-bit pointer to another row, and a four-byte value which is usually a 32-bit reference coordinate, or rarely a pointer to another row. Using 32-bit coordinates limits the total reference sequence size to 232 = 4 GB; references up to 1024 GB could be accommodated by using five pointer bytes.Each hash table entry  pin used to mark a location on a paper (or online) geographical map.A singleton is a slot that is found exactly once in the plus strand of the reference and one or more times in the minus strand. A singleton is also indicated by a reserved tally value. Note that while the minus strand is not indexed, there is nevertheless an important distinction between pins and singletons because the reverse-complement of a singleton occurs at least once in the plus strand of the reference, while the reverse-complement of a pin does not occur. Thus, while a pin found in a read implies only one candidate alignment to the plus strand of the reference considering both strands of the query, a singleton implies at least two candidates.A To store positions of a slot occurring more than once in the plus strand of the reference, a linked list is stored in nearby empty rows. Where possible, 7 bits of the tally are a pointer to the next row in the list, represented as the number of rows to skip. Overflows where this number does not fit into 7 bits are handled by storing a pointer to the next row in the 32-bit value instead of a reference coordinate. Overflows and list ends are indicated by reserved tally values.k necessarily contains a pin. By default, the abundance threshold t is set to 32. A slot that occurs more than t times on either reference strand is excluded. The minus strand is also considered in order to exclude cases where a repeat occurs with high abundance on the minus strand but low abundance  on the plus strand. If a slot in such a repeat were indexed, this would tend to lead to an over-estimate of the probability that one of its plus strand alignments is correct because high-scoring secondary alignments to the minus strand would not be discovered.Slots exceeding an abundance threshold are excluded from the index. This is a speed optimization to avoid constructing a large number of candidate alignments. The loss in sensitivity is small because abundant slots are usually found in repetitive sequence which maps ambiguously unless there is distinctive sequence elsewhere in the read, and unique reference sequence of length ≥absent, as opposed to a slot which is present in the index. An absent slot may appear in a read, and the index must therefore indicate that the corresponding row does not contain a reference coordinate for that slot. This is accomplished by the first bit of the tally, which is set to one for present slots and zero for absent slots. The reserved tally values for pins and singletons have the first bit set to one to indicate that these slots are present, and the reserved values for 7-bit pointer overflows and the end of a linked list start with a zero bit because these slots were found to be absent and the corresponding rows were therefore available for use in a list. Linked list pointers in tally bytes are limited to 7 bits to ensure that the first bit is zero.A slot that does not occur in the reference, or is not indexed because it is over-abundant, is A hash table collision occurs when two different reference words have the same slot value. A collision between the query and index occurs when a word in the read is different from a word in the index and has the same slot value. Collisions are not represented in the index or explicitly checked during search. This strategy saves index space without compromising search time because in the rare cases where a collided slot is aligned, the alignment will be abandoned quickly due to excessive mismatches in the flanking reference sequence. When aligning, it is faster to check the flanking sequence first than to verify that the seed matches because in the typical (non-collision) case the seed always matches while flanking sequence often does not.k increases the frequency of pins in the reference and also increases the number of words per query that are changed by a difference and hence the probability that a read does not contain a pin, or any indexed slot, due to read errors and variants. The choice of k is thus a compromise between speed and sensitivity. With the human genome, k = 24 is recommended because of the ∼3G 24-mer slots, ∼0.9G (30%) are pins, and on average a reference segment of length 150nt contains 38 pins. A query sequence with <7 single-base differences is guaranteed to have at least one 24-mer match, noting that 7 differences eliminate all 24-mer matches only in the tiny fraction of possible distributions where they are maximally disruptive, and reads with ≥7 differences will often have at least one preserved 24-mer.Increasing strides) of length 29 using modulo 127 to keep the position within the read (because there are 127 24-mers in a read of length 150). For example, the first three words processed are at positions 0, 29 and 58. At a given position, both strands are considered, so for example the words at the first position (zero) in both plus and minus strands are both processed before moving on to the plus and minus words at position 29. The stride value 29 is chosen to be relatively prime with 24, which ensures that the following loop will visit each query word exactly once:With 24-mers, query words in a read of length 150 are processed at intervals  { QueryWordPosition = (29*j)%127; /* ... */ }.for , the search terminates immediately. Previous read mapping algorithms do not terminate when the first high-scoring alignment is found, even if it has no mismatches, because equally high-scoring alignments may exist elsewhere in the reference. By contrast, when a good brace is found the likelihood that a different position is correct is vanishingly small. Noting that a typical read contains several pins, and most pins are true positives, the search for a good brace in a read pair proceeds as follows, with the goal of minimizing the number of hash table accesses and attempted alignments in typical cases. The first pins in both reads  are identified. If this pair is not a good brace, the next pin is identified in R1, giving a new potential brace, then the next pin in R2, and so on. This process continues until a good brace is found or all words in both reads have been processed. Almost all pin pairs which are not braces can beIn its first pass through the query words, URMAP seeks a pair of pins that are close together in the reference. As noted in the Introduction, such a pair is called a brace . This teIdentified as such because they are too far apart in the reference, which requires only the coordinates in their hash table rows. It is very rare for non-overlapping false positive pins to appear close in the reference, and therefore brace tests almost never fail in the more expensive alignment stage. Since most human 2 ×150 read pairs contain a correct brace, the brace search pass identifies the correct reference coordinate for most reads with remarkable efficiency.If no brace is found, the hash table row for each query word has been accessed exactly once. Each row access almost certainly triggers a memory cache miss because of the large size of the hash table (∼25 GB for the human genome). To accelerate access to these rows in subsequent passes, the first pass copies them to a small (few kB) per-thread buffer (PTB). Other data which may be used repeatedly, such as query slot values and the reverse-complemented query sequence, is also stored in the PTB, which is designed to be compact and contiguous to maximize the chance that it will be available in a fast memory cache. The second pass attempts to align all non-pin slots with abundance ≤2. Most of the index data needed for this task is already present in the PTB, though some additional rows may be required for slots with abundance two. If a high-scoring alignment is found in the second pass, the search terminates.In the rare case that no high scoring alignment is found in the first two passes, alignments are attempted for the remaining slots.k. The seed is extended into flanking sequence using gapless x-drop alignment which stops if the score falls more than x below the maximum so far observed (x is a heuristic parameter). If the score exceeds a threshold, the alignment is designated a high-scoring segment pair (HSP) and stored, otherwise the reference location is added to a list of failed extensions. The lists of HSPs and failed locations are consulted before extending to prevent redundant attempts to align the same reference location. If the HSP covers the entire query sequence, then the alignment is considered successful.Following BLAST  and manyIn the human genome, indel variants are rare , and IllPerror that the reference coordinate of the top-scoring alignment is wrong,MAPQ is an integer value representing the estimated probability Perror = 10−MAPQ∕10.T be the score of the first alignment in order of decreasing score, and S ≤ T be the score of the second alignment. If only one alignment is found, S is set to T/2 as a prior estimate of the second-best score rather than zero because the URMAP search algorithm may terminate early if a high-scoring alignment is found. The first alignment is likely to be correct  if T ≫S, and conversely Perror is at least ∼0.5 if T ≈S . Thus MAPQ should increase monotonically with T - S. Also, MAPQ should decrease monotonically with decreasing T because alignments with more differences are less likely to be correct. The best possible alignment score is the query sequence length —Q— because identities contribute 1 to the score, and the ratio T/—Q— therefore ranges from one to zero as the top alignment score ranges from best possible to worst possible. This ratio is a natural choice to down-weight T - S, and a simple formula with the desired properties is MAPQ = (T- S) T/—Q—. Empirically, using (T/—Q—)2 rather than T/—Q— was found to give a more accurate estimate, and URMAP therefore usesLet T - S) (T/—Q—)2.MAPQ = (T/—Q—) suggest that this or a similar result may be derivable from more rigorous theoretical considerations.I am aware of no justification for this formula beyond its empirical success and the intuitive considerations above. However, the simplicity of this formula and its lack of tuned parameters , Minimap2 v2.17-r94, Hisat2 2.1.0 and URMAP v1.0.1300. This is a somewhat arbitrary selection from the many published methods designed include the most popular software (BWA and Bowtie2) together with potentially competitive recently-published methods. The beta version of SNAP was used because the release binaries failed on some tests.de facto standard, to the human reference genome. Variants and sequencing error were introduced based on experimental results rather than by simulating Poisson distributions as in previous benchmarks.I implemented a benchmark, Urbench, which models mapping of shotgun 2 ×150 Illumina reads, i.e., the current Genome Reference Consortium Human genome build 38 (GRCh38)  was usedI chose to use NA12878, a well-studied human genome from the Platinum Genomes project . SimulatTwo source genome sequences were used to simulate reads: the reference genome GRCh38 and variant genome NA12878. Using the reference models a situation where the correct sequence for each read is identical to the reference , which is probably the case for most reads in practice. For each genome, 1M loci were selected. For each locus, ten read pairs were simulated at random positions such that R1 or R2 contained the locus . This enSRR9091899 in the Sequence Read Archive  and of the variant genome (var) giving a total of eight accuracy metrics Per-read sensitivity X and Y, I defined the mean improvement of X over Y (MIXY) as the mean of SX - SY - EX + EY over the four combinations of genome (ref or var) and read or locus  and the improved metric count (IMXY) of X vs. Y as the number out of the eight metrics where X has a better value than Y . If IMXY is 8, then all the metrics for X are better than Y, and X is unambiguously better than Y by the Urbench test, denoted X>>Y. Conversely if IMXY is zero then all metrics for X are worse, MIXY is negative, and X is worse than Y, denoted X<<Y. If six out of eight X metrics are better; this is denoted by X>6Y, if five out of eight X metrics are worse, this is written X<5Y. The magnitude of the improvement is indicated by MI and written in parentheses, e.g., X<<(-1.2)Y or X>6(4.0)Y. The total improvement (TIX) of method X over the other tested methods is calculated as the total of MI over pairwise comparisons with other methods.To enable a compact summary comparison of the eight accuracy metrics for a pair of methods SRR9091899, giving a total of ∼2.4 GB compressed (∼6GB uncompressed) FASTQ data (∼1.2 GB 3Gb each for R1 and R2). These files are small enough to be cached in memory by the operating system, which minimizes i/o time on a computer with sufficiently large RAM. Using a PC with a 16-core Intel i7-7820X CPU and 64 GB RAM (more than twice the size of the largest genome index), I ran each mapper three times in succession using from 12 to 20 threads, first with uncompressed then compressed reads, and selected the shortest time after subtracting the time required to load the genome index. Speed is expressed as a multiple of the shortest time for BWA, i.e., the speed of BWA is 1.0 by definition. With this method, the measured relative speed of two mappers can be interpreted as a limit on the ratio in practice which would be approached by the fastest possible i/o.The time required to map a given set of reads depends on the computer architecture  and overhead due to file input/output (i/o). Reads are typically provided in compressed FASTQ format (fastq.gz extension), which requires potentially expensive decompression, and output is typically written to large SAM (uncompressed) or BAM (compressed) files. The overhead of file i/o  can be substantial for the faster mappers and varies widely with the computing environment. With this in mind, I chose to measure speed using a method designed to isolate mapping by reducing i/o overhead as much as possible, as follows. 10M reads were selected at random from q) of MAPQ reported by a mapper, the total number of reads nq and number of incorrectly mapped reads q is thenThe accuracy of MAPQ was assessed as follows. For each integer value  reference data . I used L and MAPQ threshold Q, a base in GRCh38 was considered mappable if at least one read with MAPQ ≥Q covered the base, otherwise the base was designated unmappable. Unmappable regions were identified as contiguous segments of unmappable bases of length ≥L containing <10 uncalled bases  per window of length L. The consensus of two or more mappers was obtained by intersecting their unmappable regions using bedtools v2.26  increases, with the exception of Hisat2 which has substantially lower sensitivity at L = 250 and L = 300.Results on the variant calling test are shown in L = 150 to determine a consensus of BWA, Bowtie2 and URMAP. The MAPQ threshold was set to 3 (error probability ≥0.5), which presumably would be considered not reliably mapped in a downstream analysis. As shown in −5 variants per base, or equivalently one variant every 66kb on average when the diploid genome is mapped onto the reference. By contrast, the frequency in the rest of the genome  is 0.0015 or one variant every 650 bases.I measured unmappable regions with read length The density of reference variants in unmappable regions is 100 × lower than the genome average, showing that the GIAB high-confidence variants are strongly biased against repetitive regions which have ambiguous alignments to conventional 2 ×150 reads. The GIAB high-confidence regions for HG002 cover 2.5 Gb, i.e., exclude 27% of the genome, suggesting that there may be extensive bias against repetitive regions which are mappable by the conservative definition used here but nevertheless challenging for short-read mapping.Perror=1 and MAPQ = 1 to Perror = 0.8, so alignments with MAPQ ≤1 should be ignored by most downstream analysis. Alignments with higher MAPQ are more relevant, but mappers have widely varying MAPQ biases  with the strelka2 caller. However, GIAB reference variants are shown to be biased against repetitive regions which are difficult to map and may therefore pose an unrealistically easy challenge to read mappers and variant callers.10.7717/peerj.9338/supp-1Table S1Speed is measured relative to BWA with file i/o overhead minimized.Click here for additional data file.10.7717/peerj.9338/supp-2Table S2S (sensitivity) and E (error rate) with MAPQ ≥ 10, expressed as percentages. Superscript is var for the variant genome (NA12878) or ref for the reference (GRCh38), subscript is r for per-read or l for per-locus.Accuracy metrics are Click here for additional data file.10.7717/peerj.9338/supp-3Table S3Drosophila melanogaster (dm), Arabidopsis thaliana (at) and Homo sapiens (hs).Accuracy metrics are sensitivity and error rate with MAPQ ≥10, expressed as percentages. Species are Click here for additional data file.10.7717/peerj.9338/supp-4Table S4For each method, the table shows the number of unmapped reads  and numbers of reads aligned with MAPQ=0, MAPQ=1, MAPQ ≥ 10 and total number of mapped reads , i.e. aligned reads with MAPQ ≥ 0.Click here for additional data file.


TATA-box binding protein (TBP) is required for every single transcription event in archaea and eukaryotes. It binds DNA and harbors two repeats with an internal structural symmetry that show sequence asymmetry. At various times in evolution, TBP has acquired multiple interaction partners and different organisms have evolved TBP paralogs with additional protein regions. Together, these observations raise questions of what molecular determinants (i.e. key residues) led to the ability of TBP to acquire new interactions, resulting in an increasingly complex transcriptional system in eukaryotes. We present a comprehensive study of the evolutionary history of TBP and its interaction partners across all domains of life, including viruses. Our analysis reveals the molecular determinants and suggests a unified and multi-stage evolutionary model for the functional innovations of TBP. These findings highlight how concerted chemical changes on a conserved structural scaffold allow for the emergence of complexity in a fundamental biological process. The TATA-box binding protein (TBP) is required for transcription initiation in archaea and eukaryotes. Here the authors delineate how TBP’s function has evolved new functional features through context-dependent interactions with various protein partners. TBP is a relatively small protein that is shaped like a saddle and contains two lobes (TBP lobes) that bind to specific DNA sequences in the gene promoter. Both of the TBP lobes  belong to the helix-grip fold and are “joined together” to form a single protein11  that transcribe distinct types of genes, such as tRNAs, mRNAs, and rRNAs20. Despite this diversification, TBP has remained a central component for assembling different sets of proteins that eventually recruit the different polymerases  that recruits additional factors  to assemble the pre-initiation complex (PIC)n11 Fig. . TBP is 27. Furthermore, regulatory proteins such as BTAF1/Mot1p and NC2 (DR1-DRAP) can interact with TBP and evict them from the promoter32. This allows for extensive regulation of gene expression at different promoters. Thus during evolution, the key interaction between TBP and TFB as seen in archaea appears to have diversified into a complex network of interactions involving multiple paralogous proteins and new regulators to maintain fidelity in recruiting the different types of polymerases but still use the same TBP34 , and the other where its diversification halted and its asymmetric structure spread throughout eukaryotic species. However, the different interactors of TBP emerged at various different points in evolution3, and many of them of are encoded by unrelated sequences, raising the question how they were progressively integrated into the transcriptional system. Hence, there is a requirement for unified analyses by taking into consideration the evolutionary divergence of TBP-interacting factors. Beyond the asymmetric sequence divergence, several organisms have evolved multiple paralogs of TBP, and they have all acquired multiple protein regions in the N-terminus, raising the question of their contribution to the complexity of eukaryotic transcriptional systems. These considerations suggest that TBP evolution is likely to involve multiple steps at different time points, characterized by the emergence of specialized functional innovations that is driven by TBP-interacting factors, all contributing to the currently observed complexities of eukaryotic transcription initiation.A recent study by Kawakami et al. In this study, we identified and compared TBP, TBP paralogs, and TBP-like proteins from eukaryotes, archaea, bacteria, and viruses. Based on this, we inferred sequence segments and key positions on TBP in the different regions that are critical for its diverse functions, such as interaction with DNA, adapter molecules, and regulators, to explain the distinct functional roles of TBP. Because the functions emerged at different points in time during evolution and their interaction sites are distributed on the TBP molecule, we devised an approach to infer specific sets of residues that emerged at these time points and linked them to the specific function . Using the above alignment as a basis, we identified orthologs and paralogs of human TBP from completely sequenced genomes representing major lineages of life: bacteria, archaea, and eukaryotes  system, by integrating consensus secondary structure information of available crystal structures of the TBP lobes from the initial structural alignment with the RefMSA , as well as restrict the analyses to distinct phylogenetic ranges . By defining different spatio-temporal contexts, we could identify universally conserved positions within this spatio-temporal context. The residues in these positions therefore constitute a set of signatures. A subset of these signature positions might be critical for maintaining the fold whereas the other signature positions constitute residues that can be linked to specific functions  that emerged during TBP evolution  in viruses as reported in the RefMSA allowed us to investigate the importance of these universally conserved residues in nucleic acid binding. While the presence of TBP-like sequences in viruses has been documented , the RefMSA contains 84 viral sequences (at the lobe level) from 38 different viruses, including the highly divergent versions of TBP in poxviruses that were not annotated before . An integrated analysis of the sequences of the distantly related members revealed that there is also a highly conserved aromatic residue, notably a conserved Tyr at L5.1 . The initial sequence search retrieved bacterial sequences for which structures of the TBP-lobe like region exist in the PDB, including one in complex with an RNA–DNA duplex. This allowed us to map signature residues that enable the TBP-lobe to interact with nucleic acids in cellular organisms Fig. . An analbia Fig.  and the bia Fig. . Althoug5.1 Fig. . From a 37.Taken together, the universally conserved positions across a wide set of cellular organisms (and viruses) in the RefMSA of TBP-lobe appear to constitute an ancient double-stranded nucleic acid-binding module and was also used for nucleic acid binding in bacteria albeit in a different context. Thus, duplication and fusion of a TBP-lobe sequence that functioned as a double-stranded nucleic acid-binding module might have resulted in the emergence of classical TBP-like sequences in archaea and eukaryotesTo detect the C-terminal lobe-specific signatures that contribute to its ability to interact with adapters, such as TFIIB, we considered a spatio-temporal context consisting of archaeal and eukaryotic C-terminal TBP-lobe sequences only and excluded the N-terminal TBP-lobe sequences and bacterial TBP-lobe sequences. We identified 17 positions that showed high conservation in the C-terminal lobe but were not conserved (or were conserved as a different residue) in the N-terminal lobe Fig. . To asseP-value < 0.001; Fig. By analyzing the viral TBP-like sequences from the RefMSA, we observed that positions C.L3.2 and C.L3.4 show greater variability than their homologs in archaea and eukaryotes  of human TAF1B interacts with N-terminal lobe of yeast TBP but not with C-terminal lobe of yeast TBP. However, there might be alternative mechanisms that facilitate transcription initiation events at Pol I promoters that do not involve TBP40 and this may be reflected in the observation that the Rrn7p/TAF1B–TBP-binding interface is the most rapidly evolving among the different adapters  and this requirement might have constrained the TBP sequence to be highly conserved at these sites.46. To detect signatures of the N-terminal lobe, we defined a spatio-temporal context by only analyzing eukaryotic N-terminal lobe sequences of TBP from the RefMSA. This allowed us to identify 29 highly conserved positions that are unique to the N-terminal lobe, i.e. not conserved or conserved as a different residue in the C-terminal lobe , Brf1 and Brf2 as well as the TBP evicting factor BTAF1/Mot1p and NC2obe Fig. . While 1obe Fig. .Fig. 4N-To understand the functional relevance of these positions, we mapped them to the available structures of TBP in complex with diverse factors such as TFIIA, BTAF1/Mot1p, Brf1, Brf2, and TAF1. The five positions of the N-terminal lobe signature were directly involved in interactions with these factors Fig. . Thus, tp) > 0.5) , we could find experimental data for 20 positions . It is striking that in each of these cases, mutating the signature positions clearly resulted in reduced DNA binding or transcriptional activity  to alanine in yeast and human TBP reduced DNA binding and mutating F305 (C.L5.1) to alanine in human TBP resulted in a significant reduction in transcription in vitro. This is consistent with the importance of these positions in recognizing the DNA. Among the C-terminal lobe positions, E284R (C.L3.2) and E286R (C.L3.4) in human TBP resulted in a significant reduction in transcription at multiple model promoters in vitro. This is consistent with what one might expect for mutations that convert the negatively charged patch to positively charged residues, given their role in mediating interaction with TFIIB. Among the N-terminal lobe signatures, R118E in human TBP results in significant transcription reduction in vitro at one or more model promoters; R235E and R239S in human TBP results in the complete disruption of basal transcription. These observations are consistent with the role of the signature positions in mediating interactions between TBP and the various factors involved in transcriptional initiation. For a complete list of mutations in signature positions and their impact, as well as the mapping of all the mutated positions onto the structure of TBP, please see Supplementary Fig. 57. The emergence of TBP gene duplicates raises an interesting question as to how the different copies of TBP adapted to more specialized functions, since it seems to coincide with increasing organismal complexity.Our results so far have revealed that TBP-interacting factors have continuously evolved to interact with TBP, which remained largely invariant at functionally relevant sites. Hence further functional innovation of TBP in eukaryotes would require major molecular transitions. Interestingly we observed the emergence of gene-duplicates of TBP with the advent of multicellularity in eukaryotes Fig. 56,57. Th58, we first utilized profile-based sequence searches to identify the organisms where paralogs have emerged . Most invertebrate and vertebrate genomes contained three TBP paralogs, namely TBP, TBPL1, and TBPL2  and are likely to be subject to the same mode of regulation  by mapping them onto TBP and its paralogs. Using this data, we calculated the enrichment between cancer mutations and natural variations for the different regions  natural variation data (missense mutations) from the human population from over 100,000 healthy individuals (gnomAD) and (ii) somatic cancer mutation data  overlap with TBP  in the C-terminal lobe occurred in archaea and facilitated the recruitment of the polymerase for transcription initiation. The presence of signature positions mediating interaction with TFIIB and its paralogs (with the exception of TAF1B) in humans suggests that the mode of adapter recruitment is likely to be preserved. This might be mediated via a salt bridge and electrostatic interaction formed by positions C.L3.2 and C.L3.4, respectively. Because of its distal position to the C-terminally located adapter domain, the N-terminal lobe offers a suitable interface where regulation of transcription can happen. The signature positions in the N-terminal lobe (i.e. regulation domain) mediate interactions with various regulatory factors that may have opposing effects on transcriptional output (e.g. BTAF1/Mot1p evicting TBP from the promoter and TFIIA stabilizing it). The different regulatory proteins are evolutionarily unrelated yet make contacts with the same interface region on the N-terminal lobe. They do so through dynamic protein segments that are enriched in negatively charged residues, interspersed with aromatic residues. Given the convergent nature of the region that mediates interaction with the N-terminal lobe of TBP, it is likely that multiple other factors  during the emergence of paralogous transcription systems (Pol II and III), where the divergent evolution of factors maintained an overall similar mode of interaction with the C-lobe of TBP and (ii) during the emergence of the regulatory region within the N-lobe of TBP, where diverse and numerous seemingly unrelated factors have evolved in a convergent manner to interact with the same TBP interface positions. The latter event suggests that interactions mediated by disordered regions are an effective means for convergent evolution.75. Thus, the emergence of gene duplicates has enabled the exploration of new functional landscapes in TBP and each of its paralogs.Despite the evolutionary pressure on TBP, the emergence of TBP paralogs appears to have unlocked the ability for more rapid evolution. Indeed, several signature positions appear to have diverged in one of the TBP paralogs. For instance, N.L5.1, which is a universally conserved position (Phe) that contacts the TATA-box has been systematically conserved as a Trp at the N-terminal lobe in TBPL1, suggesting that this paralog could bind to a different promoter sequence. Furthermore, in vertebrates PolyGln and Proline-rich regions have evolved in TBP and TBPL2, respectively, which could mediate new protein–protein interactionsIt is interesting to note that the viral TBP sequences still maintain the signature positions important for double-stranded nucleic acid binding. However, the signature positions for interacting with the adapter and the host regulatory proteins have diverged. This implies that the viral TBP sequences are unlikely to recruit host TFIIB and potentially evade regulation by the host factors. Consistent with this, several viruses appear to have evolved their own TFIIB homologs. Moreover, the signature positions on the viral TBP sequence and the cognate TFIIB sequence appear to have coevolved across different viruses. These observations suggest that viral TBP and TFIIB have the potential to operate as independent orthogonal transcription systems. The diversity of viral TBP-like and TFIIB-like proteins described here could have implications for synthetic biology applications for manipulating transcription in diverse eukaryotic systems. It should be noted that as viruses evolve their sequences more rapidly, it still might be possible for them to interact with coactivators through a distinct mode.In summary, the evolution of TBP reflects a delicate balancing act, where core functional characteristics are preserved while allowing the emergence of novel functional features Fig. . Recent www.rcsb.org; https://www.ebi.ac.uk/pdbe/). (2) We then processed this data to obtain non-redundant structures such that only one structure per organism is selected, with the preference being given to the structure with the best crystallographic resolution in a given organism. (3) We then separated TBP structures into “TBP lobes”  based on visual inspection of structures in PyMOL . (4) Finally, we created a structure-based sequence alignment  of these separated TBP lobes using MUSTANG76. We also overlaid the assigned DSSP secondary structural information for each TBP lobe in the above alignment to arrive at the common TBP numbering scheme based on consensus secondary structural elements (see below for more details).TBP lobe alignment and TBP common numbering scheme: We sought to build a Reference Multiple Sequence Alignment or RefMSA that would contain representative TBP-lobe sequences from major lineages in three superkingdoms of life. This RefMSA would facilitate various comparative analyses without the requirement of a reference protein structure. As the first step towards the generation of RefMSA, we sought to build a structure-based sequence alignment of known TBP structures . Only sequence hits that covered at least 70% of query lengths were considered. These hits were also independently confirmed by consulting the data available in the Pfam and OMA databases82.Identification of TBP orthologs and homologs: The above structure-based sequence alignment was used to search the entire UniProt and TrEMBL databases83; see Supplementary Data 78 without altering the original alignment as much as possible. By this process, we arrived at a more comprehensive sequence alignment spanning a diverse range of eukaryotic and archaeal lineages that cover significant diversity. We refer to this as the initial RefMSA.Selection of TBP lobe sequences for RefMSA: To ensure a homogenous and balanced representation from every major lineage of eukaryotes and archaea, we only considered hits (orthologs at TBP lobe level) from two representative organisms from each major lineage  and (ii) HHPred searches85 (probability cut-off = 75%) performed on PDB and Pfam databases. The entire sequence search procedure yielded distant bacterial homologs, such as RNase HIII and rnlA toxins hits as well as viral TBP homologs. Based on the availability of crystal structures of the above search hits, we also performed structural searches using DALI and Topsearch servers87 and visual inspections using UCSF Chimera to confirm the homology88. The distant homologs of TBP lobes such as RNase HIII and some viral TBP homologs were already identified37 (UniProt database). However, to the best of our knowledge, rnlA toxins and poxviruses TBP homologs are novel identifications. We then integrated representative sequences of the distant homologs from major lineages in bacteria and viruses, including all the homologs in poxviruses. We termed this comprehensive alignment as RefMSA. While we included TBP paralog lobe sequences in animals in the RefMSA, TBP paralogs were not considered for the ancestral sequence reconstruction towards identification of universally conserved molecular signatures and for the C-terminal and N-terminal lobe-specific signatures. During the course of distant homolog searches we identified single lobe versions of TBP in archaea, consistent with an earlier study37.Distant homologs of TBP lobes and final RefMSA: We then identified distant homologs of the TBP lobes represented in the initial RefMSA by providing the initial RefMSA as a query to the following profile-based sequence search procedure  on each of the superkingdom-specific alignments . Hence, in order to decipher critical residues in a biological meaningful way, we devised an ancestral sequence reconstruction strategy for each superkingdom. The ancestral sequence reconstruction method aims to determine the most probable ancestral sequence for every superkingdom to aid meaningful comparison across the three superkingdoms. From the RefMSA, we extracted superkingdom-specific sequence alignments of TBP lobes for each superkingdom, i.e. for archaea, eukaryotes, and bacteria. Then the ancestral sequence for each of the superkingdom was deduced by running the maximum-likelihood encoding program FASTML(i)Calculate normalized BLOSUM (BLOSUM62) score for each position in the AncesRefMSA as follows:n and amino acid residues at this position for three superkingdoms being Ri, where i = 1,2,3 {1 = archaea, 2 = eukaryotes, and 3 = bacteria}. We evaluated normalized BLOSUM score at a given alignment position “n” (NBSn):For any given alignment position We then evaluated highly conserved positions in the AncesRefMSA, which are considered as universally conserved positions, through the following steps:ij = BLOSUM score (Ri → Rj)/Maximum  and “ →“ refers to amino-acid residue substitution, NBSn values would be in the interval . “C” represents combinatorial symbol, where as nCm = n! /[(n−m)! * m!], “!” denotes factorial.(i)n over all the 209 positions in AncesRefMSA:Evaluate mean and standard deviation of all NBSn over 209 positions.SDNBS is the standard deviation of all NBS(ii)n”, NBSn > (Mean NBS + SDNBS) denotes a “Universally conserved position” or a highly conserved position.For any given alignment “By this procedure we identified eight such positions, out of which five positions map to double-stranded nucleic acid contacting residues in known crystal structures. These universally conserved positions were spatially distributed on TBP lobes, which define the molecular signature for double-stranded nucleic acid binding.We developed a distinct strategy that would simultaneously incorporate spatio-temporal contexts for the identification of these molecular signatures specific for N-terminal and C-terminal lobes For a given spatio-temporal context , we first segregated two sets of alignment namely the TBP C-terminal and N-terminal lobe alignments from RefMSA. Both these set of alignments will have the same number of alignment positions We evaluated normalized BLOSUM (BLOSUM62) scores for each alignment position and also mean normalized BLOSUM scores in both the alignments independently as follows:n” in both the alignments , amino acid residues at this position being NRi for the N-terminal lobe alignment and CRi for the C-terminal lobe alignment, where i = 1 to m. “m” is the total number of TBP lobe sequences in each of the alignment.For any given alignment position “n) = Calculate normalized BLOSUM score for C-terminal or N-terminal lobe alignment (NBSij = BLOSUM score (NRi → NRj)/Maximum  and “ →“ refers to amino-acid residue substitution.where for the N-terminal lobe alignment: BSij = BLOSUM score (CRi → CRj)/Maximum Similarly, for C-terminal lobe alignment: BSn over all the 209 positions for C-terminal and N-terminal lobe groups separately:Evaluate the mean of all NBSC-terminal or N-terminal lobe-specific signatures were calculated as follows n” is a given alignment position in the RefMSA. If NBSn  > Mean NBS for C-terminal lobe and NBSn  > 1.5 * NBSn , then this alignment position is a part of the molecular signature positions. However, in cases if NBSn  > Mean NBS for C-terminal lobe and NBSn  ≤ 1.5*NBSn . We sought to find if the most conserved residue at the alignment position “n” in C-terminal lobe alignment is different from the most conserved residue at the same alignment position “n” in the N-terminal lobe alignment. If this indeed the case, then such a position is still considered to be part of the molecular signature for the C-terminal lobe.C-terminal lobe specific signature: “(ii)p” is a given alignment position in the RefMSA. If NBSp  > Mean NBS for N-terminal lobe and NBSp  > 1.5*NBSp , then this alignment position is a part of the molecular signature positions. However, if NBSp  > Mean NBS for N-terminal lobe and NBSp  ≤ 1.5*NBSp . We sought to find if the most conserved residue at the alignment position “p” in the N-terminal lobe alignment group is different from most conserved residue at the same alignment position “p” in the C-terminal lobe group. If this is the case then such a position is still considered to be part of the molecular signature for the N-terminal lobe.N-terminal lobe-specific signature: “Mean NBS  = 90 and HMMER profiles spanning the regions of interactions. These alignments were further manually corrected, based on secondary structure assignment of the representative structure(s) and Jpred91 predictions of secondary structural regions.Eukaryotic orthologs of human BTAF1/yeast Mot1p, human TAF1B/yeast Rrn7p, human BRF1/yeast Brf1p, yeast Toa1p and Toa2p, human BRF2 and TFIID (TAF1) were identified using profile-based sequence searches, such as JACKHMMER and PSI-BLAST performed on entire Uniprot and TrEMBL databases. The ortholog sequence hits or matches were also confirmed by consulting data in the Pfam, OMA, and Ensembl databases. Archaeal orthologs as well as viral homologs of human TFIIB (GTF2B) were identified using the above sequence search strategy. We only considered a representative from each of the major lineages of eukaryotes, archaea, and viruses. For each of the TBP-interacting factor, we constructed a multiple sequence alignment of its orthologs using MSAPROBsWe detected TBP-like sequences in dsDNA virus genomes using the intial RefMSA as a query for JACKHMMER/PSI-BLAST searches on viral sequences data in UniProt and TrEMBL databases  for residue substitutions of any given alignment position in viral TBP alignment and of all positions in viral TFIIB alignment was calculated  in amino-acid substitution similarities across sequences in the alignment between: (i) a given alignment position (denoted by r) in viral TBP and (ii) another given alignment position in viral TFIIBs (denoted by s)  amino acid residue substitution at position r between sequence “i” and sequence “j”s:All pairwise BLOSUM substitution scores at the alignment position Bs={i” and sequence “j”n” is the total number of sequences in the alignment, hence the total number of entries in Br or Bswould be nC2.“N = nC2 = total number of elements in Br or BsBr, Bs and the corresponding Pearson correlation coefficient (PC-random) for these randomized sites as in the above step a). This randomization procedure and evaluation of PC-random was repeated for 1000 times. The p-value was computed as the number of times the PC-random was greater than or equal to the original PC (in step a)).Next randomization of amino acids at a given position in the viral TBPs  and its inferred interaction site  at viral TFIIB were done independently. But at the each site in the alignment we maintained the original amino-acid distribution during randomization. We then evaluated Estimation of co-evolution in viral TBP–TFIIB interaction sites: Using the above viral TBP–TFIIB integrated alignment, we evaluated the extent of co-evolution of all the positions in the viral TBP with viral TFIIB as follows, using the Pearson correlation as a measure of co-evolution that has been used in numerous earlier studies:92 and Kayikci et al. 93. Inter-molecular residue-to-residue interactions were also confirmed using the data available in PDBe-KB (https://www.ebi.ac.uk/pdbe/pdbe-kb)94.Inter-molecular and intra-molecular residue to residue contacts or interactions were determined using van der Waals contacts between atoms as described in Venkatakrishnan et al. 95. If the disorder propensity value >0.5 for a given residue then it was considered to be in a disordered region. The output of disorder propensities for each sequence in the respective alignments was plotted against the amino-acid residue numbers and the average and standard deviation were also estimated and indicated in the plot.Evaluation of the propensity for interaction mediating regions of TBP-interacting proteins to be disordered was done using IUPredhttps://gnomad.broadinstitute.org/), which contains a comprehensive collection of exome and genome-sequencing data from a wide range of large-scale-sequencing projects. Cancer mutation data was downloaded from the CBioPortal 67. These datasets were utilized to obtain natural variation data for TBP and its interaction factors  was downloaded from the gnomAD database  was calculated for a given region or a domain of interest ase-value cut-off of 0.001. We then considered hits with a match of at least 60% sequence coverage to their respective query sequences. We constructed an initial sequence alignment using MSAPROBS and this was further refined using HMMER profiles to arrive at the final alignments  and human TBPL2 , respectively, as a query to JACKHMMER searches. The searches performed on the whole UniProt database with an http://www.humanproteomemap.org/96. Correlation calculations were performed using custom codes written in the R programming language.Protein expression data across 30 different tissues were obtained from 98. The Venn diagram was generated using the website http://bioinformatics.psb.ugent.be/webtools/Venn/.Protein–protein interaction data for TBP, TBPL1, and TBPL2 were obtained from the BIOGRID and INTact databases99, was used as a starting point for the construction of final maximum-likelihood dendrogram using the MEGA7 package100 with WAG (g+I) parameters. The dendrogram representation was made using the iTOL database (https://itol.embl.de/)101.For the dendrogram describing the TBP lobe level relationship . Final dendrograms in the figure were made the using MEGA7 package100 with WAG (g+I) parameters. The dendrogram representation was made using the iTOL database101.For the dendrogram describing the TBP paralogs relationship (Supplementary Fig. Further information on research design is available in the Supplementary InformationReporting SummaryDescription of Additional Supplementary FilesSupplementary Data 1-16


Large-scale sequencing projects provide high-quality full-genome data that can be used for reconstruction of chromosomal exchanges and rearrangements that disrupt conserved syntenic blocks. The highest resolution of cross-species homology can be obtained on the basis of whole-genome, reference-free alignments. Very large multiple alignments of full-genome sequence stored in a binary format demand an accurate and efficient computational approach for synteny block production.halSynteny performs efficient processing of pairwise alignment blocks for any pair of genomes in the alignment. The tool is part of the HAL comparative genomics suite and is targeted to build synteny blocks for multi-hundred–way, reference-free vertebrate alignments built with the Cactus system.https://github.com/ComparativeGenomicsToolkit/hal/.halSynteny enables an accurate and rapid identification of synteny in multiple full-genome alignments. The method is implemented in C++11 as a component of the halTools software and released under MIT license. The package is available at  Conserved synteny blocks provide a conceptual framework for the analysis of interspecies homology. Originally, the notion of synteny stems from the area of cell genetics, where it was defined as the co-location of ≥2 homologous genes on the same chromosome . This teThere are a number of existing tools designed for finding synteny blocks. The GRIMM-Synteny  algorithThese tools all require various data formats, which must be derived from the alignment, such as a predefined set of homologous genomic markers, or genome alignment blocks, each being a sequence of aligned bases that is contiguous in each of the genomes represented by the block. Many of them also require a rigorous and reliable annotation of orthologous genes. With halSynteny, the alignment is the only required input.With the increased availability of large-scale computing facilities, multiple-vertebrate whole-genome alignment is now tractable. Multi-species genome alignments are a useful tool for analysis of species homology in large-scale comparative genomic projects ,13. One By producing a single, reference-free multiple alignment, Cactus allows synteny block reconstruction between any 2 genomes without reference bias, directly from the HAL representation. Here we present halSynteny, a tool that implements a DAG-based algorithm for identification of synteny blocks directly from HAL alignment and reporting synteny blocks in PSL format .bmin and maximal distance dmax between 2 sequential anchoring alignment blocks. The pair  can be regarded as a resolution of the synteny block.We describe a heuristical algorithm that operates on a pair of selected genome assemblies in the HAL multiple alignment. A synteny block is a sequence of local alignments that in each genome maintain the following properties: (i) are on 1 chromosome, (ii) do not overlap, (iii) are on the same strand, and (iv) have chromosome sequence coordinates that are either monotonically increasing (for positive strand) or decreasing for negative strand . The setp1⋅⋅⋅ip, ⋅⋅⋅np and in genome B as u1⋅⋅⋅iu, ui + 1, ⋅⋅⋅un + 1, and there are alignments present among segments lp and lu for l ∈ 1⋅⋅⋅ki p and uk + 1 for k ∈ i⋅⋅⋅n. Then the synteny blocks between these 2 genomes can overlap and contain the following pairs of segments:  for l ∈ 1⋅⋅⋅i and  for k ∈ i⋅⋅⋅n.Each gapless alignment block between the pair of genomes is represented with the start and end positions on the chromosomes, along with the strand. Duplications are expressed as overlapping alignment blocks. Presume that there are alignment hits in genome A that can be ordered by genomic coordinates as V is formed by alignment blocks. Vertex jv is defined syntenic to iv if each genome maintains the same order and orientation, their corresponding genomic coordinates do not overlap, and the genomic distance in either genome between iv and jv, ijd, does not exceed the maximal distance dmax defined by the synteny resolution. The set of graph edges E is formed by all pairs  such that jv is syntenic to iv. This results in the set of DAG subgraphs corresponding to synteny regions in the graph of alignment blocks. The desirable set of synteny blocks would contain as many continuous synteny blocks as possible covering as much of both genome sequences as possible. To achieve this goal we build the graph G = <V, E> and apply the following algorithm:The set of graph vertices Initialize weight labels of vertices and edges:Initialize the weight of each vertex iw of each edge coming into a vertex iv is defined as the initial weight of the vertex iv.The weight Traverse the vertices in topological order.:iv consider all the edges  and for all incident vertices jv calculate the candidate weight update, defined as the weight of an edge coming into jv plus the weight of the preceding vertex iv.For each vertex jv, replace the weight of jv with this value.If the candidate weight is greater than the current weight of jw was updated, store the parent vertex iv for backtracking.If Find the vertex with maximal weight and trace back using stored previous vertices.V is not empty, then go to Step 3.If the path built from vertices obtained at Step 3 is at least as long as the predefined minimal block length (defined by resolution), then remove them from the vertex set and store this path as a synteny block; else stop execution. If As a result, we construct a set of paths that are possibly overlapping in genomic coordinates, so that each path covers as much of each genome as possible.To assess the accuracy of this algorithm, we constructed synteny blocks between the domestic cat (FelCat 8.0) and domestic dog (CanFam 3.1) genomes based on Progressive Cactus alignment of these genomes, together with the human genome (GRCh38) as an outgroup.The resulting synteny blocks cover 99% of the cat’s genome, while 81.7% of that agrees with the assignment of homologous chromosomes obtained by the chromosomal painting approach  Such discrepancies can stem from the different nature of the 2 approaches. While genome alignment depends on the accuracy of inferred genomic sequence, chromosomal painting results depend on the DNA composition and environment of a genomic region. Although chromosomal painting provides an efficient technique to discover large-scale similarity of continuous homology, it tends to misclassify small insertions and small translocations . Also, iComparison of gene-level orthology performed between the cat chromosomes A1, B1, and C1 and dog chromosomes 28 and 25  using OMCaenorhabditis elegans (PRJNA13758) and Caenorhabditisbriggsae (PRJNA10731), Strongyloides ratti(PRJEB125) and Strongyloides stercoralis (PRJEB528). The time required for construction of the whole-genome alignments is not counted as part of halSynteny performance because such an alignment is needed for a realistic comparative genomic project separately. Such an alignment allows for investigation of sequence orthology, mapping of genomic markers among genomes, and other independent tasks. Finally it allows for better understanding of produced synteny blocks by uploading it into the UCSC Genome Browser [We also performed an evaluation of halSynteny performance in comparison with the SatsumaSynteny2 software , 26 beca Browser ,28.Results are presented in Table G1, G2, G3, where G1 is a reference genome, G2 is a genome of interest, and G3 is an outgroup genome, we can build synteny blocks between pairs of <G1, G2> and <G1, G3> and assign evolutionary breakages of lineages of genomes G1 and G2 using G3 as an outgroup.Given an alignment of 2 genomes, information about their alignment with a third genome does not affect synteny between the original pair of genomes. Thus our approach can be scaled to the problem of multiple genome comparison without loss of precision. As a use case, given 3 genomes halSynteny implements an algorithm for producing synteny blocks from genome alignment designed to process binary HAL files as input. The DAG-based method DAGchainer  was prevGigaScience database, GigaDB [An archival copy of the code and other supporting data is available via the , GigaDB .Project name: halSyntenyhttps://github.com/ComparativeGenomicsToolkit/halProject home page: Operating system(s): LinuxProgramming language: C++11Other requirements: HAL APILicense: MITRRID:SCR_018127https://bio.tools/halSyntenybiotoolsID: biotools:halSynteny Figure 1: DAG fragments corresponding to the comparison of S. ratti and S. stercoralisAPI: Application Programming Interface; BLAST: Basic Local Alignment Search Tool; DAG: directed acyclic graph; kb: kilobase pairs; Mb: megabase pairs; NHGRI: National Human Genome Research Institute; RBH: reciprocal best hits; UCSC: University of California Santa Cruz.This publication was supported by a Subagreement from European Molecular Biology Laboratory with funds provided by Agreement No. 2U41HG007234-05 from National Institutes of Health, NIHGR. It was also supported by the NIHGR of the National Institutes of Health under Award No. R01HG008742. Its content is solely the responsibility of the authors and does not necessarily represent the official views of the National Institutes of Health, NIHGR, or European Molecular Biology Laboratory. K.K. was supported by RFBR grant, project No. 20-34-70055. K.K. and S.O. were supported, in part, by a Russian Science Foundation grant (project No. 17-14-01138) and by St. Petersburg State University (Genome Russia Grant No. 1.52.1647.2016).The authors declare that they have no competing interests.Method development: K.K., M.D., J.A.; Implementation and testing: K.K., M.D., J.A.; Data preparation: K.K.; Supervision: M.D., B.P., S.O.; Definition of research project: K.K.; Writing – review and editing: K.K., M.D., A.D., B.P., S.O.giaa047_GIGA-D-19-00419_Original_SubmissionClick here for additional data file.giaa047_GIGA-D-19-00419_Revision_1Click here for additional data file.giaa047_GIGA-D-19-00419_Revision_2Click here for additional data file.giaa047_Response_to_Reviewer_Comments_Original_SubmissionClick here for additional data file.giaa047_Response_to_Reviewer_Comments_Revision_1Click here for additional data file.giaa047_Reviewer_1_Report_Original_SubmissionChristophe Dessimoz -- 1/9/2020 ReviewedClick here for additional data file.giaa047_Reviewer_1_Report_Revision_1Christophe Dessimoz -- 4/4/2020 ReviewedClick here for additional data file.giaa047_Reviewer_2_Report_Original_SubmissionMichael Hiller -- 1/11/2020 ReviewedClick here for additional data file.giaa047_Reviewer_2_Report_Revision_1Michael Hiller -- 3/19/2020 ReviewedClick here for additional data file.giaa047_Supplemental_FileClick here for additional data file.