Processing in silico chemical compounds

A method using metal oxidation state and ligand formal charge calculations addresses high error incidence in in silico chemical compound processing, improving database quality and reducing computational inefficiencies in material discovery.

WO2026041889A1PCT designated stage Publication Date: 2026-02-26TOTALENERGIES ONETECH +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2024/000468
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-23
Publication Date
2026-02-26

AI Technical Summary

Technical Problem

Existing methods for processing in silico chemical compounds, particularly in the context of material discovery for MOFs, suffer from high error incidence due to flawed structure processing, leading to substantial inefficiencies and uncertainty in computational materials discovery efforts.

Method used

A computer-implemented method that utilizes metal oxidation state and ligand formal charge calculations to accurately process experimental crystal structures, incorporating algorithms for solvent removal and error analysis to generate 'computation-ready' files, reducing structural errors and improving database quality.

Benefits of technology

The method significantly reduces structural errors in computational processing, enhancing the robustness of material databases and reducing wasted computational effort by accurately preparing 'computation-ready' structures for molecular simulations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2024000468_26022026_PF_FP_ABST
    Figure IB2024000468_26022026_PF_FP_ABST
Patent Text Reader

Abstract

The disclosure notably relates to a computer-implemented method for processing in silica chemical compounds, the method comprising: for each connected molecule and each non-coordinating molecule, assigning to each atom a respective formal charge and computing the sum of the respective formal charge assigned to each respective atom. The method also comprises determining an output from the input, including: removing each non- coordinating molecule having a respective total charge equal to zero; and removing at least one connected molecule having a respective total charge of zero and having one and only one bond with a metal atom.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] PROCESSING IN SILICO CHEMICAL COMPOUNDS

[0002] TECHNICAL FIELD

[0003] The disclosure relates to the field of computer programs and systems, and more specifically to a method, system and program for processing in silico chemical compounds.

[0004] BACKGROUND

[0005] Material discovery efforts increasingly shift towards computational domains to accommodate the massive libraries of known compounds available. Material discovery requires massive chemical structures databases to perform atomistic simulations and machine learning studies aimed at identifying top-performing materials and synthesizing new ones.

[0006] Generally, structures are extracted from crystallographic information contained in large experimental repositories, but this requires conversion to a “computation-ready” form to remove unsuitable components (i.e. solvent molecules, crystallographic disorder, etc.).

[0007] Previous works introduce significant error incidence (>50% of all structures affected). These errors result in substantial uncertainty in any resulting use of these “computation-ready” structures, which presents massive inefficiencies in previous materials discovery efforts such as the search for MOF adsorbents for carbon capture applications.

[0008] The development of databases containing porous structures, such as metal-organic frameworks (MOFs), are the most influenced by abovedescribed flawed structure processing issues.

[0009] CoRE MOF Database serves as the most widely studied “computationready” database of MOF crystal structures derived largely from experimental crystallographic information. Solvent removal is achieved by analyzing the experimental structure graph and removing all components not belonging to the main MOF framework or any charge-balancing ions. This method relies heavily on the accuracy of the experimental structural data deposited by the original depositing author, including the labeling of charge-balancing ions. If the original authors do not properly label these species, or their experimental characterization fails to model all necessary atoms in the crystallographic information file (CIF), the CoRE solvent removal method eliminates crucial components from the structure’s framework. Additionally, the structure validation and database processing methods are unequipped to identify these errors and thus fail to recognize the extremely high rates of charged frameworks and other error incidence in their databases.

[0010] QMOF Database represents a modern “computation-ready” MOF database containing processed experimental crystal structures. Rather than attempting to solve the extensive issues introduced in the experimental characterization and the processing required to generate “computation-ready” structures, QMOF opts for implementing a restrictive approach that eliminates any structure likely to contain errors. For example, rather than process structures, the approach simply removes any structures found to contain possible crystallographic disorder, counter-balancing ions, missing atoms, and so on. Additionally, a conservative solvent removal method is selected which only partially activates the structures (i.e. removing only unbound solvent) to circumvent some of the errors introduced in past efforts such as CoRE MOF database. While these methods are effective in limiting structural errors in QMOF, they do not directly tackle the underlying problems in structure processing, and its strict nature restricts the prospective structure pool significantly.

[0011] CSD MOF Subset / Col lection comprises important MOF structural datasets which were prepared by the leading repository of experimental crystal structures, the Cambridge Structural Database (CSD). The CSD MOF Subset is a continually updated list of all MOF structures contained in the CSD, identified by the authors through specific chemical substructure definitions. While this database is not advertised as “computation-ready”, the authors have included a script to remove solvent molecules so that users may themselves render the structures “computation-ready”. Much like CoRE MOF database, this solvent removal algorithm was designed using a simple rules-based approach which employed solvent lists and connectivity properties to identify and remove solvent molecules. This method introduces numerous errors as it fails to consider how indiscriminate removal affects the overall charge-balance and validity of the resulting structures. Contrary to the subset, the CSD MOF Collection was advertised as a “computation-ready” database of porous MOF structures. This collection employs identical solvent removal scripts and sought to add additional structure repair steps — such as missing atom detection / repair — to improve structure accuracy. Ultimately, these attempts fail to eliminate the errors intrinsic to the previous solvent removal and database curation methods, resulting in high error incidence (> 50% of all structures).

[0012] Within this context, there is still a need for an improved solution to process in silico chemical compounds.

[0013] SUMMARY

[0014] It is therefore provided a computer-implemented method for processing in silico chemical compounds.

[0015] The method comprises:

[0016] - obtaining an input representing a set of atoms constituting a set of molecules and bonds each between a respective pair of atoms, the set of molecules including a chemical compound having a crystal structure and including metal atoms and non-metal atoms, one or more connected molecules and one or more non-coordinating molecules, the one or more connected molecules each being a respective group of one or more atoms, and each having a respective bond with at least one metal atom of the chemical compound, the one or more non-coordinating molecules each being a respective group of one or more atoms having no bond with either of the chemical compound and the connected molecules;

[0017] - for each connected molecule and each non-coordinating molecule:

[0018] ■ assigning to each atom a respective formal charge;

[0019] ■ computing the sum of the respective formal charge assigned to each respective atom, thereby obtaining a respective total charge for each connected molecule and a respective total charge for each non-coordinating molecule;

[0020] - determining an output from the input, including: ■ removing each non-coordinating molecule having a respective total charge equal to zero; and

[0021] ■ removing at least one connected molecule having a respective total charge of zero and having one and only one bond with a metal atom.

[0022] The computer-implemented method may optionally comprise any one or more of the following features.

