6
$\begingroup$

I have used a machine learning algorithm on QM9 dataset to extract some features. To visualize this feature space, I used a PCA algorithm to project it to a 2D space (in simple words, every point in the figure below represents a molecule). Then, I colored the points by property values of these molecules. For instance, in the figure below, I have colored the points by their LUMO energy value. enter image description here

In my visualizations, I have used 10000 data. I was trying to figure out if each cluster below has any meaningful relation with molecular properties. To do so, I plotted another figure and this time I colored the points by their index in the QM9 dataset.enter image description here

Roughly speaking, molecules with index i in [4000, 10000] have 8 atoms, with i in [800, 4000] 7 atom, [200, 800] 6 atoms, and the rest have 5 atoms or less.

  1. What is the QM9 dataset sorted according to?

  2. I was wondering if anyone has any suggestions for possible property that each cluster does represent. Any suggestions for tests that I can try would be highly appreciated as well!


Edits: I tried to find the smiles for a group of these molecules. I selected the molecules in the red rectangle below, applied PCA on this group alone, and colored them inside the red circle based on LUMO energy (indices were all over the place for these sub section alone.)

enter image description here

Then I printed out smiles for two groups:

1) Ones to the right of dashed line:

CC(C)(C)CC=O                
CC(=O)C(C)(C)C              
CC(=O)CC(C)C                
CC1(C)CC(=O)C1              
C#CC(C)(C)C=OCCC(C)(C)C=O   
CC#CCC(C)=O                 
C#CC#CC(C)=O                
C#CCCC(C)=O                 
CC(C)C#CC=OCC(C)CCC=O       
CCC#CC(C)=O                 
CCCCC(C)=O                  
CC1(C)CCC1=O                
CC1(C)CC1C=OC#CCC(=O)C#C    
C#CC(=O)C#CC                
CC#CC(C)C=O                 
C#CCC(C)C=O                 
C#CC(C)CC=O                 
CC#CC(=O)CC                 
C#CCC(=O)CC                 
CCC(C)CC=O                  
C#CC(=O)CCC                 
CCCC(=O)CC                  
CCCC(C)C=O                  
C#CC(C)C(C)=O               
C#CC(=O)C(C)C               
CC(C)C(C)C=OCCC(=O)C(C)C    
CCC(C)C(C)=O                
CC1(C=O)CCC1                
CC1(CC=O)CC1CC1CC1(C)C=O    
CC(=O)C1(C)CC1              
CC1=CC(=O)CC1               
CC1=CCC(=O)C1CC1C=CC(=O)C1  
CC1CCC(=O)C1                
CC12CC(=O)C1C2              
C#CC1CC(=O)C1CC1CC(C=O)C1   
CCC1CC(=O)C1                
CC(=O)CC1CC1                
O=CC12CC(C1)C2O=C1CC2(CC2)C1
O=C1CC=CCC1                 
O=C1C=CCCC1                 
O=C1CCCCC1                  
CC1=CCCC1=O                 
CC1C=CCC1=O                 
CC1CC=CC1=O                 
CC1CCCC1=O                  
CC1CC(=O)C1C                
CC1CC(C)C1=OCC12CC1CC2=O    
O=CCC1CCC1                  
CC1CC1CC=O                  
CC(=O)C1CCC1                
CC(=O)C1CC1CCC1C2CC1C2=O    
O=C1CC2CC2C1                
O=C1CC2CC1C2                
C#CC(C#C)C=O                
C#CC(C=O)CCCCC(C=O)CC       
C#CC1(C=O)CC1               
CCC1(C=O)CC1                
C#CCC#CC=O                  
C#CC#CCC=OC#CCCCC=O         
CC#CC#CC=O                  
CC#CCCC=O                   
CCC#CCC=O                   
CCCC#CC=O                   
CCCCCC=OC#CC1CCC1=O         
CC1CCC1C=O                  
CCC1CCC1=O                  
C#CC1CC1C=O                 
CCC1CC1C=OO=CC1=CCCC1       
O=CC1CC=CC1                 
O=CC1C=CCC1                 
O=CC1CCCC1                  
C#CC(=O)C1CC1CC(C=O)C1CC1   
CCC(=O)C1CC1                
O=CC#CC1CC1                 
O=CCCC1CC1                  
CC1C(C)C1C=OO=CC12CCC1C2    
O=C1CCC12CC2                
CC1C(=O)C2CC12              
O=C1CC2CCC12O=CC1CC2CC12    
O=CC1C2CCC12                
CC1C2CC(=O)C12              
O=C1C=CC2CC12O=C1CCC2CC12   
O=C1C2C=CC1C2               
O=C1C2CCC1C2                
O=CC1C2CC1C2                
O=C1C2CC3C1C23            

