We honor Theo Hellbrügge's acclaimed endeavors in the rehabilitation, or rather the prehabilitation of handicapped children. So far, he has focused on obvious handicaps, and we trust that he will include concern for everybody's silent handicaps in the future by screening for abnormal variability inside the physiological range. Therein, we introduce cis- and trans-years, components of transdisciplinary spectra that are novel for biology and also in part for physics. These components have periods, respectively, shorter and longer than the calendar year, with a counterpart in magnetoperiodism. Transyears characterize indices of geomagnetic activity and the solar wind's speed and proton density. They are detected, alone or together with circannuals, in physiology as well as in pathology, as illustrated for sudden cardiac death and myocardial infarction, a finding calling for similar studies in sudden infant death syndrome (SIDS). As transyears can beat with circannuals, and depend on local factors, their systematic mapping in space and time by transdisciplinary chronomics may serve a better understanding of their putative influence upon the circadian system. Longitudinal monitoring of blood pressure and heart rate detects chronome alterations underlying cardiovascular disease risk, such as that of myocardial infarction and sudden cardiac death. The challenge is to intervene in a timely fashion, preferably at birth, an opportunity for pediatricians in Theo Hellbrügge's footsteps. The discovery in biology of far-transyears, 15–20 months in length , is in kFigure For discussion by transdisciplinary nomenclature committees, terms in English are emphasized. With advice by Prof. Robert Sonkowsky, proposed Latin equivalents are added for vanishing classicists. Essentially, "ad-transannual" means "a little longer than a year"; "ad-cisannual" means "a little shorter than a year"; "transior-annual" means "much longer than a year"; and "citerior-annual" means "much shorter than a year". Some specific limits that seem reasonable in the light of available physical and biological evidence are given in the scheme. The single syllable 'ad' is preferred to the 2-syllable 'prope', 'juxta', 'propter', 'minus' (paired with 'plus') or the 3- or 4-syllable 'proprior', 'proximus', 'vicinus', or propinquus'. While to a purist among grammarians the coinages adtransannual and adcisannual may seem preposterous (a word constituting itself an illustration of cumulative prefixes) precisely because of the piling on of prefixes, there are also other precedents in Late Latin such as exinventio ("discovery") and perappositus ("very suitable/apposite"). Normal assimilation of 'd' to 't' and 'c', respectively, may then result in the spellings and pronunciations "attransannual" [at-trans-annual] and "accisannual" [ak-sis-annual] acceptable as English pronunciation, notably by speakers with native romance languages, who may face difficulty with the near and far as added prefixes.Difficulties may stem from the fact that analyses usually provide estimates in frequency (not period) terms, and from the criterion of 95% CIs that may not be available. We need to allow for situations when, because of too-wide (or unavailable) CIs, we can diagnose only a candidate trans- or cis-annual component, when 95% CIs of τ overlap the limit distant from the year. By the same token, we may not be able to specify near or far, e.g., because of the brevity of the series. In other words, we cannot say whether we have a near- or a far- trans- or near- or far- cis-year, when there is an overlap by 95% CIs with the corresponding finer limits, shown on the scheme Figure .For the case of "circannual", we again go by 95% CIs rather than by the point estimate. In the circannual case, the 95% CI overlaps the 1-year estimate under usual conditions, bearing in mind that under unusual, e.g., constant conditions, circannuals are also amenable to free-running, in which case the 95% CI may no longer cover 1 year but will have to be tested further for non-overlap with the pertinent environmental cycle in the case of a biologic cycle and vice versa for non-overlap of a natural environmental cycle with an anthropogenic cycle. In the trans- or cis-annual case, the 95% CI does not cover the 1-year period under usual conditions, i.e., cis- or trans-annuals can be asynchronized rather than desynchronized. Strictly speaking, circannual cannot be an overall term, but almost certainly, whatever committees may decide, it will be (mis-)used as such. "Far-" and "near-", "cis-" and "trans-" and "citerior-" and "transior-" annual are hyphenated here only to indicate their derivation and need not be written with hyphens. We propose using circannual, transannual or cisannual and their refinements, only operationally as a function of periods and their 95% CIs. Matters of synchronization, desynchronization or asynchronization may then possibly emerge from the context of a given situation and from further testing.Trans- and cis-years lead to a novel chrono-helio-geobiology, awaiting application of the tools of transdisciplinary chronomics. It has been a challenge to look at circadians for the past half-century, but knowledge concerning them will not be completely useful before we answer another set of questions based on the evidence in Table Table Of interest are great geographic/geomagnetic differences insofar as no transyears, only calendar-yearly components, were detected in 3 locations, while in 3 other locations, transyears were present, in two of these, with a coexisting calendar-yearly component, with nearly equal prominence, while in Minnesota, only a transyear was thus far detected. A clarification of the roles played by local as well as global influences could also be based on transyear vs. calendar-yearly amplitude ratios when both components are present, which, however, is not the case in 4 of 6 locations. There is the challenge of developing eventual countermeasures.But first, we seek a clue as to why, for SCD in Minnesota, the prominence of the transyear exceeds by far any seasonal, thus far undetected influence of the harsh environmental temperature change in its mid-continental climate in the summary of 5 consecutive years, and why, in Arkansas and the Czech Republic, the transyear's prominence is about the same as that of the seasons, and why it seems to be absent in 3 other locations and furthermore why in MI the prominence (gauged by the amplitude) of the calendar year is so far greater than that of the transyear (by contrast to the case of SCD). Systematically collected data from different areas of the world will open a new chapter in transdisciplinary science, with particular pertinence at the extremes of extrauterine life, in natality as well as in mortality.Optimization of the about-yearly spectral region may also be considered, along with Hufeland's consideration of the daily routine in studies aimed at prolonging high-quality life . Notablypar excellence and professor emeritus of social pediatrics at the University of Munich, continues actively as a mentor of the specialty he founded [Beyond 85 years of age, Theodor Hellbrügge, chronopediatrician  founded -9. Our e founded ,10-14 in founded -58, many founded ,52,53,55 founded -19 to a  founded .par excellence, which could benefit from chronomics, the resolution of time-structural (chronome) alterations in the physiological range. Accordingly, chronobiologists honored Theo at a meeting on "Time structures – chronomes – in child development", leading to a proceedings volume of 256 pages [Theo himself turned in the interim to the care of children with obvious disabilities. He continues with concerns about them to detect early alterations for timely remedies, a preventive task 56 pages . On the 56 pages . The amp56 pages . About 256 pages . These a56 pages , but are56 pages . In conj56 pages  and also56 pages  (Table 1In his own recent words , Theo alTo continue in his words , in pracBy 1960 at Cold Spring Harbor  and agaiTheo Hellbrügge's contributions illustrate a solidly founded now widely distributed conceptual structure resting on a productive life's work available again in his own words . A few gWith one of his colleagues , we can • some in ethology as a method to account for the development of children,• mother-infant-interactions as a decisive requisite of social development, the topic of the last symposium he sponsored in October 2004• preverbal communication, as a condition for early speech promotion, especially for infants with impaired hearing,• the plasticity of the infant's brain as a neurobiological basis for early health promotion,• enriching integration of infant and child as part of a socially intact community,• preventive medical-check ups aiming at an early diagnosis of abnormality,• earliest diagnosis of risks as a condition of PREhabilitation – which he called rehabilitation, to gain a financial niche for his actions in existing laws.Hellbrügge's conference on chronomes  showed a


