06_specific_ringΒΆ
Specific ring formation inside a lignin polymer
Install the package from pip (skip this step if the package is already installed)
[ ]:
! pip install ligning
[1]:
# set ligning path (optional if installed via pip)
import sys, os
project_path = os.path.abspath(os.path.join(os.getcwd(), '..\..\..'))
print(project_path)
sys.path.insert(0, project_path)
import ligning.characterization as ch
import ligning.monomer as mono
import ligning.polymer as poly
import ligning.utils as ut
from ligning.rules import linkage_ring
import time
from rdkit import Chem
c:\Users\yifan\Documents\GitHub\LigninGraphs
RDKit WARNING: [17:56:49] Enabling RDKit 2019.09.3 jupyter extensions
Constructing a polymer for testing
[2]:
'''
Starting from a H monomer
'''
P0 = mono.Monomer("S")
P0_G = P0.create()
ut.draw_graph(P0_G)
polymer = poly.Polymer(P0)
'''
Add a G monomer with a linkage
'''
polymer.add_specific_linkage(linkage_type = '4-O-5', monomer_type = 'G')
P1_G = polymer.G
ut.draw_graph(P1_G)
Connect a S to a G unit (in polymer) via a 4-O-5 bond
Add n random monomers with beta-O-4 bonds and time the speed
[3]:
start = time.time()
n_iter = 10
for i in range(n_iter):
#polymer.add_specific_linkage(linkage_type ='beta-O-4', monomer_type = 'G')
polymer.add_specific_linkage(linkage_type ='5-5', monomer_type = 'G')
n_monomer = n_iter + 2
for linkage_i in linkage_ring:
print(linkage_i)
polymer.add_specific_ring(linkage_i)
4-O-5
alpha-O-4
Connect a S to a G unit (in polymer) via a alpha-O-4 bond
beta-O-4
5-5
beta-5
beta-beta
c:\Users\yifan\Documents\GitHub\LigninGraphs\ligning\polymer.py:544: UserWarning: No more bonding atoms available
warnings.warn("No more bonding atoms available")
c:\Users\yifan\Documents\GitHub\LigninGraphs\ligning\polymer.py:876: UserWarning: No C2 available for bonding
warnings.warn("No C2 available for bonding")
c:\Users\yifan\Documents\GitHub\LigninGraphs\ligning\polymer.py:850: UserWarning: No more bonding atoms available
warnings.warn("No more bonding atoms available")