[0023] Optionally, the determining of the output includes obtaining a list of molecule types comprising one or more solvents, one or more gases, and / or one or more byproducts, and removing each connected molecule of a type of the list which has a charge of 0 and having one and only one bond with a metal atom.

[0024] Optionally, the one or more solvents comprise one or more nonpolar solvents, one or more polar protic solvents, and / or one or more polar aprotic solvents, the one or more gases comprise one or more monoatomic gases, one or more diatomic gases, one or more triatomic gases, and / or one or more polyatomic gases, and / or the one or more byproducts comprise one or more inorganic byproducts, and / or one or more organic byproducts.

[0025] Optionally, the non-metal atoms of the chemical compound comprise terminal oxygen atoms, and the determining of the output further includes removing terminal oxygen atoms each having at least one bond with only one metal atom.

[0026] Optionally, a terminal oxygen atom which has at least one bond with only one metal atom is removed only if the metal atom does not belong to the following group of metals: Tungsten (W), Uranium (U), Molybdenum (Mo), Vanadium (V), Neptunium (Np), Titanium (Ti), and Chromium (Cr).

[0027] Optionally, a terminal oxygen atom which has at least one bond with only one metal atom is removed only if the term “oxo” is contained in the title of the input.

[0028] Optionally, the method further comprises, for the chemical compound:

[0029] - assigning to each atom a respective formal charge; - computing the sum of the respective formal charge assigned to each respective atom, thereby obtaining a first total charge for the chemical compound;

[0030] - computing the sum of the respective total charges of each removed non-coordinating molecule, and subtracting this sum to the first total charge for the chemical compound, thereby obtaining a second total charge for the chemical compound;

[0031] - computing the oxidation state each for a respective metal atom in the chemical compound, the oxidation state being computed based on the second total charge of the chemical compound; and

[0032] - marking the output as chemically invalid if one or more of the given metal atom oxidation states meet one of the following criteria:

[0033] ■ the given oxidation state exceeds the available valence;

[0034] ■ the given oxidation state is not reported;

[0035] ■ the given oxidation state has a value of zero or is a noninteger;

[0036] ■ the given oxidation state has a low-probability to occur; or, otherwise, the method further comprises marking the chemical compound as chemically valid, and / or adding the chemical compound to a database of in silico chemical compounds.

[0037] Optionally, the input may be a Crystallographic Information File (CIF) obtained from a computational experiment and / or from an X-ray crystallography measurement.

[0038] Optionally, the chemical compound having a crystal structure may be a porous material, for example a Metal-Organic Framework (MOF), a Zeolitic Imidazolate Framework (ZIF), a zeolite, a porous coordination polymer or an organometallic compound.

[0039] Optionally, the output represents the result of a porous material activation experiment performed on the chemical compound having a crystal structure.

[0040] Optionally, the method further comprises using the output to design an in silico porous crystalline framework and / or to synthesize a porous crystalline framework. Optionally, the method further comprises using the output to perform carbon capture (i.e. the capture of gas and / or oil by porous crystalline frameworks).

[0041] It is further provided a computer program comprising instructions for performing the method.

[0042] It is further provided a computer readable storage medium having recorded thereon a computer program.

[0043] It is further provided a system comprising a processor coupled to a memory, the memory having recorded thereon the computer program.

[0044] The disclosure offers an improved solution to process in silico chemical compounds, in particular as “computation-ready” files, such as inorganic and / or organometallic chemical structures.

[0045] The disclosure aims to improve the robustness of computational processing of porous crystal structures by utilization of advanced solvent removal and / or error analysis criteria centered upon metal oxidation states and ligand formal charges. Introduction of these fundamental metrics (i.e. metal oxidation state) to the preparation of “computation-ready” crystal structures drastically reduce the incidence of structural errors which has been previously observed to pervade many material databases and produces negative effects on subsequent computation (e.g., atomistic simulation, machine learning).

[0046] The disclosure relates to a method of accurately processing (or performing solvent removal) on experimental crystal structures which have been characterized with solvent molecules within their pores. The method may be used for generating structures at various degrees of activation for molecular simulations of applications relying on material surface area. The method may be used for automating the preparation of structural databases comprising porous, activated “computation-ready” structures from experimental crystallographic information.

[0047] The method incorporates in examples metal oxidation state and ligand charge calculations into algorithms aimed at processing (solvent removal) experimental crystallographic information. This feature reduces the number of structural errors introduced to crystal structure databases during structure processing and database curation. This methodology lowers wasted computational effort and research time / effort caused by improper protocols employed by previous computational databases. The disclosure thus provides a reliable and automated method of identifying and discarding problematic crystal structures from existing and future databases.

[0048] In examples, the method may be used for processing experimental crystallographic information into a “computation-ready” form, thereby allowing for the construction of higher quality material databases. A chemistry-minded approach employing the concepts of metal oxidation state and ligand formal charges may be utilized to eliminate errors introduced by prior structural databases. The disclosure relates in examples to two novel algorithms established to improve (i) Solvent Removal — components in experimental crystallographic files may be parsed to calculate ligand charges, and this information may be used to perform accurate solvent removal, and (ii) Error Analysis — structural errors may be detected using metal oxidation states, thereby allowing to discard potentially problematic structures during database preparation.

[0049] BRIEF DESCRIPTION OF THE DRAWINGS

[0050] Non-limiting examples will now be described in reference to the accompanying drawings, where:

[0051] - FIG. 1 shows a flowchart of an example of the method;

[0052] - FIG. 2 shows a flow chart of an example of the method including the removing of connected molecules according to some embodiments.

[0053] - FIG. 3 shows a flow chart of an example of marking the output.

[0054] - FIG. 4 illustrates the method.

[0055] - FIG. 5 shows an example of the system.

[0056] DETAILED DESCRIPTION

[0057] The invention will now be described in more detail without limitation in the following description.

[0058] Referring to FIG. 1 , the method comprises obtaining S100, e.g. at a computer system, an input representing a set of atoms and bonds each between a respective pair of atoms. The set of atoms constitutes a set of molecules. The set of molecules includes: (1 ) a chemical compound having a crystal structure, the chemical compound including metal atoms and non-metal atoms; (2) connected molecules; and (3) non-coordinating molecules. The connected molecules each are a respective group of one or more atoms, and each connected molecule has a respective bond with at least one metal atom of the chemical compound. The non-coordinating molecules each are a respective group of one or more atoms, wherein none of the one or more atoms of the group has a bond with either the chemical compound or any one of the connected molecules. The obtaining S100 is performed in any manner by the computer system, for example by retrieving the input (i.e. data) on local memory (e.g. by accessing a remote database), remote memory (e.g. cloud), or by receiving the input from a remote system.

