फ़िंगरप्रिंट डायमेंशन रिडक्शन द्वारा कंपाउंड स्पेस की कल्पना करें

2019 10 年 月 日 26

मुक्त और सार्वजनिक रूप से उपलब्ध यौगिक डेटासेट का उपयोग करके रासायनिक संरचना के आधार पर यौगिक स्थान (रासायनिक स्थान) की कल्पना करें।

प्रेरणा

यौगिक स्थान का दृश्य है
・क्या डेटा सेट में कोई विशेष स्वभाव वाला यौगिक है?
・ किस तरह का यौगिक किस मात्रा में निहित है?
समझने में मदद करता है QSAR या मशीन लर्निंग के लिए भविष्य कहनेवाला मॉडल बनाते समय, आप मोटे तौर पर यह भी निर्धारित कर सकते हैं कि आपके डेटा में एक्सट्रपलेशन है या नहीं।

विधि

फ़िंगरप्रिंट गणना

प्रत्येक परिसर के लिए एक फिंगरप्रिंट उत्पन्न करें और आयाम कम करें ताकि इसे एक विमान पर प्लॉट किया जा सके। जॉनसन और मैगिओरा के समान गुणों के सिद्धांत के अनुसार, "समान यौगिकों में समान गुण होते हैं," समान संरचनाओं और गुणों वाले यौगिकों को एक विमान पर एक दूसरे के करीब वितरित किया जाना चाहिए।

विज़ुअलाइज़ेशन के लिए उपयोग किए जाने वाले फ़िंगरप्रिंट के लिए, Morgan फ़िंगरप्रिंट और RDkit फ़िंगरप्रिंट आज़माएँ।

संदर्भ: आरडीकिट में फिंगरप्रिंट उपलब्ध है

आयामीता में कमी तकनीक

आयामीता में कमी के लिए, हम प्रमुख घटक विश्लेषण (पीसीए) और यूएमएपी का उपयोग करेंगे। पीसीए सबसे अधिक उपयोग किया जाता है, लेकिन 0-1 डेटा जैसे उंगलियों के निशान के लिए उपयुक्त नहीं हो सकता है क्योंकि यह डेटा की रैखिकता के आधार पर कम आयामी स्थान को संकुचित करता है।
दूसरी ओर, यूएमएपी गैर-रैखिक घटकों पर विचार करते हुए आयामी कमी के तरीकों में से एक है।इसका उपयोग बड़े डेटासेट के लिए किया जा सकता है क्योंकि यह एक ही विधि के मानक t-SNE की तरह कई गुना तेजी से आयामी कमी को पूरा कर सकता है।

क्लस्टरिंग के लिए केमीन्स विधि और स्पेक्ट्रलक्लस्टरिंग का उपयोग किया जाता है।
केमीन्स पद्धति (XNUMX) यादृच्छिक रूप से समूहों को रखकर, (XNUMX) गुरुत्वाकर्षण के केंद्र की स्थिति को अद्यतन करने के लिए आस-पास के डेटा बिंदुओं को जोड़कर, और (XNUMX) अद्यतन का उपयोग करके फिर से गुरुत्वाकर्षण के केंद्र का पता लगाने के संचालन की एक श्रृंखला को दोहराकर क्लस्टरिंग करती है। गुरुत्वाकर्षण के केंद्र के पास डेटा। यह ज्ञात है कि चंद्रमा और स्विस रोल जैसे गैर-रैखिक डेटा को अच्छी तरह वर्गीकृत नहीं किया जा सकता है, लेकिन स्पेक्ट्रल क्लस्टरिंग ऐसे डेटा को भी संभाल सकता है। स्किकिट लर्न चीट शीट भी एक विकल्प है जब केमीन्स विधि काम नहीं करती है।

मैं उन्हें "PCA × kmeans विधि" के साथ संयोजन करने का प्रयास करना चाहता हूं, जो सामान्य वितरण और रैखिक डेटा और "UMAP × स्पेक्ट्रल क्लस्टरिंग" मानता है, जो गैर-रैखिक डेटा का समर्थन करता है।

वैसे, टैनिमोटो गुणांक के आधार पर क्लस्टरिंग यौगिकों की एक विधि भी है (दो यौगिकों के बीच समानता की डिग्री 2 से 0 तक व्यक्त की जाती है, जिसमें 1 समान संरचना होती है), जिसे अक्सर यौगिक समानता सूचकांक के रूप में उपयोग किया जाता है। नहीं है ...

देखें: उच्च-आयामी डेटा के लिए आयाम में कमी और दो-आयामी प्लॉटिंग तकनीकें
   स्पेक्ट्रल क्लस्टरिंग (क्लस्टर विश्लेषण)

यौगिक स्थान की कल्पना करें

हम अपने डेटासेट के लिए मॉलिक्यूल नेट से लिपोफिलिसिटी का उपयोग करते हैं।लगभग 4200 यौगिकों को उनके संबंधित SMILES और प्रायोगिक logP (हाइड्रोफोबिसिटी का एक उपाय: ऑक्टेनॉल / जल विभाजन गुणांक) के साथ शामिल किया गया है।

संदर्भ:यौगिक डेटासेट सूची

# पैकेज आयात आयात पांडा के रूप में pd आयात के रूप में sklearn.cluster से np के रूप में numpy आयात करें sklearn.decomposition से KMeans sklearn.cluster आयात से PCA आयात करें rdkit से SpectralClustering आयात umap rdkit से रसायन आयात करें। AllChem आयात matplotlib.pyplot plt% matplotlib इनलाइन के रूप में आयात करें # डेटासेट पढ़ें df = pd.read_csv ('Lipophilicity.csv') प्रिंट (df.info ()) df.head (5)


