亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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. 從一張畫(huà)滿(mǎn)熒光筆的分子圖說(shuō)起做化學(xué)信息學(xué)的人遲早會(huì)碰到一個(gè)繞不開(kāi)的需求手里有一堆分子想快速知道某個(gè)片段到底出現(xiàn)在哪些結(jié)構(gòu)里而且最好能一眼看出來(lái)它長(zhǎng)在哪個(gè)位置。我第一次遇到這個(gè)場(chǎng)景是要從一批候選化合物里篩出所有含苯并咪唑骨架的分子當(dāng)時(shí)傻乎乎地一個(gè)個(gè)用肉眼比對(duì)幾十個(gè)分子下來(lái)眼睛都快瞎了還漏掉了好幾個(gè)。后來(lái)才意識(shí)到這種活兒本來(lái)就該交給 RDKit 去做——它不僅能幫你把匹配的子結(jié)構(gòu)找出來(lái)還能直接在分子圖上用高亮標(biāo)出來(lái)省時(shí)省力還不容易出錯(cuò)。這篇內(nèi)容就是圍繞“搜索并高亮展示分子中匹配的子結(jié)構(gòu)”這件事展開(kāi)的。核心工具是 RDKit一個(gè)在化學(xué)信息學(xué)領(lǐng)域被廣泛使用的開(kāi)源工具包。它提供了子結(jié)構(gòu)搜索Substructure Search和高亮繪制Highlight Rendering兩大能力前者負(fù)責(zé)判斷“這個(gè)片段在不在分子里”后者負(fù)責(zé)把“在哪兒”可視化出來(lái)。適合的讀者包括做虛擬篩選的藥物化學(xué)研究者、處理化合物庫(kù)的數(shù)據(jù)科學(xué)家、以及任何需要批量分析分子結(jié)構(gòu)的人。哪怕你之前只用 RDKit 畫(huà)過(guò)簡(jiǎn)單的分子式這篇內(nèi)容也能讓你把子結(jié)構(gòu)搜索和高亮這套組合拳打順。我下面會(huì)從最基礎(chǔ)的匹配原理講起然后一步步拆到代碼層面把 SMARTS 的寫(xiě)法、匹配函數(shù)的區(qū)別、高亮參數(shù)的調(diào)優(yōu)、以及批量處理時(shí)的性能坑都過(guò)一遍。中間會(huì)穿插我自己踩過(guò)的坑和實(shí)測(cè)有效的技巧盡量讓你少走彎路。2. 子結(jié)構(gòu)搜索的底層邏輯RDKit 到底在比什么2.1 圖匹配而非字符串匹配很多人第一次聽(tīng)到“子結(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**的判斷——問(wèn)的是“查詢(xún)片段這個(gè)圖能不能嵌入到目標(biāo)分子這個(gè)圖里”。這個(gè)區(qū)別很關(guān)鍵。字符串匹配是線性的、位置敏感的而圖匹配要考慮原子的連接關(guān)系、環(huán)的閉合方式、以及化學(xué)環(huán)境。舉個(gè)例子查詢(xún)片段是“苯環(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 算法的變體來(lái)做子圖同構(gòu)判斷。VF2 是一種經(jīng)典的回溯搜索算法通過(guò)逐步擴(kuò)展匹配節(jié)點(diǎn)、剪枝不滿(mǎn)足條件的候選最終找到所有可能的嵌入方式。你不需要自己實(shí)現(xiàn)這個(gè)算法但理解它的存在有助于你明白為什么有些查詢(xún)會(huì)返回多個(gè)匹配結(jié)果因?yàn)橥粋€(gè)片段可能在分子里有多種嵌入方式以及為什么某些復(fù)雜查詢(xún)會(huì)變慢因?yàn)榛厮菟阉鞯臓顟B(tài)空間可能很大。2.2 SMARTS描述子結(jié)構(gòu)的專(zhuān)用語(yǔ)言要讓 RDKit 知道你想找什么片段你得用一種它能讀懂的語(yǔ)言來(lái)描述。這個(gè)語(yǔ)言就是SMARTSSMiles ARbitrary Target Specification。SMARTS 是 SMILES 的擴(kuò)展SMILES 用來(lái)描述一個(gè)具體分子而 SMARTS 用來(lái)描述一類(lèi)結(jié)構(gòu)模式。舉個(gè)最直觀的例子。苯的 SMILES 是c1ccccc1這是一個(gè)具體的分子。如果你想表達(dá)“任意一個(gè)苯環(huán)”SMARTS 可以寫(xiě)成c1ccccc1但更通用的寫(xiě)法是[#6]1:[#6]:[#6]:[#6]:[#6]:[#6]:1其中[#6]表示任意碳原子:表示芳香鍵。當(dāng)然實(shí)際使用中很少有人寫(xiě)這么啰嗦通常直接用c1ccccc1就夠了因?yàn)樾?xiě)c在 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)是剛開(kāi)始用 SMARTS 時(shí)最容易犯的錯(cuò)是把 SMILES 當(dāng) SMARTS 用。比如你想找羧基寫(xiě)了C(O)O這在很多情況下確實(shí)能匹配到但它也會(huì)匹配到酯基里的C(O)O部分因?yàn)轷セ舶@個(gè)子圖。如果你只想找游離的羧酸得寫(xiě)成[CX3](O)[OX2H1]明確指定羥基上的氧連了一個(gè)氫。這種細(xì)節(jié)在批量篩選時(shí)特別重要寫(xiě)錯(cuò)一個(gè)修飾符結(jié)果可能差出幾百個(gè)分子。2.3 匹配函數(shù)的家族HasSubstructMatch 與 GetSubstructMatchesRDKit 提供了兩個(gè)層次的子結(jié)構(gòu)搜索函數(shù)用途不同返回值也不同。HasSubstructMatch返回一個(gè)布爾值只告訴你“有沒(méi)有匹配”不告訴你“匹配在哪里”。這個(gè)函數(shù)適合做快速篩選比如你有一個(gè)十萬(wàn)級(jí)的化合物庫(kù)想先粗篩出所有含某個(gè)片段的分子用這個(gè)函數(shù)就夠了速度快內(nèi)存占用小。GetSubstructMatches返回一個(gè)元組的元組每個(gè)內(nèi)層元組是一組原子索引表示一次匹配中查詢(xún)片段的各個(gè)原子分別對(duì)應(yīng)目標(biāo)分子的哪些原子。這個(gè)函數(shù)適合需要精確定位的場(chǎng)景比如你要在高亮圖上標(biāo)出匹配位置就必須知道具體是哪些原子參與了匹配。還有一個(gè)GetSubstructMatch注意沒(méi)有復(fù)數(shù) s只返回第一個(gè)匹配的原子索引元組。如果你只關(guān)心“找到一個(gè)就行”用這個(gè)比GetSubstructMatches更省資源因?yàn)樗业降谝粋€(gè)匹配就停了不會(huì)繼續(xù)搜索所有可能的嵌入方式。選擇哪個(gè)函數(shù)取決于你的下游需求。如果只是統(tǒng)計(jì)有多少分子含有某片段HasSubstructMatch足夠如果要畫(huà)高亮圖必須用GetSubstructMatches或GetSubstructMatch。我見(jiàn)過(guò)有人用HasSubstructMatch篩完之后又對(duì)每個(gè)陽(yáng)性分子調(diào)GetSubstructMatches來(lái)畫(huà)圖這其實(shí)多了一次搜索不如直接調(diào)后者然后判斷返回是否為空。3. 高亮繪制的參數(shù)調(diào)優(yōu)讓匹配位置一眼可見(jiàn)3.1 高亮原理原子索引到顏色的映射RDKit 的繪制模塊rdkit.Chem.Draw提供了Draw.MolToImage和Draw.MolToFile等函數(shù)它們都接受一個(gè)highlightAtoms參數(shù)。這個(gè)參數(shù)是一個(gè)原子索引的序列RDKit 會(huì)把這些原子以及它們之間的鍵用高亮顏色畫(huà)出來(lái)。關(guān)鍵點(diǎn)在于高亮的是原子鍵的高亮是附帶的。當(dāng)你傳入一組原子索引時(shí)RDKit 會(huì)檢查這些原子之間的鍵如果一條鍵的兩個(gè)端點(diǎn)都在高亮集合里這條鍵也會(huì)被高亮。所以如果你只高亮了一個(gè)原子它周?chē)逆I不會(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)的高亮顏色是黃色說(shuō)實(shí)話(huà)在白色背景上對(duì)比度一般尤其是當(dāng)分子本身有顏色或者打印出來(lái)的時(shí)候黃色高亮經(jīng)??床磺?。RDKit 允許你通過(guò)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)色以此類(lèi)推。還有一個(gè)容易被忽略的參數(shù)是highlightBonds它允許你單獨(dú)指定要高亮的鍵。通常情況下你不需要用它因?yàn)樵痈吡習(xí)詣?dòng)帶動(dòng)鍵高亮。但在某些特殊場(chǎng)景下比如你想高亮一條鍵但不想高亮它的端點(diǎn)原子就得手動(dòng)指定。不過(guò)這種需求很少見(jiàn)大部分時(shí)候用原子高亮就夠了。3.3 圖例與標(biāo)注的添加畫(huà)高亮圖時(shí)經(jīng)常需要在圖旁邊加個(gè)圖例說(shuō)明“紅色高亮的是苯環(huán)藍(lán)色高亮的是羧基”。RDKit 的Draw.MolToImage支持legend參數(shù)可以傳一個(gè)字符串作為圖例。如果你用Draw.MolsToGridImage畫(huà)多個(gè)分子的網(wǎng)格圖legends參數(shù)可以傳一個(gè)字符串列表每個(gè)分子對(duì)應(yīng)一個(gè)圖例。圖例的字體大小和位置 RDKit 沒(méi)有直接暴露參數(shù)來(lái)調(diào)但你可以通過(guò)Draw.DrawingOptions來(lái)全局調(diào)整。比如Draw.DrawingOptions.legendFontSize可以改圖例字號(hào)Draw.DrawingOptions.legendFraction可以改圖例占整張圖的高度比例。這些參數(shù)在批量出圖時(shí)很有用尤其是當(dāng)分子圖很小、圖例文字?jǐn)D在一起的時(shí)候。我自己的習(xí)慣是如果只是自己看不加圖例也行高亮顏色本身就說(shuō)明了問(wèn)題。但如果是給別人看或者放進(jìn)報(bào)告里圖例一定要加而且要寫(xiě)清楚 SMARTS 表達(dá)式這樣別人能復(fù)現(xiàn)你的篩選條件。4. 從單分子到批量完整實(shí)操鏈路4.1 環(huán)境準(zhǔn)備與依賴(lài)安裝RDKit 的安裝方式取決于你的操作系統(tǒng)和 Python 環(huán)境。最省事的方式是用 condaconda install -c conda-forge rdkit如果你用 pip也可以裝pip install rdkit但要注意pip 版本的 RDKit 在某些平臺(tái)上可能缺少一些可選依賴(lài)比如 Cairo 繪圖后端。如果你發(fā)現(xiàn)畫(huà)出來(lái)的圖是空白的或者報(bào)錯(cuò)說(shuō)找不到繪圖后端大概率是這個(gè)問(wèn)題。conda 版本通常更完整推薦優(yōu)先用 conda。安裝完之后驗(yàn)證一下from rdkit import Chem from rdkit.Chem import Draw print(Chem.__version__ if hasattr(Chem, __version__) else ok)如果沒(méi)報(bào)錯(cuò)說(shuō)明環(huán)境沒(méi)問(wèn)題。我建議在虛擬環(huán)境里裝 RDKit因?yàn)樗蕾?lài)的庫(kù)比較多跟其他科學(xué)計(jì)算庫(kù)混在一起容易出沖突。4.2 單分子搜索與高亮的完整代碼下面這段代碼是我平時(shí)最常用的模板從 SMILES 讀入分子搜索子結(jié)構(gòu)然后畫(huà)高亮圖from rdkit import Chem from rdkit.Chem import Draw # 目標(biāo)分子 mol Chem.MolFromSmiles(c1ccc2c(c1)nc(n2)c3ccccc3) # 查詢(xún)片段苯并咪唑骨架 query Chem.MolFromSmarts(c1ccc2c(c1)nc(n2)) # 搜索所有匹配 matches mol.GetSubstructMatches(query) # 畫(huà)高亮圖 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)去但顏色就沒(méi)法區(qū)分了。4.3 批量處理與網(wǎng)格圖輸出當(dāng)你有一批分子要處理時(shí)逐個(gè)畫(huà)圖再拼起來(lái)太麻煩。RDKit 的Draw.MolsToGridImage可以直接畫(huà)網(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ì)于沒(méi)有匹配的分子傳空元組()就行RDKit 會(huì)正常畫(huà)出分子但不加高亮。legends參數(shù)同理每個(gè)分子對(duì)應(yīng)一個(gè)圖例字符串。實(shí)測(cè)下來(lái)MolsToGridImage在分子數(shù)量超過(guò) 50 個(gè)時(shí)生成的圖片會(huì)非常大加載和渲染都會(huì)變慢。如果你要處理幾百個(gè)分子建議分批出圖每批 20 到 30 個(gè)或者直接用MolsToFile逐個(gè)保存成單獨(dú)的圖片文件。5. 那些文檔里不會(huì)寫(xiě)的踩坑經(jīng)驗(yàn)5.1 芳香性感知導(dǎo)致的匹配失敗這是我最常遇到的坑沒(méi)有之一。RDKit 在讀入分子時(shí)會(huì)做芳香性感知Aromaticity Perception決定哪些環(huán)是芳香環(huán)。如果你的 SMARTS 里用了小寫(xiě)字母如c表示芳香碳但目標(biāo)分子在 RDKit 眼里那個(gè)環(huán)不是芳香環(huán)匹配就會(huì)失敗。舉個(gè)例子吡啶的 SMILES 是c1ccncc1RDKit 會(huì)正確識(shí)別為芳香環(huán)。但如果你從某些文件格式讀入分子或者分子經(jīng)過(guò)了某些化學(xué)修飾RDKit 可能沒(méi)有正確感知芳香性導(dǎo)致c1ccncc1這個(gè) SMARTS 匹配不上。解決辦法是用Chem.SanitizeMol強(qiáng)制做一次完整的化學(xué)感知或者在 SMARTS 里用大寫(xiě)字母加芳香性修飾符比如[C;R]表示環(huán)上的碳不依賴(lài)芳香性判斷。我個(gè)人的習(xí)慣是在批量處理前先對(duì)每個(gè)分子調(diào)一次Chem.SanitizeMol確保 RDKit 對(duì)分子的理解是一致的。雖然這會(huì)稍微增加處理時(shí)間但能避免很多莫名其妙的匹配失敗。5.2 匹配數(shù)量爆炸與性能陷阱有些 SMARTS 查詢(xún)會(huì)返回大量的匹配結(jié)果尤其是當(dāng)查詢(xún)片段很小或者很通用的時(shí)候。比如你用[#6]去匹配一個(gè)含 50 個(gè)碳的分子會(huì)返回 50 個(gè)匹配每個(gè)匹配就是一個(gè)碳原子。如果你用GetSubstructMatches并且沒(méi)有設(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)心“有沒(méi)有匹配”或者“前幾個(gè)匹配”把maxMatches設(shè)小一點(diǎn)能顯著提速。另外GetSubstructMatches還有一個(gè)useChirality參數(shù)默認(rèn)是False。如果你需要區(qū)分手性比如只想匹配特定構(gòu)型的片段得把它設(shè)成True。但開(kāi)啟手性匹配會(huì)變慢因?yàn)樗惴ㄐ枰~外比較原子的立體化學(xué)信息。5.3 高亮圖的原子索引錯(cuò)位這個(gè)問(wèn)題比較隱蔽通常出現(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)的問(wèn)題是當(dāng)你對(duì)分子做了Chem.AddHs或者Chem.RemoveHs之后原子索引會(huì)變。加氫會(huì)插入新的氫原子索引全部后移去氫會(huì)刪除氫原子索引前移。如果你在高亮之前做了這些操作一定要重新獲取匹配結(jié)果不能用之前的索引。5.4 繪圖后端的兼容性問(wèn)題RDKit 的繪圖功能依賴(lài)后端默認(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是純文件輸出的不依賴(lài)圖形界面在服務(wù)器上跑很穩(wěn)。MolDraw2DSVG則是輸出 SVG 矢量圖適合放進(jìn)網(wǎng)頁(yè)或者需要無(wú)損縮放的場(chǎng)景。我一般在服務(wù)器上批量出圖時(shí)都用MolDraw2DCairo從來(lái)沒(méi)出過(guò)問(wèn)題。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)但這樣高亮出來(lái)兩個(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ù)加顏色但建議不要超過(guò)三種否則圖會(huì)變得很花。6.2 用 SMARTS 做官能團(tuán)篩選子結(jié)構(gòu)搜索最常見(jiàn)的應(yīng)用場(chǎng)景之一就是官能團(tuán)篩選。RDKit 官方文檔里有一份常用的 SMARTS 列表我摘幾個(gè)我經(jīng)常用的官能團(tuán)SMARTS說(shuō)明羧酸[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è)過(guò)大部分但要注意不同的 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 畫(huà)個(gè)柱狀圖。但要注意RDKit 本身不提供統(tǒng)計(jì)圖表功能得靠外部庫(kù)。我一般用 matplotlib 或者 seaborn簡(jiǎn)單畫(huà)個(gè) bar chart 就夠了。還有一個(gè)技巧是把匹配結(jié)果導(dǎo)出成 CSV方便后續(xù)在 Excel 里做透視表。RDKit 的PandasTools模塊可以直接把分子和屬性轉(zhuǎn)成 DataFrame配合 pandas 做統(tǒng)計(jì)分析非常方便。7. 我個(gè)人的幾條實(shí)操建議第一SMARTS 寫(xiě)完一定要驗(yàn)證。我習(xí)慣拿幾個(gè)已知含目標(biāo)片段的分子和幾個(gè)已知不含的分子做正負(fù)對(duì)照確認(rèn) SMARTS 的匹配行為符合預(yù)期。這一步花不了幾分鐘但能避免后面批量篩選時(shí)出現(xiàn)系統(tǒng)性錯(cuò)誤。第二高亮圖不要追求一次畫(huà)完所有匹配。如果一個(gè)分子里有多個(gè)匹配全部高亮?xí)寛D變得難以辨認(rèn)。我通常只高亮第一個(gè)匹配或者用不同顏色高亮前兩三個(gè)剩下的在文字里說(shuō)明。第三批量處理時(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é)果匹配的原子索引建議保存下來(lái)不要每次重新算。尤其是當(dāng)你的 SMARTS 比較復(fù)雜、分子比較大的時(shí)候重新搜索可能很耗時(shí)。把匹配結(jié)果存成 JSON 或 pickle下次直接讀能省不少時(shí)間。這套流程我在多個(gè)項(xiàng)目里反復(fù)用過(guò)從幾十個(gè)分子的手工驗(yàn)證到幾萬(wàn)個(gè)分子的批量篩選基本都能覆蓋。RDKit 的子結(jié)構(gòu)搜索和高亮繪制雖然只是它眾多功能中的一小塊但把這一塊吃透能解決化學(xué)信息學(xué)里相當(dāng)一部分日常需求。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
乱伦熟妇一区二区| 亚洲男人的天堂网| 超碰97中文| 九九热三级片| 国产AV激情无码久久无码| 国产日比| 日韩精品 欧美激情| 久久久久婷婷| 国产又大又粗又长视频| 日韩国产品视频中文字| 男人天堂2019| 欧美天堂亚洲电影院一区在线播放| 91国产丝袜白虎| 精…码一二三区| 欧美 牲| 久久东京热久久| 91九色网| 操逼操逼逼操操逼91| 美女淫穴| 国产一级不卡在线观看| 91情色在线| 大香蕉黄色一区| 三级精品三级在线观看| 国产搭汕a级片| 97视频7| 搡老人老9丨女老熟人| 国产精品福利视频| 啊啊啊啊啊啊在线| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 九九色色| 99热这里只有精品地址| 五月天欧美色图| 色婷婷狠狠18禁| 国产三级中文字幕粉嫩| 亚洲婷婷丁香在线| 亚洲欧洲偷拍一区| 志村玲子视频一区二区| 国产AAAAAABBBBB| 久久久久久十| 白丝AV| 97色综合中文网| 91天天美女| 亚洲自拍一区夜夜操| 中日无幕一二三四区| 亚洲 欧美 91| 久久99草| 亚洲天堂一二| rion磁力链接| 另类图片天天影视| 久久97精品久久久久久久不卡| 91欧美少妇| 久久久啊啊啊| 欧美日韩在线视频网站| 欧美日韩性爱无码| 亚洲熟妇自偷自拍另欧美| 青草成人免费视频一COm| 9九九国产| 无码人妻毛片丰满熟妇精品区| 日欧毛片久久| 久久精品国产97欧美精品亚洲 | 射欧美综合| 韩日男人的天堂| 日本道久久综合色色| 久久久 国产精品| 九九aV| 啊啊啊啊啊操我视频| 男人的天堂2018.| 亚洲精品天天影视综合网| 91精品人妻一区二区三区蜜桃臀| 九九夜精品九九在线| 男人网站婷婷| 黑人精品欧美一区二区蜜桃| 亚洲网站一区二区在线| 欧美大香蕉同搞| 国产树林里野战在线看| 91美女视屏| 欧洲乱码视频| 九九人妻| 色在线视频导航| 亚洲伊人a线观看视频| 超碰成人最新最好看| 六月色婷婷| 91美女视频在线| 老熟女天天操| 久久久久亚洲AV无码专区少妇| 久操网无码在线| 性爱动态120秒| 九九九九九九九九九五码| 天天α片| 亚洲欧美首页| 日本熟女免费視颖| 丁香婷婷久久| 欧美国产操逼| 在线看污网站| 最新亚洲人成网站在线影院| 国产又黄又爽又刺激久久久久久| 国产精品探花视频| 激情六月婷婷| 国产亲戚伦亲在线| 国产精品制服丝袜中文字幕日韩一区二区三区 | 青青草玖玖爱| 91色色网站| 欧美亚洲综合高清在线| 操逼啊啊啊91| 五月天激情小说| 双插在线| 日本性爱欧美性爱| 综合网欧美在线| 神马影院午夜福利久久久| 色香综合天天影视综合 | 东北操逼| 狠狠操夜夜| 97久久精品亚洲| 嗯~啊~快点 死我视频免费看网站| 亚洲丨在线| 亚洲一区二区三区在线激情| 日本高清一区二区在线| 牛黄色久午久| 国产欧美日产一区二区三区 - 国产欧美日| 天堂性色| 国模精品一区二区三区苹果色戒| 后入式999| 中文操嬖片。| 97超碰色中文字幕| 成人午夜小视频手机在线看| 人妻内射一区二区在线视频| 久久亚洲中文字幕视频| 欧美精品三区| 综合免费无码中文| 天天舔天天日天天射| 亚洲麻豆av一区二区| 91九色首页| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 蜜乳AV.COM| 国产精品青青草| 久久精品一区| 人妻啪| 久久免费少妇| 久久国产精品一级二级三级| 蜜臀久久99精品久久久久久-DVD| 人妻AV 中文字幕的| 国产深喉| 亚洲中文制服诱惑| AV一区观看| av72网| 日韩欧美中文日韩欧美色| 日韩资源网| 操B在线观看| 丝袜色综合| 在线看免费无码AV天堂的| 欧美同性恋 的搜索结果 - 91n| 男人的天堂一区三区| 中字一区| 骚乳在线| A V少妇特黄三级| 视频不卡中文字幕| 日韩电影天堂视频一区二区| 很很干很很操| 免费啪啪一级视频| 中文久久久| 精品十三区| 久久精品高清AV| 欧美综色欧| 超碰亚洲欧美日韩无| 日本一级真人黄色性爱视频| 国产精品第二页| 国产高清成人传媒影视| 国产久久久久久| 狠狠夜色午夜久久综合在线| 91九色精品熟女内射| 久久91| 色婷婷婷五月天激情四射| 免费一级特黄特色大片在线观看看| 精人妻无码一区二区三区伊人直播| 盗摄女人妻在线| 黄色工厂这里只有精品| m欧洲一级午老| 99视频内射三四| 久久久久久国产成人| 爱丝福利| 色呦色呦色精品| 超碰久久性爱| 综合色久| 大香蕉碰碰| 麻花传媒免费网站在线观看| 欧美日日操| 精品69网| 四虎影视永久在线观看精品免费网站 | 久久69| 欧美日韩另类字幕中文| 色月天AV导航| 久久99久久99久久99人受| 婷婷久久五月综合激情| 综合色区偷拍| 欧美亚洲首页| 欧美日韩中文字幕不卡| AV色五月天| JULIA人妻风俗店中出电影| 国产精品久久久久久久久AV大片| 韩国手机不卡无码三级视频| 亚洲成a人v欧美综合天堂下载| 91高潮喷水美女| 久久九七| 日日妻色网| 久草资源在线视频官方总站日韩丝袜美腿| 日韩三级一区 | 日韩钢筋无码高清啾啾啾| 婷婷成人五月天| 两性综合网| 丰满人妻一区二区三区四区| 天天夜躁日日躁狠狠2002| 丰满人妻-区二区三区免费看| 亚洲欧洲色情高清| 最新精品久久蜜桃| 欧美日韩亚洲五月天婷婷| 香蕉一区二区三区在线视频| 国产日本熟女顶级一区二区三区视频| 久久婷婷伊人| 99色视频| 久热色情精品| 成熟熟女国产精品一区二区| 久久精品视频在线观看| 嫩草伊人久久精品| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 在线一道啪| 天天躁日日躁AAAAXXXX国产 | 婷婷大香蕉| 色情综合网| 无码自拍SM| 99色热| 717影院理论午夜伦八戒| 亚洲最新av无码成人精品区| 美女黄频a美女大全免费皮| 日韩成人大片在线观看| 超碰人人在线| 国产精品另类一区大香蕉| 激情四射五月天| 中国黄色特级精品一区二区三区片| 亚洲色图国产另类| www久久精品| 久久有码视频| 色爱天堂| 亚洲风情在线观看| 日韩无码精品综合久久| 亚洲午夜福利在线影院| 黄aaaaaaaaaaaaaaaaaa色网站| 国产人妻天天干精品| 国人欧美精品一区二区| 91无码中出人妻视频| 另类综合另类| 伊人四虎综合| 欧亚日韩中文在线| 探花精品视频| 蜜桃久久久久久久| 91国产美女丝袜足交精品视频| 欧亚揄拍偷拍精品视频| 懂色Av| 黄色一区二区秘书性感| 日本午夜久久电影| 国产天天看| 国产精品对白自产拍| 精品一区二区三区四区女 | 亚洲精品97久久中文字幕| 色欲av一区二区三区蜜芽| 色老牛| 秘书高跟黑色丝袜国产91在线| 欧洲精品一区二区三区| 狠狠中文字幕| 人妻欧美| 两性综合网| 91AV天美在线视频| 男人天堂东京热| 国产日逼视频| 九九九久千久久激情蜜桃在线看| 视频黄站| 精品人妻视频入口| 户外裸露刺激视频第一区| 日韩无码嘿咻黑热久| 韩日巨乳美女免费视频在线观看| 在线五区| 日韩欧美tv一区二区在线观看| 日本色色色| 亚洲Av噜噜一区二区三区妖精| 综合天天。| 高清无码久操视频| 青草视频在线看看看看看看看看看| 狠色婷婷久久一区二区三区_| 91网站18禁| 欧美性爱精品一区二区| surenchaopeng| 久久啊啊啊| 2018色综合天天操| 欲女人妻性色av| 国产乱色国产精品免费视| 欧美熟妇视频 | 高清孕妇孕交 交| 亚一综合久久久久久久久久| 97久久精品国产| 欧美成人性爱视频在线播放| 开心五月深爱五月| 亚洲天堂男| 九九精品热| 91大香蕉伊人| 亚洲综合九九| 97国产|免费| 五月丁香婷婷综合| 色吧91| 99∨VTV| 久久黄人人爽视频| 欧美综合97www| 大香蕉一级黄色片久久| 91狠狠综合久久久久久| 天天日天天干天天操| 暖暖精品二区三区观看| 超清福利精品视频在线| 国产午夜视频| 亚洲成人一区二区精品| 精品综合久久久久久97| 午夜一区| 麻豆三极片| 成人精品视频一区二区| 美女视频尤物网在线看| 中文字幕第7页| 天天色综合图片| 久久精品国产Aⅴ| 婷色五月| 欧美综合综合| 操操啪| 91性片| 97资源欧美| 在线a v| 久久久久幕乱码| 夜间福利片1000无码| 青青草男人天堂| 老熟女搡BBBB搡BBBB视频| 日韩美女久久一区二区三区| 国产在线综合福利网站| 97天天操天天干| 91精品久久久| 亚洲一区亚洲天堂| 激情五月天婷婷| 日本欧美中文字幕| 欧美黑人91| a久久| 国产福利视频精品视频| 91痴汉| 草伊人高潮喷水超碰| 8x福利精品第一福利视频导航| 亚州欧美一区| 97视频网站在线观看| 岛国黄| 欧美性爱一区二区三区| 欧美日韩精品久久| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 91偷拍欧美亚洲| 精品国产一区二区三区四区在线看| 亚洲在线A| 久久久18禁| 九热视频| www.av在线观看| 人妻少妇久久中文字幕一区二区 麻豆 | 国内精品伊人久久久久影院会| 精品人妻一区二区三区在| 精吧天堂| 亚洲AV资源| 99无码精品| 久久亚洲欧美中文字幕国语| 欧美在线天堂| 色九九久九九| 国产后入内射| 伦理弟一页| 国模限制级电影| 精品性爱无码在线播放| 亚洲一区二区久久久久| 1人人看人人摸人人操| 久久久日本电影| 91天堂丝袜美腿| 久久综合久色欧美综合狠狠 | 欧美呦呦性爱| 99婷婷一区二区| 人妻欧美| 69天堂| 精品人妻一区二区三区四区| 久草色在线观看| 日本中文字幕一区| 欧美色图 人妻| 青苹果影院男人的天堂| 草伊人高潮喷水超碰| 香蕉在线一区二区三区| 乱精品一区字幕二区| 人妻99p| 久久精品国产亚洲AV片多多| 人人射人人操人人摸| 手机在线播放国产福利| 欧美人与性动交a美精品| 伊人网青青| 国产又色又粗又黄又爽| 啪啪视频亚洲第一| 男人高清无码一区二区| 淫荡少妇免费| 日本道久久综合色色| 色乱二区| 国产成人网站在线观看| 最新欧洲欧美日本激情网站| 亚洲综合另类欧美久久久| 久久超碰久| 亚洲精品欧美专业| 久久久久ab| 69久久久久久久久久久久久| 无毛精品| 人妻少妇精品视频一区二区三区| 亚洲男人天堂2| 亚洲国成人情色好看电影| 国产精品国产自产拍高清AV| 国产精品久久久久久夜夜夜| 2017大香蕉国产精品久久| 超碰538| 96精品久久久| 99无码狠狠久久| 欧美午夜视频免费观看| 最新日韩黄片| 91是天天| 91久久国外网| 免费视频一二三区| 草莓精品视频在线免费观看| 美女自卫慰黄网站免费| 青青草九九九九九| 97视频新免费| 校园春色综合网| 日本一区视频在线观看| 99热精品免费| 色在线69堂| 欧美一级二级三级| 熟女这里只有精品6| 亚洲午夜福利视频| 欧洲射精91| 欧美在线综合| 日本在线一二| 亚射在线| 最新制服中文第一页| 蜜臀在线视频| 秋霞视频一区二区| 色999偷自拍拍| 撸无码不卡免费视频| 亚洲九九九| 无码免费精品高清| 超碰 另类 欧美| 欧美日韩精品久久久久东北老熟妇| 99婷婷一区二区| 99ri精品| 无码人妻系列少妇| 午夜精品久久一区二区| 色五月婷婷久久| 九九国产| 国产日韩精品suv| 中文字幕在线观看视频www| 另类亚洲图色| 嗯嗯啊好爽| 黄aaaaaaaaaaaaaaaaaa色网站| 91在线视频免费中出| 亚洲 中文 欧美 日韩 在线| 国产日韩精品无码去免费专区国产| 五月天色综合| 青青操在线视频| 色狠狠 - 百度| 99re只有精品| 日韩三级在线观看网站| 成人资源中文字幕在线观看天天| 麻豆区久久久久亚| 亚洲码专区| 欧美性,亚州色| 风间由美日韩欧美久久| 无码区蜜乳| 亚洲AV无码| 素人伊尹大香蕉免费下载视频| 久热在线精品免费观看| 91 亚洲 欧洲| 国产强奸乱伦第1页| 九九热最新| 九九热re99re6在线精品| 欧美劲爆视频一区二区| 久操网视频| 欧美视频第二页| 蜜臀无码视频在线观看| 欧美老妇女内射网址| AAAA级日本片免费视频| 91精品人妻一区二区三区蜜桃臀| 曰韩中文人妻视频| 久久av网| ji熟女.com| 亚洲情色在线| 国产 亚洲 丝袜 制服| 久久久久无码一妻区| 久操com| 青青操视频在线| AV无码久久久精品| 精品少妇一区二区三区| 激情五月综合网| 91欧美综合| 在线啊啊啊啊| 免费的很黄很污的全部视频| 黑人综合色| 天天爽天天| 日韩性爱小视频| 91亚洲欧美色图| 日韩Va亚洲va欧美Ⅴa久久| 91少妇通奸网站| 久久女婷| 国产无码高清操逼视频| 少妇99| 国产毛片精品一区二区色欲黄A片| 日本大香蕉综合网红本杳社区| 亚洲欧洲美腿丝袜| 亚洲自拍天堂| 黄页av| 久久久久久久78| 亚洲一卡2卡3卡4卡乱码网站 | 97日韩欧美| 亚洲天堂人人妻| 亚卅熟女乱色| 手机在线免费看的av| 97操综合| 中文久久一区| 一块操欧美| 国产二区三区免费视频| 校园春色美腿丝袜 | 亚洲**2021在线观看| 一区二区国产视频在线观看| 中文字幕在线观看视频www| 国产高清成人免费视频| 黄色av播放免不| 91色女| 国产视频一区二区免费| 欧美大香蕉久| 天天伊人| 日本免费二区三区| 妇人噜噜| 美女黄页| www.婷婷| 欧美日韩第一页| 成人无码电影在线观看网| 国产女人9999| 奸色色 男人天堂 天天射| 精品丝袜无码一区二区三APP| 伊人在线大香蕉二。| 亚洲天堂另类小说男人| 免费黄色视频网址| 亚洲AV无码国产成人| 99色网| 人澡逼| 日韩在线视频1234| 凸凹视频在线观看| 亚洲综合另类小说色区亚洲成av人片在www | 天天操天天舔| 欧美综合色图网| 国产女主播视频在线观看| 亚洲视频一二区| 中文乱码99| 色爽爽文学| 亚洲激情AV| 天天躁日日躁AAAXX| 国产操偷| 国产一区二区精品久久99| 国产高清吃奶免费视频网站| 日韩成人性日韩成人性爱视频在线免费观看 | 国内91熟女人妻丝袜天天精品视频在线 | 国产精选三级在线观看| 欧美一区二区三区蜜桃| 岛国色情视频在线观看| 国产精品久久久久无码A√| 可免费观看的av毛片中日美韩| 中文字幕三四五区| 亚欧美色| 精品无码秘 人妻一区二区| 伊人操| 伊人网高清| 999精品久久久久久久| 亚洲 欧美 第一页| 97欧美视频| dy888午夜老子影视达达兔| 97精品久久| 午夜性生活av免费在线看| 老司机午夜精品视频| 韩国免费播放一级毛片| .精品人妻一区二区三| 欧美亚洲素人制服精品| 中文字幕,人妻,日韩| 日韩精品一区二区日韩| 1024人妻熟女一区二区三区| 色狠狠综合| 久久精品人体| 国内操逼视频二区| 久久久久无码一妻区| 91国产伊人大香蕉| 大香蕉狠狠爱| 欧美性爱第一页久久| 亚洲免费在线探花| 亚洲国产欧美中日韩成人综合视频| 中文字幕 国产区| 啊…啊…操我用力操我| 黄色不卡视频| 天天影视91看看| 91色花堂| 18禁美女裸体无遮挡啪啪| 岛国成人av在线播放网址| 欧美乱色| 在线天堂999| 9997se| 九九九热| 亚洲欧美国产成人综合不卡| 婷婷色播婷婷| 校园春色之综合网| 加勒比日本在线| 国产后入清纯| 超碰九区| 九月丁香婷婷色| 国产精品久久久三级无码| 六月天婷婷| 久草综合京东| AV色图| 欧美一二三| 天天干天天狼在线视频| 熟妇女人妻呻吟久久AV| 日韩精品资源| 欧美精品xxxwww| 玖玖人人爱| 免费男人的天堂| 99久久久无码精品国产人| 久久怡红院| 97欧美久久久久久久| 丁香婷婷五月| renqi久久久久久久久久久久| 综合色拍| 国产JDAV无码视频在线观看| 天天爽天天操| 久男人久久| 成 人片 黄色大片| 亚洲AV免费在线观看| 凹凸 69堂 在线播放| 精品午夜福利国产一区二区在线观看| 美女露胸露奶头| 人妻熟妇一区二区三区| 久久 国产 无码| 97人肏| 超碰久超碰久| 亚洲欧美日韩精品久| 亚洲一区二区 麻豆传媒| 九九九久久久| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 爱丝福利| 亚乱色| 欧美性爱网97| 四虎影视永久在线免费| 婷婷精品国产一区二区三区日韩| 亚洲一区日韩精品| 欧美精品久久96人妻无码| 亚洲国产成人综合碰碰三级经典| 婷婷在线播放| 亚洲激情视频| 久热色情精品| 国产肏逼网站| 欧美色图私拍91| 三男一女不戴套的A片| 亚洲熟妇丝袜在线观看| 久久精品国产精品一区 | 亚州黄站| 一区二区偷拍拍视频| 啊啊啊啊好多水| 日本免费中文一区二区三区四区| 欧美九九九| 国产精品一二三免费网站| 丰满人妻一区二区三区免费| 伊人亚洲国产一成人久久精品,久久| 欧美日韩小说| 又黄又爽在线观看视频| 一区二区中文| 久偷拍| 成人亚欧免费视频| 99久在线精品99re8| 97人人超| 成人一二| 亚洲综合伊人| 99ri精品| 亚洲熟女乱色一区二区三区| AV99热18这里只有精品| 天堂8在线新版官网| 96国产精品| 射 色综合| 欧美v亚洲v综合v国产v妖精| 国产性爱欧美性爱在线 | 色97干| 国产久久视频| 欧美顶级黄色大片免费| 国产精品乱码久久| 超碰97最新人妻| 人人透人人操| 可以在线观看的黄色网址| 97AV爱| julia ann久久| 丰满人妻-区二区三区免费| 亚州熟女乱伦| 加勒比av网| 欧美日韩国产中文超碰| 日韩欧美成人性爱在线| 理论久久婷婷网8| 欧美日本久久精品一区| 国产精品99久久久www| 97在线观看免费视频| 青青草吊丝| 国产精品爽爽v| 国产欧美日产一区二区三区 - 国产欧美日 | 亚洲日韩美女丝袜美腿人妻视频| 欧美熟爽综合| 精品区国产区一区二区三区| 一本一道久久综合久久| 欧美久久草熟女| 免费公开人人操| 插B在线观看| 人妻天堂网| 欧美大香蕉97| 日韩精品一区二区三区四虎影视| 色欲三区| 老熟妇乱轮| 一卡二卡三卡| 99热99re6国产在线播放| 欧美久久久15P| 精品久久一区二区三区四区五区| 色黄色美女大长腿午夜视频| 精品欧美老熟女一二区| 男人的天堂com| 91男同| 97中文字幕色| 日产国产精品中文久久婷婷| 操操碰| 九九黄色视频在线观看| 2017人人操,人人摸| 九九无码| 啊啊啊啊啊啊在线| 四虎av在线| 国产精品午夜精品| 蜜桃臀AV在线| 呻吟 欧美 日本 中出| 午夜啊啊啊| 中文字幕av久久爽Av| 亚洲国产一区二区三区四区国产| 东北丰满熟女国产一区| 91搞逼视频| 精品毛片av一区二区| 国内精品嫩模A∨私拍小视频| 78久久| 日韩猛交| 九九热三级片| 97超碰色色| 一区二区高清视频| 中文操逼字幕| 日韩成人性日韩成人性爱视频在线免费观看 | 加勒比久久综合网高清| 亚洲色图欧美色图日韩色图| 人人操人人干网页| 免费精品人妻一区二区三| 大香焦A片| www.av在线视频| 18禁的网站在线| 强奸乱伦动态污图免费 | 大稥蕉免费视频这里只有精品| 六月丁香网| 黄污污污污| 九一综合精品视品av| 天天天乱色综合全| 久久久久9999精品九九九| 精品十三区| 色亚州人久干视频在线观看免费版| 热久久国产精品视频大陆精品| 试看福利| 白嫩妹子国产骚| 国色综合天| AAAA级日本片免费视频| 亚洲性爱电影| 亚洲图片偷拍视频区| 一区二区三区四区色图| 福利风月五月天影院| 99www.bibizy香蕉资源国产一区二区三区高清| 99re只有精品| 亚洲另类色综合网站| 天天cao在线| 一区二区免费电影久久| 久久av成人无码免费| 综合五月婷婷| 欧美精品久久96人妻无码| 97就爱干| 精品人妻一区二区三区四区不卡在| 精品亚洲成人免费在线| 秋霞免费AV| 青青草中文-久久青草精品一区二区三| 欧洲天天在线| 小骚逼被操的爽不爽| 亚洲男人天堂网站| 国产精品久久久久久久AV大片 | 欧美嫩性色| 熟女欧美日韩综合婷婷| 精品熟妇视频一区二区| 秋霞一集毛片观看| 黄网在线播放| 欧美色日本| 国产精品一区二区三区免费视频| 精品人妻中文字幕4399| 乳欲人妻办公室奶水| 欧亚综合一卡二卡中文字幕| 日本新免费二区三区| 国色综合天| 亚洲精品影视老司机| 国产欧美日韩女同性恋ww喷水精品| 色男人色天堂东京热| 97超碰日韩| 久久久久久精品免费看A级| 顶级少妇BT天堂| 亚洲一二三| 色呦呦国产精品免费看| 精品婷婷| 人妻超碰青青草98| 无码区蜜乳| 国产黄a三级三级三级av在线看| 精品妇操一区二区三区| aaa亚无码专区| 久久婷婷伊人| 92大香蕉| 亚洲最新中文字幕免费| 青青草亚洲一区 | 自怕偷自怕亚洲精品| 亚州色交| 91操熟女视频 | 国内亚洲高清无码| 口爆综合网| 无毛精品| 97视频在线看| 激情综合网五月婷婷| 秋霞福利网| 国产亚洲日韩在线三区黑人| 91成人在线| 精品无码一区二区三区色欲| 极品色社| 日本道不卡| 久久婷婷一区二| 午夜一区| 色欧美天天| 热热色中文无码| 人妻嗯啊啊在线播放| 超碰97伊人| 五月激情影院| 久草这里只有精品| 欧美亚洲日韩人妻在线观看| 亚洲第一页色网| 色婷婷网| 欧美亚洲首页| 思思99热| 99久久99久久免费精品蜜臀| 久久国产三区| 一起草三级AV电影在线观看| 91爱综合| 日本韩国国产精品一区| 综合网亚| 沈阳熟女高潮对白视频| 曰韩av中文字幕专区| 五月天亚洲网| 欧亚性爱啪啪| 91N综合网| caorenqi shipin| 男人在线天堂| 91殴美大片| 再深点灬舒服灬太大了添视频 | 久久精品国产97欧美精品亚洲| 人人做人人妻人人夜视频| 啊啊啊在线看| 校园春色 男人天堂| 污色区网站| 日韩精品作爱导航| HEYZO高无码国产精品227| 美女干逼2| 免费观看的黄色的网站| 九草九九九| 粉嫩国产精品久久粉嫩| 午夜福利国产欧美日韩夜夜| 91 亚洲情侣偷拍 久久| 激情久久久| a'v在线资源| 超碰午夜| 婷婷久久五月天| 肏逼视频日本| 色婷婷一区二区三区久久午夜| 色99色| 亚洲无码超碰免费| 神马九九九| 能看的AV| 91丨豆花丨熟女| 欧美碰碰综合色| 色鬼在线综合| 亚洲AV永久无码一区仙野| 亚洲在线欧美| 亚洲日韩欧美一区二区| 美女尤物福利视频| 国产精品久久久久久无码红治院| 天天天干977| 国产黄a三级三级三级av在线看| 国产黄色剧情影片麻豆免费播放| 超碰99热中文字幕| 亚洲无吗在线视频| 东京热毛片177b2viP| 二三四区精品| 日本有码影片下载| 99精品成人免费看| 国产亚洲精品A在线观看下载| 毛片99-全集电影手机免费观看完整-B029AV | 日韩人妻一区二区| 懂色av中文字幕| 国产农村妇女精品一| 欧美色婷婷| 精品亚洲国产成人精品| 久久久少妇| 精品国产乱码久久久久久免费| 午夜精品久久久99| 盗摄 精品 另类 一区| 熟女色综合久久| 日韩无码操逼片| 精品亚洲天堂| 校园春色 亚洲| 91欧美综合在线| 亚洲美乱| 99综合视频一体| 在免费jIzzjIzz在线视频| 无码一区二区精品视频久久久春药| 亚洲Av诱惑| 欧美亚洲清纯| 91爱欧美| 亚洲图片 激情小说| 亚洲色图欧美色图制服丝袜| 91蜜臀熟女| 日日夜夜狠狠| 久久久国产成人一区二区三区在线| 岛国激情视频在线观看| 91久久久亚洲| 久久久96| 国产成人久久精品蜜臀| 九九九九九九九九九国产精品 | 激情小说亚洲| 精品午夜福利| 欧美97爱| 91视频综合网| 五月丁香激情四射| 无码人妻1727| 久久大黄片| 麻豆天美91| 欧美亚洲中文| 久久精品国产亚洲av水密被窝| 2017天天操天天日| 96久久久久久久| 精品人妻一区二区三区四区不卡在| 欧美 亚洲精品首页| 欧美极品少妇| 91天堂丝袜美腿| 在线视频资源| 啊啊啊啊啊好多水| 亚洲色图 欧美| 91久久久亚洲| 国产精品4p在线观看| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 亚洲女人毛茸茸91| 欧美小说区视频区| 友优传媒精品在线一区二区| 国语少妇精| 日本欧美中文字幕| 国产又黄又粗的视频| 91社操逼| 婷婷五月天AV| 成 人 影视 一区 二区 三区 四区| 伊人青青一区成人视频在线观看区| 一区中文字幕二区日韩| 91日产欧美| 亚洲春色欧美| 一级一性爱免费视频| 激情黄色片在线观看| 3d成人精品一区二区| 日韩性爱免费视频在线网站| 久久久久久久亚洲Av无码| 国产亚洲在线观看| 国产精品对白内射| 中文字幕精品久久久久人妻红杏ⅰ| 死我十八禁| 97精品免费| 欧美一级特黄淫片在线观看| 717影院理论午夜伦八戒| 黑操B| 亚洲男人的天堂网| 加勒比色99999| 最新日本中文字幕| 激情视屏国产乱伦强奸| 95人妻爽爽人人做人人澡 | 91N综合网在线| 亚洲国产熟妇综合色专区| 亚洲综合另类小说色区亚洲成av人片在www | 视频分类 国内精品| 国产乱码久久| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 日韩三级网址| 人乳av| 一级做受视频免费是看美女| 激情视屏国产乱伦强奸| 玖色AV| 亚洲天天精品| 日本潮催一卡操| 91久久久久久| 天美传媒Av在线| 欧美性色网| 久久久久成人亚洲国产| 日韩熟女精品无码专区一区二区| 一本色道久久综合熟妇| 成人性交午夜免费片| 日韩免费簧片| 熟女突然公开看18禁影片 | 国产h片在线观看视频| 日本曲间由美性生活片| 久久精品高清无码一区| 久久婷婷电影网| 九九伊人网| 91性感网站| 99色热| 大香焦A片| 亚洲三级网址久久最新| 色97干| 午夜一区| 欧美亚洲韩国视频十五区| 日韩人妻有码免费视频| 狠狠久久四虎| 欧美色另类| 欧美极度丰满熟妇hd| 亚洲揄拍网| 国产黄色视频久久| 黄色污污污污污污网站| 超碰色大香蕉| 综合欧美日本三级| 任你干在线视频| 逼操网站| 中文字幕AV片| www.99中文字幕| 91夜夜蜜桃臀1区2区3区| 日韩一级二级三级免费看完整版| 中文字幕中文字幕一区二区| 丁香五月色情| 东北操逼| 日韩性爱免费观看视频| 国产白嫩精品久久| 性色av大全| 亚州色站 日韩电影| 亚洲无码精品AV久久久| 丰满少妇一区二区三区专区| 色悠久| 亚洲色堂免费视频| 久久人妻| 亚洲一二三精品久久网| 婷婷超| 四虎AV无码| 88xx成人精品视频| 91在线色| 韩国成人精品久久久免费看| 97精品国产手机| 成年女人黄网站| 另类专区加勒比| 国产农村一一级特黄毛片| 人妻熟女一区二区三区视频| 婷婷五月色| 日韩在线观看三级电影| 理论久久婷婷网 8| 9 1果冻精品视频| 人妻夜夜爽天天爽麻豆三区网站 | 欧美精品第3页| 激情小说亚洲| 99天天超碰| 久干9操| 人妻丰满熟妇av无码区蜜桃| 久久久久久国产精品免费网站| 国产乱码精品久久久久久| 久草视频在线视频在线视频在线观看 | 国产一区二区久久| 日本亚洲熟女视频| 亚洲高清91| 天天综合网91入口| 日本国产欧美高清在线| 国产在线激情| 欧中日成人免费影视| 日韩不卡在线一区二区| 小电影欧美91| WWW4虎| 老司机射| 一区二区中文| a片亚洲一本通视频| 亚洲成人综合在线| a片在线播放| 老鸭窝日丰县女人| HEYZO高无码国产精品227| 男人的天堂三级| 怡红院视频在线| 综合国产影视三级| 婷婷久久五月| 啊啊啊啊啊操我视频| 国产成人午夜视频网址| 亚州黄站| 精品视频专区| 亚洲综合色婷婷| 欧美一区二区三区互相| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 国产高清1234区| 91社区拍啪人妻| 欧美成人性活片| 男人的天堂久久狠| 九九久久久久久爱| 欧美99热| 性在久久久久久| 成人免费性爱视视| 91亚洲黄色网| 久久久久久波多野吉衣高潮| 涩五月婷婷| 18禁精品网站在线看| 日韩精品在线视频,日韩精品……| 亚洲少妇激情一区二区三区| 口爆欧美91| 99re视频在线观看这里只有精品| 亚洲精品国产专区在线观看| 美女诱惑一区| 综合自拍| 久久久久婷婷精品av电影| 一区二区三区日韩欧美| 3571色综合一区二区二区| 国产一级操B视频| 综合激情二| 84YTCOM性无码| 精品夜夜澡人妻无码AV| 久草精品一区| 亚洲大色堂| 亚洲精品97在线| 免费观看的av| 在线观看国产黄色| 日韩国产乱子伦App| 欧洲亚洲国产综合在线| 久久久久夜夜夜夜| 天美麻豆一区二区三区| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 色婷婷av在线观看| 国产成人网址| 女优视频第10页| 色噜噜人妻av 中文字幕| 蜜桃久久久久久久| 91艹逼精品| 99久在线精品99re8a| 亚洲日韩久久精品一区| 日本免费一区二区不卡| 久久久久久裸体| 久男人久久| 欧美少妇高潮久久91| 97超碰色屌| 91美女在线看| 99精品伊人|