2) Ones to the left of the dashed line:

Oc1ccccc1      
CC#CC(C)(C)O   
C#CCC(C)(C)O   
CC(C)(C)CCO    
CCCC(C)(C)O    
CCOC(C)(C)C    
COCC(C)(C)C    
CC(C)C(C)(C)O  
CC(O)C(C)(C)C  
CC(C)CC(C)O    
CC(C)OC(C)C    
CC1(C)CC(O)C1  
CC1CC(C)(C)O1  
CC1CC(C)(O)C1  
CC1(C)CC1(C)O  
CC1(C)OC1(C)C  
CC12CC(C)(C1)O2
CC12CC(O)(C1)C2
C#CC(C)(O)C#C  
C#CC(C)(C)CO   
C#CC(C)(O)CC   
C#CC(C)(C)OC   
CCC(C)(C)CO    
CCC(C)(C)OC    
CCC(C)(O)CC    
CC#CCC(C)O     
C#CC#CC(C)O    
C#CCOC(C)C     
C#CCCC(C)O     
CC(C)C#CCO     
CCC#CC(C)O     
CC(C)CCCO      
CCCCC(C)O      
CCCOC(C)C      
CCOCC(C)C      
COCCC(C)C      
CC1(C)CCC1O    
CC1CCC1(C)O    
CC1COC1(C)C    
CC1OCC1(C)C    
C#CC1OC1(C)C   
C#CC1CC1(C)O   
CC1(C)CC1CO    
CCC1CC1(C)O    
CCC1OC1(C)C    
COC1CC1(C)C    
CC1(O)CC=CC1   
CC1(C)C=CCO1   
CC1(O)C=CCC1   
CC1(C)CCCO1    
CC1(C)CCOC1    
CC1(O)CCCC1    
CC1C(C)C1(C)O  
CC1C(O)C1(C)C  
C#CC(O)C#CC    
C#CCC(O)C#C    
CC#CC(C)CO     
CC#CC(O)CC     
CC#CC(C)OC     
C#CCC(C)CO     
C#CCC(O)CC     
C#CCC(C)OC     
C#CC(C)CCO     
C#CC(O)CCC     
C#CC(C)OCC     
C#CC(C)COC     
CCC(C)CCO      
CCC(C)COC      
CCCC(C)CO      
CCCC(C)OC      
CCCC(O)CC      
CCOC(C)CC      
C#CC(O)C(C)C   
C#CC(C)C(C)O   
CC(C)C(C)CO    
CCC(C)C(C)O    
CCC(O)C(C)C    
COC(C)C(C)C    
C#CC1(C)CCO1   
C#CC1(C)COC1   
C#CC1(O)CCC1   
CC1(CO)CCC1    
CCC1(C)CCO1    
CCC1(C)COC1    
CCC1(O)CCC1    
COC1(C)CCC1    
CC#CC1(C)CO1   
CC#CC1(O)CC1   
C#CCC1(C)CO1   
C#CCC1(O)CC1   
CC1(CCO)CC1    
CCCC1(C)CO1    
CCCC1(O)CC1    
CCOC1(C)CC1    
COCC1(C)CC1    
C#CC1(C)CC1O   
C#CC1(O)CC1C   
C#CC1(C)OC1C   
CC1CC1(C)CO    
CCC1(C)CC1O    
CCC1(C)OC1C    
CCC1(O)CC1C    
COC1(C)CC1C    
CC(C)C1(C)CO1  
CC(C)C1(O)CC1  
CC(O)C1(C)CC1  
CC(C)(C)C1CO1  
CC(C)(O)C1CC1  
CC1C=CC(O)C1   
CC1C=CC(C)O1   
CC1=CCC(O)C1   
CC1=CC(O)CC1   
CC1=CC(C)OC1   
CC1CCC(C)O1    
CC1CCC(O)C1    
CC1COC(C)C1    
CC12CC(C1)C2O  
CC1C2CC1(C)O2  
CC1C2CC1(O)C2  
CC12CC(O)C1C2  
CC1CC2(C)OC12  
CC1CC2(O)CC12  
CC1OC2(C)CC12  
CC12C=CC(C1)O2 
OC12C=CC(C1)C2 
CC12CC(CO1)C2  
CC12COC(C1)C2  
CC12CCC(C1)O2  
OC12CCC(C1)C2  
CC12COC1(C)C2  
CC12CCC1(O)C2  
CC12CCC1(C)O2  
C#CC1CC(C)O1   
C#CC1CC(O)C1   
CC1CC(CO)C1    
CCC1CC(C)O1    
CCC1CC(O)C1    
COC1CC(C)C1    
CC(C)CC1CO1    
CC(C)OC1CC1    
CC(O)CC1CC1    
C#CC12CC(C1)O2 
CCC12CC(C1)O2  
COC12CC(C1)C2  
OCC12CC(C1)C2  
CC1CC2(CC2)O1  
CC1CC2(CO2)C1  
OC1CC2(CC2)C1  
CC1(C)CC2OC21  
CC1(C)OC2CC21  
CC1(O)CC2CC21  
CC1(C)C2CC1O2  
CC1(O)C2CC1C2  
CC1(C)C2COC21  
CC1(O)C2CCC21  
CC1=CCCOC1     
CC1=CCOCC1     
CC1CC=CCO1     
OC1CC=CCC1     
CC1C=CCOC1     
CC1C=CCCO1     
OC1C=CCCC1     
CC1CCCCO1      
CC1CCCOC1      
CC1CCOCC1      
OC1CCCCC1      
CC1=C(C)COC1   
CC1C=CCC1O     
CC1CC=CC1O     
CC1=CCCC1O     
CC1=CCOC1C     
CC1CCCC1O      
CC1CCOC1C      
CC1COCC1C      
CC1CC(C)C1O    
CC1CC(O)C1C    
CC1OC(C)C1C    
CC12CCC1CO2    
CC12CCC1OC2    
OC12CCC1CC2    
CC12CCC1C2O    
CC1C2CCC12O    
CC1C2COC12C    
CC1C2OCC12C    
CC12CC=CC1O2   
OC12CC=CC1C2   
CC12C=CCC1O2   
OC12C=CCC1C2   
CC12CC1CCO2    
CC12COCC1C2    
CC12CCOC1C2    
CC12CCCC1O2    
OC12CCCC1C2    
CC12CC1CC2O    
CC1CC2CC12O    
CC1CC2OC12C    
CC1OC2CC12C    
C#CCC1CCO1     
C#CCC1COC1     
CC#CC1CCO1     
CC#CC1COC1     
CCCC1CCO1      
CCCC1COC1      
CCOC1CCC1      
COCC1CCC1      
OCCC1CCC1      
CC#CC1CC1O     
CC#CC1OC1C     
C#CCC1OC1C     
C#CCC1CC1O     
CC1CC1CCO      
CCCC1CC1O      
CCCC1OC1C      
CCOC1CC1C      
COCC1CC1C      
CC(C)C1CCO1    
CC(C)C1COC1    
CC(O)C1CCC1    
CC(C)C1CC1O    
CC(C)C1OC1C    
CC(O)C1CC1C    
C1CC2(C1)CCO2  
C1CC2(C1)COC2  
CC1CC12CCO2    
CC1CC12COC2    
CC1OC12CCC2    
OC1CC12CCC2    
CC1C2CC1C2O    
CC1C2OC1C2C    
CC12CC3C1OC32  
CC12OC3C1CC32  
OC12CC3C1CC32  
CC12CC3OC1C32  
CC12OC3CC1C32  
OC12CC3CC1C32  
C1=CC2CC(C1)O2 
C1OCC2CC1C2    
C1CC2CC(C2)O1  
C1CC2CC(C1)O2  
CC1=CC2OC2C1   
CC1CC2CC2O1    
CC1CC2OC2C1    
OC1CC2CC2C1    
CC1=CC2CC1O2   
CC1CC2CC1O2    
CC1OC2CC1C2    
OC1CC2CC1C2    
CC12CC3C(O1)C32
OC12CC3C(C1)C32
C#CC(C#C)OC    
C#CC(C#C)CO    
C#CC(CC)CO     
C#CC(CC)OC     
CCC(CC)CO      
CCC(CC)OC      
C#CC1(C#C)CO1  
CCC1(CC)CO1    
CCC1(OC)CC1    
CCC1(CO)CC1    
C#CC1(CC)CO1   
C#CC1(OC)CC1   
C#CC1(CO)CC1   
C#CCOCC#C      
CC#CC#CCO      
C#CCC#CCO      
C#CC#CCOC      
C#CC#CCCO      
CCC#CCCO       
CCC#CCOC       
CCCC#CCO       
CC#CCCCO       
CC#CCOCC       
CC#CCCOC       
C#CCOCCC       
C#CCCOCC       
C#CCCCOC       
C#CCCCCO       
CCCCCCO        
CCCCCOC        
CCCCOCC        
CCCOCCC        
C#CC1OCC1C     
C#CC1COC1C     
C#CC1CCC1O     
CC1CCC1CO      
CCC1CCC1O      
CCC1COC1C      
CCC1OCC1C      
COC1CCC1C      
C#CC1OC1C#C    
C#CC1OC1CC     
C#CC1CC1OC     
C#CC1CC1CO     
CCC1CC1CO      
CCC1CC1OC      
CCC1OC1CC      
C#CC1=CCOC1    
C#CC1C=CCO1    
C#CC1CCCO1     
C#CC1CCOC1     
CCC1=CCOC1     
OCC1=CCCC1     
COC1CC=CC1     
OCC1CC=CC1     
CCC1C=CCO1     
COC1C=CCC1     
OCC1C=CCC1     
CCC1CCCO1      
CCC1CCOC1      
COC1CCCC1      
OCC1CCCC1      
C#CC(C)C1CO1   
C#CC(O)C1CC1   
CC(CO)C1CC1    
CCC(C)C1CO1    
CCC(O)C1CC1    
COC(C)C1CC1    
C#CC#CC1CO1    
C#CCCC1CO1     
C#CCOC1CC1     
CC#CCC1CO1     
CCC#CC1CO1     
OCC#CC1CC1     
CCCCC1CO1      
CCCOC1CC1      
CCOCC1CC1      
COCCC1CC1      
OCCCC1CC1      
C#CC1C(C)C1O   
CC1C(C)C1CO    
CCC1C(C)C1O    
COC1C(C)C1C    
C#CC12CC1CO2   
C#CC12COC1C2   
C#CC12CCC1O2   
CCC12CC1CO2    
CCC12COC1C2    
CCC12CCC1O2    
COC12CCC1C2    
OCC12CCC1C2    
CC1CCC12CO2    
CC1COC12CC2    
CC1OCC12CC2    
OC1CCC12CC2    
C1=CCC2(C1)CO2 
C1=CC2(CC2)OC1 
C1=CC2(CC1)CO2 
C1COC2(C1)CC2  
C1CC2(CC2)CO1  
C1CCC2(C1)CO2  
CC1(C2CO2)CC1  
CC1(C2CC2)CO1  
OC1(C2CC2)CC1  
C1=CC2C=CC1O2  
C1=CC2CCC1O2   
C1=CC2CC1CO2   
C1CC2CC1CO2    
C1CC2CCC1O2    
CC1C(O)C2CC12  
CC1C(C)C2OC12  
CC12CC1C1OC12  
CC12OC1C1CC12  
OC12CC1C1CC12  
C1CC1CC1CO1    
C1CC1OC1CC1    
C1CC12CC1OC12  
C1C2OC3(CC3)C12
C1C2CC3(CO3)C12
C1=CCOCC=C1    
C1=CCCOCC1     
C1=CCOCCC1     
C1CCCOCC1      
CC1CC2COC12    
CC1CC2OCC12    
CC1OC2CCC12    
OC1CC2CCC12    
C#CC1CC2OC12   
C#CC1OC2CC12   
CCC1CC2OC12    
CCC1OC2CC12    
COC1CC2CC21    
OCC1CC2CC12    
C1=CCC2OC2C1   
C1=CC2CC2OC1   
C1=CC2OC2CC1   
C1COC2CC2C1    
C1CC2CC2CO1    
C1CCC2OC2C1    
C1=C2CCC2OC1   
C1=C2COC2CC1   
C1=CC2OCC2C1   
C1=CC2COC2C1   
C1CC2COCC12    
C1CC2CCC2O1    
C1CC2COC2C1    
OC1C2C=CCC12   
CC1C2CCOC12    
CC1C2COCC12    
OC1C2CCCC12    
C#CC1C2COC12   
CCC1C2COC12    
COC1C2CCC21    
OCC1C2CCC12    
CC1C2CC(O)C12  
CC1OC2C(C)C12  
CC1CC2C(O)C12  
CC1=CCC2OC12   
CC1C=CC2OC12   
OC1C=CC2CC12   
CC1CCC2OC12    
CC1COC2CC12    
CC1OCC2CC21    
OC1CCC2CC12    
CC1C2C=CC1O2   
OC1C2C=CC1C2   
CC1C2COC1C2    
CC1C2CCC1O2    
OC1C2CCC1C2    
CC12C3CC1C2O3  
OC12C3CC1C2C3  
OC12C3C4C3C1C42
C1C2CC3C1OC23  
C1C2OC3CC2C13  
C1C2CC3C1C3O2  
C#CC1C2CC1O2   
CCC1C2CC1O2    
COC1C2CC1C2    
OCC1C2CC1C2    
C1CC(C2CC2)O1  
C1CC1C1COC1    
C1CC(C2CO2)C1  
C1C2OC1C21CC1  
C1C2CC1C21CO1  
CC1C2C3OC2C13  
OC1C2C3CC2C13  
C1=CC2C3OC2C13 
C1OC2C3CC2C13  
C1CC2C3OC2C13  
CC1C2OC3C1C23  
OC1C2CC3C1C23  
C1C2OC1C1CC21  
C1C2CC1C1OC21  
C1OC2C1C1CC12  
C1CC2C1C1OC21  
CC1C2C3OC3C12 

