I was trying to develop a model for predicting Boiling Points (BP) given a chemical name. One good and unique (ok, almost) way to encode a name is the SMILES notation string. The details of the notation are a bit complex ( see here)
e.g. Name Smiles BP Benzene c1ccccc1 80 Propane CCC -42 Ethanol CCO 78 Phenol c1ccc(cc1)O 181 ....
I was wondering if I might be able to extract features from the Smiles String and use it to predict BP's. A large training data set (~10,000 compounds) is already available. One tricky point may be that the notation is case sensitive and various parenthesis have a topological meaning (branching) in there and also certain symbols (= for a double bond, # for a triple bond)
Traditionally the chemical literature uses group contribution methods but those depend on either a human or some smart code to parse the SMILES strings into its constituent entities (e.g. 3 OH groups, 1 double bond etc.) There are good thumbrules already known e.g. Among all alkanes every extra CH2 group adds so many degrees to the BP etc. OR Alcohols are higher boiling due to hydrogen bonding. But I was wondering if it'd be nicer to let the machine learning algorithm figure these out by itself.
Any ideas about what methods to use? Or is this too much to ask of an automated algorithm?