[0059] The method further comprises, for each connected molecule and each non-coordinating molecule, obtaining S200 a respective total charge for each connected molecule, and a respective total charge for each non-coordinating molecule. The obtaining S200 comprises: for each connected molecule and each non-coordinating molecule, assigning S210 to each atom a respective formal charge and computing S220 the sum of the respective formal charge assigned to each respective atom.

[0060] The method further comprises, determining S300 an output from the input. The determining S300 includes: removing S310 each non-coordinating molecule that has a respective total charge which is equal to zero; and removing S320 at least one connected molecule that has a respective total charge which is equal to zero and that has one and one and only one bond with a metal atom, in other words strictly less than two bonds with a single metal atom (i.e., for each respective connected molecule of at least one removed connected molecule, there is one, and only one, metal atom with which the respective connected molecule has at least one bond, and the number of bonds is one). The determining thus includes generating the output, i.e. a data structure (e.g., a data file), wherein the output includes the (initial) set of atoms of the input, minus some specific elements (i.e., the elements removed at S310 and S320, in other words discarded from the input at such steps). In other words, the method creates data that identifies such subset of the input as such (i.e., as a specific subset).

[0061] By determining S300 an output from the input based on the specific removals S310 and S320, the method cleans the input in a relevant manner, by discarding molecules which are not relevant to the chemical compound. The method thereby generates an output that is a “computation-ready” file. By “computation-ready file”, it is meant a processed file which matches the experimental materials’ structure as best as possible when necessary.

[0062] The removals S310 and S320 may be computed sequentially as depicted in FIG. 1 , or alternatively they may be computed simultaneously / in parallel.

[0063] Referring to FIG. 1 , the obtaining S100 of the input may be carried out through different manners. For example, the input may be obtained at S100 from an X-ray crystallography measurement. The input may also be obtained at S100 from an in silico experiment.

[0064] The input obtained may be a file. The file may contain information regarding the chemical compound having a crystal structure, the one or more connected molecules, and the one or more non-coordinating molecules and their atomic coordinates and element types. For example, the file may be a Crystallographic Information File (CIF).

[0065] The CIF (Crystallographic Information File) may be a standard text file format containing crystallographic information about a crystal structure of a chemical compound, one or more connected molecules and one or more noncoordinating molecules.

[0066] The CIF may comprise the following information: data header providing information comprising the conditions of the experiment, the equipment used for the measurement, quality indicators (e.g. resolution limits, refinement), the chemical formula, the name of the molecules of the input; and / or crystallographic information including: space group information, from which the Bravais lattice and crystal class can be deduced; unit cell parameters, for example, the dimensions and angles of the unit cell, the number of molecules in the unit cell (Z number) and the atom types and atomic coordinates of each atom in the unit cell; symmetry information comprising details about the symmetry operations applied to generate equivalent positions of atoms in the crystal lattice.

[0067] The CIF may contain atomic coordinates and element types. In other words, the CIF may contain coordinates (e.g. x,y,z coordinates relative to a spatial reference frame) for each atom of the set of atoms represented by the input. The atomic coordinates specify the positions of atoms within the unit cell of a crystal structure. These coordinates x, y and z may be provided in fractional coordinates relative to the unit cell dimensions, which means they are given as fractions of the unit cell lengths along the crystallographic axes (a, b, and c). Alternately, the coordinates in the CIF may be provided in cartesian coordinates. In addition, the CIF contains for each atom, an element type. The element type may comprise information referring to the chemical compound that is present in the crystal structure. The element types may be specified using standard chemical element symbols from the periodic table (e.g., H for hydrogen, C for carbon, O for oxygen). The element types may comprise an atom label that is an identifier for each atom, combining the element symbol with a number (e.g., C1 for the first carbon atom, 01 for the first oxygen atom).

[0068] The CIF may be obtained from a chemical compound having a crystal structure, one or more connected molecules and one or more non-coordinating molecules. For example, the structural representation of such molecules may be encoded in the CIF by an X-ray crystallography measurement. The method may comprise such X-ray crystallography measurement and / or in silico experiment, or alternatively retrieve a CIF resulting therefrom.

[0069] The CIF may be obtained from a chemical compound that is amorphous or has disordered structures. For example, the structural representation of such chemical compound may be encoded in the CIF by an NMR crystallography measurement.

[0070] The CIF may be obtained from an in silico experiment. The CIF may be obtained from a computationally constructed set of molecules. The computationally constructed set of molecules may be generated by a user through the use of a molecule editor program. The computationally constructed set of molecules may be generated by an Artificial Intelligence model. The CIF may be obtained from a database, for example the Cambridge Structural Database (CSD), the Inorganic Crystal Structure Database (ICSD), the Materials Project database and the NIST Crystal Data.

[0071] The input may be of any format representing a set of atoms constituting a set of molecules having tridimensional spatial coordinates.

[0072] The input may comprise bond information between atoms.

[0073] The input represents a set of atoms that constitutes a set of molecules, and bonds each between a respective pair of atoms. The set of molecules includes a chemical compound, one or more connected molecules and one or more non-coordinating molecules. The chemical compound has a crystal structure and includes metal atoms and non-metal atoms. By “metal atoms” it is meant atoms belonging to the groups of alkali metals (group 1 ), alkali earth metals (group 2), transition metals (groups 3 to 12), post-transition metals (groups 13 to 16), lanthanides and actinides.

[0074] The chemical compound may be an inorganic compound.

[0075] The chemical compound may be repeated units of one or more inorganic compounds. The one or more inorganic compounds may be identical or different.

[0076] The chemical compound may be an organometallic compound.

[0077] The chemical compound may be repeated units of one or more organometallic compounds. The one or more organometallic compounds may be identical or different.

[0078] The chemical compound may be a porous material, for example a metalorganic framework (MOF), Zeolitic Imidazolate Framework (ZIF), a zeolite, a porous coordination polymer or an organometallic compound. MOFs as intended in the present disclosure, may comprise two main components: inorganic metal clusters and organic molecules. The organic molecules may be mono-, di-, tri-, or tetravalent ligands. MOFs as intended in the present disclosure, may comprise a porous extended structure. An extended structure is a structure whose sub-units occur in a constant ratio and are arranged in a repeating pattern. MOFs are a subclass of coordination networks, which is a coordination compound extending, through repeating coordination entities, in one dimension, but with cross-links between two or more individual chains, loops, or spiro-links, or a coordination compound extending through repeating coordination entities in two or three dimensions.

[0079] The connected molecules each are a respective group of one or more atoms having a respective bond with at least one metal atom of the chemical compound. The connected molecules may comprise one or more ligands and one or more linkers.