रेंजइंडेक्स: 4200 प्रविष्टियां, 0 से 4199
डेटा कॉलम (कुल 3 कॉलम):
CMPD_CHEMBLID 4200 गैर-शून्य वस्तु
ऍक्स्प 4200 गैर-शून्य फ्लोट64
मुस्कान 4200 गैर-शून्य वस्तुएं
dtypes: फ्लोट64 (1), ऑब्जेक्ट (2) मेमोरी उपयोग: 98.5+ KB कोई नहीं

लॉगपी डेटा सेट

 

# मॉर्गन फ़िंगरप्रिंट और RDkit फ़िंगरप्रिंट mols = [Chem.MolFromSmiles(x) for x in df.smiles] morgan_fps = [AllChem.GetMorganFingerprintAsBitVect(x, 2, 1024) for x in mols] rdkit_fps = [Chem.RDK फ़िंगरप्रिंट (x, fpSize=1024) for x in mols] # DF में फिंगरप्रिंट स्टोर करें df_morgan_fps = pd.DataFrame(np.array(morgan_fps)) df_rdkit_fps = pd.DataFrame(np.array(rdkit_fps))

एक मॉर्गन फ़िंगरप्रिंट किसी दिए गए परमाणु से एक सेट त्रिज्या के भीतर अवसंरचनाओं की गणना करता है। ECFP (विस्तारित कनेक्टिविटी फ़िंगरप्रिंट) फ़िंगरप्रिंट के समान एक एल्गोरिद्म, जहां मॉर्गन का 2 का दायरा ECFP4 के बराबर है।यहां हम त्रिज्या = 2, 1024 बिट्स के साथ एक फिंगरप्रिंट की गणना करते हैं।
RDkit फ़िंगरप्रिंट परमाणु त्रिज्या के बजाय बांड की लंबाई के आधार पर उपसंरचनाओं की गणना करता है।यह डेलाइट फिंगरप्रिंट के समान है।डिफ़ॉल्ट रूप से, न्यूनतम पथ लंबाई: 1 बंधन - अधिकतम पथ लंबाई: 7 बंधन माने जाते हैं।

परिणामी फिंगरप्रिंट हैयह एक वस्तु है, और इसे संसाधित नहीं किया जा सकता है, इसलिए इसे डेटा फ्रेम में परिवर्तित कर दिया जाता है।
 

# kmeans क्लस्टरिंग kmeans = KMeans(n_clusters=8, n_jobs=-1) kmeans.fit(df_morgan_fps) # PCA के साथ आयामीता में कमी pca = PCA(n_components = 2) decomp = pca.fit_transform(df_morgan_fps) x = decomp[:,0 ] y = decomp[:,1] # विज़ुअलाइज़ेशन plt.figure(figsize=(15,5)) # kmeans विधि द्वारा प्राप्त समूहों द्वारा रंग plt.subplot(1,2,1) plt.scatter(x, y , c = kmeans.labels_, alpha=0.7) plt.title("पीसीए: मॉर्गन_एफपीएस, क्लस्टर") plt.colorbar() # color by logP plt.subplot(1,2,2) plt.scatter(x, y, c= df.exp, alpha=0.7, cmap='spring') plt.title("PCA: morgan_fps, logP") plt.colorbar()

RDkit फ़िंगरप्रिंट के साथ मिश्रित स्थान की कल्पना करने का परिणाम।

इसी प्रकार, df_morgan_fps भाग को df_rdkit_fps में बदलें और इसे RDkit फ़िंगरप्रिंट के साथ विज़ुअलाइज़ करें।इंप्रेशन कि किसी तरह आरडीकिट फिंगरप्रिंट को खूबसूरती से पेश किया जाता है ↓

# 'UMAP × स्पेक्ट्रल क्लस्टरिंग' के साथ RDkit फ़िंगरप्रिंट की कल्पना करें sc = SpectralClustering(n_clusters=50, affinity= 'निकटतम_पड़ोसी', n_jobs =-1) sc.fit(df_rdkit_fps) एम्बेडिंग = umap.UMAP(n_neighbors = 50, n_components = 2, min_dist=0.5).fit_transform(df_rdkit_fps) x = एम्बेडिंग[:,0] y = एम्बेडिंग[:,1] fig = plt.figure(figsize=(15,5)) plt.subplot(1,2,1) plt .scatter(x, y, c= sc.labels_, alpha=0.7) plt.title("rdkit_fps, SpectralCluster") plt.colorbar() plt.subplot(1,2,2) plt.scatter(x, y, c= df.exp, alpha=0.7, cmap='spring') plt.title("rdkit_fps, logP") plt.colorbar()

मुझे लगता है कि "यूएमएपी एक्स स्पेक्ट्रल क्लस्टरिंग" "पीसीए एक्स किमीन्स" की तुलना में समान यौगिकों के साथ अधिक घना है, लेकिन मुझे किसी भी तरह की परवाह नहीं है।

लॉगप के संबंध में, विमान पर स्थिति और भौतिक संपत्ति मूल्य के बीच का संबंध सूक्ष्म है।यौगिकों के भौतिक गुणों और गतिविधि मूल्यों के साथ सहसंबंध में द्वि-आयामी अंतरिक्ष में साजिश रचने के लिए ऑटोएन्कोडर या पर्यवेक्षित शिक्षण बेहतर लगता है, इसलिए मैं इसे जल्द ही आज़माना चाहूंगा।