The majority of residues in protein structures are involved in the formation of α-helices and β-strands. These distinctive secondary structure patterns can be used to represent a protein for visual inspection and in vector-based protein structure comparison. Success of such structural comparison methods depends crucially on the accurate identification and delineation of secondary structure elements.PALSSE (Predictive Assignment of Linear Secondary Structure Elements) that delineates secondary structure elements (SSEs) from protein Cα coordinates and specifically addresses the requirements of vector-based protein similarity searches. Our program identifies two types of secondary structures: helix and β-strand, typically those that can be well approximated by vectors. In contrast to traditional secondary structure algorithms, which identify a secondary structure state for every residue in a protein chain, our program attributes residues to linear SSEs. Consecutive elements may overlap, thus allowing residues located at the overlapping region to have more than one secondary structure type.We have developed a method .PALSSE is predictive in nature and can assign about 80% of the protein chain to SSEs as compared to 53% by DSSP and 57% by P-SEA. Such a generous assignment ensures almost every residue is part of an element and is used in structural comparisons. Our results are in agreement with human judgment and DSSP. The method is robust to coordinate errors and can be used to define SSEs even in poorly refined and low-resolution structures. The program and results are available at  Subsequ10-helix , π-helix10-helix , β-turns10-helix , γ-turns10-helix , and β-b10-helix  have beeα distances and i, i+1, i+2, i+3 Cα torsion angles). A more comprehensive algorithm, DSSP, was subsequently developed and is based on a careful analysis of backbone-backbone hydrogen bond energies and geometrical features of the polypeptide chain [The first algorithm for the automatic delineation of secondary structure was proposed by Levitt and Greer . They dede chain . It is vde chain . Like DSde chain . It usesde chain .α geometry allows locating breakpoints in both α-helices and β-strands and allows generation of residue based pairing information helpful in determining edges of β-sheets.Secondary structures in experimentally determined protein coordinate data often deviate from the ideal geometry and thus methods of secondary structure assignment that use different logic and cutoffs can vary significantly in their assignments. Maximum variation is seen near the edges of SSEs and consensus secondary structures defined by different algorithms have been proposed in order to define SSEs accurately . Attemptα distances and torsion angles [α coordinates of the protein structure. However, most of these programs assign secondary structure properties to individual residues of a protein chain. For the purpose of vector-based structural similarity searches, a secondary structure definition of the linear segments (elements) that can be used to approximate the protein structure in a simplified form as a set of interacting SSEs is required. Using DSSP [A strong correlation exists between hydrogen bonding patterns and Cn angles . Algoritn angles , DEFINE_n angles , VOTAP [n angles  and P-SEn angles  assign sing DSSP  assignmeing DSSP . Our anaPALSSE)" to identify SSEs from the three-dimensional protein coordinates. The method is intended as a reliable predictive linear secondary structure definition algorithm that could provide an element-based representation of a protein molecule. Our algorithm is predictive in that it attempts to overlook isolated errors in residue coordinates and is geared towards defining SSEs of proteins relevant to vector-based protein structure comparison. For the purpose of similarity searches, use of just the major SSEs, namely the α-helix and the β-strand that can be approximated by vectors will suffice, as they typically incorporate the majority of the residues in a protein.Here we describe a method "Predictive Assignment of Linear Secondary Structure Elements  and β-strands .α-helices and β-strands are the predominant and most distinct types of secondary structures observed in proteins ,9,19. Usα distance and i, i+1, i+2, i+3 Cα torsion angle (step 1 in methods). Next, probable helix and β-strand elements are generated by selecting consecutive residues that belong to the same category . Quadruplets of residues, formed by two pairs of hydrogen-bonded consecutive residues that satisfy criteria of distances and angles (steps 3 and 4), are constructed from residues that do not meet the strict criteria for helix definition in step 1. A quadruplet is the smallest unit for defining potential β-sheets and is formed from a set of four Cα atoms that are linked with two covalent bonds and two pseudo-hydrogen bonds (see step 3 in methods). The quadruplets are joined together, end-to-end in the direction of covalent bonds, to form ladders of consecutive pairs of residues . The ladders of paired residues are joined to form paired β-strands. Helices defined previously are split, using root mean square deviation (RMSD) of constituent residues about the helix axis, so that they can be represented as linear elements (step 8). β-strands are split using various geometrical criteria and pairing of neighboring residues (step 9).Our method was developed for predictive assignment of linear SSEs. Preliminary helix and β-strand categories are assigned to residues, based on i, i+3 CThe program's main output is in the PDB  file forα-Cα distance  and torsion angle  are used to select core regions of secondary structures. The parameters are then made less restrictive to identify and assign residues that do not follow the idealized pattern of α-helices and β-strands. Residues that individually might fail the test for a secondary structure state, due to either hydrogen-bonding criteria or φ and ψ angles, or both, may be placed in an element if the geometric parameters and pairing conditions of the neighboring residues support the inclusion. This makes the algorithm predictive in nature; therefore helices and β-strands might be defined in regions that show a helical tendency or have neighboring β-strands respectively, even if the polypeptide model at that region is erroneous. We have found the criteria of a minimum of 3 residues with at least 2 residues pairing with a neighboring β-strand [α-based also fail to distinguish between such turns and helices [Cβ-strand  to perfoβ-strand . β-stran helices . As showα distance and torsion angles. Bent helices thus remain separate even though their edges might overlap. Gently curved helices are not broken unless the angle between vectors representing the broken sections is greater than 20°. The broken sections are chosen using an approach (described in methods) to minimize the number of acceptably linear elements, while retaining the maximum number of residues from the original helix. A similar breaking angle of 25° has been observed by Richards and Kundrot [Our method attempts to provide a definition of SSEs that can be approximated using vectors. It is possible for edges of elements to overlap, leading to more than one secondary structure state for a particular residue. If required, these elements are broken using geometric criteria and directionality changes over a stretch of residues, including pairing for β-strands, to obtain linear elements. Specialized algorithms to detect curved, kinked and linear helices based on local helical twist, rise and virtual torsion angle are known . We have Kundrot . This anThe reliability of secondary structure definition by our algorithm was checked by plotting the main chain torsion angles φ and ψ , individ10-helices.Most of the φ and ψ angles fig.  are founNearly all φ and ψ angles for β-strand residues over-predicted by our method fig.  fall in Residues that fail strict secondary structure assignment when explicit hydrogen-bonding criteria are considered, cannot be used to properly form SSEs. Therefore, predictive assignment with our algorithm is preferred. The following reasons may account for the necessity of predictive assignments. Protein structures are intrinsically flexible. Hydrogen bonds that are present in some family members might be absent in other homologues. Domain interactions, loops, insertions and deletions can all influence the secondary structure around them. Crystal packing and solvent interaction can also account for changes observed in residue coordinates. Further, models based on X-ray data are not always as accurate as they are believed to be . TherefoOur algorithm shows a higher degree of robustness than either DSSP  or P-SEAKeeping the above results in perspective, the amount of secondary structure missed by the two other programs with respect to each of DSSP, P-SEA and our method was studied fig. . Our proDefinitions from our program were compared with assignments by DSSP , P-SEA , DSSPConIn this article, we show two examples of our study fig. , with thα distances. Results from SSTRUC  are clearly different and residue coverage is poor when compared with other programs for the average NMR structure "1ahk". Residue coverage and element identification for SSTRUC is similar to that by DSSP and STRIDE for "1fjg". Residue coverage for helix and β-strand definition by PROSS [Our algorithm shows a marked difference as compared to other programs when low-resolution and NMR structure coordinates are processed. Residue coverage is greater for our definition when compared with DSSP  and P-SEby PROSS  is low aα atoms. Our method is predictive in nature and SSEs defined by us can include residues that do not form ideal α-helices and β-strands. Assignments are similar to helix and β-strands defined by a residue-based approach, like DSSP [The algorithm developed by us can assign linear helix and β-strand SSEs, from only Cike DSSP , for higThis method has been developed for simplified representation of protein structures for similarity searches with other proteins. It should not be used if an accurate residue level definition is necessary. Compared to other programs, we have found our algorithm to perform well in terms of defining linear elements reliably for both helices and β-strands and yet yield a high residue coverage. Visual judgment of results supports our definitions.The algorithm has been implemented as a computer program "PALSSE" (Predictive Assigner of Linear Secondary Structure Elements). It is written in Python and C and has been tested on the GNU/Linux platform on the i386 processor architecture. The software is available online .The sequences from the SEQRES records of PDB  files, cAlgorithm development was monitored by manual inspection of the results produced by the implemented code. For this, a dataset of 295 domains (checkset) consisting of randomly chosen representative structures for every fold in the SCOP database (version 1.63) ,34 belonA set of high-resolution structures (culled PDB set) was used for comparing the final program output with that from other programs, with respect to reliability and robustness towards coordinate errors. For this, a list of the 100 longest non fragmented PDB chains having resolution better than 1.6Å and sequence similarity less than 20% were obtained from the culled PDB database .We used the Python programming language  (v2.3) tα distance and i, i+1, i+2, i+3 Cα torsion angle. 2: Delineation of probable core regions of helix and β-strand elements from residues that pass strict criteria. 3: Formation of quadruplets of residues connected by two covalent and two hydrogen bonds as seeding units for β-sheets. 4: Initiation and extension of paired β-strands using quadruplets of paired residues. 5: Breaking consecutive non-single helices and β-strands taking into consideration residue pairing and neighboring elements. Steps of our algorithm need to be run sequentially for the results to be meaningful.Our method has five major steps that are used to sequentially process the PDB  coordinaα coordinates of every residue of the molecule are processed from the N- to C- terminal end and a simple Cα-Cα  distance  . This is the only step in which our algorithm deals with secondary structure as a property of the individual residue and not as that of an element. Cnce fig.  and Cα t+3) fig.  are usedensively ,8,15,21 α-Cα distances δ<8.1 Å, -35°≤τ≤115° ⇒ ρ=loose-strand    (2)δ>8.1 Å, -180°≤τ<-35° | 115°<τ≤180° ⇒ ρ=within (50.1° ± 2σ) ⇒ ρ=strict-helix    (3)δ≤6.4 Å, τ α-Cα distance, τ is Cα torsion angle , σ is standard deviation of torsion angle (= 8.6°), ρ is propensity  or different type . Since we always process PDB  files frα distance and i, i+1, i+2, i+3 Cα torsion angle. Loose-helix SSE templates (SSE template henceforth referred to as SSET) consisting of at least five residues are formed from every set of consecutive loose-helix residues and the three residues immediately succeeding them. This process ensures that a helical element is generated from only a single continuous region of loose-helix residues. At this stage, it is possible that the third residue of a five residue loose-helix SSET has not passed the cutoffs for distance and torsion angle with any other residue. Strict-helix seed-SSE is defined by a group of three consecutive strict-helix residues. Strict-helix SSETs are formed from a strict-helix seed-SSE and the three residues immediately after it. This implies that every residue in a strict-helix SSET passes the strict cutoffs of distance and torsion angle with at least one other residue making the minimum length of a strict-helix SSET six residues. All loose-helix SSETs that do not contain at least one strict-helix residue, other than in the last three residues, are discarded. The remaining loose-helix SSETs denote possible helix templates.We use a group of at least two consecutive loose-helix residues to generate a loose-helix seed-SSE. It is possible to get a single loose-helix residue in β-hairpins whereas a set of consecutive loose-helix residues is more likely to be a part of a helix as it signifies that four  residues out of a five residue group (i – i+4) have passed cutoffs for i, i+3 CA loose-strand-forming seed-SSE is defined by a group of loose-strand residues, with at least one residue in the group. Extending every loose-strand seed-SSE to the i+3 position at the C- terminal end gives rise to loose-strand SSETs. Overlaps between elements are formed during extension of the C- terminal end of the seed-SSE to the i+3 residue leading to a maximum overlap of two residues between any two SSETs.α residues, linked by a pair of covalent bonds and a pair of hydrogen bonds  which are paired stretches of consecutive residues. We start by defining and identifying the smallest unit of such a network of residues, namely a quadruplet, which is formed by four Cnds fig. .Since the covalent bonds that link a quadruplet of residues are easy to define confidently from their sequence and coordinates, and their hydrogen bonds are not always clear, we decided to use parameters that depend on covalently linked rather than hydrogen bonded residues neighboring the quadruplet fig. . At mostThe first parameter Cα-Cα distance between paired residues . Probability of obtaining a particular Z-score is used for scoring quadruplets.α distance, half of 4 scores for the second parameter angle and 2 scores for Cα torsion angle) are used for the three parameters. Technical limitations of the computer's ability to work with numbers close to zero were carefully avoided by rejecting probabilities close to zero . The table of times-sigma and negative logarithm of the probabilities were kept for lookup during scoring of actual quadruplets found by DSSP [As the probability values are very small and could be subject to floating point errors over multiple operations, a negative logarithm was used to convert them to positive numbers. Thus, lower numbers represent better scores. The total score of the quadruplet is obtained by adding the individual parameter scores. Equal weights , β-strands are considered as part of the same β-sheet if at least three residues are paired.10-helices, defined in the above steps, are based on relaxed criteria to avoid missing out residues that could potentially be part of a helical element. Although a rudimentary form of element edge delineation is obtained by the use of Cα distance and torsion angles during delineation of probable helical elements in step 2, these methods are capable of detecting only drastic changes in the helix axis. Our relaxed criteria of helix definition designed to include π and 310 helices, also allows curved, kinked and bent helices [Helix SSETs representing α, π and 3 helices  to be inManual judgment of the results at this point indicated that our program's delineation of helices were acceptable in terms of residue coverage. Presence of bent helices was noticed in the checkset (described previously) and we decided to split them into linear elements without loss of constituent residues. We used helices defined by our program for calculation of parameters for breaking helices. Since DSSP  does not10 helices as distinct or part of the same element and also short (<8 residue) α-helices. The first method calculates the principal moment of the helix residues and used the eigenvector corresponding to the largest eigenvalue as the helix axis. This method thus depends only on the spread of the residues in space and does not take into account the linear connectivity of the helix residues. Errors in helix axis assignment were observed for π-helices and short α-helices. Due to the spread of residues being more on the diametrical plane of these helices, the axis found using the eigenvector method lay closer to the plane of the diameter instead of being normal to it. This method gave good results for longer helices. However, as we considered short α, π and other opened up helices for breaking and final definition, this method was not used.The helix breaking method relies on an analysis of the RMSD of helix residues around the helix axis. Two different methods were used to generate the helix axis. Only one of the methods was finally adopted fig. . We explBased on the observations above, a rotational fit method was used to determine helix axis ,45 fig.. This inOur program was run on the "statset", described previously, and all helices were extracted for study. The RMSD of helix residues from the helix axis were calculated and analyzed fig. . All helThe average RMSD and average standard deviation calculated above were used to obtain broken helices (as described below) that were analyzed manually. Our algorithm does not break a helix showing a slight curvature in its structure, or containing a few distorted residues. For bent helices, we decided to use two cutoffs to determine breakpoints. Flexibility is represented by a Z-score representing the allowed deviation as multiples of the standard deviation of helix residues . A sharp bend in the helix axis is measured by the angle between the axes of two neighboring helices as calculated by the rotational fit method (described above). The broken helices observed were manually inspected to determine the optimum Z-score and the break angle fig. .α distance and i, i+1, i+2, i+3 Cα torsion cutoffs; fig. A breaking method for helices was developed in order to determine the correct cutoffs for Z-score and angle of break. The method considers every possible breakpoint in a helix and attempts to choose the optimal result. We define broken helices as single elements only if the piece with the highest RMSD is still acceptable fig. . MultiplThis step of the calculation is computationally intensive due to the large number of possibilities that are considered. To prevent the algorithm from taking abnormally long to complete in special cases, we avoid checking for breaks in single helices that are longer than 50 residues.α distance and angle) and by using neighbor pairings for constituent residues. As β-strands have a natural tendency to curve, we take care not to break short gently curved β-strands, nor break them at bulges. Sharp bends in β-strands, gently curved but long β-strands, which cannot be optimally represented by a single linear vector, and β-strands which do not have at least two residues shared by two different β-sheets are considered for breaks. β-strands are broken using geometric criteria after checking for the possibility of a bulge being located near the potential breakpoint. We prefer to retain large regions of connected β-strands rather than split them into isolated pieces, and therefore place more importance on residue pairings than on geometric criteria of individual β-strands. Restricting the minimum length of a β-strand to three residues (as described above) makes β-strand breaking a sensitive operation, as it is possible to lose small β-strands completely if breaks are located either within the small β-strands themselves or on the β-strand pairing with the small β-strand. Thus, we try to retain residues in short β-strands if they are linked to part of a larger β-sheet. However, it is more likely for short β-strands to arise due to chance proximity of extended regions. These short β-strands may hinder correct representation of the entire β-sheet. Although our program does not aim to perfectly describe β-sheets, we do try to detect and remove short β-strands that are either not well connected to a larger β-sheet or located close to breaks in neighboring β-strands of the β-sheet. The β-strand breaking methods are designed not to depend on the length of the β-strands being broken, however, they do depend on the order in which they are applied on the original β-strand and its paired neighbors. β-Strands are broken in four steps, where each step works on the complete set of β-strands obtained after applying the previous breaking method. Bulges are taken into consideration at every step.Bent β-strands are split to obtain linear elements using both geometric criteria  were generated and joined, it is possible for two ladder arms to be formed from consecutive residues or be with a maximum of only one residue common between them, with the residues on the other arms having no connectivity fig. . A minim10 helices, or may be distorted while still showing helical tendency. Overlap with previously defined α-helices and β-sheets were considered for this step.In previous steps, residues not part of a strict-helix SSET were considered for generation of ladders of residue pairs and β-strands. Some of these residues do not finally participate in any β-strand formation. These residues, not part of α-helices or β-strands, can potentially contribute to formation of π and 3All loose-helix SSETs having no residue in a previously defined α-helix or a β-strand are considered at this step. To loosen the criteria and to allow over and under-wound helices to be detected, any presence of a strict helix-forming residue, other than in the last three residues of the previously defined element, leads to rejection of the template from consideration, as these have already been considered for helices in above steps. The templates are checked for a maximum overlap of two residues with β-strand elements and shortened at the edges if required. The templates are also checked so that no residue overlapping with a β-strand at the edge, pairs with more than one β-strand residue. Finally, helix templates occurring at β-hairpins are removed. Any helix template that overlaps with β-strands on both edges and has less than five non-overlapping helix residues is rejected. All remaining loose-helix SSETs are included in our final helix definition.As described previously, we consider a minimum of two pairs of residues to determine linked β-strands which themselves are at least 3 residues long. Consecutive residues of β-hairpins are considered linked for this purpose, even though they do not actually form a hydrogen bond. Sheets are assigned for each group of β-strands that can be traversed by a consecutive pair of linked residues. Breaks in β-strands located in previous steps are taken into consideration for this step. Breaks caused by changes in pairing (described previously) are treated as permanent, and the β-strands on either side are kept in separate β-sheets. Breaks caused by geometric evaluation of the local region are treated as potential breaks. A geometric break is ignored unless it affects all paired residues on either side of it. Thus, geometric breaks are used only if multiple β-strands need to be broken to split the β-sheet. Keeping a rigid criterion for the use of geometric breaks for individual β-strands ensures flexibility for the entire β-sheet, as larger β-sheets tend to show a gradual bending. A more drastic bending shows up as a sequence of geometric abnormalities, thus allowing proper use of the potential geometric breaks detected previously.Assignment of β-strands to β-sheets is for ease of motif searches only. Our program does not define β-sheets for the purpose of domain definition. As such, ambiguity regarding whether two β-sheets should be linked or separate might arise in cases where there is a gradual bending of the sheet or where two or more β-strands link them at the edges. It is also possible for two different β-sheets to be linked together if a few β-strands in each sheet are distorted and are in close proximity to each other. In the majority of cases, however, our program defines β-sheet boundaries correctly.Robustness towards coordinate errors was estimated by checking consistency of definition using randomly shifted PDB  coordinaIM designed and implemented the algorithms, tested program performance, analyzed the results, and drafted the manuscript. SSK contributed to algorithm development and provided expert judgment of program output. NVG conceived of the study and participated in its design and coordination. All authors read and approved the final manuscript.


The identification of local similarities between two protein structures can provide clues of a common function. Many different methods exist for searching for similar subsets of residues in proteins of known structure. However, the lack of functional and structural information on single residues, together with the low level of integration of this information in comparison methods, is a limitation that prevents these methods from being fully exploited in high-throughput analyses.Here we describe Query3d, a program that is both a structural DBMS (Database Management System) and a local comparison method. The method conserves a copy of all the residues of the Protein Data Bank annotated with a variety of functional and structural information. New annotations can be easily added from a variety of methods and known databases. The algorithm makes it possible to create complex queries based on the residues' function and then to compare only subsets of the selected residues. Functional information is also essential to speed up the comparison and the analysis of the results.With Query3d, users can easily obtain statistics on how many and which residues share certain properties in all proteins of known structure. At the same time, the method also finds their structural neighbours in the whole PDB. Programs and data can be accessed through the PdbFun web interface. A lot of information on the relationship between structure and function lies hidden in the high number of known protein structures. Protein local structure comparison methods are powerful instruments in helping elucidate the mechanisms that connect protein structural features to the protein's function. Comparison methods can highlight correlations between spatial positioning of single aminoacids and their interactions with the surrounding environment.In the last ten years many new and highly effective comparison methods have been developed (for a review see ). Since However the ability to provide and embed biological information in the comparison algorithm should be considered even more important than speed. To accomplish this, a high degree of integration of databases and functional annotation programs is needed. Many comparison methods do not treat integration aspects and, by concentrating their efforts on the comparison algorithm, consider aminoacids independently of their biological context. Often protein residues are described as set of points associated with physico-chemical characteristics, with no additional information on their real or supposed functions.The structural biologist who uses local comparison methods to find similarities between a specific protein of interest and a database of structures, needs to access residues biological function and properties in two different phases: when choosing the structural pattern of the query protein and when analyzing the comparison results in search of a biological rationale for the structural similarities.The biological information shared by comparison methods is so poor that users need to do a lot of manual browsing among different databases both before and after the structural comparison. If the comparison is not between two single proteins or motifs but between a structure and a set of structures, or between a set of motifs and a database of structures, the manual work needed for the analysis of the results increases rapidly and becomes unaffordable in the case of high-throughput analyses.Some of the developed methods in the pre-run phase provide the user a number of selected sets of structural motifs to search with. The most frequent case is the one where the user is given a single list of structural motifs automatically extracted from a single database. PDBSITESCAN  gives a WEBFEATURE  runs on None of the cited methods makes it possible to combine or integrate information coming from different lists of motifs or databases by allowing the users to search for sets of residues characterized by properties of different types (i.e.: the solvent-exposed residues of a PROSITE motif).A comparison method along this lines is ASSAM . ASSAM gHere we describe Query3d, a new method that integrates many existing databases and programs for 3D functional annotation together with a fast structural comparison algorithm. Nine data sources have been interconnected ranging from solvent exposure to ligand binding ability, location in a protein cavity, secondary structure, functional pattern, protein domain and catalytic activity. All this functional information is bound to the single residue and not to the structure as a whole, allowing the user to perform detailed queries on the features of single residue sets. All the structural and functional data are stored locally and managed by a fast and powerful database management system which is also able to perform fast and high-throughput local structural comparisons.Query3d is both a database management system (DBMS) oriented to protein structural analysis and a structural comparison algorithm. These two features can be used individually or combined, giving rise to three types of analysis, as described below.The first option is the use of Query3d as a local structural comparison program. Regions of local similarity can be searched between any pair of protein structures, between a protein chain and the whole PDB or also between any two arbitrary and chosen subsets of aminoacids in a structure.The second possibility consists in the use of Query3d as a DBMS devoted to the functional analysis of protein structures. The program provides access to a rich database of functional and structural information on all PDB residues. Users can create arbitrary complex queries on all known structures. For instance, users can ask about the number and identity of the residues sharing a chosen set of properties. A typical query subset can consist of all residues that are able to bind ATP or ADP, are not hydrophobic and belong to a loop. The program returns the total number of such residues per chain in the whole PDB  and selects these residues for further analysis.However, the most interesting application of our method is obtained from the combination of DBMS and the comparison algorithm. By using these two features at the same time, users can create automated and customized selections of functional residues to be searched for structural similarity with the whole PDB or with other residue selections. For instance, the previously described binding sites can be compared with all residues lying in the major cavities on the surface of a set of catalytic domains.Structural and biological data for comparison and functional querying was derived using the PdbScan package (manuscript in prep.). PdbScan is a set of programs created to build a common interface and access method to the PDB structure database and the major existing databases and methods of proteins functional/structural annotations. PdbScan output is a residue-oriented relational database where all protein residues with their main characteristics extracted from the PDB are stored together with other information mapped from other data sources. In order to generate these data, PdbScan runs locally a variety of annotation methods or imports functional information on protein structure from different existing databases. Each different source of data information is called a feature. Examples of residue features present in PdbScan are: secondary structure, solvent accessibility, conservation, interaction with a ligand and position in a protein domain or in an enzyme active site. For each feature present in the database, a single value is assigned to each PDB residue. For example, a residue can bind ATP, can be solvent-accessible, can be present in an SH3 structural domain and share a certain conservation value in a multiple alignment of homologous proteins.The program can run two types of user queries: simple or complex ones.Simple queries involve only a single feature. By using this type of query, users can select all residues sharing a single common annotation or any number of annotations belonging to the same feature. For example, with the 'binding sites' feature, users can select all residues interacting with ATP, but also all residues interacting with ATP or ADP or Phosphate. The complete selection of all the annotations of a feature is also possible, e.g., all residues involved in the binding of any ligand.Complex queries can be created by combining pairs of simple queries generated with selections in different features. Combinations are created using Boolean operators AND, OR and NOT. We propose an example of a complex query that combines, with an AND operation, a simple query on the 'binding sites' feature with a simple query on the 'secondary structures' feature. This query could select all residues in the PDB that are located in an alpha helix and are able to bind ATP or ADP. Complex queries can also combine other complex queries and not only simple ones.After each selection (simple or complex query) the DBMS can return three different levels of information: i) the total number of PDB residues selected by the query and the total number of PDB chains sharing at least one selected residue; ii) the complete list of chains with at least one selected residue together with the total number of residues selected in each chain; iii) the complete list of selected residues, together with the complete list of annotations of each residue, in each selected protein chain.Selecting 'ATP' and 'ADP' in the 'binding sites' feature we obtain a list of all the 8998 residues distributed among 840 chains of the PDB that are able to bind ATP or ADP.Selecting 'hydrogen bonded turn' in the '2D structures' feature we obtain a second list of all the 1400109 residues in 49278 chains that are in a 'loop'.By operating an intersection using the 'AND' operator between the two list of residues we obtain a new list of 1164 residues in 570 chains that are in a loop and are also involved in ATP or ADP binding.The structure comparison method in Query3d is designed to find the largest subset of matching aminoacids between two complete protein chains or between two sets of selected residues. The program can search for structural local similarity between selected residues of any pair of user queries. The matching process is completely sequence independent so local similarity has to be intended between residues that are neighbours in space. The output of the program is, for each pair of compared chains, a list of the residues found to be similar. The detailed description of the comparison algorithms is given in 'Methods'.The method was found to function correctly in previous authors' works. The method was applied in different test cases and proved capable of finding significant local structural similarities, even in the absence of protein sequence or protein fold similarities. More specifically, the algorithm proved capable of recognizing five different known difficult cases of local structural similarity and has been extensively used in a structural genomics function prediction experiment . In 13]13], the Query3d is open source. It can be accessed through the web or, if special conditions of use are required, Query3d can be installed locally.. Through the pdbFun interface, all major features of Query3d are available. Help and tutorials in the website facilitate use. Selections of residues can be created and listed in tables. Users can combine selections and manually refine them by adding and removing single residues. Structural comparisons can be launched between selections while structural matches can be visualized instantly. Moreover in pdbFun a java viewer of protein structures is provided to help the user in selecting residues and analyzing structural comparison results.A server running the program can be accessed through a web interface. The web interface is called pdbFun  and is aThere are two cases where local installation of Query3D becomes necessary: the need to perform long and computationally intensive structural comparisons or to calculate a large number of selections or comparisons. The public server cannot guarantee all the CPU time needed for an all-versus-all comparison. Or, if many different selections of residues have to be generated and compared, running a batch job on a personal computer is the fastest and most effective thing to do.The software is available for UNIX/linux platforms. Communication with the server program is carried out through text files and the PostgreSQL database.We have developed Query3d. By using this program, the structural biologist can easily select a set of interesting residues according to their biological or structural properties in the whole PDB. The selected residues can be analyzed, counted and manually modified. When the user is satisfied with the selections, structural comparisons can be launched.Query3d is a new and flexible methodology dedicated to the study and analysis of protein structures. Given the amount of functional information associated to each residue, the method can give an answer to an extremely high number of possible questions of biological relevance. The number of possible combination of queries is so high that it is difficult to envisage all the possible applications of the method.Future directions include a higher degree of flexibility in the type of possible residue searches. For example, we are going to introduce pattern matching on arbitrary residue features. Possible patterns could be defined in protein-sequence or in a volume of space. These could use not only residue type but also residue features, such as secondary structure or solvent accessibility. The final goal is to transform Query3d in an instrument to search with simple operations in the space of known protein structures, for arbitrarily chosen functional and structural conformation of residues.Query3d loads annotated residues data together with residue coordinates and other structural information. An important characteristic of the program is its being independent of the type of data stored. So different versions of PdbScan data can exist, containing different functional information, or even customized features. If a version of PdbScan is used where ten features are implemented, each residue can share a maximum of ten annotations.Features available are those currently generated by the PdbScan package. They embed nine data sources: solvent exposure as given by the naccess program , surfaceEach protein chain in the PDB is stored locally and described as a set of non-connected, and therefore sequence independent, residues. Each residue is characterized by a set of attributes, such as type of residue, list of neighbour residues, position in space and a list of functional/structural information. Two residues are considered neighbours if the distance between their C alpha atoms is less than 7.5 Angstroms. Two points describe the three-dimensional position of each residue: the first one corresponds to the C alpha atom, while the second is calculated as the geometric average of all the residue side chain atoms. This second set of coordinates gives information on the direction in space in which the side chains are pointing. The last type of information is a complete list of functional and structural properties of the aminoacid in this structure. This information comes from PdbScan (see previous paragraph) and is used by Query3D to permit the users to select the residues that have to be counted or considered for a structural comparison (see next paragraph).During the comparison, the program tries to match the maximum number of residues between two protein chains. Two sets of residues are considered similar if they fulfil three criteria: neighbourhood, structural similarity and biochemical similarity.The first criterion demands that all residues present in the set of matching aminoacids are neighbours of at least one of the other residues in the set. This guarantees that all matched aminoacids are neighbours in space, saving a lot of comparison time. The biological motivation for this constraint is that local comparison algorithms are always used to find similarities between active sites, binding sites and other localized areas in protein structures. In these regions, two areas of distant residues are not expected to be conserved.The second matching criterion concerns structural similarity. This demands that all sets of matched residues have a root mean square deviation (r.m.s.d.) lower than a certain threshold. The lower the threshold, the faster the program, since a higher number of matches is excluded in the early stages of comparison without the need to explore them further (see next paragraph). However, using a too low r.m.s.d. threshold increases the probability of missing evolutionarily distant similarities . The present threshold is 0.7 Angstrom and represents a good compromise between speed and accuracy. The r.m.s.d of the match is calculated by using all the matched residue points, both the C alpha and the side chain points. The inclusion of a side chain point in the calculation of the global match r.m.s.d. ensures that also side chains' direction needs to be conserved between two sets of matching residues.The last criterion is based on the biochemical similarity of residue types. To evaluate this type of similarity, we use a substitution matrix. The default matrix is the Dayhoff one . AccordiGiven two protein structures, Query3D is guaranteed to find the two largest sets of matching residues that fulfil the matching criteria described in the previous paragraph. In order to do so, an exhaustive depth-first search is performed exploring all the possible combinations of aminoacids belonging to the two different proteins.The algorithm starts by creating all the possible length 1 matches. These are composed of a single aminoacid from the probe structure matched to a single aminoacid belonging to the target structure. For example, if the probe and target structures are composed of n and m aminoacids, respectively, n × m length 1 matches can be generated. All these matches are evaluated using the matching criteria and, in case, discarded. Only those matches that are considered valid are extended.Match extension consists of the generation of new possible length 2 matches starting from each valid length 1 match. All possible pairs of neighbour aminoacids are added to the first two. For example, let the first aminoacids in the probe structure have i neighbours and the corresponding matched aminoacid in the target structure have j neighbours. The algorithm generates i × j new matches of length 2. Again all these new matches are evaluated and, if possible, iteratively further extended to length 3 matches. The process of validation and extension is repeated until no more valid matches can be generated. At this point, the algorithm stops and saves the longest match found. By doing so, the algorithm guarantees that all possible combinations of subsets valid for a structural match have been explored.Note that in the match extension phase only residues selected by the user are considered among all the available neighbours. This simple fact ensures that structural matches can only include aminoacids that have been chosen by user queries. In order to save time when comparing very similar protein chains, the algorithm is stopped when a match reaches a certain number of residues. We noticed that a match size limit of 10 residues is enough to prevent the program from spending too much time trying all possible combinations of good matches among globally similar structures.One important feature of Query3d is its speed both in running queries and in comparing structures.All queries can be run in a few tenth of a second. PDB actual size exceeds 12 million aminoacids, and this performance would not be possible using common databases. Query3d relies on a fast queries algorithm in C that avoids all disk accesses. All the essential information necessary for performing queries and structural comparison is stored in a compressed format in less than 1 GB of RAM. We reckon that with this compression level, foreseeable size increase in PDB in the near future will remain compatible with RAM sizes available for simple desktop PCs.Protein structure superposition has been optimized. We managed to keep structural comparison time very low. The time needed to compare a protein structure composed of 200 residues with a medium size protein chain in the PDB is only 60 milliseconds on a common 3 GHz pentium4 processor. The search for a local structural similarity between a 200-residue protein and a non-redundant PDB database, at 30% identity, composed of about 4000 structures, can be completed in less than 4 minutes. To obtain these results we developed an optimized C function implementing the quaternion method for calculating the r.m.s.d. between two set of points . We diffAV participated in the design of the work. MHC participated in the design of the work and helped to draft the manuscript. All authors read and approved the final manuscript.


Carbohydrates play a critical role in human diseases and their potential utility as biomarkers for pathological conditions is a major driver for characterization of the glycome. However, the additional complexity of glycans compared to proteins and nucleic acids has slowed the advancement of glycomics in comparison to genomics and proteomics. The branched nature of carbohydrates, the great diversity of their constituents and the numerous alternative symbolic notations, make the input and display of glycans not as straightforward as for example the amino-acid sequence of a protein. Every glycoinformatic tool providing a user interface would benefit from a fast, intuitive, appealing mechanism for input and output of glycan structures in a computer readable format.A software tool for building and displaying glycan structures using a chosen symbolic notation is described here. The "GlycanBuilder" uses an automatic rendering algorithm to draw the saccharide symbols and to place them on the drawing board. The information about the symbolic notation is derived from a configurable graphical model as a set of rules governing the aspect and placement of residues and linkages. The algorithm is able to represent a structure using only few traversals of the tree and is inherently fast. The tool uses an XML format for import and export of encoded structures.The rendering algorithm described here is able to produce high-quality representations of glycan structures in a chosen symbolic notation. The automated rendering process enables the "GlycanBuilder" to be used both as a user-independent component for displaying glycans and as an easy-to-use drawing tool. The "GlycanBuilder" can be integrated in web pages as a Java applet for the visual editing of glycans. The same component is available as a web service to render an encoded structure into a graphical format. Finally, the "GlycanBuilder" can be integrated into other applications to create intuitive and appealing user interfaces: an example is the "GlycoWorkbench", a software tool for assisted annotation of glycan mass spectra. The "GlycanBuilder" represent a flexible, reliable and efficient solution to the problem of input and output of glycan structures in any glycomic tool or database. Chemically, monosaccharides are aldehydes or ketones with two or more hydroxyl groups. They can exist as linear molecules but more usually they cyclize to form ring structures. Complex carbohydrates  are formed by combinations of monosaccharides covalently linked by glycosidic bonds: two types of glycosidic bonds can be formed, α and β, depending on the orientation of the anomeric centres of the monosaccharides involved. Each hydroxyl group of a monosaccharide constitutes a possible point of formation for a glycosidic bond. Therefore, glycans can have very complex structures with many branching points. The monosaccharides are classified according to the number of carbon atoms they contain, the position of the anomeric centre, and its chiral handedness. Glycans are classified accordingly to the number of monosaccharide units they contain: large polysaccharides  containing many thousand repeating units whereas smaller oligosaccharides can contain between two and ten monosaccharides.Carbohydrates are the most abundant type of biological molecules. The smallest structural unit of a carbohydrate is called a glycoconjugates. Apart from their well known use in energy storage and expenditure, the roles of carbohydrates in living organisms are varied and fundamental. Glycans can have structural and modulatory functions by themselves or can modulate the function of the molecules to which they are attached by the specific recognition of the glycan structure by carbohydrate-binding proteins (lectins). Glycans regulate both the folding and degradation of proteins. Moreover, since the outer cell membrane is covered by carbohydrates, they mediate interactions with other cells of the same organism or other pathogenic organisms such as viruses, bacteria and multi-cellular parasites. The critical role of glycans in diseases and their utility as biomarkers for pathological conditions have now been widely recognized [Carbohydrates can be found as homo-polymers but are usually attached to other biomolecules such as lipids or proteins to form complexes named cognized  and haveThe additional complexity of glycan structures compared to proteins and nucleic acids has slowed the advancement of glycomics. The branched structure of glycans means that most of the bioinformatic tools developed for analysis of linear proteins and nucleic acids cannot be simply adapted to the sequencing of glycan structures. Moreover, no extensive database of known glycan structures and related primary data is currently available, although various initiatives in this direction are currently in place. Therefore, the current situation sees a critical lack of software tools for almost every aspect of glycomic research .The branched non-sequential nature of glycan structures and the great diversity of their constituents imply that the input of a structure into a computer readable format is not as straightforward as writing a sequence of characters for representing the amino acid sequence of a protein chain. Additionally, numerous alternative symbolic notations are commonly adopted to represent glycan structures in publications. Every glycoinformatic software tool providing a user interface would benefit from a fast, intuitive, graphically appealing mechanism for input and output of glycan structures. For example, database application would profit from an easy to use interface for performing structure searches and displaying search results.A user friendly input/output tool for glycan structures should satisfy three fundamental requirements: provide an intuitive interface to build structures with minimal user interaction, allow the encoding in a standard format also readable with other software tools and create conventional and appealing graphical representations of glycans. These requirements are usually diverging. A common practice is to employ graphical editors for drawing the structures to be published in research papers. Graphical editors give the user the highest freedom in creating the graphical representation. However, it is realistically impossible for a software tool to extract useful information about the glycan structure from the resulting geometrical representation. Moreover, graphical editors require a large amount of user interaction for conveying the desired result. Some input tools that have been developed for searching structure databases mimic the operations of a graphical editor. The symbols for saccharides and linkages are usually predetermined but the user can freely position the saccharides on the drawing board. Two editors follow this approach: KCAM ,4 and DrThe EUROCarbDB design studies  aim to cThe representation of glycan structures in a computer readable format is an essential prerequisite for the exchange of information between databases and for the use of stored data by bioinformatic tools. The string encoding format for glycan structures proposed by IUPAC-IUBMB  was explA critical problem with the previous formats is exemplified by the representation of monosaccharide components. The convention used for naming monosaccharide monomers results in multiple names for the same basic chemical configuration. This ambiguity is not easily addressed by software tools. One of the efforts taken by the EUROCarbDB project has been the development of a controlled vocabulary for monosaccharides centred on a database of monosaccharides units. Each unit is represented as an unmodified saccharide base type (e.g. glucose) plus a list of substituents and modifications. EUROCarbDB has proposed a glycan encoding format based on this monosaccharide representation, Glyco-CT . Glyco-CThe "GlycanBuilder" uses the Glyco-CT format for the import/export of glycan structures, while suitable libraries are being developed by EUROCarbDB for translating Glyco-CT into other common encoding formats and vice versa.Symbolic representations of glycans consist of a series of geometric symbols that represent monosaccharide units connected by lines to indicate glycosidic linkages. Symbolic notations are widely used in publications, especially for representing mammalian structures, because they enable a very compact way of describing complex glycans, useful when a large series of structures needs to be displayed (i.e. the profile of glycans expressed by a cell population). Moreover, symbolic representations are much easier for humans to recognize and allow a rapid comparison of structures when determining differential expressions in biological contexts. Unfortunately, no standard notation exists and many different types of symbols and conventions can be found in the literature.The Consortium for Functional Glycomics (CFG) has issued a recommendation for the symbolic representation of the glycan structures present in mammalian organisms. This notation is used by all Consortium databases and is being employed in the second edition of the book "Essentials of Glycobiology" . Due to A second proposal for representing linkage information, originally suggested in , has beeThe "GlycanBuilder" is based on an automatic rendering algorithm able to transform a computer encoded glycan structure into a pictorial representation determined by the chosen symbolic notation. The encoded structure is first parsed and transformed into a data object that stores all the information about the glycan . The data object is then rendered into the desired output media using a graphical model representing the symbolic notation of choice. The rendering process is completely automatic: the spatial placement and aspect of residues depends only on the symbolic notation. This means the "GlycanBuilder" can be used as an automated component for displaying glycan structures. Additionally, when the "GlycanBuilder" is employed as an interactive drawing tool, this feature makes the user free from any responsibility regarding the drawing and creates faster and easier-to-use interfaces.The internal object used to store and manage information about glycans in the "GlycanBuilder" is a tree structure whose nodes are the glycan residues and whose edges are their linkages. Each node represents a drawable object, an enlarged concept of structural constituent comprising: saccharides, reducing-end specificators and markers, substituents and saccharide modifications. Reducing-end specificators are used to identify possible modifications at the reducing-end terminal (or no modifications). A special node is also defined for collecting glycan terminals with unspecified linkages, a common way of describing structures with incomplete topological information . Each condition matches a certain parent, linkage or child attribute: residue type, linkage position, anomeric state, position of the anomeric carbon or residue class . The attributes of a rule are: a set of possible positions for this residue, a flag identifying if the residue is on a border region, a flag identifying if the orientation of the child is the same as the parent or should rotate accordingly to the position angle, a flag identifying if the position is "sticky". If a position is "sticky", all the subsequent children are placed in position 0: in this way it is possible to force sub-trees in regions with a change in orientation to be drawn as a sequences, thus avoiding the creation of spiralling series of residues Figure . ExampleUOXFIf linkagePosition==6 then //       position=45;      border=false;      change orientation = false;      sticky=false;CFGIf residueType==Fucose then //       position={-90,90};      border=false;      change orientation = true;      sticky=true;BothIf residueClass==Substituent then //       position={-90,90};      border=true;      change orientation = false;      sticky=false;After the rules have been applied, the positioning algorithm has to decide the actual position of each node among the possible choices. All the children of a residue are considered altogether in order to better redistribute them in the space around the parent. The placement of each node is decided starting from the residues with stricter constraints. Firstly, all the residues with a single possible position are assigned. Secondly, the border residues are sequentially placed in an empty border position if available or in the less crowded position otherwise. When deciding the less crowded position the booking algorithm makes no difference between border and non-border regions. Finally, the remaining children are sequentially placed in the less crowded positions. The automatic placement can be overridden on user request, in case a specific arrangement of the structure is needed to represent particular conditions.The algorithm for computing the bounding boxes of residues is the core component of the rendering process. The bounding box indicates at which coordinates a residue will be displayed on the output media. The procedure is described here only for a right-to-left orientation: the others are simply rotated by multiples of 90 degrees with respect to this . The algorithm recursively navigates through the tree structure performing the following phases for each node Figure :1. compute the bounding box of the current residue with a free spatial placement Figure ;2. recursively compute the bounding boxes for all the sub-trees by grouping for region and align the sub-trees in each region Figure ;3. align centre of border regions -90 and 90 with the current residue and place the regions on the bottom and top of the residue Figure ;4. align left regions  and place them on the left of the current residue without clashing with border regions Figure ;5. align centre of regions -90 and 90 with current residue and place the regions on the bottom and top of the residue not clashing with the other regions Figure .During phase 2 each region is computed separately. Firstly, the bounding boxes are computed recursively for each residue of every sub-tree. Once the bounding boxes of the residues of a sub-tree are computed, they are aligned with the residues of the adjacent sub-tree in the region. The alignment of two sub-trees is computed clockwise . The alignment is performed to minimize the spatial distance between the sub-trees and to avoid collisions between their residues. An example of top-to-bottom alignment of one sub-tree on the right of another is given in Figure 1. align the roots of the two sub-trees on the right of their bounding boxes Figure ;2. compute the size of the shift needed to move one sub-tree on the bottom of the other maintaining a minimum distance between all their nodes Figure ;3. translate all the residues of the sub-tree according to the computed shift value Figure .This alignment and collision solving algorithm is used during all the other phases to align entire regions. The alignment and collision solving algorithm is the most delicate part of the rendering process and it is responsible for the optimal placement of residues.The alignment of left regions  with the current residue has three special cases Figure . If regiThe computation of bounding boxes for the bracket residue and its children (antennae with uncertain linkage) is performed separately. The bounding boxes for these residues are computed after the rest of the structure. The bracket residue is placed on the left of the structure and its bounding box is as large as the whole structure. Its children are aligned top to bottom on the right of the bracket. For each antenna the bounding boxes are computed as for the normal structure.Residues and linkages are drawn as geometrical shapes and not as bitmaps so that resolution is not affected at different sizes and scales. A residue is drawn by fitting the chosen shape inside the bounding box, while a linkage is displayed by drawing a styled line connecting the centre of the parent's bounding box with that of the child. The aspect of residues and linkages is part of the graphical model and it is also stored in configuration files. The residue style matches a single residue type. Various graphical attributes can be set for the residue style: shape , fill colour (RGB format), fill style , associated text and text colour. Some of the shapes, like those for reducing-ends, are oriented to point towards either the parent or the children residue. The linkage style is decided using the same matching operator described for positioning rules. The graphical attributes that can be set for a linkage are: line style , line shape  and which linkage information to display. Anomeric state and linkage position can be displayed: never, always, only if known. Linkage information is displayed near the linkage line, next to the corresponding residue: anomeric state is displayed next to the child and linkage position next to the parent.The automatic rendering algorithm detailed in the previous section enable the "GlycanBuilder" to be employed in several different applications. A visual editor for glycan structures has been developed both as a stand-alone Java application [see additional file Mass spectrometry is the main analytical technique currently used to address the challenges of glycomics  as it ofThe "GlycanBuilder", a software tool for building and displaying glycan structures, has been presented here. The tool is based on an automatic rendering algorithm that can draw glycan structures in a chosen symbolic notation with no user intervention. The symbolic notation is encoded in a graphical model as a set of rules specifying the style and placement of structure residues. The graphical model is independent from the rendering algorithm and can readily be exchanged to specify different symbolic notations. The rendering algorithm is able to produce high-quality compact representations of structures which are ready for publication purposes. The type of structures that can be represented is not restricted to any particular type or biological context. The algorithm is inherently fast and is able to draw a structure using only few traversals of the glycan tree, with no iterative optimization steps. The automated rendering process enables the "GlycanBuilder" to be used both as a user-independent component for displaying glycan structures and as a rapid and easy-to-use drawing tool. The computer encoded structures can be imported into the tool and exported from it using the Glyco-CT format. The "GlycanBuilder" can thus be integrated in other applications to create intuitive user interfaces for input of glycans or to display encoded structures using symbolic notations. The tool is available as a stand-alone Java application [see additional file • Project name: EuroCarbDB – GlycanBuilder• Project home page: • Operating system(s): Platform independent• Programming language: Java• Other requirements: Java 5.0 or higher• License: GNU GPL• Any restrictions to use by non-academics: no licence neededThe author(s) declare that they have no competing interests.AC developed the software tool and tested it, created the website and drafted the manuscript. AD oversaw the project, recognized the validity of the approach, and edited the paper. SH participated in the definition of the requirements of the software, tested the software tool and helped to draft the manuscript. All authors read and approved the final manuscript.The ZIP archive contains the stand-alone version of the "GlycanBuilder" structure editor. To install the tool, extract the content of the ZIP archive in a folder of your choice. To run the tool, double click on the file GlycanBuilder.jar. The tool has been tested under Windows, Linux and Mac OS X. In order to run the GlycanBuilder tool, the Java Runtime Environment (JRE) version 5.0 must be installed on the computer.Click here for file