[0080] At least one (e.g., each) connected molecule may be a ligand, the ligand may be an ion or a molecule which bonds (connects) to a single (central) metal atom. The ligand may have one or more bonds with a metal atom. The input may comprise one or a plurality of ligands. For example, ligand molecules include but are not limited to ammonia, trialkylamine (e.g. triethylamine), ethylene diamine, trialkylphosphine (e.g. triphenylphosphine), trialkylphosphine oxides (e.g. triphenylphosphine oxide), pyridine, 1 ,10- phenanthroline, indole, fluoride, chloride, bromide, iodide, formate, acetate, oxalate, trifluoromethylsulfonate, alkylphosphonates (e.g. methylphosphonate), and alkoxides (e.g. methoxide).

[0081] At least one (e.g., each) connected molecule may be a linker. The linker may be an ion or a molecule which bonds (connects) to two or more metal atoms. The linker may have one or more bonds with the one or more metal atoms. The input may comprise one or a plurality of linkers. For example, linker molecules include but are not limited to oxalate, pyrazolate, imidazolate, triazolate, tetrazolate, fumarate, isophthalate, squarate, 1 ,4- benzenedicarboxylate, 1 ,3,5-benzenetricarboxylate, 1 ,2,4,5- benzenetetracarboxylate, 2,5-dioxido-1 ,4-benzenedicarboxylate, 2,6- napthalenedicarboxylate, 1 ,2,4,5-tetrakis(4-carboxyphenyl)-benzene, 1 ,4- di(pyrazol-4-yl)benzene, 1 ,3,5-benzenetristetrazolate, bipyridine, 1 ,4-diazine,

[0082] 2-bis(4-pyridyl)ethylene, 1 ,3-bis(4-pyridyl) propane, isonicotinate, nitrile, phosphate, and sulfate.

[0083] The non-coordinating molecules each are a respective group of one or more atoms having no bond with either of the chemical compound and the connected molecules. The input may comprise one or a plurality of noncoordinating molecules. For example, non-coordinating molecule include but are not limited to alkanes (e.g. pentane, hexane), perfluorinated alkanes (e.g., perfluoropentane, perfluorohexane), benzene, xylene, carbon tetrachloride, trichloromethane, dichloromethane, carboxylic acids (e.g. formic acid, acetic acid), perchlorate, tetrafluoroborate, ammonium, alkylammonium (e.g. trietylammonium), phosphonium, and alkylphosphonium (e.g., triphenylphosphonium). The method may use an algorithm for finding noncoordinating molecules. The algorithm used for this purpose may, for example, label the molecules far and / or not connected to the largest / heaviest molecule in the input (e.g. the chemical compound). The method may use one or more algorithms to define the non-coordinating molecules in the input.

[0084] Referring to FIG. 1 , at S210, for each connected molecule and each noncoordinating molecule, the method assigns a respective formal charge to each atom. The formal charge is the charge an atom in a compound would have if all bonds were fully covalent and all bonding elections shared equally across bonds. The method may assign the formal charges to each atom of each connected molecule and each non-coordinating molecule according to one or more computer implemented-methods known by the skilled person. One example of such a method computes a bond count through summation of the order of the bond types (e.g. single bond representing an order of 1 , double bond representing an order of 2, triple bond representing an order of 3, and a quadruple bond representing an order of 4) connecting each atom with its neighbors within a given molecule. A formal charge at each atom of the connected molecule or non-connected molecule is computed by summation of its respective valence electron (i.e. those in the outermost energy levels) count, the negative of its lone pair (i.e. those not involved in bonding) electron count, and the negative its bond count.

[0085] Referring to FIG. 1 , at S220, for each connected molecule and each noncoordinating molecule, the method computes the sum of the respective formal charge to each respective atom. The total charge of a given molecule is the sum of the formal charges of each atom in the given molecule. The total charge of a given molecule may be negative, positive or null. The total charge of a given molecule may be an integer or a non-integer. Thus, the method computes two distinct total charges at S220: a connected molecule total charge and a non-coordinating molecule total charge. For example, the input may comprise n connected molecules. Accordingly, the method may compute n connected molecule total charges. For example, the input may comprise n non-coordinating molecules. Accordingly, the method may compute n noncoordinating total charges.

[0086] Referring to FIG. 1 , the method comprises the determining S300 of an output from the input. The determining includes generating the output, the output including the set of atoms of the input but the removed elements. For example, the algorithm may create a copy of the input, remove the desired molecules and return the copy of the input but the removed elements as the output.

[0087] Referring to FIG. 1 , the determining S300 comprises removing S310 each non-coordinating molecule having a respective total charge equal to zero. The removing S310 may be called “first removing”. For example, the first removing advantageously removes the solvents from the input. Optionally, the method may further remove non-coordinating molecules having a respective total charge other than zero. The user may tune the algorithm of the method to select the non-coordinating molecules to remove. Optionally, the user may choose to and / or the method may remove all non-coordinating molecules, regardless their total charges. For example, anionic molecules including but not limited to chloride, bromide, tetrafluoroborate, perchlorate, nitrate, hexafluorophosphate, and trifluoroacetate, as well as cationic molecules including but not limited to ammonium, tetrabutylammonium, tetraphenylphosphonium, and metal ions such as sodium or calcium_may be removed.

[0088] Referring to FIG. 1 , the determining S300 comprises removing S320 at least one connected molecule having a respective total charge of zero and having one and only one bond with a metal atom, in other words strictly less than two bonds with a single metal atom. In other words, at S320, the method removes the connected molecules that are ligands. The removing S320 may be called “second removing”. The method may exclude removing any connected molecule having a charge other than 0.

[0089] The method may comprise warning the user whenever some connected molecules are removed. For example, the method may warn the user by printing a message on the user’s terminal. This may be the case for a potentially strongly-bonding ligand, for example, pi-backbonding ligands or pi- stacking ligands. The method may also comprise warning the user when a connected molecule displaying at least twenty atoms is removed.

[0090] Referring to FIG. 2, optionally, the removing S320 (or second removing) may further comprise obtaining S322 a list of molecule types comprising one or more solvents, one or more gases, and / or one or more byproducts, and / or mixtures thereof. And, the removing S320 may further comprise removing S324 each connected molecule of a type of the list which has a charge of 0 and one and only one bond with a metal atom (i.e., the molecule is connected to only one metal atom, and the connection comprises only one bond). The chemical compound comprises non-metal atoms. The non-metal atoms of the chemical compound may comprise terminal oxygen atoms. Optionally, the determining S300 of the output from the input may further comprise removing S330 terminal oxygen atoms each having a respective total charge of zero and having one, and only one bond with a metal atom.

