Skip to content

Releases: lipelopesoliveira/pyCOFBuilder

v0.0.8

08 Mar 16:48
eece008
Compare
Choose a tag to compare

This version introduces the implementation of automatic bond detection for the creation of Covalent Organic Frameworks (COFs).

  • Key Features:
    • Introduces an algorithm to automatically detect bonds between atoms in COF based on their interatomic distances and covalent radii of the atoms
    • Utilizes a threshold of 1.3 times the sum of the covalent radii to consider a bond. This parameter can be changed by the variable bond_threshold when creating the Framework object.
    • The save_bonds variable on the save method control if bonds will be saved on the file.
    • The bonding information can be save in files of the format:
      • cif
      • cjson
      • pdb
      • pqr (pdb with partial charges)

Usage example:

a = COF.Framework(
    'T3_BENZ_CHO-L2_BENZ_NH2_H-HCB_A-AA',
    save_bb=False,
    log_level='info',
    log_format='simple',
    dist_threshold=0.1,
    symm_tol=0.2,
    angle_tol=5,
    bond_threshold=1.3)

a.save(fmt='cif', supercell=[1, 1, 1], primitive=False, save_bonds=True)

This will generate the cif file below:

data_T3_BENZ_CHO_H-L2_BENZ_NH2_H_H-HCB_A-AA

_audit_creation_date     2024-08-03
_audit_creation_method   pyCOFBuilder
_audit_author_name       'Felipe Lopes de Oliveira'

_chemical_name_common                  'T3_BENZ_CHO_H-L2_BENZ_NH2_H_H-HCB_A-AA'
_cell_length_a                           22.214808
_cell_length_b                           22.214808
_cell_length_c                            3.600000
_cell_angle_alpha                        90.00
_cell_angle_beta                         90.00
_cell_angle_gamma                       120.00
_space_group_name_H-M_alt               'P 1'
_space_group_IT_number                  1

loop_
_symmetry_equiv_pos_as_xyz
   'x, y, z'

loop_
   _atom_site_label
   _atom_site_type_symbol
   _atom_site_fract_x
   _atom_site_fract_y
   _atom_site_fract_z
