Predi-XY: a python program for automated generation of NICS-XY-scans based on an additivity scheme

Polycyclic aromatic systems are prevalent in chemistry and materials science because their thermodynamic stability, planarity, and tunable electronic properties make them uniquely suited for various uses. These properties are closely linked to the aromaticity of the systems. Therefore, characterizing the aromatic behavior is useful for designing new functional compounds and understanding their reactivity. NICS-XY-scans are a popular and simple tool for investigating the aromatic trends in polycyclic systems. Herein we present Predi-XY: an automated system for generating NICS-XY-scans for polycyclic aromatic systems using an additivity scheme. The program provides the predicted scans at a fraction of the computational cost of a full quantum mechanical calculation and enables rapid comparison of various polycyclic aromatic systems.


Introduction
Aromaticity and its counterpart, anti-aromaticity, are important fundamental concepts in chemistry. They are commonly associated with the stability [1,2] and reactivity of a diverse family of organic compounds, as well as with selectivity in pericyclic reactions [3,4]. Due to their prevalence and importance, many different methods have been developed to identify and quantify the aromaticity of conjugated ring systems [5][6][7][8]. Yet, while the aromaticity of monocyclic systems can be characterized by various techniques, polycyclic aromatic systems (PASs) remain challenging. Not only are they computationally more expensive to calculate at reliable levels of theory, they also exhibit more complex aromatic behavior [9,10]. For example, a single conjugated system made up of several fused rings may be aromatic in one part and anti-aromatic in another. Though this may not be surprising for molecules such as the [N]phenylenes, which contain both aromatic and anti-aromatic moieties [11], we have also recently reported on similar behavior in an all-benzenoid molecule [12]. Beyond the fundamental interest into their electronic structure, accurate characterization of the aromatic behavior of PASs also has practical significance. Due to their stable low band-gaps, tunability, and structural features, PASs have long been the workhorses of organic electronics [13][14][15][16]. In recent years, specific classes of PASs, such as indacenes [17,18] and indenofluorenes [19,20], have shown great promise in optical and electronic devices. Furthermore, as the aromaticity is tightly linked to the electronic behavior of these compounds [21], it serves as a useful metric for rational design of new molecules [17,[22][23][24]. Thus, a simple, rapid, and accurate method for characterization of the aromaticity of PAS scaffolds is highly desirable.
Owing to its ease-of-use and quantitative nature, the nucleus independent chemical shift (NICS) [25,26] method is one of the most popular methods for evaluating aromaticity [7,27]. NICS is a computational technique based on the ring-current model [28,29]. According to this model, when an external magnetic field is applied to a cyclically-conjugated system, ring currents are generated in the π-orbital system. These ring currents lead to the generation of an induced magnetic field, which can be assessed by placing a probe atom at any location desired by the user. Conventionally, this probe is placed above the center of the ring under investigation. For polycyclic compounds, such a description offers only a partial description and often neglects important characteristics. Thus, several years ago, the NICS-XY-scan method was introduced [30]. This method is specifically aimed at treating PASs and it allows the identification of local, semi-global, and global ring currents within polycyclic structures. Recently, a comprehensive investigation of several systems demonstrated the relationship between NICS-XY-scans and current density maps, and provided guidelines for safe interpretation of NICS-XY-scans [31]. Other methods exist for visualization of the NICS values of a PAS [32,33]. However, to the best of our knowledge, the NICS-XY-scan is one of the most reliable NICS-based methods for evaluation of aromaticity in PASs because it can be used with the NICS πZZ metric [27]. As NICS is implemented in many popular quantum chemical computational programs, it is very user-friendly and accessible. Moreover, Aroma [30,[34][35][36], a free utility written in Python, automates generation of input files for calculating NICS-XY-scans with the Gaussian suite of programs [37], as well as collection of the relevant data from the output files.
Recently, work from our group demonstrated that the NICS-XY-scans of unbranched cata-condensed PASs can be predicted with an additivity scheme. Following the proof of principle on poly-benzenoid compounds [38], we demonstrated the generality of the method on PASs containing also 7 types of heterocyclic moieties [39]. The additivity scheme provides new insight into the concept of aromaticity. From a practical perspective, it also makes it possible to obtain these characterizations with the most refined version of NICS, the NICS πZZ metric, at a fraction of the computational cost and time because the largest subunit that needs to be calculated at an expensive high-level calculation is a tricyclic building block. Moreover, it provides access to molecules that are prohibitively expensive to calculate at this level of theory.
Having established the generality of the additivity scheme, we now introduce Predi-XY, a freely available Python [40] program for automated prediction of NICS-XY-scans for unbranched cata-condensed PASs, based on the scheme. Predi-XY has been designed for non-experts, with a focus on user-friendliness and streamlining, both in application and in customization. It can handle a wide range of PASs, and aims to serve computational and experimental chemists who wish to characterize the aromatic nature of such systems. Predi-XY's current library enables it to generate NICS-XY-scans for countless compounds containing benzene, pyridine, pyrazine, pyrrole, furan, thiophene, 1,4-diborinine, and 1,4-dihydro-diborinine (figure 1). We plan to continue to expand the library in the course of our group's work, and note that users can send us requests for new building blocks. We are also working on a platform to allow users to submit building block data to a global library that all users could actively update.
We envision that by incorporating the contributions of new building blocks from various users, Predi-XY will expand its capabilities and usefulness for the community. Instructions for installing, running, customizing the program are detailed in the accompanying documentation. The code for Predi-XY can be installed with pip or downloaded directly from our group's GitLab repository: https://gitlab.com/porannegroup/predixy/-/ releases. This report is structured as follows: (a) short overview of the additivity scheme; (b) description of Predi-XY, including its library and customization options; (c) sample outputs and details on performance.

The additivity scheme
Because the additivity scheme is relatively new, a short description of the method is warranted. The notion of additivity can be phrased simply as 'the whole is equal to the sum of its parts'. In the language of chemistry, this translates to 'the molecular property is a sum of the properties of the subunits contained in the molecule'. Many chemical properties are additive; molecular weight and thermochemical properties are some well-known examples [41].
In our perception, any additivity scheme requires two components: the building blocks and the combination rules. The building blocks are the smaller units with which we can construct the larger system we are The identified components: monocyclic subunits (green, bottom row), bicyclic subunits (pink, middle row), tricyclic subunits (blue and light blue, top row). Image reproduced from reference [39]. (c) Scheme of the superimposed components of the studied pentacyclic system. (d) Plot of the respective superimposed NICS-XY-scans of the components, color coded as is (c). The black line is the explicitly calculated NICS-XY-scan of the studied system. The red line is the predicted NICS-XY-scan obtained from the summation of the components in the additivity scheme. NICS data was calculated with the B3LYP/6-311+G(d) combination. Image reproduced from reference [39]. interested in. The combination rules determine how we calculate the contribution of each building block to the final value of the whole system. Our additivity scheme decomposes any unbranched cata-condensed PASs into three types of building blocks: monocyclic, bicyclic, and tricyclic. Note that all possible bicyclic and tricyclic subunits are identified, thus the bicyclic and tricyclic subunits overlap, as seen in figure 2. The full system is then constructed as a series of monocyclic building blocks, connected 'head-to-tail', superimposed with the respectively overlapping bicyclic and tricyclic building blocks. Figure 2 demonstrates this on a sample pentacyclic molecule.
Having identified the building blocks comprising the molecule of interest, we now turn to calculating the additivity-predicted value-namely, the NICS-XY-scan of the pentacyclic system. Simple summation of all NICS-XY-scans of the building blocks would results in 'double-' and 'triple-counting' of the same effects. Thus, we have defined bicyclic correction (BC) and tricyclic correction (TC) terms. In brief, these correction terms account only for the difference between the building block and what would be expected from additivity (for more details, please see references [38,39]). Therefore, when the NICS-XY-scans for the monocyclic units (green) are summed up with the superimposed BCs (pink) and TCs (blue) NICS-XY-scans, the resulting predicted scan is gratifyingly close to the result obtained with an explicit calculation (figure 2).
At this point, it is relevant to mention that NICS-XY-scans can be obtained with various NICS metrics [7,27,42]. All of the values in our library are NICS(1.7) πZZ values, which is considered to be the most refined version of NICS. It is also the most computationally expensive metric. This means that the predicted scans generated by Predi-XY are at the highest accuracy of NICS-based aromaticity evaluation, at a fraction of the cost. For sufficiently large systems (#cycles > 10), calculating an explicit NICS-XY-scan at this level of theory can be prohibitively expensive, or even infeasible. If the relevant building blocks are included in its library, Predi-XY can provide NICS-XY-scans for these systems within fractions of a second. If not, the time required to calculate the building blocks (the largest of which is a tricyclic system) is still a fraction of the time required to calculate the full system (further details are provided below, in the section on examples and usage statistics).

The library and nomenclature of Predi-XY
In order to perform the additivity scheme, a library of building blocks is required. The current library contains over 100 building blocks, which can be used to predict NICS-XY-scans of countless PASs. The NICS-XY-scan data for all building blocks have been calculated at the B3LYP/6-311+G(d) level of theory, using Gaussian 09. [37] All reported values are NICS(1.7) πZZ , i.e. calculated at a height of 1.7 Å above the molecular plane, using only the contribution of the π electrons to the ZZ component of the chemical shift tensor. This separation was achieved using the natural chemical shielding [43] procedure within NBO 6 [44].
The library is contained in a .csv file, which allows it to be easily and rapidly read, and also to be modified by the user in a simple way. To facilitate the automation, we devised a shorthand nomenclature for naming the types of cycles and building blocks.
(a) Individual cycles are designated with a short notation. For example, benzene = bn, furan = fur, pyrrole = pyl, etc. The names of all monocyclic building blocks currently included in the library are specified in figure 1. (b) For five-membered heterocycles, which can appear in two different orientations, we distinguish between cases by adding 'a' or 'b' to their name. Figure 3(a) demonstrates these two cases, as well as the kind of structural motifs to which they are relevant. New building blocks can be appended to the library file using the same notation conventions. The order of building blocks in the library file is not important. However, the naming of the molecule must be consistent with the direction of the path used for obtaining the data. Figure 3(c) demonstrates the correct (and incorrect) way to name a building block. In this case, the two depicted tricyclic building blocks are chemically identical, but their NICS-XY-scans will be mirror images, due to the opposite directions of the scan through them. To ensure correct usage, the data must be entered into the library in accordance with the correct notation.

The Workflow of Predi-XY
The workflow of the Predi-XY program is described schematically in figure 4.
As described in the previous section, there are two main components to the additivity scheme: the building blocks and the combination rules. Accordingly, applying the scheme to any molecule has two main steps: identification of the building blocks in the correct order and summation of the superimposed contributions. In writing Predi-XY, we aimed to streamline the process such that it would require minimal input from the user and provide the output in the clearest way. In other words, the user should simply input the molecule they are interested in, using a simple format, and receive a plotted predicted NICS-XY-scan. The user should not have to prepare any specialized input files for Predi-XY, which would add both inconvenience and the potential for mistakes. The user also should not have to interact with the program at each step to instruct it or provide additional input. To achieve this, some additional steps are required. Thus, Predi-XY has five main modules.
Module 1: reading the input. Aside from the library, the only input Predi-XY requires are the Cartesian coordinates of the atoms in the system in Ångstrom. The program accepts two formats that are easily generated and commonly used: .xyz or .in (a Gaussian input file format; note that Cartesian coordinates are required, not Z-matrix format). These coordinates may be obtained from an optimization calculation. Alternatively, one can draw the molecule with a program such as Chem3D (PerkinElmer ChemOffice) or Gaussview and save Cartesian coordinates. If this route is chosen, the structure should be cleaned up to ensure chemically valid angles. If using Chem3D, we recommend running a quick MM2 energy minimization to obtain a good structure. The program runs on Windows, macOS, and Linux operating systems. In all of these systems, the program is launched through the command line by calling it and providing the path to the input file. Once the coordinates have been input, Predi-XY rotates the molecule, to ensure it is lying in the XY plane.
Module 2: parsing the molecule. Predi-XY generates a connectivity table from the Cartesian coordinates, using the covalent radii of the atoms [45] and a covalency factor of 1.3 (this value can be modified by the user, vide infra). This means that if the distance between two atoms is smaller than the 1.3 × (sum of their covalent radii) they are considered to be bonded.
Using the connectivity data and NetworkX, [46] a Python package for the creation and manipulation of the structures of complex networks, Predi-XY generates an undirected graph, in which each atom is represented by a vertex and each bond is represented by an edge. From this graph representation, the individual cycles, which are referred to as 'knots', are identified. By listing the atoms comprising each ring, Predi-XY can identify the type of ring (e.g. CCCCCC = bn; CCCOC = fur) from a list of preconfigured ring types, which can be modified by the user.
Module 3: identification of NICS-XY-path. Predi-XY generates a new graph consisting of the knots. Using NetworkX, all pathways through this graph from one end of the molecule to the other, are identified. If the input structure is a branched system, the program will identify more than one possible pathway and exit with an error message. In the future, we plan to implement the ability to deal with branched molecules. At this time, the additivity scheme has not yet been demonstrated for such cases.
Module 4: identification of building blocks and generation of NICS-XY-scan data. This module deals with the construction of the data for the final predicted NICS-XY-scan through a sequence of steps: (a) Predi-XY goes through the pathway and identifies the sequence of bicyclic and tricyclic building blocks contained in the structure. (b) Predi-XY verifies that each identified building block exists in the database. If a building block is missing, the program will issue an error message specifying which building block it lacks and will then exit. (c) The program verifies whether the direction of the building block is the same as in the database. For example, the database may contain the tricyclic building block bn-bn-pyl, but the structure will have the building block pyl-bn-bn. In this case, Predi-XY will recognize that the direction of reading the building block is reversed and will mirror the NICS-XY-scan data after the fitting process (vide infra), so that it fits with the direction the building block appears in the molecule. (d) For tricyclic building blocks, Predi-XY checks whether they are linearly or angularly annulated (e.g. anthracene or phenanthrene, respectively, see above). This is done by identifying the value of the angle θ, which is the angle created by three adjacent knots in the knot graph. We have set the threshold such that if θ > 150 • , the tricycle is identified as linear.  (e) The length of the predicted NICS-XY-scan is measured from the starting to ending point, based on the inputted geometry. Note that if a distorted geometry is used, the predicted scan will match this geometry. Therefore, we strongly recommend using optimized geometries. (f) The data for the respective building blocks is extracted from the database and fitted with a cubic spline interpolation (vide infra). The fitted data is stored in a new array that is padded such that the data corresponds to the location of the building block along the pathway. The length of each subunit is mapped to its actual length in the inputted geometry. (g) The BCs and TCs are calculated by subtracting the monocyclic values from the bicyclic values (for the BC) and the sum of monocyclic and BCs from the tricyclic values (for the TCs), as described in the section above and in references [38,39]. All of the fitted and padded lists for the building blocks are placed in a pandas [47,48] DataFrame according to their respective location along the pathway. To clarify what this means, we demonstrate this procedure in figure 5. Starting from the left-hand side, the first ring is a benzene. The program will identify it and extract the data for bn from the database. The second ring is also benzene, thus the first bicycle will be identified as bn-bn. The third ring is thiophene. Accordingly, the second bicycle will be identified as bn-thi (rings #2 and #3) and the first tricycle will be identified as bn-bn-thi, and so forth. Since the second bicyclic building block overlaps rings #2 and #3, it will have 0's for all distance points before ring #2 and after ring #3. Similarly, the second tricycle will have 0's for all rings before ring #2. (h) A row-sum is calculated to obtain the sum of all building blocks contributions at each distance point along the scan. The values are saved into a new column in the dataframe. These form the predicted NICS-XYscan for the full system. (i) Because the resulting plot can appear 'choppy' (see reference [38] for further details), by default Predi-XY applies the Savitzky-Golay filter to the final predicted NICS-XY-scan data to smooth the plot. The smoothed data is then added in a new column in the dataframe. The user can toggle off this setting to plot the untreated data. An example is provided in the following section.
As mentioned above, a fitting process is employed by this module, which was not included in the original manual application of the additivity scheme procedure. The advantages of adding the fitting step are twofold. The first advantage relates to the issue of matching lengths. One of the difficulties we encountered when applying the scheme that the size of a molecule in isolated (e.g. benzene) could be different from its size when part of a fused system (e.g. anthracene). For example, consider that the length of the NICS-XY-scan of anthracene would not be equal to 3 times the length of the NICS-XY-scan of benzene. This would lead to problems in constructing the additivity-generated scan. When the scans were constructed manually, in such cases, we would judiciously remove extra points, taking care to retain the symmetry of the scan. However, to make matters worse, the changes could be inconsistent-longer in some structures, shorter in others. Clearly, this posed not only an inconvenience, but also made it difficult to automate the process. Using the fitting function, we map the length of each subunit to its actual length according to the inputted geometry. Thus, these difficulties are circumvented and the data matches up and creates a smoother predicted scan, without sacrificing accuracy. The second advantage pertains to the user's ability to extend Predi-XY. The data contained in Predi-XY's library was obtained with 0.1 Å interval scans, which are quite dense. By adding the fitting step, we ensure that the user can add new data that is obtained with scans with other interval spacing of the NICS probes. Of course, this is only valid as long as the spacing is not so sparse that meaningful interpolation becomes impossible.
Module 5: plotting and output. By default, Predi-XY provides two files as output: (a) an image file and (b) a text file.
(a) The image file contains two panels. In the top panel, a picture of the molecule appears, with the trajectory of the scan-path, including its direction. The bottom panel displays the predicted scan itself. Placing these two panels together is of utmost importance, as the interpretation of the NICS-XY-scan depends on the direction. The type of image file can be selected by the user (see customizable user options below) (b) The .log file is a text file that details all of the information used to generate the plot. Namely, this file lists the atoms in each cycle, the building blocks identified in the molecule, and the dataframe of all contributions. This allows the user to verify that Predi-XY correctly identified the subunits in the system, in case there is any doubt. It also enables the user to plot any portion of the data in any program of their choosing (e.g. Excel, Origin). The .log file will also specify whether Predi-XY terminated normally and will detail the time required for each module in the program, as well as the total time for the computation.
A minimal print option is also available, which offers a .log file that contains only the distance points (x axis) and final predicted NICS-XY-scan (y axis). If smoothing is applied, the smoothed data will be printed. This is useful for iterating over and plotting multiple files with any shell system.
Additionally, Predi-XY offers a third type of output, an .arm file. This is an input file for the Aroma program and is intended to allow the user to perform an explicit calculation of the molecule, in the event they are interested in comparing a calculated NICS-XY-scan with the predicted one. Manually generating .arm files is not entirely painless. One needs to provide lists of the atoms within each ring, and the program is sensitive not only to the order of atoms but also to the order of rings. Any error will lead to program failure. Since Predi-XY performs this structural analysis automatically as part of its process, we have added the option to print this data out in Aroma-syntax in order to assist users in generating input files.
An important note should be made regarding planarity constraints on the inputted geometries. Predi-XY does not require the molecule to be planar and the program's connectivity and ring-finding algorithms will work for non-planar systems, as well. Thus, the generated .arm file will be correct. However, one should keep in mind that the building blocks were calculated for planar geometries. Therefore, the predicted NICS-XY-scan will describe a (hypothetical) planar system composed of these building blocks. The more the real system is distorted from planarity, the more it deviates from this model system, and this can result in less accurate predicted scans. Based on our group's experience (though not benchmarked rigorously), distortions of up to ∼20 • do not affect the aromaticity significantly; qualitative and semi-quantitative analyses can still be performed using the NICS-XY-scan of the planarized model. Indeed, in the past we have deliberately planarized molecules in order to more cleanly analyze the aromatic character [11]. For such cases, the result provided by Predi-XY will be an appropriate description for the planar system, without having to generate and calculate the model.

Customizable user options
Several features of Predi-XY can be customized through toggling or modifying the respective control in the config.ini file: (h) Whether to print a verbose or a minimal .log file. (i) Whether or not to print to stdout.

Examples and performance details
To demonstrate the usability of Predi-XY, we prepared two sets of test compounds, each consisting of 7 molecules containing from 4 to 10 cycles. The first test set (compounds 4a-10a, figure 6 left) are all polycyclic aromatic hydrocarbons (PAHs) consisting only of benzene monocyclic building blocks. This set allows us to compare the performance of Predi-XY on systems of various sizes made up of the same 3-4 building blocks. The second test set (compounds 4b-10b, figure 6 right) are PASs containing different monocyclic building blocks. This set allows to us investigate the effects of molecular complexity on the performance of Predi-XY.
The results of a Predi-XY calculation using default settings are shown in figure 7(a), for the example of compound 10b. In figure 7(b) the same calculation is shown, omitting the smoothing process. As can be seen, the output file contains a scheme of the analyzed molecule with an overlaid red arrow indicating the direction of the pathway used in the prediction. Underneath the scheme is the predicted NICS-XY-scan. We add a horizontal line at y = 0 to make it easier to identify negative and positive areas of the scan. The limits of the vertical axis can be changed in the config.ini file.
To study the efficiency of the code and how it can impact users' resources, we performed a comparison of the time required to obtain NICS-XY-scans in three ways. For all of the molecules in the test set, we: (a) Calculated an explicit NICS-XY-scan with the NICS(1.7) πZZ metric at the B3LYP/6-311+G(d) level of theory, using Gaussian [37] and NBO 6 [43,44]. (b) Calculated the NICS-XY-scans of all the necessary building blocks using the same computational parameters as in (a) (i.e. functional/basis set, number of processors, and memory). (c) Generated predicted NICS-XY-scans using Predi-XY.
We tabulated the CPU time required for each explicit scan (T exp ), the sum of time required for calculating all building blocks in a given system (T BB ), and the time required for generating the predicted scans (T pred ).  Let us analyze the factors influencing each of these times. T exp increases with the size of the system, i.e. a six-cycle system will be computed faster than a nine-cycle system. On the other hand, T exp does not generally depend on the molecular complexity of the system-compounds 8a and 8b required comparable times, despite 8b appearing to be much more structurally diverse from a chemical perspective. Conversely, T BB depends entirely on the molecular complexity. Because the largest building block is a tricycle, an individual building block calculation is not expensive or long, but having a large number of building blocks leads to an overall large T BB . For these reasons, it is clear that the largest T exp /T BB ratio is expected to be for a large system with a small number of building blocks. Indeed, 9a is exactly such a case (#Cycles = 9, #BBs = 3, T exp /T BB ≈ 65). In general, the PAH series (4a-10a) show that the ratio T exp /T BB increases with the increase in molecular size. This is because the number of building blocks remains either 3 or 4, while the molecular size continuously increases.
For the PAS series (4b-10b), a similar trend appears, but it is less dramatic, because there are many more building blocks (from 7 to 17) for a similar set of molecular sizes. Nevertheless, we observe that the ability to predict the NICS-XY-scan from building blocks enables cheaper computation, by approximately an order of magnitude.
Using Predi-XY, on the other hand, affords a dramatic shortening of time. As can be seen from table 1, the ratio T exp /T pred is extremely high in all cases-5 orders of magnitude-demonstrating the efficiency of the automated method versus an explicit calculation. The average time of the Predi-XY calculations for the 14 test molecules was 0.11 s, with a standard deviation of 0.03 s, as calculated on a laptop running Windows 10 64 bit, equipped with an Intel core i7-7600U processor. Comparable timings were achieved on Linux and macOS systems tested in our group. With the plotting option turned on, the average time increased to 0.96 s with a standard deviation of 0.06 s.
The much more significant savings come from the existence of a library. Once the building blocks have been calculated and entered into the library, they never have to be calculated again. For example, this means that all 7 compounds 4a-10a can be calculated with the same 4 building blocks, which only needed to be calculated once. Moreover, countless other PAH isomers, in addition to the 7 shown here, can be calculated with the same library for no additional computational cost. This would be true even without the automated generation of NICS-XYscans by Predi-XY. However, even with the building blocks in hand, the process of manually piecing together the individual contributions of the predicted NICS-XY-scan can be time-consuming and prone to error. Using Predi-XY avoids both the time and potential error, and the savings of time become very significant when screening a large number of molecules. Overall, the program makes the process of generating NICS-XY-scans easy, fast, and user-friendly.
Furthermore, for users interested in a large number of systems, we note that the very short time for a Predi-XY calculation (on the order of a single second) can be cut down by another 1-2 orders of magnitude if no plotting is requested (for users requiring only text-based results).
To show the accuracy of the predicted results, we present in figure 8 the superposition of the explicitly calculated NICS-XY-scans (in black) and the scans generated by Predi-XY (in red) for all molecules in the collection of test molecules. The agreement is more than satisfactory, especially in light of the dramatically reduced effort in obtaining the predicted scan. In all cases, the trends are reproduced by the predicted scans. Most deviations are on the order of ∼1-2 ppm and the largest ones are ∼5 ppm, which does not impede interpretation of the scan.

Conclusions
In this report, we have introduced Predi-XY, a new Python-based program for automated generation of predicted NICS-XY-scans of polycyclic aromatic systems using an underlying additivity scheme. Predi-XY can be used on Windows, macOS, and Linux machines, or other Python-enabled environments through command line prompts. This user-friendly program, which is freely available from our group's GitLab repository, allows users to rapidly obtain the NICS-XY-scans of countless systems. NICS-XY-scans are useful and popular tools for analyzing the aromatic behavior of molecules. They have been used to understand the reactivity and to better design new functional materials [23,24]. With Predi-XY, the computational cost for generating NICS-XY-scans is reduced by orders of magnitude, to mere seconds. This allows quick comparison of different systems and even circumvention of quantum mechanical calculations. We believe this tool will be useful to synthetic and computational chemists aiming to investigate the electronic structure of polycyclic aromatic systems.
The current library of Predi-XY contains more than 100 building blocks, which can be used to generate NICS-XY-Scans for a vast number of PASs containing various structural motifs. We envision that this library will continue to grow as our group generates additional data in the course of our research. We also encourage users to augment the library with new building blocks.