[0091] Optionally, referring to FIG. 2 and at the obtaining S322, the one or more solvents may comprise one or more nonpolar solvents, one or more polar protic solvents, and / or one or more polar aprotic solvents, the one or more gases may comprise one or more monoatomic gases, one or more diatomic gases, one or more triatomic gases, and / or one or more polyatomic gases, and / or the one or more byproducts may comprise one or more inorganic byproducts, and / or one or more organic byproducts, and / or mixtures thereof.

[0092] By “polar”, it is meant a molecule that has a dipole moment equal to or higher than 1 .5 D at 25°C, and preferably equal to or higher than 3 D, or 4 D, or 4.5 D, or 5 D at 25°C. The dipole moment can be measured by using a dipole meter and by interpretation of the results using the Debye Huckel equation.

[0093] By “nonpolar” or “apolar”, it is meant a molecule that has a dipole moment equal to or inferior than 2 D, or 1 .5 D, or 1 D or 0.5 D at 25 °C. The dipole moment can be measured by using a dipole meter and by interpretation of the results using the Debye Huckel equation. By “aprotic”, it is meant a molecule which does not contain any acidic hydrogen and thus does not act as a hydrogen bond donor. In particular, the aprotic molecule is free of -OH, -NH, -SH, and -PH groups.

[0094] By “protic”, it is meant a molecule which contains an acidic hydrogen and thus acts as a hydrogen bond donor.

[0095] Herein, it is understood that the following list of solvents and gases are based on chemicals being at a room temperature of 24 °C and under 1 atm so as to avoid redundancies in said lists.

[0096] The nonpolar solvents may include but are not limited to: cyclic, linear and branched alkanes in C5-C50 ; cyclic, linear and branched alkenes in Cs- C50; cyclic, linear and branched alkynes in C5-C50; halogenated or perhalogenated alkanes; aromatics and substituted aromatics; cyclic, linear and branched ethers. For example, hexane, heptane, octane, cyclopentane, cyclohexane, benzene, toluene, xylene, ethylbenzene, carbon tetrachloride, chloroform, dichloromethane, diethyl ether or tetrahydrofuran.

[0097] The polar protic solvents may include but are not limited to: cyclic, linear and branched alcohols in C1-C50, carboxylic acid in C1-C15 or water. For example, methanol, ethanol, n-propanol, / -propanol, n-butanol, / -butanol, acetic acid or formic acid.

[0098] The polar aprotic solvents may include but are not limited to: acetonitrile, dialkylacetamide (e.g. dimethylformamide), dialkylformamide (e.g. dimethylformamide), dimethyl sulfoxide, ethyl acetate, pyridine, tetra hydrofuran, nitromethane, N-methyl-2-pyrrolidone, sulfolane or hexamethylphosphoramide.

[0099] The monoatomic gases may include but are not limited to the noble gases group (helium, neon, argon, krypton, xenon and radon).

[0100] The diatomic gases may include but are not limited to hydrogen, nitrogen, oxygen, fluorine, chlorine, carbon monoxide, and nitric oxide.

[0101] The triatomic gases may include but are not limited to carbon dioxide, sulfur dioxide, ozone, hydrogen sulfide, nitrous oxide and carbon disulfide.

[0102] The polyatomic gases may include chemicals having more than three atoms and being gaseous at 24 °C and at 1 atm. The polyatomic gases may include but are not limited to primary, secondary, and tertiary amines, sulfur trioxide, nitrogen tetroxide, phosphine, ammonia, alkanes in Ci- C4 alkenes in C1-C4 and alkynes in C1-C4.

[0103] By “byproducts”, it is meant inorganic and / or organic chemicals not fitting criteria of the above-mentioned lists. In the present disclosure, “byproducts” may be chemicals being counterions, leftovers from steps of synthesis and other commonly known contaminants. For example, when the chemical compound having a crystal structure may be a porous material (MOF or ZIF or a polymer), the byproducts may be any side products obtainable during the synthesis of said compounds.

[0104] The inorganic byproducts may include but are not limited to halides, for example, F’, Cl’, Br, k; pseudohalides, for example, cyanide, thioisocyanate, isocyanate, azide; oxo anions, for example, hydroxide (OH-), oxide (O2-), peroxide (O22-), nitrate (NO3“), nitrite (NO2“), sulfate (SO42-), sulfite (SO32-), thiosulfate (S2O32-), phosphate (PO43-), carbonate (CO32-), bicarbonate (HCO3-).

[0105] The organic ligands may include but are not limited to primary, secondary or tertiary amines, organophosphines, for example, triphenylphosphine, trimethylphosphine, tricyclohexylphosphine; bidentate organic ligands, for example, 1 ,2-Bis(diphenylphosphino)ethane (dppe), 1 ,1 '-

[0106] Bis(diphenylphosphino)ferrocene (dppf), 2,2'-Bipyridine (bipy), 1 ,10- Phenanthroline (phen); polydentate organic ligands, for example, ethylenediaminetetraacetic acid (EDTA), triethylenetetramine (trien), diethylenetriaminepentaacetic acid (DTPA), N,N'-bis(2- hydroxyethyl)ethylenediamine-N,N'-diacetic acid (HEDTA), 1 ,4,7,10- Tetraazacyclododecane (cyclen), 1 ,4,8,11 -Tetraazacyclotetradecane (cyclam), porphyrins, salicylaldimine, N,N'-Ethylenebis(salicylideneiminato) (salen) ; aromatic and heterocyclic ligands, for example, cyclopentadienyl anion (Cp“), methylcyclopentadienyl, imidazole, pyrazole; and organosulfurs, for example, thiodiglycol, thiobenzoate or diethyldithiocarbamate.

[0107] Optionally, referring to FIG. 2, the removing S324 may allow to retain the listed molecules (gases, solvents, byproducts) obtained at S322 in the output. Thus, the method for processing the in silico chemical compounds may be customizable according to the will of the user wishing to specifically remove some connected molecules having a charge of 0 (ligands) or not.

[0108] Thus, the obtaining S322 and the removing S324 may allow to have a modular determining S300. For example and optionally, the output may represent the result of a porous material activation experiment performed on the chemical compound having a crystal structure. An activation experiment is a core step in the preparation of porous material involving the removing of undesired chemicals (usually solvents and e.g. in the present disclosure: gases, solvents and byproducts) from said porous material. The activation refers to the process of enhancing the porous materials surface area and reactivity through chemical, physical, or thermal means. The activation experiment may comprise the following steps:

[0109] - 1 ) solvent exchange: the initial solvent molecules used during the synthesis of the porous material are often replaced with a less strongly bound solvent, usually one with a lower boiling point. This step helps in facilitating the subsequent removal of solvents;

