Releases: lipelopesoliveira/pyCOFBuilder
Releases · lipelopesoliveira/pyCOFBuilder
v0.0.8
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 variablebond_threshold
when creating theFramework
object. - The
save_bonds
variable on thesave
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
What's Changed
- Uptade beta by @lipelopesoliveira in #46
- Update README.md by @lipelopesoliveira in #47
- Update README.md by @lipelopesoliveira in #49
- Update README.md by @lipelopesoliveira in #50
- Add Sphynx-based documentation by @lipelopesoliveira in #52
- Update README.md by @lipelopesoliveira in #55
- Update to version 0.0.6 by @lipelopesoliveira in #53
Full Changelog: v0.0.4...v0.0.7
v0.0.4-beta
v0.0.4 beta released with the preprint of the pyCOFBuilder paper: https://arxiv.org/abs/2310.14822
v0.0.3-beta
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 arejson
files, as a result of #4, #33, #28 print
andrepr
methods are implemented- SMILES codes are available on
BuildingBlock.smiles
- Save functios were remodeled. Now it is possible to use
BuildingBlock.save()
andReticulum.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
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
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