Is there any distinctive feature between these two groups?

$\endgroup$
8
  • 3
    $\begingroup$ For curiosity: May you provide additional details than «to extract some features» (e.g., using pymatgen?, what properties in addition?)? Was your algorith allowed to pick additional properties deposit in the QM9 set, or to derive secondary properties prior to clustering? +1 for bringing such a topic to ChemSE. A second +1 would be due to leave the jet/rainbow scale and to use a viridis palette instead. $\endgroup$
    – Buttonwood
    Dec 13, 2019 at 22:58
  • 1
    $\begingroup$ The implementation is original, it's not a package, it is graph based, so it picks atom types and the weighted adjacency matrix (essentially bond orders), nothing else. $\endgroup$
    – Blade
    Dec 13, 2019 at 23:04
  • 1
    $\begingroup$ chemistry.stackexchange.com/questions/43299/… $\endgroup$
    – Buck Thorn
    Dec 14, 2019 at 13:36
  • 1
    $\begingroup$ I recommend using openbabel as suggested on a number of other answers. I edited the list of SMILES to make it easier to input into another program. $\endgroup$
    – Buck Thorn
    Dec 14, 2019 at 22:29
  • 1
    $\begingroup$ @Blade: I'm trying to build a Stack Exchange where the community is nearly 100% made of the users that are experts in computational/physical/quantum chemistry type questions, where users would not have to see general chem questions like "what is an acid?". There's machine learning questions already proposed there. We need only a few more questions to reach 10 upvotes. In case you were unaware of it, and wouldn't mind helping us, here it is: area51.stackexchange.com/proposals/122958/materials-modeling $\endgroup$ Dec 16, 2019 at 3:20

1 Answer 1

2
$\begingroup$

It seems that the clustering is based on the functional groups. The first group of SMILES are ketones. The second group is a combination of ethers and alcohols.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.