[0110] - 2) drying / desolvation through various methods such as: thermal activation: heating the MOF under vacuum or in an inert gas stream to evaporate the solvent without decomposing the porous material structure; supercritical CO2drying: using supercritical CO2to remove solvents, which minimizes capillary forces that could collapse the pores; freeze drying (lyophilization): freezing the solvent-filled porous material and then sublimating the solvent under reduced pressure to leave behind an activated, solvent-free framework; and

[0111] - 3) vacuum activation: applying a vacuum to the porous material at elevated temperatures helps in removing any residual solvent molecules from the pores, further enhancing the porosity and surface area.

[0112] According to the conditions used during the activation experiment, a given porous material may be activated at various levels. Indeed, the porous may be highly activated after harsh activation conditions or less activated with milder activation conditions. The highest level of activation is the total absence of solvents and / or gases and / or byproducts inclusive of all connected and non- coordinating molecules. Molecules having low boiling points (e.g. gases and some solvents) and weak binding may be removed under milder conditions, these chemicals may correspond to the non-coordinating molecules. Chemicals having strong binding with the chemical compound having crystal structure and / or high boiling points may correspond to the connected molecules.

[0113] The main issue of the activation experiment is the collapsing of the pores of the porous material, thus, leading to its destruction.

[0114] The method may specifically mimic steps 2) and 3) of a real-world activation experiment. The method provides a “computation-ready” file which is an in silico equivalent of an activated porous material.

[0115] Optionally, the method may generate, for a given chemical compound having a crystal structure, a plurality of outputs each having different connected molecules being removed or not. In other words, the method may generate, for a given chemical compound, a plurality of outputs, each output may be the chemical compound under different state of activation.

[0116] All or part of the connected molecules may remain after the activation process.

[0117] Referring to FIG. 2, the determining S300 of the output from the input may optionally further comprise removing S330 terminal oxygen atoms each having at least one bond with only one metal atom, in other words terminal oxygen atoms each connected to one and only one respective metal atom wherein the connection comprises one or more (e.g. two) bonds. The removing S330 may also be called “third removing”. By “terminal oxygen atom” it is meant an oxygen atom binding to only one metal atom and that may only bind to a maximum of two hydrogen atoms. The terminal oxygen metal atom may be: O2’, OH’, OH2 bound to a metal as: M-O2’, M-OH’, M-OH2. The terminal oxygen metal atom may correspond to H2O molecules with one or two missing protons which were not located by the X-ray crystallography measurement.

[0118] Optionally, the removing S330 does not remove all such terminal oxygen atoms, but requires one or more specific conditions for such a terminal oxygen atom to be removed at S330. For example, a terminal oxygen atom which has at least one bond with only one metal atom may be removed only if the metal atom does not belong to the following group of metals: Tungsten (W), Uranium (U), Molybdenum (Mo), Vanadium (V), Neptunium (Np), Titanium (Ti), and Chromium (Cr). This feature may allow the method to spare the metal hydroxides (M-OH). In other words, if the metal atom with which the terminal oxygen has at least one bond belongs to said group of metals, the terminal oxygen is never removed.

[0119] Additionally or alternatively, as a second necessary condition for the removing S330, a terminal oxygen atom which has at least one bond with only one metal atom may be removed only if the input contains the term “oxo” in its title. The term “oxo” may be found in the header of the CIF file. The term “oxo” may be found in database metadata where the input have been sourced.

[0120] The removing S330 of terminal oxygen atoms each having at least one bond with only one metal atom may be performed under one or both the first and second necessary conditions. Optionally, one or both the first and second necessary conditions may further be sufficient conditions. In other words, the removing S330 of terminal oxygen atoms having at least one bond with only one metal atom may remove all such terminal oxygen atoms (and only those) also fulfilling the first necessary condition, all such terminal oxygen atoms (and only those) also fulfilling the second necessary condition, or all such terminal oxygen atoms (and only those) also fulfilling both the first and second necessary conditions.

[0121] Referring to FIG. 3, the method comprises determining S300 an output from the input. The method may further comprise assigning S400 a respective formal charge to each atom of the chemical compound. The method may further comprise computing S500 the sum of the respective formal charge(s) assigned to each respective atom. Thereby, the method may provide a first total charge for the chemical compound. As explained above, some noncoordinating molecules having a charge other than 0 may have been removed. The method may further comprise computing S600 the sum of the respective total charges of each removed non-coordinating molecule, and subtracting this sum to the first total charge for the chemical compound. Thereby, the method may provide a second total charge for the chemical compound. The method may further comprise computing S700 the oxidation state each for a respective metal atom in the chemical compound. The oxidation state each for a respective metal atom may be computed based on the second total charge of the chemical compound. The method may further comprise marking S800 the output. The method may mark (i.e. by specific computer data) the output (chemical compound having a crystal structure) as chemically invalid. A chemical compound may be chemically invalid if one or more of the assigned metal atom oxidation states meet one of the following criteria: the given oxidation state exceeds the available valence; the given oxidation state is not reported; the given oxidation state has a value of zero or is a non-integer; the given oxidation state has a low-probability to occur (inferior to 1 %). Otherwise, the method may mark the chemical compound as chemically valid. Optionally, the method may add the chemically valid chemical compound to a database of in silico chemical compounds.

[0122] Referring to FIG. 3, the assigning S400 may be done concomitantly with the assigning S210.

[0123] Referring to FIG. 3 at S600, the second total charge for the chemical compound obtained may be:

[0124] - equal to the first total charge for the chemical compound if no noncoordinating molecule having a charge other than 0 has been removed; or

[0125] - different from the first total charge for the chemical compound if one or more non-coordinating molecules having a charge other than 0 have been removed.

[0126] The oxidation state, also known as oxidation number, is a measure of the degree of oxidation of an atom in a chemical compound. It is the charge that an atom in a chemical compound would have if all bonds were fully ionic or dative.

[0127] Referring to FIG. 3 at S700, the computing of the oxidation state each for a respective metal atom in the chemical compound may comprise: the equal division (distribution) of the second total charge for the chemical compound to each metal atom; the computing of the oxidation state for each respective metal atom being based on the distributed charge. For each metal atom in the chemical compound, the summation process applied to calculate its oxidation is carried out identically with the sole adjustment being the addition of this extra oxidation state contribution related to the second total charge (i.e. the second total charge divided by the number of metal atoms in the chemical compound).

[0128] The computing S700 of the metal oxidation state each for a respective metal atom may allow the method to detect structure errors. In particular, it may serve to detect structure errors implied by the removing S310, S320 or S330. The computing S700 may allow to determine oxidation state contribution at each non-coordinating molecule and each connected molecule.

[0129] Referring to FIG. 3 at S800, by “chemically invalid”, it is meant that such chemical compound may comprise one or more structure errors related to metal atom oxidation states.

[0130] In other words, the computing S700 may assign an oxidation state to each respective metal atom in a chemical compound having a crystal structure to detect structure errors. The common chemical structure errors may comprise:

