Create polymers
In [1]:
Copied!
from psmiles import PolymerSmiles as PS
from psmiles import PolymerSmiles as PS
Define two monomers¶
In [2]:
Copied!
ps1 = PS("[*]C=C[*]")
ps1
ps1 = PS("[*]C=C[*]")
ps1
[*]C=C[*]
Out[2]:
In [3]:
Copied!
ps2 = PS("[*]CC(C)[*]")
ps2
ps2 = PS("[*]CC(C)[*]")
ps2
[*]CC(C)[*]
Out[3]:
Create alternating copolymers¶
In [4]:
Copied!
ps1.alternating_copolymer(ps2, [0,0])
ps1.alternating_copolymer(ps2, [0,0])
[*]C=CCC([*])C
Out[4]:
In [5]:
Copied!
ps1.alternating_copolymer(ps2, [0,1])
ps1.alternating_copolymer(ps2, [0,1])
[*]C=CC(C)C[*]
Out[5]:
In [6]:
Copied!
ps1.alternating_copolymer(ps2, [1,0])
ps1.alternating_copolymer(ps2, [1,0])
[*]C=CCC([*])C
Out[6]:
In [7]:
Copied!
ps1.alternating_copolymer(ps2, [1,1])
ps1.alternating_copolymer(ps2, [1,1])
[*]C=CC(C)C[*]
Out[7]:
Dimer¶
In [32]:
Copied!
ps = PS('c1ccc(C(C[*])[*])cc1').canonicalize
ps.dimer()
ps = PS('c1ccc(C(C[*])[*])cc1').canonicalize
ps.dimer()
[*]CC(CC([*])c1ccccc1)c1ccccc1
Out[32]:
Create block, gradient and random copolymers¶
In [27]:
Copied!
pattern = 'A' * 4 + 'B' * 4 + 'A' * 3
ps1.linear_copolymer(ps2, pattern)
pattern = 'A' * 4 + 'B' * 4 + 'A' * 3
ps1.linear_copolymer(ps2, pattern)
WARNING:root:Function is experimental. Please check results carefully.
[*]C=CC=CC(C)CC(C)CC(C)CC(C)CC=CC=CC=CC=CC=C[*]
Out[27]:
In [28]:
Copied!
pattern = 'AAAABAAABBAABBBABBBB'
ps1.linear_copolymer(ps2, pattern)
pattern = 'AAAABAAABBAABBBABBBB'
ps1.linear_copolymer(ps2, pattern)
WARNING:root:Function is experimental. Please check results carefully.
[*]C=CC(C)CC(C)CC(C)CC=CC(C)CC(C)CC=CC=CC=CC=CC=CCC(C)C=CC=CC=CCC(C)CC(C)CC(C)CC([*])C
Out[28]:
In [39]:
Copied!
import random
random.seed(10)
ps1.random_copolymer(ps, units=15, ratio=0.7)
import random
random.seed(10)
ps1.random_copolymer(ps, units=15, ratio=0.7)
WARNING:root:Function is experimental. Please check results carefully. WARNING:root:Function is experimental. Please check results carefully.
[*]C=CC=CC=CC(CC(CC=CC=CC=CCC(C=CC=CCC(CC(C=CC=C[*])c1ccccc1)c1ccccc1)c1ccccc1)c1ccccc1)c1ccccc1
Out[39]: