99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

RDKit子結(jié)構(gòu)搜索與高亮繪制:從SMARTS匹配到批量分子篩選實(shí)戰(zhàn)

RDKit子結(jié)構(gòu)搜索與高亮繪制:從SMARTS匹配到批量分子篩選實(shí)戰(zhàn) 1. 從一張畫滿熒光筆的分子圖說起做化學(xué)信息學(xué)的人遲早會(huì)碰到一個(gè)繞不開的需求手里有一堆分子想快速知道某個(gè)片段到底出現(xiàn)在哪些結(jié)構(gòu)里而且最好能一眼看出來它長(zhǎng)在哪個(gè)位置。我第一次遇到這個(gè)場(chǎng)景是要從一批候選化合物里篩出所有含苯并咪唑骨架的分子當(dāng)時(shí)傻乎乎地一個(gè)個(gè)用肉眼比對(duì)幾十個(gè)分子下來眼睛都快瞎了還漏掉了好幾個(gè)。后來才意識(shí)到這種活兒本來就該交給 RDKit 去做——它不僅能幫你把匹配的子結(jié)構(gòu)找出來還能直接在分子圖上用高亮標(biāo)出來省時(shí)省力還不容易出錯(cuò)。這篇內(nèi)容就是圍繞“搜索并高亮展示分子中匹配的子結(jié)構(gòu)”這件事展開的。核心工具是 RDKit一個(gè)在化學(xué)信息學(xué)領(lǐng)域被廣泛使用的開源工具包。它提供了子結(jié)構(gòu)搜索Substructure Search和高亮繪制Highlight Rendering兩大能力前者負(fù)責(zé)判斷“這個(gè)片段在不在分子里”后者負(fù)責(zé)把“在哪兒”可視化出來。適合的讀者包括做虛擬篩選的藥物化學(xué)研究者、處理化合物庫(kù)的數(shù)據(jù)科學(xué)家、以及任何需要批量分析分子結(jié)構(gòu)的人。哪怕你之前只用 RDKit 畫過簡(jiǎn)單的分子式這篇內(nèi)容也能讓你把子結(jié)構(gòu)搜索和高亮這套組合拳打順。我下面會(huì)從最基礎(chǔ)的匹配原理講起然后一步步拆到代碼層面把 SMARTS 的寫法、匹配函數(shù)的區(qū)別、高亮參數(shù)的調(diào)優(yōu)、以及批量處理時(shí)的性能坑都過一遍。中間會(huì)穿插我自己踩過的坑和實(shí)測(cè)有效的技巧盡量讓你少走彎路。2. 子結(jié)構(gòu)搜索的底層邏輯RDKit 到底在比什么2.1 圖匹配而非字符串匹配很多人第一次聽到“子結(jié)構(gòu)搜索”下意識(shí)會(huì)以為是在做字符串包含判斷就像 Python 里abc in abcdef那樣。但分子結(jié)構(gòu)的本質(zhì)是圖Graph原子是節(jié)點(diǎn)化學(xué)鍵是邊。RDKit 做子結(jié)構(gòu)搜索實(shí)際上是在做**子圖同構(gòu)Subgraph Isomorphism**的判斷——問的是“查詢片段這個(gè)圖能不能嵌入到目標(biāo)分子這個(gè)圖里”。這個(gè)區(qū)別很關(guān)鍵。字符串匹配是線性的、位置敏感的而圖匹配要考慮原子的連接關(guān)系、環(huán)的閉合方式、以及化學(xué)環(huán)境。舉個(gè)例子查詢片段是“苯環(huán)”目標(biāo)分子里有一個(gè)苯環(huán)但苯環(huán)上還連著其他基團(tuán)。字符串匹配可能會(huì)因?yàn)椤岸嗔俗址倍〉珗D匹配只關(guān)心苯環(huán)這個(gè)子圖是否存在不關(guān)心它外面還掛了什么。這就是為什么子結(jié)構(gòu)搜索必須用圖算法而不能用簡(jiǎn)單的文本比對(duì)。RDKit 底層用的是 VF2 算法的變體來做子圖同構(gòu)判斷。VF2 是一種經(jīng)典的回溯搜索算法通過逐步擴(kuò)展匹配節(jié)點(diǎn)、剪枝不滿足條件的候選最終找到所有可能的嵌入方式。你不需要自己實(shí)現(xiàn)這個(gè)算法但理解它的存在有助于你明白為什么有些查詢會(huì)返回多個(gè)匹配結(jié)果因?yàn)橥粋€(gè)片段可能在分子里有多種嵌入方式以及為什么某些復(fù)雜查詢會(huì)變慢因?yàn)榛厮菟阉鞯臓顟B(tài)空間可能很大。2.2 SMARTS描述子結(jié)構(gòu)的專用語(yǔ)言要讓 RDKit 知道你想找什么片段你得用一種它能讀懂的語(yǔ)言來描述。這個(gè)語(yǔ)言就是SMARTSSMiles ARbitrary Target Specification。SMARTS 是 SMILES 的擴(kuò)展SMILES 用來描述一個(gè)具體分子而 SMARTS 用來描述一類結(jié)構(gòu)模式。舉個(gè)最直觀的例子。苯的 SMILES 是c1ccccc1這是一個(gè)具體的分子。如果你想表達(dá)“任意一個(gè)苯環(huán)”SMARTS 可以寫成c1ccccc1但更通用的寫法是[#6]1:[#6]:[#6]:[#6]:[#6]:[#6]:1其中[#6]表示任意碳原子:表示芳香鍵。當(dāng)然實(shí)際使用中很少有人寫這么啰嗦通常直接用c1ccccc1就夠了因?yàn)樾慶在 SMARTS 里就代表芳香碳。SMARTS 的強(qiáng)大之處在于它支持各種通配符和邏輯操作。比如[#6]匹配任意碳[C,N]匹配碳或氮[!O]匹配非氧原子*匹配任意原子。還有針對(duì)化學(xué)環(huán)境的修飾符比如[C;H3]表示恰好連了三個(gè)氫的碳[C;R]表示處于環(huán)上的碳。這些語(yǔ)法讓你能精確地描述“我要找的是什么”。我個(gè)人的經(jīng)驗(yàn)是剛開始用 SMARTS 時(shí)最容易犯的錯(cuò)是把 SMILES 當(dāng) SMARTS 用。比如你想找羧基寫了C(O)O這在很多情況下確實(shí)能匹配到但它也會(huì)匹配到酯基里的C(O)O部分因?yàn)轷セ舶@個(gè)子圖。如果你只想找游離的羧酸得寫成[CX3](O)[OX2H1]明確指定羥基上的氧連了一個(gè)氫。這種細(xì)節(jié)在批量篩選時(shí)特別重要寫錯(cuò)一個(gè)修飾符結(jié)果可能差出幾百個(gè)分子。2.3 匹配函數(shù)的家族HasSubstructMatch 與 GetSubstructMatchesRDKit 提供了兩個(gè)層次的子結(jié)構(gòu)搜索函數(shù)用途不同返回值也不同。HasSubstructMatch返回一個(gè)布爾值只告訴你“有沒有匹配”不告訴你“匹配在哪里”。這個(gè)函數(shù)適合做快速篩選比如你有一個(gè)十萬(wàn)級(jí)的化合物庫(kù)想先粗篩出所有含某個(gè)片段的分子用這個(gè)函數(shù)就夠了速度快內(nèi)存占用小。GetSubstructMatches返回一個(gè)元組的元組每個(gè)內(nèi)層元組是一組原子索引表示一次匹配中查詢片段的各個(gè)原子分別對(duì)應(yīng)目標(biāo)分子的哪些原子。這個(gè)函數(shù)適合需要精確定位的場(chǎng)景比如你要在高亮圖上標(biāo)出匹配位置就必須知道具體是哪些原子參與了匹配。還有一個(gè)GetSubstructMatch注意沒有復(fù)數(shù) s只返回第一個(gè)匹配的原子索引元組。如果你只關(guān)心“找到一個(gè)就行”用這個(gè)比GetSubstructMatches更省資源因?yàn)樗业降谝粋€(gè)匹配就停了不會(huì)繼續(xù)搜索所有可能的嵌入方式。選擇哪個(gè)函數(shù)取決于你的下游需求。如果只是統(tǒng)計(jì)有多少分子含有某片段HasSubstructMatch足夠如果要畫高亮圖必須用GetSubstructMatches或GetSubstructMatch。我見過有人用HasSubstructMatch篩完之后又對(duì)每個(gè)陽(yáng)性分子調(diào)GetSubstructMatches來畫圖這其實(shí)多了一次搜索不如直接調(diào)后者然后判斷返回是否為空。3. 高亮繪制的參數(shù)調(diào)優(yōu)讓匹配位置一眼可見3.1 高亮原理原子索引到顏色的映射RDKit 的繪制模塊rdkit.Chem.Draw提供了Draw.MolToImage和Draw.MolToFile等函數(shù)它們都接受一個(gè)highlightAtoms參數(shù)。這個(gè)參數(shù)是一個(gè)原子索引的序列RDKit 會(huì)把這些原子以及它們之間的鍵用高亮顏色畫出來。關(guān)鍵點(diǎn)在于高亮的是原子鍵的高亮是附帶的。當(dāng)你傳入一組原子索引時(shí)RDKit 會(huì)檢查這些原子之間的鍵如果一條鍵的兩個(gè)端點(diǎn)都在高亮集合里這條鍵也會(huì)被高亮。所以如果你只高亮了一個(gè)原子它周圍的鍵不會(huì)變色如果你高亮了整個(gè)苯環(huán)的六個(gè)碳環(huán)上的六條鍵也會(huì)跟著高亮。這個(gè)機(jī)制意味著GetSubstructMatches返回的原子索引元組可以直接喂給highlightAtoms不需要額外轉(zhuǎn)換。比如匹配結(jié)果返回(0, 1, 2, 3, 4, 5)你直接把這個(gè)元組傳給highlightAtoms苯環(huán)就會(huì)被完整高亮。3.2 顏色與樣式的自定義默認(rèn)的高亮顏色是黃色說實(shí)話在白色背景上對(duì)比度一般尤其是當(dāng)分子本身有顏色或者打印出來的時(shí)候黃色高亮經(jīng)??床磺濉DKit 允許你通過highlightColor參數(shù)自定義顏色傳一個(gè) RGB 元組就行。我通常用(0.8, 0.2, 0.2)這種偏紅的顏色在白底上非常醒目。如果你需要同時(shí)高亮多個(gè)不同的子結(jié)構(gòu)比如一個(gè)分子里既有苯環(huán)又有羧基你想用不同顏色區(qū)分那就得用highlightAtomColors參數(shù)。這個(gè)參數(shù)接受一個(gè)字典鍵是原子索引值是 RGB 元組。你可以把第一個(gè)匹配的原子染成紅色第二個(gè)匹配的染成藍(lán)色以此類推。還有一個(gè)容易被忽略的參數(shù)是highlightBonds它允許你單獨(dú)指定要高亮的鍵。通常情況下你不需要用它因?yàn)樵痈吡習(xí)詣?dòng)帶動(dòng)鍵高亮。但在某些特殊場(chǎng)景下比如你想高亮一條鍵但不想高亮它的端點(diǎn)原子就得手動(dòng)指定。不過這種需求很少見大部分時(shí)候用原子高亮就夠了。3.3 圖例與標(biāo)注的添加畫高亮圖時(shí)經(jīng)常需要在圖旁邊加個(gè)圖例說明“紅色高亮的是苯環(huán)藍(lán)色高亮的是羧基”。RDKit 的Draw.MolToImage支持legend參數(shù)可以傳一個(gè)字符串作為圖例。如果你用Draw.MolsToGridImage畫多個(gè)分子的網(wǎng)格圖legends參數(shù)可以傳一個(gè)字符串列表每個(gè)分子對(duì)應(yīng)一個(gè)圖例。圖例的字體大小和位置 RDKit 沒有直接暴露參數(shù)來調(diào)但你可以通過Draw.DrawingOptions來全局調(diào)整。比如Draw.DrawingOptions.legendFontSize可以改圖例字號(hào)Draw.DrawingOptions.legendFraction可以改圖例占整張圖的高度比例。這些參數(shù)在批量出圖時(shí)很有用尤其是當(dāng)分子圖很小、圖例文字?jǐn)D在一起的時(shí)候。我自己的習(xí)慣是如果只是自己看不加圖例也行高亮顏色本身就說明了問題。但如果是給別人看或者放進(jìn)報(bào)告里圖例一定要加而且要寫清楚 SMARTS 表達(dá)式這樣別人能復(fù)現(xiàn)你的篩選條件。4. 從單分子到批量完整實(shí)操鏈路4.1 環(huán)境準(zhǔn)備與依賴安裝RDKit 的安裝方式取決于你的操作系統(tǒng)和 Python 環(huán)境。最省事的方式是用 condaconda install -c conda-forge rdkit如果你用 pip也可以裝pip install rdkit但要注意pip 版本的 RDKit 在某些平臺(tái)上可能缺少一些可選依賴比如 Cairo 繪圖后端。如果你發(fā)現(xiàn)畫出來的圖是空白的或者報(bào)錯(cuò)說找不到繪圖后端大概率是這個(gè)問題。conda 版本通常更完整推薦優(yōu)先用 conda。安裝完之后驗(yàn)證一下from rdkit import Chem from rdkit.Chem import Draw print(Chem.__version__ if hasattr(Chem, __version__) else ok)如果沒報(bào)錯(cuò)說明環(huán)境沒問題。我建議在虛擬環(huán)境里裝 RDKit因?yàn)樗蕾嚨膸?kù)比較多跟其他科學(xué)計(jì)算庫(kù)混在一起容易出沖突。4.2 單分子搜索與高亮的完整代碼下面這段代碼是我平時(shí)最常用的模板從 SMILES 讀入分子搜索子結(jié)構(gòu)然后畫高亮圖from rdkit import Chem from rdkit.Chem import Draw # 目標(biāo)分子 mol Chem.MolFromSmiles(c1ccc2c(c1)nc(n2)c3ccccc3) # 查詢片段苯并咪唑骨架 query Chem.MolFromSmarts(c1ccc2c(c1)nc(n2)) # 搜索所有匹配 matches mol.GetSubstructMatches(query) # 畫高亮圖 if matches: img Draw.MolToImage(mol, highlightAtomsmatches[0], highlightColor(0.8, 0.2, 0.2), size(400, 300)) img.save(highlighted.png) else: print(未找到匹配)這段代碼里matches是一個(gè)元組的元組。如果分子里只有一個(gè)苯并咪唑matches就只有一個(gè)元素如果有多個(gè)就會(huì)有多個(gè)。我通常只高亮第一個(gè)匹配因?yàn)槎鄠€(gè)匹配同時(shí)高亮?xí)寛D變得很亂。如果你確實(shí)需要展示所有匹配可以用highlightAtoms傳一個(gè)扁平化的列表把所有匹配的原子都放進(jìn)去但顏色就沒法區(qū)分了。4.3 批量處理與網(wǎng)格圖輸出當(dāng)你有一批分子要處理時(shí)逐個(gè)畫圖再拼起來太麻煩。RDKit 的Draw.MolsToGridImage可以直接畫網(wǎng)格圖from rdkit import Chem from rdkit.Chem import Draw smiles_list [ c1ccc2c(c1)nc(n2)c3ccccc3, c1ccc2c(c1)nc(n2)CCCC, c1ccccc1, c1ccc2c(c1)nc(n2)C(O)O ] query Chem.MolFromSmarts(c1ccc2c(c1)nc(n2)) mols [] highlights [] legends [] for smi in smiles_list: mol Chem.MolFromSmiles(smi) if mol is None: continue match mol.GetSubstructMatch(query) if match: mols.append(mol) highlights.append(match) legends.append(Match) else: mols.append(mol) highlights.append(()) legends.append(No match) img Draw.MolsToGridImage(mols, molsPerRow2, highlightAtomListshighlights, legendslegends, subImgSize(300, 250)) img.save(grid.png)這里有個(gè)細(xì)節(jié)highlightAtomLists參數(shù)接受一個(gè)列表每個(gè)元素對(duì)應(yīng)一個(gè)分子的高亮原子索引。對(duì)于沒有匹配的分子傳空元組()就行RDKit 會(huì)正常畫出分子但不加高亮。legends參數(shù)同理每個(gè)分子對(duì)應(yīng)一個(gè)圖例字符串。實(shí)測(cè)下來MolsToGridImage在分子數(shù)量超過 50 個(gè)時(shí)生成的圖片會(huì)非常大加載和渲染都會(huì)變慢。如果你要處理幾百個(gè)分子建議分批出圖每批 20 到 30 個(gè)或者直接用MolsToFile逐個(gè)保存成單獨(dú)的圖片文件。5. 那些文檔里不會(huì)寫的踩坑經(jīng)驗(yàn)5.1 芳香性感知導(dǎo)致的匹配失敗這是我最常遇到的坑沒有之一。RDKit 在讀入分子時(shí)會(huì)做芳香性感知Aromaticity Perception決定哪些環(huán)是芳香環(huán)。如果你的 SMARTS 里用了小寫字母如c表示芳香碳但目標(biāo)分子在 RDKit 眼里那個(gè)環(huán)不是芳香環(huán)匹配就會(huì)失敗。舉個(gè)例子吡啶的 SMILES 是c1ccncc1RDKit 會(huì)正確識(shí)別為芳香環(huán)。但如果你從某些文件格式讀入分子或者分子經(jīng)過了某些化學(xué)修飾RDKit 可能沒有正確感知芳香性導(dǎo)致c1ccncc1這個(gè) SMARTS 匹配不上。解決辦法是用Chem.SanitizeMol強(qiáng)制做一次完整的化學(xué)感知或者在 SMARTS 里用大寫字母加芳香性修飾符比如[C;R]表示環(huán)上的碳不依賴芳香性判斷。我個(gè)人的習(xí)慣是在批量處理前先對(duì)每個(gè)分子調(diào)一次Chem.SanitizeMol確保 RDKit 對(duì)分子的理解是一致的。雖然這會(huì)稍微增加處理時(shí)間但能避免很多莫名其妙的匹配失敗。5.2 匹配數(shù)量爆炸與性能陷阱有些 SMARTS 查詢會(huì)返回大量的匹配結(jié)果尤其是當(dāng)查詢片段很小或者很通用的時(shí)候。比如你用[#6]去匹配一個(gè)含 50 個(gè)碳的分子會(huì)返回 50 個(gè)匹配每個(gè)匹配就是一個(gè)碳原子。如果你用GetSubstructMatches并且沒有設(shè)置uniquifyFalseRDKit 會(huì)返回所有可能的嵌入方式數(shù)量可能是指數(shù)級(jí)的。GetSubstructMatches有一個(gè)uniquify參數(shù)默認(rèn)是True表示對(duì)結(jié)果去重。去重的規(guī)則是如果兩組匹配的原子集合相同只保留一組。但即使去重之后匹配數(shù)量仍然可能很大。還有一個(gè)maxMatches參數(shù)可以限制返回的最大匹配數(shù)默認(rèn)是 1000。如果你只關(guān)心“有沒有匹配”或者“前幾個(gè)匹配”把maxMatches設(shè)小一點(diǎn)能顯著提速。另外GetSubstructMatches還有一個(gè)useChirality參數(shù)默認(rèn)是False。如果你需要區(qū)分手性比如只想匹配特定構(gòu)型的片段得把它設(shè)成True。但開啟手性匹配會(huì)變慢因?yàn)樗惴ㄐ枰~外比較原子的立體化學(xué)信息。5.3 高亮圖的原子索引錯(cuò)位這個(gè)問題比較隱蔽通常出現(xiàn)在你從文件讀入分子之后。RDKit 在讀入分子時(shí)原子索引的順序可能跟你預(yù)期的不同。比如你從 SDF 文件讀入一個(gè)分子SDF 里原子的順序是 A、B、C但 RDKit 內(nèi)部可能會(huì)重新排列原子索引。如果你用外部工具生成的原子索引去高亮就會(huì)標(biāo)錯(cuò)位置。解決辦法是始終用 RDKit 自己返回的索引。GetSubstructMatches返回的索引就是 RDKit 內(nèi)部的原子索引直接傳給highlightAtoms不會(huì)錯(cuò)位。如果你需要跟外部數(shù)據(jù)對(duì)照先用mol.GetAtomWithIdx(i).GetSymbol()確認(rèn)一下索引對(duì)應(yīng)的原子是不是你想要的。還有一個(gè)相關(guān)的問題是當(dāng)你對(duì)分子做了Chem.AddHs或者Chem.RemoveHs之后原子索引會(huì)變。加氫會(huì)插入新的氫原子索引全部后移去氫會(huì)刪除氫原子索引前移。如果你在高亮之前做了這些操作一定要重新獲取匹配結(jié)果不能用之前的索引。5.4 繪圖后端的兼容性問題RDKit 的繪圖功能依賴后端默認(rèn)在 Jupyter 里用IPython.display顯示在腳本里用PIL或Cairo保存文件。如果你在無(wú)圖形界面的服務(wù)器上跑代碼可能會(huì)遇到ImportError或者OSError提示找不到顯示設(shè)備。解決辦法是明確指定用PIL后端from rdkit.Chem.Draw import rdMolDraw2D drawer rdMolDraw2D.MolDraw2DCairo(400, 300) drawer.DrawMolecule(mol, highlightAtomsmatches[0]) drawer.FinishDrawing() with open(output.png, wb) as f: f.write(drawer.GetDrawingText())MolDraw2DCairo是純文件輸出的不依賴圖形界面在服務(wù)器上跑很穩(wěn)。MolDraw2DSVG則是輸出 SVG 矢量圖適合放進(jìn)網(wǎng)頁(yè)或者需要無(wú)損縮放的場(chǎng)景。我一般在服務(wù)器上批量出圖時(shí)都用MolDraw2DCairo從來沒出過問題。6. 進(jìn)階玩法讓子結(jié)構(gòu)搜索更貼合實(shí)際需求6.1 多片段聯(lián)合搜索有時(shí)候你要找的不是單個(gè)片段而是“同時(shí)含有 A 和 B 兩個(gè)片段”的分子。最直接的做法是分別搜索然后取交集query_a Chem.MolFromSmarts(c1ccccc1) query_b Chem.MolFromSmarts(C(O)O) match_a mol.GetSubstructMatches(query_a) match_b mol.GetSubstructMatches(query_b) if match_a and match_b: # 兩個(gè)片段都存在 all_atoms list(match_a[0]) list(match_b[0]) img Draw.MolToImage(mol, highlightAtomsall_atoms)但這樣高亮出來兩個(gè)片段是同一種顏色分不清哪個(gè)是哪個(gè)。更好的做法是用highlightAtomColors給不同片段染不同顏色colors {} for idx in match_a[0]: colors[idx] (0.8, 0.2, 0.2) # 紅色 for idx in match_b[0]: colors[idx] (0.2, 0.2, 0.8) # 藍(lán)色 img Draw.MolToImage(mol, highlightAtomslist(colors.keys()), highlightAtomColorscolors)這樣苯環(huán)是紅色羧基是藍(lán)色一目了然。如果你有更多片段可以繼續(xù)加顏色但建議不要超過三種否則圖會(huì)變得很花。6.2 用 SMARTS 做官能團(tuán)篩選子結(jié)構(gòu)搜索最常見的應(yīng)用場(chǎng)景之一就是官能團(tuán)篩選。RDKit 官方文檔里有一份常用的 SMARTS 列表我摘幾個(gè)我經(jīng)常用的官能團(tuán)SMARTS說明羧酸[CX3](O)[OX2H1]注意要指定羥基氫酯基[CX3](O)[OX2][#6]氧另一端連碳酰胺[CX3](O)[NX3]氮可以是伯胺、仲胺、叔胺磺酸基[SX4](O)(O)[OX2H1]硫連兩個(gè)雙鍵氧和一個(gè)羥基硝基[NX3](O)O氮連兩個(gè)雙鍵氧芳香環(huán)c1ccccc1苯環(huán)更通用的是c1ccccc1或[#6;R]1:[#6;R]:[#6;R]:[#6;R]:[#6;R]:[#6;R]:1這些 SMARTS 我實(shí)測(cè)過大部分但要注意不同的 RDKit 版本對(duì)芳香性的處理可能有細(xì)微差異同一個(gè) SMARTS 在不同版本上匹配結(jié)果可能不完全一致。如果你要做嚴(yán)格的篩選建議在目標(biāo)版本上先做一輪驗(yàn)證。6.3 匹配結(jié)果的可視化統(tǒng)計(jì)當(dāng)你處理完一批分子后通常需要統(tǒng)計(jì)一下匹配情況。比如“這批分子里有多少含羧酸多少含酰胺”。這個(gè)用 Python 的collections.Counter就能做from collections import Counter results Counter() for mol in mols: if mol.HasSubstructMatch(carboxylic_acid): results[carboxylic_acid] 1 if mol.HasSubstructMatch(amide): results[amide] 1 print(results)如果你想把統(tǒng)計(jì)結(jié)果可視化可以用 matplotlib 畫個(gè)柱狀圖。但要注意RDKit 本身不提供統(tǒng)計(jì)圖表功能得靠外部庫(kù)。我一般用 matplotlib 或者 seaborn簡(jiǎn)單畫個(gè) bar chart 就夠了。還有一個(gè)技巧是把匹配結(jié)果導(dǎo)出成 CSV方便后續(xù)在 Excel 里做透視表。RDKit 的PandasTools模塊可以直接把分子和屬性轉(zhuǎn)成 DataFrame配合 pandas 做統(tǒng)計(jì)分析非常方便。7. 我個(gè)人的幾條實(shí)操建議第一SMARTS 寫完一定要驗(yàn)證。我習(xí)慣拿幾個(gè)已知含目標(biāo)片段的分子和幾個(gè)已知不含的分子做正負(fù)對(duì)照確認(rèn) SMARTS 的匹配行為符合預(yù)期。這一步花不了幾分鐘但能避免后面批量篩選時(shí)出現(xiàn)系統(tǒng)性錯(cuò)誤。第二高亮圖不要追求一次畫完所有匹配。如果一個(gè)分子里有多個(gè)匹配全部高亮?xí)寛D變得難以辨認(rèn)。我通常只高亮第一個(gè)匹配或者用不同顏色高亮前兩三個(gè)剩下的在文字里說明。第三批量處理時(shí)注意內(nèi)存。RDKit 的分子對(duì)象雖然不算大但如果你一次加載幾萬(wàn)個(gè)分子并全部保留在內(nèi)存里還是會(huì)吃不少資源。我一般用生成器逐行讀 SDF 或 SMILES 文件處理完一個(gè)就釋放一個(gè)避免內(nèi)存堆積。第四繪圖尺寸要跟用途匹配。如果是放進(jìn)論文或報(bào)告用size(600, 450)或更大保證打印清晰如果只是在終端里快速看一眼size(300, 200)就夠了。SVG 格式適合需要縮放的場(chǎng)景PNG 適合直接嵌入文檔。第五保留中間結(jié)果。子結(jié)構(gòu)搜索的結(jié)果匹配的原子索引建議保存下來不要每次重新算。尤其是當(dāng)你的 SMARTS 比較復(fù)雜、分子比較大的時(shí)候重新搜索可能很耗時(shí)。把匹配結(jié)果存成 JSON 或 pickle下次直接讀能省不少時(shí)間。這套流程我在多個(gè)項(xiàng)目里反復(fù)用過從幾十個(gè)分子的手工驗(yàn)證到幾萬(wàn)個(gè)分子的批量篩選基本都能覆蓋。RDKit 的子結(jié)構(gòu)搜索和高亮繪制雖然只是它眾多功能中的一小塊但把這一塊吃透能解決化學(xué)信息學(xué)里相當(dāng)一部分日常需求。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色99亚洲| 色色色色色色色色色色色色色色,网站| 99久久99久久综合| 亚洲人成色A777777在线观看| 九九五月天| 婷婷五月综合国产精品| 久久久久婷婷| AV在线中文| 色综合xx| 丁香六月婷婷一区| 婷婷丁香成人| 色五月天电影| 五月丁香啪啪啪啪| 成人色情五月天婷婷丁香| 69精品人妻不卡视频| 激情久久久| 天天日,天天插| 五月丁香六月久久| 亚洲AV成人精品日韩在线播放| 九九色婷婷五月天| 无码一区精品一区视频| 五月综合久久| 97人人干| 五月天激情国产综合婷婷婷| 色一情一乱一乱一区91Av| 综合深爱五月| 互月天综合| 永久的网站AAAA | 五月婷婷色情| 婷婷丁香亚洲五月天| 婷婷久久综合久| 综合激情四射一theav| 日本天天操| 久久永久视频| 99自拍视频| 五月婷婷激情综合av| 99.色| 亚洲另类在线观看| 婷婷五月天中文字幕.| 亚洲色综合色网| 大香蕉久久视频久久视频| 久激情网| 99久久99九九99九九九| 五月天丁香啪啪综合| 婷色五月天| 大香蕉Av在线| 色亚洲无码| 九九十99视频| 丁香久久| www.婷婷,com| 六月婷婷开心| 五月丁香av中文| 色综合激情图区| 开心婷婷五月激情网小说| 久久婷婷五月综合成人d啪| 色播激情| 六月婷欧美| 久久婷婷丁香视频网| 日韩欧美成人网| 日本三级日本黄色| 2015超碰| 丁香六月AV| 色 免费网站视频| 看婷婷五月天网| 五月丁香啪啪啪免费看| 五月激情丁香| 久综合网| 99国产在线精品视频| 韩国中文字幕91| 色在线免费观看| 激情综合网婷婷五夜| 久综合九综合99| 色婷婷无吗| 99热全是精品| 天天日天天狠狠操| 天天干狠狠| 激情亚洲婷婷| 一级AV片| 六月激情婷婷| 国产精品五月天婷婷| 九九激情视频| 中文字幕成人| 色娸娸综合网| 这里只有精品视频在线看| 丁香美女五月天婷婷| 五月丁香婷婷色色色| 亚洲中文乱字字幕在线永久| 国产成人亚洲综合亚洲| 天天做天天爱天天爽在| 狠狠色狠狠| 日本色色色| 91碰碰碰久久久久| 日本ww亚洲| 深爱激清网| 婷婷综合97| 人妻丰满精品一区二区A片| 久久婷婷五月综合色区| 久热这里只有精品性色AV| 热久久66| 九九热这里| 蒲京久久无码视频| 天天日夜夜夜操操操操| 日韩无码色色| 黄色一极大片| 婷婷丁香五月综合| 丁香六月激情四射| 玖玖资源在线视频| 婷婷伊人综合| 五月天性色| www.五月婷婷.com| 综合激情专区| www.色色色色| 激情综合五月丁香六月婷婷| 婷婷丁香六月激情综合| 色色色色五月| 日韩啪| 日本ww亚洲| 丁香五月影视| 99亚洲视频| 综合激情深爱| 9色资源在线| www一起操| 97丁香花五月天激情小说| 99热无码首页| 婷婷五月欧美综合| 激情影院内射| 五月激情小说| 五月丁香六月综合情在线观看| 丁香社区婷婷五月| 亚洲av| 五月丁香婷婷啪啪| 99riAV国产精品视频| 色五天综合| 99热久| 婷婷五月综合视频免费播放| 天天日中文| 久久人妻精品| 97色色网| 99精品这里只有免费视频| 日韩视频99| 99在线精品视频| 99久精品| 99视频只有精品| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 伊综合蕉| 热99热9| 99热9| 丁香五月婷婷激情四射| 色五月欧美| 国产,欧美,学生妹,视频| 久热伊人| 婷婷久久网| 久久婷婷五月综合伊人| 五月婷婷六月天| 色婷成人狠干| 欧美色色色色色| 免费观看日韩成人av| 综合逼五月激情婷婷| 99色色网| 九九视频热| 北京熟妇搡BBBB搡BBBB| 五月天婷婷青青| 色婷婷小说网| 婷婷五月天va| 天天狠狠综合精区| 日韩操人| 日日夜夜狠狠婷婷色| 色综合天堂| 九九99在线| 五月婷激情| 伊人丁香五月婷婷潮吹| 国产免费一区二区三区三州老师F1F1.CC| 久久久精品99| 激情综合区| 九月丁香婷婷综合| 天天射影院| 情婷婷五月天在线| 欧美熟妇一区二区三区| 五月丁香婷中文| 久超超碰| 超碰在线91| 亚洲第一色色色色| 久久久久久9热不雅视频| 六月狠狠综合| 伊人91| 五月大香蕉| 三十路磁力链接| 丁香五月激动深爱欧美| 丁香五月开心婷婷| 亚洲中文字幕网| 丁香婷婷久久 | 天天摸,天天爽| 国产3p露脸普通话对白| 婷婷丁香18| 黄色成人网站在线播放| 国产精产国品一二三在观看| 五月天网站免费欧美| 色九九丁香九月色九九色| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 一区二区你懂的| 丁香五月天堂亚洲社区| 婷婷久月| sS丁香五月婷婷| 色吧婷婷五月亚洲| 色色激情网| 五月天婷婷在线观看精品男人| 337久久| 天天插天天干| 色婷婷丁香五月天激情综合网| 91xxxx九色| www.久久99| 天天cha成人综合网| 99久久五月天| 97超喷视频在线观看| 五月99久久| 五月亚洲激情| 大香蕉久| 色婷婷综合影院| 91操人| 亚洲五月花| 亚洲婷婷视频| 免费看成人747474九号视频在线观看| 丰满少妇猛烈A片免费看观看| 26UUU欧美激情一区二区| 色九九综合热99| 六月婷婷色综合| 99re这里只有| 婷婷五月天综合色| 美女婷婷六月色| 激情五月九九九| 亚洲精品婷婷| 大香蕉综合在线| 26uuu亚洲欧美| 色10月婷婷视频| 五月天婷婷涩涩| www婷婷| 伊人五月综合网| 五月亚洲激情| WWW色五月天| 激情文学第四色婷婷丁香五月| 99热这里有精品| 99热大香蕉| 日日干综合| 五月婷婷六月丁香免费| 超碰人人色| 欧美超碰人人| 一起肏在线视频| 99视频综合| 日本一级| 色五月激情五月天| 狠狠干狠狠干| 99色在线| 无遮挡国产高潮视频免费观看| 色婷婷综合视频| www,99热| 深爱婷婷网| 五月开心深爱激情网| 激情婷婷五月黑人| 五月天激情国产综合AV| 五月丁香狠狠| 嫩草乱码一区三区四区| 色99网站| 亚洲天堂啪啪| 天天插综合| 丁香五月情| 99精品视频网| 亚洲激情综合网| 国产avapp 网| 超碰AV在线| 五月叮香啪| 99热网站| 一本大道嫩草AV无码专区| 深爱综合网| 4399在线日本A片| 99日本在线| 丁香婷婷色九月| 五月丁香综合网| 色色亚洲| 五月丁香激情综合| 久久久精品免费啪啪国| 六月激情丁香一道本7777| 婷婷丁香黄色| 色婷婷AAA| 婷婷五月天AV| 狠狠色狠狠鲁| 99热这里只有精品免费| 久99热| 婷婷爱五月| 婷婷大香焦| 激情婷婷在线| 丁香六月啪| 婷婷97狠狠干| 国产精品香蕉| 婷婷五月丁香基地| 伊人九九68| 超碰免费电影| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 九九热99熟女| 大香蕉九九| 五月丁香亭亭激情操逼网| 香蕉曰比| 另类小说五月天| 久久久婷丁香五月| 99综合网| 亚洲熟妇AV乱码在线观看| 狠狠色婷| 99re这里只有精品9| 综合性视频99| 婷婷情色五月天| 五月丁香狠狠爱| 99久热视频在线| 熟女网站久久| 五月天婷婷丁香社区| 久操福利| 久久婷婷网址| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 思思热精品在线观看| 99福利导航| 天天日天天操心| 亚洲AV另类| 狠狠色婷婷在线| 婷婷色5月激情网| 超碰99热| cao久久| 欧美性猛交99久久久99| 亚洲美女网Va| 欧美天堂久久| 婷婷色色欧美| 怡红院精品视频久久久久久久久| 中文字幕成人| 激情宗合 激情宗合| 精品久久人妻热| 久久久久婷| 婷婷福利影院| 激情婷婷五月黑人| 狠狠色综合网| 黄网在线播放| 综合网啪| 亚洲色图啪啪| 丁香五月综合亚洲| 国产日产亚系列精品版优势| 五月综合婷婷开心网| 婷婷五月色激情欧美激情| 色一情一乱一伦一区二区三区| 丁香五月先锋| 色五婷婷开心缴| 成人做爰A片免费看网站找不到了| 国产激情在线| 这里只有精品久久| 婷婷综合在线播放| 婷婷色网站| 在线sebiav精品视频| 色婷婷在线综合色播网| 九色婷婷| 秋霞三级影视资源| 国产美女无遮挡裸体毛片A片| 国产综合色婷婷精品久久| 五月丁香激情婷婷| 成人综合网站| 天天碰天天插天天操| 久9视频| 怡红院 久久| 五月天丁香成人社| 99精品久久久久久久婷婷| 婷婷五月天视频免费在线观看| 97碰精品| 丁香五月婷婷网| 色久99| 婷婷五月天激情在线| 日本操B视频在线观看| 亚洲avjiujiur91| 五月婷婷色五月| 国産精品| 精品人妻伦一二三区久久| 久久综合中文| AA丁香综合激情| 天天爱天天做天天舔| 大香蕉婷婷| 五月天色婷婷激情综合| 国产在线aaa片一区二区99| WWW丁香五月| 五月天激情视频| 五月婷婷综合激情| 99福利视频导航| 色婷婷五月天久久| 婷婷综合激情| 国产精品99久久久久久久女警| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 色五月美女| 另类激情网| 日本在线wwww| 99色性爰网络| 五月丁香六月婷婷婷婷| 欧美亚洲成人在线| 亚洲黄色影视| 久久久99精品| 色三级色三级| 51精品国自产在线| 丝袜激情网| 伊人激情| 丁香五月色情av| 婷婷午夜天| 婷婷五月天综合久久| 狼人久草| 日本va欧美va欧美va| 99热销国产这里有精品| 五月丁香自拍| 在热视频精品| 67194成I人在线观看线路1| 99自拍视频| 能直接看的AV网站| 97香蕉久久超级碰碰高清版| 日韩AV无码影片| 五月婷婷激情综合网| 日本久久婷婷| AV成人在线网站| 丁香六月激情综合| 三区激情四射av| 极品人妻VIDEOSSS人妻| 日韩精品999| 77799热| 99ri视频在线观看| 大香蕉久久| 五月天婷婷影院影院观看| 久久婷婷色| 成人美女网| 天天肏高清在线| 婷婷色播六月无码| 久婷婷婷| 日韩 mm 不卡| 亚洲精品无AMM毛片| 大香蕉欧美在线| 五月婷丁香久久久| 中文字幕视频在线播放| www狠狠爱com| αv中文字幕在线观| 色色五月天丁香| 色噜综| 99在线热| 婷婷六月综合基地| 久久丁香九| 午夜成人天堂久久无码日韩久久| #NAME?| 五月丁香影院| 午夜五月天| 婷婷五月六月| www色综合| 午夜九九电影| 国产五月丁香在线| 久综合网| 久久久久亚洲AV无码网影音先锋| 五月天婷婷涩涩| 性按摩玩人妻HD中文字幕| 91精品婷婷国产综合久久| 婷婷丁香色五月天久久88| 色停停香蕉视频| 艹天天射| 超碰伊人碰婷婷五月| 亚洲乱码日产精品BD| 大香蕉五月天| 亚洲激情四射| 综合色99| 开心五月网| 99视频在线精品免费观看2| 婷婷欧美| 久婷五月| 丁香激情四射| 色综合久久天天综合网| 婷婷五月激情图片| 久婷| 99色热| 五月丁香婷婷综合网| 色婷婷亚洲婷婷| AA久久| 日本一级一片免费视频| 成人电影在线免费试看| 99热这里| 99热久久这里只有精品| 国产又黄又爽又色的免费| 久久人妻视频| 天天爽天天| 久久伊人大香蕉| 亚洲成人综合在线| 国自产拍偷拍精品啪啪一区二区| 色99在线| 久久密臀婷婷| 色狠狠综合入口| 婷婷丁香五月91| 97色天堂| 偷偷狠狠久久婷婷五月天| 天天日天天添| 国产精品噜噜在线视频| 性生活久久朋友人妻| 丁香五月天的网址。| 激情六月一二| 婷婷丁香花五月天| 天天操夜夜操| 色噜噜丁香| 任我干视频在线观看| 亚洲AV日韩在线观看| 九九精品9| 综合玖玖偷拍| 婷婷色五月噜噜| 激情丁香五月激情婷婷| 人妻操逼视频| 任你艹| 五月婷A V在线| 青草青草久9视频在线视频| 99日精品视频| 天天干,噜噜色,狠狠色| 日日天天干| 狠狠色婷婷7777久| 色九月| 婷婷丁香91| 婷婷91| 色丁香在线视频| av色色国产| 婷婷五月天久久| 涩涩五月天| 亚洲成人AV电影在线| 久热婷婷在线视频| 思思热思在线精品视频| 天天檫天天爽| 热99在线| 狠狠综合色网| 色婷五月| 丰满人妻一区二区三区| 五月天综合网| 婷婷射图| 丁香五月中文字幕久色| 色色a| 国产99久9在线+|+传媒| 五月综合婷婷开心网| 国产欧洲欧洲精品久久| 中文字幕丰满孑伦无码专区| 9191avse| 色播五月网| 91碰碰| 九九热10| 久久久久这里只有精品| 99丁香婷婷综合网| 激情深爱婷婷网| 日本天天操| 亚洲欧美在线观看| 激情五月天婷婷图| 色999五月色| 99精品综合在线| 天天综合久久| 婷婷伊人网| 丁香六月欧美| 五月天色婷婷av| 色色综合网站| 非洲一级AV| 婷婷色激情五月天| 日本大人久久| 天堂婷婷丁香六月网| 天天干天天色综合| 婷婷五月天AV| 影视av久久久噜噜噜噜噜三级| 五月激情久久| 五月成人综合| 五月天丁香婷婷视频网址| AV在线资源| 婷婷五月天精品| 激情五月婷婷| 美女婷婷六月色| 热99这就是精品视频| 五月婷婷深深爱| 婷婷狠狠干| 七七久久婷婷| 激情五月六月婷婷| 啪啪东京热| 丁香五月色欲| 97在线日韩| 五月丁香花免费视频| 精国产品一区二区三区A片| 六月色色| 五月婷婷丁香六月| 丁香五月婷婷动漫| 亚洲精品一区中文字幕乱码| 激情五月丁香色婷婷| 无码少妇高潮喷水A片免费| 五月丁香日本一抹本| 六月丁香五月婷婷| 人人干天天操五月丁香| 精品一二三区久久AAA片| 婷婷丁香水多多视频| www.99热| 五月婷婷激情69| 真实熟女-91九色| 日日日天天干| 日本久久爽| 九九香蕉网| 九九热99re8热免费观看 | 婷婷五月花西瓜| 麻豆忘忧草午夜| 久久机热/这里只有精品| 色婷婷AⅤ| 伊人www22综合色| 色综合婷婷| 精品一二三区久久AAA片| 丁香婷婷五月天色播| 草了bav视频在线观看| 日日夜夜狠狠| 黄页大全十八禁| 日本欧美成人片AAAA| 夜丁香五月婷婷| 五月丁香趴趴| 五月开心久久| 人妻久久久久久久久久| 婷婷五月天AV在线| 日本视频不卡123区| 欧美va欧美va差| 99人妻碰碰碰久久久久| www.夜夜操| 激情五月婷婷综合网| 九月丁香婷婷基地| 操久久网| 丁香六月视频| 国内久久亭亭| 天天色情站| 婷婷五月色天| 久久激情综合| 欧美日韩国产伦精品日韩人妻一| 91人操人人人操人| 久色网五月| 97婷婷狠狠| 青青草视频免费观看| 日韩啊啊啊| www.婷婷网| 2015WWW永久免费观看播放| 色综合99| 深爱激情丁香| 狠狠操天天操天天操| 中文av在线观看| 综合色图区| 天天色官网| 丁香五月天激情| 五月激情综合婷婷| 色婷婷六月| 婷婷五月天激情网站| 九九精品片一| www.99日本| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 97人碰人操| 操碰91| 5月婷婷激情网| 性爱先锋AV| 五月婷婷狠狠干| 五月婷婷影视| 拍真实国产伦偷精品| 色综合天天| 热99这里只有精品视频| 一本道综合网| 第四色色六月色综合| 色五月大| 丁香五月综合激情久久潮喷| 国产免费性爱| 亚洲日韩一页精品发布| 激情婷婷丁香| 久热91| 九九热在线视频| 天堂草在线观| 天天色,天天操,天天射| 亚洲小视频免费观看| 婷婷五月天激情电影| www.cao.com久久| 午夜天堂一区人妻| 99久热| 激情第四色| 六月激情婷婷| 亚洲1区| 91人人网| 婷婷五月丁香综合激情| 五月天色色网站| 色玖玖综合| 九九热视频这里只有精品| 国产色99| 香蕉AV777XXX色综合一区| 色婷婷AV久久久久久久| www.99热. com这里只有精品| 六月五月久久丁香| 激情五月六月丁香| 天天日天天日天天搞| 开心五月天激情网站| 丁香五月天啪啪激情综合网| 丁香丝袜五月| www,26uuu,c0m,色情| 色婷婷丁香香香蕉视频| 欧美成人日韩| 91丨九色丨国产打屁股| 99热综合网| 色婷婷电影网| 中文字幕一色哟哟哟哟| 综合 蜜月 婷婷| 亚洲精品成人片在线播| 九九人人自拍| 综合色色婷婷| 五月天激情在线视频| 六月婷婷狠狠做| 国产精品婷婷午夜在线观看| 天天激情欧美美女| 色婷婷丁香| 色综合久久久久| 久久99人人| 国产色99| 色情五月天视频网| 六月婷婷网站| 99热在线播放| 91久操| 99久热视频在线| 97日本在线| 激情五月天色色网| 久久婷婷视频| 99免费视频在线观看爱| 五月婷婷中文字幕| 婷婷丁香五月综合| 国产人人操| 97人人干人人操| 婷婷久久夜| 色香欲综合| 热99在线| 五月婷无码| 9.1综合网| 日韩乱玛久久| 日本色道视频网站| 婷婷丁香日韩五月| 艹天天射| 五月丁婷婷| 久久婷婷六月综合综合| 亚洲婷婷五月天| 亚洲精品444久久久久久| 狠狠艹狠狠艹| 色婷婷狠狠| 99这里都是精品| AV网址大全在| 五月丁香色婷婷伊人| 激情五月五月五月婷婷| 成人在线网| 五月精品99综合| 色婷婷99| 婷婷色五月婷| 碰97 久| 婷婷伊人綜合中文字幕| 亚洲五月天婷婷在线| 激情欧美五月丁香| 看逼中文字幕| 久久这里99| 天天插综合| 久久图色4| 色高清无码视频| 久久免费精彩视频| 久久综合五月情| 丁香五月天欧美成人| 欧美va在线| 亚洲V国产V欧美V久久久久久| 成人短视频在线免费观看| 亚洲、热| 五月天开心网| 色狠狠狠干| 日本天堂免费99| 色色色色色日韩午夜激情 | 久久XX| 久久婷婷五月天激情| 欧美激情五月| 色色亚洲| 99操逼| 日本激情91| 婷婷伊人五月丁香天堂网| 免费婷婷| 超碰chaompinm| 最新日韩久热免费视频看看| 日韩在线五月天婷婷| 老师的粉嫩小又紧水又多A片视频| 伊人影音无码一区二区三区| 色婷婷9| 婷婷成人AV| 五月丁香婷婷五月| 九九艹女| 国产色五月婷婷| 中文字幕日本最新乱码视频| 99色色网站| 97超碰在线免费观看| 色婷婷综合综合网| www,色婷婷| 久9热视频在线观看| 激情综合色婷婷啪啪六月天| 精品99在线| 99色色网| 99久久99久久| 欧美久久婷婷| 激情色中文| 婷婷五月色| 婷婷五月丁香在线观看| 五月天激情网图片| 婷婷综合六| 丁香五月天天久久综合小说| 天天成人丁香美女AV| 成人国产欧美大片一区| 大狠狠在线| 色噜噜狠狠一区二区三区| 丁香九月激情久久| 97人人操| 婷婷伊人綜合中文字幕| 日本99热| av人人操| 久99久视频精选| 中文av网| 五月婷精品| 色色国产| 999热成人在线综合网| 亚洲国产黄色电影| 囯产精品久久欠久久久久久九大| 亚洲最大在线| 九九热精品视频在线观看| www.99热最新视频8| 国产亚洲精品久久久久苍井松| 婷婷爱五月天人人爱| 99热99草97| 无码人妻激情| 国产在线6| 精品无码片| 91碰在线| 色五月婷婷五月久久| 久久激情四射| 色婷婷五月在线| 天天做天天要天天爽| 久9草在线观看视频| 影音先锋偷偷色男人站| 激情婷婷人妻| 狠狠色丁香婷婷| 人人爱操| 六月丁香婷婷在线波多| www.婷婷五月| 亚洲综合五月天婷婷| 色五月成人| 思思视频这里是精品| 亚洲成人中文字幕| 天天射影院| 五月开心深爱激情网| 国产成人网站在线观看| 日本在线观看aaa 99| 最新色色五月天| 五月婷婷综合色拍| 成人电影在线免费试看| 九日日夜夜69| 丁香婷婷深情五月亚洲| 亚洲丁香五月| 久久人妻久久久久| 97九色视频| 婷婷五月天天| 99re热在线视频| 狠狠狠狠狠狠狠狠| 热热久久精品视频| 精品人妻在线| 激情综合网激情五月丁香五月俺也去| 97色碰| 天天婷婷色六月| 丁香五月在线伊人| 91|九色|动漫| 月丁香久久久| 日本精品人妻无码77777| 一级精品999WWW| 婷婷五月AA五月在线| 久久三级视频| 久热久操久热久草国产91| 免费无码毛片一区二区A片| 久久综合干| 玖玖资源站中文| 五月婷婷丁香伦理网| 91色在线/日韩| 99WWW免费视频| 激情电影五月婷婷| 欧美日本韩国亚洲| www999日韩精品| 天天情色综合网| 国产六月婷婷| 性爱动图国产麻豆一区二区三区| 欧美久久婷婷| 偷拍九九五月丁香婷婷| 婷婷色综合网日韩国产| 免费无码毛片一区二区A片| www狠狠| 亚洲操逼网| 免费看欧美成人A片无码| 99热6色| 久狠日av| 日本欧美国产| 五月天激情婷婷五月天久久| 伊人五月人妻精品| 午夜美女人啪最红院| 狠狠搞五月天| 日韩av在线电影| 9月色婷婷| 日亚二欧美| 5五月综合网亚洲| 色五月大| www狠狠com| 97人操| 天堂久久大香蕉| 超级碰碰一区| 热久久这里只有三级视频| 热99玖玖99玖玖99九九| 国产综合A片| 97在线日韩| 6 9式性爱视频在线播放| 日韩成人中文| 亚洲色99综合天堂| 丁香色色五月| 亚洲爱婷婷| 高清国产AV| 高清视频一区| 五月丁香六月色婷婷综合五月天| 成人噜噜网| 97婷婷狠狠| 激情网五夜婷婷| 亚洲激情高潮| 这里只有精品69| 久色激情| 色吧五月婷婷| 九九热超碰| 免费色婷婷| 九月久久婷婷| 99视频自拍| 久热中文字幕| 五月丁香六月婷精品视频| site:publishdd.com| 日韩99精品| 色欲丁香| 亚洲亚洲人成综合网络| 亚洲精品**不卡在线播he| 人人操人人干AV| 另类激情五月天。| 五月丁香花伦理电影| 色播五月丁香婷婷| 五月天综合色| 亚洲激情五月天| 日本熟妇乱妇熟色A片蜜桃| 亚洲另类AV| 婷婷视频网| 欧美五月丁香在线观看| 婷婷五月天在线观看| 欧美色色色色色| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 五月婷婷狠狠干| 久久精品99久久久久久| 色色亚洲| 91九九热| 婷婷五月天丁香花| www、色色色| 丁香九月婷| 韩日另类| 久久精品99| 九九视频在线免费视频| 婷婷五月色惰| 婷婷五月天AV| 月丁香久久久| 色综合色综合婷婷热| 色五月视频,小说| av色色国产| 碰久久精品w| 久久五月天色婷婷| 九九无码| 国产成人AV不卡| 色欲五月婷婷| 五月丁香亚洲婷婷| 97色色视频| 日本色色影院| 狠狠操.COM| www.99在线| 四色五月婷婷| 99丁香五月婷| 亚洲热久久| 五月天婷婷综合网| 丁香香蕉婷婷| xfplayav在线| 可以直接看的av| www.一起草av| 五月丁香六月婷婷亚洲| 五月激情六月综合| 五月丁香久久丝袜啪啪| 欧洲免费视频色| 人妻久久久| 香蕉操亚洲| 五月天国产| 新激情五月天| 99国产小视频免费观看| 狠狠色综合网| 中文在线成人| 久播影院免费观看电视剧大全最新网| 熟妇内谢69XXXXXA片| 婷婷久久网| 这里只有精品久久| 冬月かえでAV无码播放| 丁香五月激情性色郤| 深爱激情五月天| 久久婷婷五月综合| 99色色| 五月亭大香蕉| 狠狠操狠狠操| 婷婷六月偷拍| 亚洲精品久久久久久久久久吃药| 无码AV久久久久久久久| 丁香五月激情宗合| 伊人激情啪啪| 色啪综合| 91丁香五月| 婷婷99丁香| 婷婷五月天成人| 综合精品99| 亚洲色激情| 97性高潮久久久| http://www.sd-xiangsu.com/| 日本熟妇乱妇熟色A片蜜桃| 日日夜夜青青草| 九九热最新| 婷婷久久五月| 国产欧美日韩综合精品一区二区| 五月丁香综合网色欲| 人人操人人干AV| 99草视频在线观看| 99热这里只有精品免费| 免费啪啪亚州视频| av在线观看网站| 天天网曰日曰夜夜综合永久免费| 五月天婷婷无码| 超碰在线观看成人视| www.夜夜騎夜夜狠| 五月天激情黄色网址| 色五月婷婷亚洲| 日逼影音先锋男人资源站| 色久激情在线| 久9热插入| 俺去也在线www色官网| 丁香五月婷中字在线| 色五狠狠| 亚洲六月色婷婷| 亚洲天天| 色亚洲中文| ai97re99一本| 色五月综合资源推荐| 91人人超碰在线| 色播播五月天| 另类图片 五月激情| 久久久com| 六月丁香激情婷婷| 六月丁香婷婷综合影院| 色狠狠综合| 婷婷五月丁香六月伊人网| 教师性爱毛片| 色色色综合色| 操人视频91| 亚洲五月天激情| 亚洲中文乱字字幕线在永久| 久热精品在看| 丁香激情网| 成人婷婷桔色| 婷婷综合在线视频| 国产成人av在线播放| www.91.com处女在线直播| 大香蕉丁香五月| 日本在线99| 欧韩性爱| 激情丁香五月| 99操视频| 夜夜天天久久婷婷| 亚洲天堂有码| 99精品在这里| 久久人妻伊人| 天天肏视频| 色狠狠色综合久久久绯色aⅴ影视| 五月婷婷色| 亚洲综合色网站| 日韩啪啪视频| 久色激情| 插插插色综合网| 超碰在线观看9| 国产毛片欧美毛片久久久| 成人开心五月天| 九九99视频精品| 丁香花婷婷五月天| 五月丁香大香蕉| 日日操天天操| 2020久久婷婷五月| 人人97碰| www.99色在线| 91碰碰碰| 九九成人| 久热最新视频 | www.日日夜夜| 色五月色五天色情网| 丁香五月大香蕉在线99| 可以看的av| 成人五月天视频| 色播丁香五月婷婷操:屄| 久久综合综合久久| 婷婷天天五月天| 综合婷婷五月天| 亚洲色综久久五月| 久久精品爱爱| 97久久草草超级碰碰碰| www.夜夜| 97婷婷色| 婷婷深爱五月| 欧美毛片www| 丁香婷婷五月天网站| 色五月婷婷激情基地| 香港九九六区八区99| www.色婷婷| 中文字幕综合网| 欧美影院| 色色色色色色色色综合网| 婷婷天天综合| 色婷婷婷av| 色情丁香五月婷婷精品| 丁香五月婷婷色偷偷| 91嫩草国产线观看亚洲一区二区| 五月婷婷丁香| 五月婷综合| 99在线观看| 色色婷婷丁香| 深爱激情五月天| 激情五月婷婷五月丁香五月开心五月| 五月婷婷之六月丁香| 亚洲日韩国产黑丝黑丝AVAV一区二区三区| 国产日韩av片| 99婷婷五月天激情| 91精品国产综合久久蜜芽解析速度| 国产成人精品一区二三区熟女在线 | 五月婷婷开心丁香| 激情婷婷丁香色情五月天| 色婷婷视频| 天天搞夜夜叫| 99久久9| 俺来也综合网精品一区| 九九久久99精品免费观看www| 婷婷激情视频| 永久免费一区二区三区| 欧美交换配乱吟粗大25P| 欧美激情五月天| www色色com| 丰满人妻妇伦又伦精品国产| 五月婷婷激情| 91精品久久久久久综合五月天| 涩综合网| 爆乳熟妇一区二区三区爆乳照片| 成人婷99最新| 另类专区在线观看| 久久久97| www.狠狠| 97色色色色色| 中国女人做爰A片| 精品夜夜澡人妻无码AV| 潘金莲AAAAAAAAAA| 亚洲av综合在线| 9伊人网| 综合性爱网| 激情久久综合| 欧美va精品va老师va| 日日爽日日操| 热99re| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 日本狠狠色| 任你爽视频| 免費观看aV在线网址| 亲子乱av一区二区三区的| 5月丁香美女影院| 色婷婷色综合| 婷婷色中文| 国产午夜精品一区二区| 婷婷丁香成人色综合| 狠狠操狠狠色| 色激情五月| 久操热线| 久久精品爱爱| 激情五月网站| 综合五月天完整| 99ri精品| 99re6在线视频精品免费| 超碰免费电影| 五月婷婷色综图片| 五月熟妇婷婷久久| 天天干com| 综合色五月| 色五月 五月婷婷| 日本操B视频在线观看| 欧美图片丁香五月天| 亚洲va欧美| 亚洲色模骚货| 97精品综合久久| 婷婷五月天久草在线| 殴美日韩成人| 天天狠天天狠| 欧美日本另类| 激情五月色婷婷| txt五月激情四射网综合俺也来了| www.91在线观看| 天天干夜夜欢| 97干在线播放| Blackedraw视频一区二区| 高清国产AV| 九九精品热播| 五月婷婷之六月丁香| 9l视频自拍九色9l视频在线观看| 国产精品久久久久久久久久| 久久一级免费黄色片| 五月天婷婷色播综合在线| 丁香五月亚综合图片| www.婷婷| av在线免费网站| 五月天婷婷深深爱| 97久久人人操| 色婷五月天| 色玖玖综合网| www,婷婷五月天,com| 天天综合精品| 亚洲爱婷婷| 色婷婷五月综合网| 五月婷婷激情久久| 婷婷99狠狠躁天天躁中文| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 野外99热| 色婷婷成人在线| 人人摸人人搞| 亚洲av网址| 伊人色综在线| 另类图片五月天| 婷婷五月丁香久久| 婷婷五月天狠狠| WW婷婷五月天com| 婷婷五月丁香基地在线视频官网| 丁香五月六月婷婷综合| ..真实国产乱子伦毛片| 精品网站:999WWW| 婷婷狠狠操| 超碰婷婷色| 婷婷色香六月综合激情| 五月婷婷综合激情网| 综合色影院| 五月天婷婷丁香六月| www.seqingwuyuetian| 婷婷月五天在线在线看| 五月丁香六月婷婷久久肏| 久久精品一区二区三区四区| 五月丁香六月激情综合网| 五月激情婷婷丁香| 久久久久久久91| 天天日夜夜B久久| 亚洲午夜AV| 久热 91| 丁香婷婷六月| 婷婷丁香五月天综合在线日韩| 五月天婷婷色五月天| 国产成人99久久亚洲综合精品| 亚洲五月激情| 人人视频色| 国产性av| 五月激情丁香| 精品人妻在线免费观看| 五月天久久成人| 少妇性BBB搡BBB爽爽爽视頻 | 91操片| 五月综合激情| 午夜一区| www.婷婷五月天.com| av大香蕉|