H1_H1_Q    H     0.837213986     0.837445546     0.500000000
H2_H2_Q    H     0.162554454     0.999768440     0.500000000
H3_H3_Q    H     0.000231560     0.162786015     0.500000000
H4_H4_R    H     0.125277029     0.092675490     0.500000000
H5_H5_R    H     0.907324511     0.032601540     0.500000000
H6_H6_R    H     0.967398461     0.874722971     0.500000000
H7_H7_Q    H     0.496119347     0.829221121     0.500000000
H8_H8_Q    H     0.170778879     0.666898227     0.500000000
H9_H9_Q    H     0.333101773     0.503880652     0.500000000
H10_H10_R    H     0.208056304     0.573991177     0.500000000
H11_H11_R    H     0.426008823     0.634065127     0.500000000
H12_H12_R    H     0.365934873     0.791943696     0.500000000
H13_H13_R    H     0.296656258     0.398328129     0.500000000
H14_H14_R    H     0.036677075     0.268338538     0.500000000
H15_H15_R    H     0.231661462     0.268338538     0.500000000
H16_H16_R    H     0.101671871     0.398328129     0.500000000
H17_H17_R    H     0.101671871     0.703343742     0.500000000
H18_H18_R    H     0.231661462     0.963322925     0.500000000
H19_H19_R    H     0.036677075     0.768338538     0.500000000
H20_H20_R    H     0.296656258     0.898328129     0.500000000
H21_H21_R    H     0.601671871     0.898328129     0.500000000
H22_H22_R    H     0.731661462     0.768338538     0.500000000
H23_H23_R    H     0.731661462     0.963322925     0.500000000
H24_H24_R    H     0.601671871     0.703343742     0.500000000
C25_C25_C1    C     0.070213203     0.051941230     0.500000000
C26_C26_C1    C     0.018271973     0.070213203     0.500000000
C27_C27_C1    C     0.948058770     0.018271973     0.500000000
C28_C28_C1    C     0.929786797     0.948058770     0.500000000
C29_C29_C1    C     0.981728027     0.929786797     0.500000000
C30_C30_C1    C     0.051941230     0.981728027     0.500000000
C31_C31_Q    C     0.857149836     0.894324530     0.500000000
C32_C32_Q    C     0.105675470     0.962825306     0.500000000
C33_C33_Q    C     0.037174695     0.142850165     0.500000000
C34_C34_C1    C     0.263120130     0.614725437     0.500000000
C35_C35_C1    C     0.315061360     0.596453463     0.500000000
C36_C36_C1    C     0.385274563     0.648394693     0.500000000
C37_C37_C1    C     0.403546536     0.718607897     0.500000000
C38_C38_C1    C     0.351605306     0.736879870     0.500000000
C39_C39_C1    C     0.281392103     0.684938640     0.500000000
C40_C40_Q    C     0.476183498     0.772342137     0.500000000
C41_C41_Q    C     0.227657863     0.703841361     0.500000000
C42_C42_Q    C     0.296158639     0.523816502     0.500000000
C43_C43_C2    C     0.239521089     0.369760544     0.500000000
C44_C44_C2    C     0.203093878     0.406187756     0.500000000
C45_C45_C2    C     0.130239456     0.369760544     0.500000000
C46_C46_C2    C     0.093812244     0.296906122     0.500000000
C47_C47_C2    C     0.130239456     0.260478911     0.500000000
C48_C48_C2    C     0.203093878     0.296906122     0.500000000
C49_C49_C2    C     0.130239456     0.760478911     0.500000000
C50_C50_C2    C     0.203093878     0.796906122     0.500000000
C51_C51_C2    C     0.239521089     0.869760544     0.500000000
C52_C52_C2    C     0.203093878     0.906187756     0.500000000
C53_C53_C2    C     0.130239456     0.869760544     0.500000000
C54_C54_C2    C     0.093812244     0.796906122     0.500000000
C55_C55_C2    C     0.630239456     0.869760544     0.500000000
C56_C56_C2    C     0.593812244     0.796906122     0.500000000
C57_C57_C2    C     0.630239456     0.760478911     0.500000000
C58_C58_C2    C     0.703093878     0.796906122     0.500000000
C59_C59_C2    C     0.739521089     0.869760544     0.500000000
C60_C60_C2    C     0.703093878     0.906187756     0.500000000
N61_N61_Q    N     0.236880141     0.473760281     0.500000000
N62_N62_Q    N     0.096453193     0.192906386     0.500000000
N63_N63_Q    N     0.236880141     0.763119859     0.500000000
N64_N64_Q    N     0.096453193     0.903546807     0.500000000
N65_N65_Q    N     0.526239719     0.763119859     0.500000000
N66_N66_Q    N     0.807093614     0.903546807     0.500000000

