It appears that when certain aromatic triazole compounds are read from smiles by pybel, the aromaticity is incorrectly removed.
Attached is an SDF of a triazole compounds from pubchem.
The correct kekulized form is interpretted when using readfile from the sdf:
M1, = pybel.readfile('sdf', '2185720_1.sdf')
M1.draw()
The correct lower case aromaticity notation is used when writing the SDF to a smiles string:
triazole_smiles = M1.write('smi')
print triazole_smiles
Clc1c(c2n3c(=O)/c(=C/c4ccc(N(CC)CC)cc4)/sc3nn2)cccc1 2185720
However, when reading this smiles string, hydrogens are attached to the adjacent aromatic nitrogens, rending the ring non-aromatic:
M2 = pybel.readstring('smi', triazole_smiles)
M2.draw()
Furthermore, when writing this molecule to smiles, the lower-case aromaticity notation is replaced by regular upper-case notation:
print M2.write('smi')
Clc1c(C2N3C(=O)/C(=C/c4ccc(N(CC)CC)cc4)/SC3NN2)cccc1 2185720
On futher contemplation, it appears that openbabel at first thinks the adjacent ring to the triazole is also aromatic, which I don't believe is true. This occurs when loading the SDF.
You'll notice the output smiles incorrectly shows lower-case aromatic notation on the thiazole ring.