[0131] - missing atoms and / or molecules,

[0132] - extra atoms and / or molecules,

[0133] - overlapping atoms and / or molecules

[0134] - unreasonable bond lengths,

[0135] - unreasonable bond angles, and

[0136] - incompatible atom combinations.

[0137] Referring to FIG. 3, at S800, by “marking”, it is meant that the method may display to the user the chemical validity and / or invalidity of the chemical compound.

[0138] The method may further comprise using the output to design an in silico porous crystalline framework and / or to synthesize a porous crystalline framework. For example, when iterated to n inputs, the method may provide a database. The number of outputs in the database may vary, for example, according to the marking S800. The database may comprise n minus x outputs, x being the number of chemically invalid outputs. The database may comprise outputs being porous crystalline frameworks (e.g. MOF, ZIF, zeolite) as “computation-ready” structures. The skilled person may use the database of chemically valid and “computation-ready” porous crystalline frameworks as a work base for in silico experiments such as molecular modeling and / or docking. For example, the in silico experiments may comprise a study of interactions between one or more chemically valid and “computation-ready” porous crystalline frameworks and:

[0139] - in silico molecules being gaseous in real-world under standard conditions, for example: greenhouse gases such as carbon monoxide, carbon dioxide, water vapor, methane, ethane, nitrous oxide, hydrofluorocarbons, perfluorocarbons or nitrogen trifluoride, and other atmospheric gases such as hydrogen, nitrogen, oxygen, argon, xenon, or krypton;

[0140] - In silico molecules being liquid in real-world under standard conditions, for example: chemicals found in gasoline, kerosene, naphtha or bitumen.

[0141] According to the in silico experiment results, the skilled person may select one or more porous crystalline frameworks. The skilled person may use the selected one or more porous crystalline frameworks as a work base to further generate new in silico porous crystalline frameworks.

[0142] Said new in silico porous crystalline frameworks may be used in in silico experiments and / or may be synthesized in real world. The synthesized porous crystalline frameworks (the one or more outputs) may be used in real world experiments, for example, it may be used to study the capture of hydrocarbons and / or gas (CO2, CO, methane).

[0143] The method may further comprise using the output to perform carbon capture (i.e. the capture of gas and / or oil by porous crystalline frameworks).

[0144] FIG. 4 illustrates the removal of solvents according to preferred embodiments of the method comprising the followings steps of: 1 ) the algorithm identifies the connected molecules and the non-coordinating molecules, 2) the algorithm assigns for each molecule a respective total charge (S200), 3) the algorithm runs the removing S310 and 4) the removing S320.

[0145] The method is computer-implemented. This means that steps (or substantially all the steps) of the method are executed by at least one computer, or any system alike. Thus, steps of the method are performed by the computer, possibly fully automatically, or, semi-automatically. In examples, the triggering of at least some of the steps of the method may be performed through user-computer interaction. The level of user-computer interaction required may depend on the level of automatism foreseen and put in balance with the need to implement user’s wishes. In examples, this level may be user- defined and / or pre-defined.

[0146] A typical example of computer-implementation of a method is to perform the method with a system adapted for this purpose. The system may comprise a processor coupled to a memory e.g. and a graphical user interface (GUI), the memory having recorded thereon a computer program comprising instructions for performing the method. The memory may also store a database. The memory is any hardware adapted for such storage, possibly comprising several physical distinct parts (e.g. one for the program, and possibly one for the database). FIG. 5 shows an example of the system, wherein the system is a client computer system, e.g. a workstation of a user.

[0147] The client computer of the example comprises a central processing unit (CPU) 1010 connected to an internal communication BUS 1000, a random access memory (RAM) 1070 also connected to the BUS. The client computer is further provided with a graphical processing unit (GPU) 1110 which is associated with a video random access memory 1100 connected to the BUS. Video RAM 1100 is also known in the art as frame buffer. A mass storage device controller 1020 manages accesses to a mass memory device, such as hard drive 1030. Mass memory devices suitable for tangibly embodying computer program instructions and data include all forms of nonvolatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks. Any of the foregoing may be supplemented by, or incorporated in, specially designed ASICs (application-specific integrated circuits). A network adapter 1050 manages accesses to a network 1060. The client computer may also include a haptic device 1090 such as cursor control device, a keyboard or the like. A cursor control device is used in the client computer to permit the user to selectively position a cursor at any desired location on display 1080. In addition, the cursor control device allows the user to select various commands, and input control signals. The cursor control device includes a number of signal generation devices for input control signals to system. Typically, a cursor control device may be a mouse, the button of the mouse being used to generate the signals. Alternatively or additionally, the client computer system may comprise a sensitive pad, and / or a sensitive screen.

[0148] The computer program may comprise instructions executable by a computer, the instructions comprising means for causing the above system to perform the method. The program may be recordable on any data storage medium, including the memory of the system. The program may for example be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The program may be implemented as an apparatus, for example a product tangibly embodied in a machine-readable storage device for execution by a programmable processor. Method steps may be performed by a programmable processor executing a program of instructions to perform functions of the method by operating on input data and generating output. The processor may thus be programmable and coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. The application program may be implemented in a high- level procedural or object-oriented programming language, or in assembly or machine language if desired. In any case, the language may be a compiled or interpreted language. The program may be a full installation program or an update program. Application of the program on the system results in any case in instructions for performing the method. The computer program may alternatively be stored and executed on a server of a cloud computing environment, the server being in communication across a network with one or more clients. In such a case a processing unit executes the instructions comprised by the program, thereby causing the method to be performed on the cloud computing environment.

[0149] In an example, the method may be implemented in line with the following pseudocode. Algorithm 1 (to implement S100 to S300 of FIG. 1 )

[0150] 1 : Read atomic positions from CIF

[0151] 2: Identify metals, coordinated molecules, and non-coordinating molecules

[0152] 3: for each identified coordinated molecule and non-coordinating molecule do

[0153] 4: for each atom in molecule do

[0154] 5: Calculate formal charges

[0155] 6: Calculate total charge through summation of atomic formal charges

[0156] 7: Calculate a first total charge for the chemical compound

[0157] 8: for each non-coordinating molecule do

[0158] 9: Remove atoms from atomic position data

[0159] 10: if molecule total charge is nonzero then

[0160] 11 : Update / calculate a second total charge for the chemical compound framework charge label

[0161] 12: if full activation is requested then

[0162] 13: for each connected molecule do

[0163] 14: if connected molecule matches solvent criteria (monodentate, neutral, etc.) then

[0164] 15: Remove atoms from atomic position data

[0165] 16: Output solvent removal information and flags