loop_
_geom_bond_atom_site_label_1
_geom_bond_atom_site_label_2
_geom_bond_distance
H1_Q   C31_Q  1.11046
H2_Q   C32_Q  1.11046
H3_Q   C33_Q  1.11046
H4_R   C25_C1 1.09920
H5_R   C27_C1 1.09920
H6_R   C29_C1 1.09920
H7_Q   C40_Q  1.11046
H8_Q   C41_Q  1.11046
H9_Q   C42_Q  1.11046
H10_R  C34_C1 1.09920
H11_R  C36_C1 1.09920
H12_R  C38_C1 1.09920
H13_R  C43_C2 1.09920
H14_R  C46_C2 1.09920
H15_R  C48_C2 1.09920
H16_R  C45_C2 1.09920
H17_R  C49_C2 1.09920
H18_R  C52_C2 1.09920
H19_R  C54_C2 1.09920
H20_R  C51_C2 1.09920
H21_R  C55_C2 1.09920
H22_R  C58_C2 1.09920
H23_R  C60_C2 1.09920
H24_R  C57_C2 1.09920
C25_C1 C26_C1 1.40162
C25_C1 C30_C1 1.40162
C25_C1 H4_R   1.09920
C26_C1 C33_Q  1.45000
C26_C1 C27_C1 1.40162
C26_C1 C25_C1 1.40162
C27_C1 H5_R   1.09920
C27_C1 C28_C1 1.40162
C27_C1 C26_C1 1.40162
C28_C1 C27_C1 1.40162
C28_C1 C31_Q  1.45000
C28_C1 C29_C1 1.40162
C29_C1 C28_C1 1.40162
C29_C1 C30_C1 1.40162
C29_C1 H6_R   1.09920
C30_C1 C25_C1 1.40162
C30_C1 C29_C1 1.40162
C30_C1 C32_Q  1.45000
C31_Q  N66_Q  1.22732
C31_Q  C28_C1 1.45000
C31_Q  H1_Q   1.11046
C32_Q  N64_Q  1.22732
C32_Q  C30_C1 1.45000
C32_Q  H2_Q   1.11046
C33_Q  N62_Q  1.22732
C33_Q  C26_C1 1.45000
C33_Q  H3_Q   1.11046
C34_C1 C39_C1 1.40162
C34_C1 H10_R  1.09920
C34_C1 C35_C1 1.40162
C35_C1 C34_C1 1.40162
C35_C1 C42_Q  1.45000
C35_C1 C36_C1 1.40162
C36_C1 C37_C1 1.40162
C36_C1 C35_C1 1.40162
C36_C1 H11_R  1.09920
C37_C1 C38_C1 1.40162
C37_C1 C40_Q  1.45000
C37_C1 C36_C1 1.40162
C38_C1 C39_C1 1.40162
C38_C1 H12_R  1.09920
C38_C1 C37_C1 1.40162
C39_C1 C41_Q  1.45000
C39_C1 C38_C1 1.40162
C39_C1 C34_C1 1.40162
C40_Q  N65_Q  1.22732
C40_Q  C37_C1 1.45000
C40_Q  H7_Q   1.11046
C41_Q  N63_Q  1.22732
C41_Q  C39_C1 1.45000
C41_Q  H8_Q   1.11046
C42_Q  N61_Q  1.22732
C42_Q  H9_Q   1.11046
C42_Q  C35_C1 1.45000
C43_C2 C44_C2 1.40162
C43_C2 C48_C2 1.40162
C43_C2 H13_R  1.09920
C44_C2 N61_Q  1.30000
C44_C2 C45_C2 1.40162
C44_C2 C43_C2 1.40162
C45_C2 C46_C2 1.40162
C45_C2 C44_C2 1.40162
C45_C2 H16_R  1.09920
C46_C2 C47_C2 1.40162
C46_C2 H14_R  1.09920
C46_C2 C45_C2 1.40162
C47_C2 N62_Q  1.30000
C47_C2 C46_C2 1.40162
C47_C2 C48_C2 1.40162
C48_C2 C47_C2 1.40162
C48_C2 H15_R  1.09920
C48_C2 C43_C2 1.40162
C49_C2 C54_C2 1.40162
C49_C2 H17_R  1.09920
C49_C2 C50_C2 1.40162
C50_C2 C49_C2 1.40162
C50_C2 N63_Q  1.30000
C50_C2 C51_C2 1.40162
C51_C2 C52_C2 1.40162
C51_C2 C50_C2 1.40162
C51_C2 H20_R  1.09920
C52_C2 C53_C2 1.40162
C52_C2 H18_R  1.09920
C52_C2 C51_C2 1.40162
C53_C2 C54_C2 1.40162
C53_C2 N64_Q  1.30000
C53_C2 C52_C2 1.40162
C54_C2 C49_C2 1.40162
C54_C2 H19_R  1.09920
C54_C2 C53_C2 1.40162
C55_C2 C56_C2 1.40162
C55_C2 H21_R  1.09920
C55_C2 C60_C2 1.40162
C56_C2 N65_Q  1.30000
C56_C2 C55_C2 1.40162
C56_C2 C57_C2 1.40162
C57_C2 C56_C2 1.40162
C57_C2 C58_C2 1.40162
C57_C2 H24_R  1.09920
C58_C2 C57_C2 1.40162
C58_C2 H22_R  1.09920
C58_C2 C59_C2 1.40162
C59_C2 C58_C2 1.40162
C59_C2 N66_Q  1.30000
C59_C2 C60_C2 1.40162
C60_C2 C55_C2 1.40162
C60_C2 C59_C2 1.40162
C60_C2 H23_R  1.09920
N61_Q  C44_C2 1.30000
N61_Q  C42_Q  1.22732
N62_Q  C47_C2 1.30000
N62_Q  C33_Q  1.22732
N63_Q  C50_C2 1.30000
N63_Q  C41_Q  1.22732
N64_Q  C53_C2 1.30000
N64_Q  C32_Q  1.22732
N65_Q  C56_C2 1.30000
N65_Q  C40_Q  1.22732
N66_Q  C59_C2 1.30000
N66_Q  C31_Q  1.22732

v0.0.7

03 Mar 00:42
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.0.4...v0.0.7

v0.0.4-beta

27 Oct 13:41
4a8fcc3
Compare
Choose a tag to compare

v0.0.4 beta released with the preprint of the pyCOFBuilder paper: https://arxiv.org/abs/2310.14822

v0.0.3-beta

25 Apr 18:19
Compare
Choose a tag to compare

This PR adds some updates and improvements into the code.

List of changes:

  • Now the building block file structures are saved in the save_dir folder;
  • The Tools.elements_dict module has new features:
    • full_name
    • atomic_number
    • atomic_mass
    • polarizability
    • pauling_electronegativity
    • thermo_electronegativity
    • mulliken_electronegativity
    • sanderson_electronegativity
    • allen_electronegativity
    • ghosh_electronegativity
    • martynov_batsanov_electronegativity
    • atomic_radius
    • covalent_radius
    • vdw_radius
  • The Tools now has the capability to save in the qe format
  • Tools.get_kgrid now returns integers
  • The gjf now are json files, as a result of #4, #33, #28
  • print and repr methods are implemented
  • SMILES codes are available on BuildingBlock.smiles
  • Save functios were remodeled. Now it is possible to use BuildingBlock.save() and Reticulum.save() to save the structures;
  • New linear building blocks were added as a result of #29
  • Add new building blocks with carbenes as result of #34
  • Change the Building Blocks symbols as result of #36

v0.0.2-beta

17 Jun 20:09
c11449d
Compare
Choose a tag to compare

This is the release of the v0.0.2 Beta (17/06/2022)

Added

  • Add AA, AB1, AB2, AAl, AAt, ABC1 e ABC2 stakings for KDG net #23
  • Add a new C6 HEXB buinding block derived from hexaphenilbenzene #23
  • Code for creation of C6 building block #23
  • AA, AB1, AB2, AAl, AAt, ABC1 e ABC2 stakings for HXL-A net #24
  • Add a new C4 Buiding Block derived from 4,4',4'',4'''-(pyrene-1,3,6,8-tetrayl)tetrabenzene. #25
  • Add AA, AB1x, AB1y, AB1xy, AB2, AAl, AAt, stakings for KGM and KGM-A net #18
  • Add proper documentaion of the net methods
  • Add the class methods documentations

Know bugs

  • KGM and KGM-A nets do not generate the proper structure
  • HXL-A and KDG stakings are not tested

v0.0.1-alpha

09 Jun 15:01
4be2583
Compare
Choose a tag to compare

This is the first release of the version 0.0.1 Alpha.

Added

  • General structure of the code

  • COF generation with HCB and HCB-A nets

  • AA, AB1, AB2, AAl, AAt, ABC1 e ABC2 stakings for HCB and HCB-A nets

  • Several types of organic cores, functional groups and conectors

Changed

  • None

Fixed

  • None