[0166] 17: Generate solvent-removed CIF file from updated atomic position data

[0167] Algorithm 2 (to implement the removing S310 of FIG. 1 ).

[0168] 1 : Set NCM (non-coordinating molecules) as an empty list

[0169] 2: Set CR (Charge Removed) to 0

[0170] 3: Identify non-coordinating molecules in the input

[0171] 4: for each non-coordinating molecule do

[0172] 5: Calculate molecule charge (Z atomic formal charges)

[0173] 6: Add molecule charge to CR

[0174] 7: Append free molecule to NCM

[0175] 8: Set PI (processed input) as a copy of the input 9: for each atom in input do 10: if atom is in NCM then

[0176] 11 : Remove atom from PI

[0177] 12: return PI

[0178] Algorithm 3 (to implement the removing S320 of FIG. 1 )

[0179] 1 : Set NBM (neutral bound molecules or connected molecules having a charge of 0) and BS (bound solvents) as empty lists

[0180] 2: for each molecule do

[0181] 3: Calculate molecule charge (Z atomic formal charges)

[0182] 4: if molecule charge equals 0 then

[0183] 5: Append molecule to NBM

[0184] 6: for each neutral molecule in NBM do

[0185] 7: Determine number of bonds to metal atoms from bonds in crystal structure

[0186] 8: if number of bonds to metal atoms < 2 do

[0187] 9: Append neutral molecule to BS

[0188] 10: Adjust BS list according to chemistry / materials-specific criteria

[0189] 11 : Set PI (processed input) as a copy of the input

[0190] 12: for each atom in input do

[0191] 13: if atom is in BS then

[0192] 14: remove atom from PI

[0193] 15: return PI

[0194] Once the formal charge is calculated for each connected molecule and each non-coordinating molecule, the method may run the algorithms 1 and 2 sequentially or simultaneously.

[0195] Algorithm 4 (to implement the removing S322 and the removing S330 of FIG. 2)

[0196] 1 : Set EL (Exception List) as a list of metals excepted from O2’ removal

[0197] 2: Set ABS (Additional Bound Solvent) as an empty list

[0198] 3: Search input bonding graph for terminal O atoms

[0199] 4: for each terminal O atom do 5: Check identity (atom label) of neighboring atom from bonding information

[0200] 6: if neighboring atom is a metal & not found in EL then

[0201] 7: Append terminal O atom to ABS 8: return ABS

Claims

CLAIMS1. A computer-implemented method for processing in silico chemical compounds, the method comprising:- obtaining an input representing a set of atoms constituting a set of molecules and bonds each between a respective pair of atoms, the set of molecules including a chemical compound having a crystal structure and including metal atoms and non-metal atoms, one or more connected molecules and one or more non-coordinating molecules, the one or more connected molecules each being a respective group of one or more atoms, and each having a respective bond with at least one metal atom of the chemical compound, the one or more non-coordinating molecules each being a respective group of one or more atoms having no bond with either of the chemical compound and the connected molecules;- for each connected molecule and each non-coordinating molecule:■ assigning to each atom a respective formal charge;■ computing the sum of the respective formal charge assigned to each respective atom, thereby obtaining a respective total charge for each connected molecule and a respective total charge for each non-coordinating molecule;- determining an output from the input, including:■ removing each non-coordinating molecule having a respective total charge equal to zero; and■ removing at least one connected molecule having a respective total charge of zero and having one and only one bond with a metal atom.

2. The method of claim 1 , wherein the determining of the output includes obtaining a list of molecule types comprising one or more solvents, one or more gases, and / or one or more byproducts, and removing eachconnected molecule of a type of the list which has a charge of 0 and having one and only one bond with a metal atom.

3. The method of any of claims 1 or 2, wherein the one or more solvents comprise one or more nonpolar solvents, one or more polar protic solvents, and / or one or more polar aprotic solvents, the one or more gases comprise one or more monoatomic gases, one or more diatomic gases, one or more triatomic gases, and / or one or more polyatomic gases, and / or the one or more byproducts comprise one or more inorganic byproducts, and / or one or more organic byproducts.

4. The method of any of claims 1 to 3, wherein the non-metal atoms of the chemical compound comprise terminal oxygen atoms, and the determining of the output further includes removing terminal oxygen atoms each having at least one bond with only one metal atom.

5. The method of claim 4, wherein a terminal oxygen atom which has at least one bond with only one metal atom is removed only if the metal atom does not belong to the following group of metals: Tungsten (W), Uranium (U), Molybdenum (Mo), Vanadium (V), Neptunium (Np), Titanium (Ti), and Chromium (Cr).

6. The method of claim 4 or 5, wherein a terminal oxygen atom which has at least one bond with only one metal atom is removed only if the term “oxo” is contained in the title of the input.

7. The method of any of claims 1 to 6, wherein the method further comprises, for the chemical compound:- assigning to each atom a respective formal charge;- computing the sum of the respective formal charge assigned to each respective atom, thereby obtaining a first total charge for the chemical compound;- computing the sum of the respective total charges of each removed non-coordinating molecule, and subtracting this sum to the first totalcharge for the chemical compound, thereby obtaining a second total charge for the chemical compound;- computing the oxidation state each for a respective metal atom in the chemical compound, the oxidation state being computed based on the second total charge of the chemical compound; and- marking the output as chemically invalid if one or more of the given metal atom oxidation states meet one of the following criteria:■ the given oxidation state exceeds the available valence;■ the given oxidation state is not reported;■ the given oxidation state has a value of zero or is a noninteger;■ the given oxidation state has a low-probability to occur; or, otherwise, the method further comprises marking the chemical compound as chemically valid, and / or adding the chemical compound to a database of in silico chemical compounds.

8. The method of any of claims 1 to 7, wherein the input is a Crystallographic Information File (CIF) obtained from a computational experiment and / or from an X-ray crystallography measurement.

9. The method of any of claims 1 to 8, wherein the chemical compound having a crystal structure is a porous material, for example a Metal- Organic Framework (MOF), a Zeolitic Imidazolate Framework (ZIF), a zeolite, a porous coordination polymer or an organometallic compound.

10. The method according to any of claims 1 to 9, wherein the output represents the result of a porous material activation experiment performed on the chemical compound having a crystal structure.

11. The method of any of claims 1 to 10, wherein the method further comprises using the output to design an in silico porous crystalline framework and / or to synthesize a porous crystalline framework.

12. The method of any of claims 1 to 11 , wherein the method further comprises using the output to perform carbon capture.

13. A computer program comprising instructions for performing the method of any of claims 1 to 12.

14. A computer readable storage medium having recorded thereon a computer program of claim 13.

15. A system comprising a processor coupled to a memory, the memory having recorded thereon the computer program of claim 13.