藥物領(lǐng)域中深度學(xué)習(xí)的應(yīng)用

前言

深度學(xué)習(xí)算法在很多領(lǐng)域已經(jīng)可以成功落地,并且效果很好肤视,例如以卷積神經(jīng)網(wǎng)絡(luò)為例徙赢,該算法以及衍生的系列算法在圖像處理領(lǐng)域效果甚佳字柠,例如圖像分類,目標(biāo)檢測等狡赐,而以循環(huán)神經(jīng)網(wǎng)絡(luò)為代表的算法在序列處理領(lǐng)域有非常好的效果窑业,例如在機器翻譯,語音識別枕屉,以及文本生成常柄,音樂生成方面都取得了很大的進步。

對于藥物發(fā)現(xiàn)這個領(lǐng)域而言搀擂,很多時候?qū)τ谒幬镩_發(fā)是一個非常耗時以及繁瑣的過程西潘,而且中間充滿著各種不確定性,試錯成本和代價也很大哨颂,如果能夠通過深度學(xué)習(xí)的相關(guān)技術(shù)去操縱分子數(shù)據(jù)并從中發(fā)現(xiàn)見解喷市,或者進行藥物研發(fā)環(huán)節(jié)中的各種模擬,將很大程度上縮減時間周期以及試錯成本威恼。例如分子數(shù)據(jù)最常見的表示方式品姓,一種是以類似分子式的序列表示方式,可以很好的對其進行序列建模箫措,而深度學(xué)習(xí)中的經(jīng)典的RNN模型就可以解決類似的問題腹备,包括近年來的seq2seq或者transformer架構(gòu)都給這項任務(wù)提供了豐富的操作空間。而另一種斤蔓,以圖形方式表示的分子數(shù)據(jù)植酥,則可以借用CNN系的算法去同樣解決類似的問題。

本人在藥物研究所的工作經(jīng)歷附迷,以及國內(nèi)外近年來深度學(xué)習(xí)在各個領(lǐng)域的應(yīng)用惧互,讓我相信,藥物研發(fā)借助于AI去助力是必經(jīng)之路喇伯, 這也是我開這個博客的初衷之一喊儡。 另外大學(xué)時期在醫(yī)學(xué)工程學(xué)院的藥物研發(fā)知識以及畢業(yè)后從事醫(yī)藥與數(shù)據(jù)挖掘交叉領(lǐng)域的工作,使我逐漸認(rèn)識到算法的美妙和醫(yī)藥對于當(dāng)前社會的重要性稻据。因此我想通過這個博客艾猜,去記錄我個人對于這兩個領(lǐng)域融合的所見所想买喧,以及分享相關(guān)該領(lǐng)域的最前沿的進展,一方面匆赃,主要是個人工作的匯總淤毛,另一方面也會通過體系的教程去幫助到其他對該領(lǐng)域感興趣的人。

關(guān)于這篇綜述算柳,我會從三個核心方面去進行介紹低淡,后期,我會對每一塊內(nèi)容進行更詳細(xì)的介紹瞬项。那么關(guān)于深度學(xué)習(xí)在藥物發(fā)現(xiàn)領(lǐng)域的應(yīng)用我認(rèn)為主要包括以下三個部分蔗蹋。

  • 分子的表示方式
  • 藥物與靶標(biāo)的相互作用預(yù)測
  • 新藥設(shè)計

分子表示方式

機器學(xué)習(xí)問題大體上分為三類,監(jiān)督學(xué)習(xí)囱淋,半監(jiān)督學(xué)習(xí)猪杭,強化學(xué)習(xí)。例如以藥物性質(zhì)預(yù)測任務(wù)來講妥衣,我們可以把它劃分一個二分類的監(jiān)督學(xué)習(xí)任務(wù)皂吮。

那么此時對于模型的輸出,只有兩種結(jié)果(0税手,1)蜂筹,也即是否該藥物具有某種性質(zhì)。有則為1冈止,無則為0狂票。

而對于模型的輸入,則有多種表示方式熙暴。對于機器學(xué)習(xí)算法而言闺属,如果該特征本身是數(shù)值變量那么可以使用它本身作為輸入,對于類別變量而言周霉,最直接的方式便是通過one-hot encoding的方式進行表示掂器,那么同樣的,對于一個化合物分子俱箱,不管是大分子還是小分子国瓮,其均有相應(yīng)的結(jié)構(gòu)與之依附,那么對這些結(jié)構(gòu)的不同表示方式狞谱,也就決定了模型的特征表示方式乃摹。總體主要包括如下四個分類跟衅。

Fingerprint

其中表示藥物的一種方法是分子指紋孵睬。 指紋的最普遍類型是一系列二進制數(shù)字(位),代表分子中是否存在特定的子結(jié)構(gòu)伶跷。 因此掰读,藥物(小化合物)被描述為0和1的向量(數(shù)組)秘狞。如下圖所示:

如何以二進制向量表示分子

這種表示方式的優(yōu)點是簡單快速,而且也在文獻中被廣泛使用1蹈集。 但是烁试,很明顯,將分子編碼為二進制向量不是一個可逆的過程(這是有損的轉(zhuǎn)化)拢肆。 即减响,我們可以將一個能夠表示結(jié)構(gòu)信息的分子式編碼成分子指紋,但是卻不可以從分子指紋中推斷出該分子有怎樣的結(jié)構(gòu)善榛。

表示一個小分子可以有很多不同的指紋辩蛋。 可以按照RDKit官方文檔[2]進一步了解它們呻畸。

SMILES

表示分子的另一種方法是將結(jié)構(gòu)編碼為文本移盆。 這是
將圖結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)換為文本內(nèi)容,并在機器學(xué)習(xí)輸入管道中使用文本(編碼字符串)作為輸入伤为。 Simplified Molecular-Input Line-Entry System(SMILES)是標(biāo)準(zhǔn)和最受歡迎的表示之一咒循。 轉(zhuǎn)換后,我們可以使用自然語言處理(NLP)的相關(guān)算法來處理藥物绞愚,例如叙甸,預(yù)測其性質(zhì),副作用甚至化合物之間的相互作用 [3]位衩。

如何用SMILES碼來表示分子

有關(guān)SMILES的更多信息裆蒸,可以單擊此鏈接4

InChIKey

盡管SMILES在化學(xué)家和機器學(xué)習(xí)研究人員中非常受歡迎糖驴,但它并不是唯一可用于表示藥物的基于文本的表示形式僚祷。 InChIKey是您可以在文獻中找到的另一種流行的表示形式。InChI國際化合物標(biāo)識是(國際化合物標(biāo)識)International Chemical Identifier的縮寫. InChI編碼是一串由斜杠(/)隔開的有層級關(guān)系的數(shù)字組成的贮缕。每個InChI編碼都是由InChI版本號開始辙谜,接著一個主層號。主層下包括含化學(xué)分子式層感昼、原子關(guān)系層和固定氫原子子層装哆。基于分子結(jié)構(gòu)的主層后往往接著一個附加的層定嗓,如電荷層蜕琴、立體化學(xué)層(和/或)同位素信息層。

以維生素C的國際化合物標(biāo)識碼為例

InChI=1S/C6H8O6/c7-1-2(8)5-3(9)4(10)6(11)12-5/h2,5,7-10H,1H2/t2-,5+/m0/s1

InChI Key:CIWBSHSKHKDKBQ-JLAZNSOCSA-N

InChIKey 是對 InChI 運用 SHA-256 算法處理后得到的哈希值宵溅,它的出現(xiàn)是為了解決 InChI 長度不定的問題凌简。與 InChI 相比,InChIKey 具有這樣幾個特點:

  • 長度固定层玲,永遠是27個字母
  • 與 InChI 幾乎一一對應(yīng)号醉,但有很小的概率(1/10億)出現(xiàn)兩個 InChi 對應(yīng)同一個InChIKey
  • 不可讀反症,字符串本身沒有意義,必須轉(zhuǎn)換回 InChI 才能讀
  • 在實際使用中畔派,可以用InChIKey 作為關(guān)鍵字檢索出對應(yīng)的 InChI铅碍,再做進一步的使用。

SELFIES

為了解決SMILES的表示方法有時候不能對應(yīng)有效的分子线椰, Mario Krenn et al.5 提出了一種新的分子表示方法胞谈, 即SELFIES(SELF-referencIng Embedded Strings),它是基于字符串的表示形式憨愉。每個SELFIES字符串都對應(yīng)一個有效分子烦绳。

image-20201112164754376

Graph

深度學(xué)習(xí)盛行于圖結(jié)構(gòu)化數(shù)據(jù),例如圖卷積網(wǎng)絡(luò) [6]使直接使用圖數(shù)據(jù)作為深度學(xué)習(xí)管道的輸入成為可能配紫。
例如径密,可以將化合物視為圖,其中頂點是原子躺孝,原子之間的化學(xué)鍵是邊享扔。 圖神經(jīng)網(wǎng)絡(luò)領(lǐng)域中,有專門用于此工作的庫植袍,如Deep Graph Library惧眠,PyTorch-GeometricPyTorch-BigGraph

藥物與靶標(biāo)的相互作用預(yù)測

蛋白質(zhì)在生物中起著核心作用于个。即氛魁,蛋白質(zhì)是生物細(xì)胞內(nèi)部和外部大部分功能的關(guān)鍵參與者。例如厅篓,有些蛋白質(zhì)負(fù)責(zé)細(xì)胞凋亡秀存,細(xì)胞分化和其他關(guān)鍵功能。同時贷笛,蛋白質(zhì)的功能直接取決于其三維結(jié)構(gòu)应又。即,改變蛋白質(zhì)的結(jié)構(gòu)可以顯著改變蛋白質(zhì)的功能乏苦,這是藥物發(fā)現(xiàn)的重要依據(jù)之一株扛。許多藥物(小分子)被設(shè)計與特定蛋白質(zhì)結(jié)合,改變其結(jié)構(gòu)汇荐,從而改變其功能洞就。此外掀淘,至關(guān)重要的一點是,僅改變一種蛋白質(zhì)的功能就可以對細(xì)胞功能產(chǎn)生巨大影響倾贰。蛋白質(zhì)直接彼此相互作用匆浙,并且某些蛋白質(zhì)還充當(dāng)轉(zhuǎn)錄因子首尼,這意味著它們可以抑制或激活細(xì)胞中其他基因的表達软能。因此查排,改變一種蛋白質(zhì)的功能可以對細(xì)胞產(chǎn)生巨大的影響雹嗦,并可以改變不同的細(xì)胞通路了罪。

那么聪全,藥物發(fā)現(xiàn)中的一個重要問題是預(yù)測特定藥物是否可以結(jié)合特定蛋白質(zhì)娃圆。而藥物-靶標(biāo)相互作用(DTI)預(yù)測任務(wù)讼呢,近年來受到了極大的關(guān)注悦屏。

我們可以像下面這樣構(gòu)造DTI預(yù)測任務(wù):
描述:預(yù)測化合物與蛋白質(zhì)結(jié)合親和力的二元分類(可以形式化為回歸任務(wù)或二元分類)

輸入:化合物和蛋白質(zhì)表示向量

輸出:0-1或[0-1]中的實數(shù)

Qingyuan Feng[7]提出了一種基于深度學(xué)習(xí)的藥物-靶標(biāo)相互作用預(yù)測框架础爬。 用于DTI預(yù)測的大多數(shù)深度學(xué)習(xí)框架都將化合物和蛋白質(zhì)信息作為輸入看蚜,但是不同之處在于它們用于輸入神經(jīng)網(wǎng)絡(luò)的輸入表示方法的不同渴逻。 正如我在上一節(jié)中提到的裸卫,化合物可以多種方式表示(分子指紋墓贿,SMILES聋袋,從圖卷積網(wǎng)絡(luò)提取的特征)幽勒,蛋白質(zhì)也可以具有不同的表示啥容。 根據(jù)不同的表示咪惠,可以使用各種網(wǎng)絡(luò)架構(gòu)來處理DTI預(yù)測遥昧。
例如,如果我們要對化合物和蛋白質(zhì)都使用基于文本的表示形式(化合物和氨基酸的SMILES代碼或蛋白質(zhì)的其他基于序列的描述符)鞋仍,那么基于RNN的體系結(jié)構(gòu)就是我想到的第一件事威创。

Matthew Ragoza等那婉。 提出了一種用卷積神經(jīng)網(wǎng)絡(luò)進行蛋白質(zhì)配體評分的方法[8]。 他們沒有使用基于文本的表示呛谜,而是利用了蛋白質(zhì)配體的三維(3D)表示隐岛。 因此聚凹,使用可以作用于此3D結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)彼哼,并提取有意義和適當(dāng)?shù)奶卣饕灶A(yù)測蛋白質(zhì)配體結(jié)合親和力敢朱。

最近拴签,Bo Ram Beck等人。 使用分子的SMELIES表示并使用用雙向編碼器表示的transformer架構(gòu)(BERT), 開發(fā)了一種可以篩選對2019-nCoV病毒蛋白起作用的市售藥物的模型-Molecule Transformer Drug Target Interaction (MT-DTI)杖剪。

盡管提出深度學(xué)習(xí)算法用于DTI預(yù)測已成為一種大趨勢洛巢,并且在某些情況下已經(jīng)取得了令人印象深刻的結(jié)果稿茉,但論文非常相似恃慧,而我發(fā)現(xiàn)的唯一創(chuàng)新就是選擇了輸入表示的不同痢士。 因此茂装,對于該項任務(wù)總結(jié)如下:

  • 查找包含有關(guān)化合物和目標(biāo)物以及它們是否相互作用的信息的數(shù)據(jù)庫(例如STITCH數(shù)據(jù)庫)
  • 在DTI預(yù)測中,最常見的網(wǎng)絡(luò)是將一對化合物和蛋白質(zhì)作為輸入
  • 選擇適合化合物和蛋白質(zhì)的表示形式
  • 根據(jù)選擇的表示形式,選擇合適的神經(jīng)網(wǎng)絡(luò)模型來處理輸入豆茫。 根據(jù)經(jīng)驗,對于輸入肤京, 如果是基于文本的表示,可以使用基于RNN的體系結(jié)構(gòu)(GRU妒峦,LSTM等)和transformer肯骇,對于圖像或3D結(jié)構(gòu),可以使用卷積神經(jīng)網(wǎng)絡(luò)。
  • 該問題可以看作是二元分類(化合物是否結(jié)合到靶標(biāo))或回歸(預(yù)測化合物與蛋白質(zhì)之間的親和力強度)笨鸡。

以上是DTI預(yù)測的大致內(nèi)容哥桥。 起初,也許這似乎是一項艱巨的任務(wù)已卸,但是借助deep learning算法可以以非常簡單的技術(shù)和策略來解決這一問題。

輸入表示:input representation

新藥設(shè)計

到目前為止奥吩,我們僅涉及到了判別式算法霞赫。 即甘改,給定一種藥物抵代,該算法可以預(yù)測其副作用和其他相關(guān)特性,或者給定化合物-蛋白質(zhì)對,則可以預(yù)測它們是否可以結(jié)合。

但是邑闺,如果我們對設(shè)計具有某些特性的化合物感興趣呢抵乓? 例如,我們要設(shè)計一種化合物,該化合物可以與特定蛋白質(zhì)結(jié)合,修飾某些通路,并且不與其他通路相互作用,并且還具有某些物理性質(zhì),例如特定的溶解度范圍鸥印。

上一部分介紹的工具鏈?zhǔn)菬o法解決這個問題的狂鞋。 這個問題最好在生成模型的領(lǐng)域中實現(xiàn)。自回歸算法(Autoregressive)潜的,變分自編碼器(VAE)和生成對抗網(wǎng)絡(luò)(GAN)等生成模型已經(jīng)在機器學(xué)習(xí)社區(qū)中得到了廣泛普及骚揍。 但是,在新藥物設(shè)計任務(wù)中的應(yīng)用還不是很久啰挪。

顯而易見信不,產(chǎn)生具有某些所需特性的化合物比上一節(jié)中討論的其他兩個問題難⊥龊牵可供搜索的化學(xué)分子的空間非常大抽活,在該空間中進行搜索以找到合適的藥物非常耗時且?guī)缀跏遣豢赡艿娜蝿?wù)。 盡管有些文獻中有一些不錯的結(jié)果锰什,但該領(lǐng)域尚處于起步階段下硕,需要更成熟的方法丁逝。 在這里,我將回顧我在該領(lǐng)域閱讀的一些最佳論文梭姓。

很多論文中提及霜幼, 生成SMILES作為輸出,最后將SMILES轉(zhuǎn)換到化學(xué)空間誉尖,獲取其分子結(jié)構(gòu)罪既。例如,
Rafael Gomez-Bombarelli等释牺, 提出了一種使用數(shù)據(jù)驅(qū)動的分子連續(xù)表示進行自動化學(xué)設(shè)計的方法[9]萝衩。

Using the variational autoencoder to generate compounds with desired properties

他們使用VAE算法生成分子。 輸入表示和輸出表示都是SMILES没咙。本文的一個不錯的技巧是在潛在空間(它是一個連續(xù)空間)中使用高斯過程達到具有所需化學(xué)性質(zhì)的點猩谊。然后,使用解碼器將潛在空間中的此點轉(zhuǎn)換(解碼)為SMILES代碼祭刚。 該論文寫得很好牌捷,絕對是推薦讀物。但是涡驮,問題在于SMILES代碼與分子之間沒有一一對應(yīng)的關(guān)系暗甥。 也就是說,并非所有產(chǎn)生的代碼都可以轉(zhuǎn)換回原始(化學(xué))空間捉捅,因此撤防,產(chǎn)生的SMILES代碼通常與有效分子符。

SMILES是非常流行的表示形式棒口,但它們也具有一個很大的缺點:SMILES并不是可靠的表示形式寄月。 即,更改SMILES中的一個字符(字符突變)可以將分子從有效更改為無效无牵。

Matt J. Kusner等漾肮。通過Grammer VAE專門解決上述提到的“產(chǎn)生與有效分子不對應(yīng)的SMILES代碼問題”[10]。
他們沒有將SMILES字符串直接輸入到網(wǎng)絡(luò)并生成SMILES代碼茎毁,而是將SMILES代碼轉(zhuǎn)換為解析樹(通過使用SMILES上下文無關(guān)的語法)克懊。 使用語法,它們可以生成語法上更有效的分子七蜘。 此外谭溉,作者指出:

Surprisingly, we show that not only does our model more often generate valid outputs, it also learns a more coherent latent space in which nearby points decode to similar discrete outputs.

最近,Mario Krenn等人橡卤。 提出了另一種基于VAE和SELFIES表示的分子生成方法[5]夜只。 SELFIES的主要優(yōu)點是堅固性。

下圖主要涵蓋了使用不同的分子表示方法蒜魄,以及不同的生成算法的相關(guān)論文研究扔亥。

method

總結(jié)

在這篇綜述中,回顧了深度學(xué)習(xí)在藥物發(fā)現(xiàn)中的一些應(yīng)用谈为。 顯然旅挤,這篇評論還沒有完成,我會在后續(xù)繼續(xù)補充更多的內(nèi)容伞鲫。我希望這篇文章能鼓勵你為該領(lǐng)域做出貢獻粘茄,以使藥物發(fā)現(xiàn)的工作多一點方便,少一點乏味秕脓。

引用

<div id="refer-anchor"></div>

[1] Database fingerprint (DFP): an approach to represent molecular databases

[2] Fingerprints in the RDKit

[3] DeepCCI: End-to-end Deep Learning for Chemical-Chemical Interaction Prediction

[4] OpenSMILES specification.

[5] SELFIES: a robust representation of semantically constrained graphs with an example application in chemistry, Mario Krenn et al.

[6] GRAPH CONVOLUTIONAL NETWORKS, Thomas Kipf

[7] PADME: A Deep Learning-based Framework for Drug-Target Interaction Prediction, Qingyuan Feng et al.

[8] Protein-Ligand Scoring with Convolutional Neural Networks, Matthew Ragoza et al.

[9] Automatic Chemical Design Using a Data-Driven Continuous Representation of Molecules, Rafael Gomez-Bombarelli et al.

[10] Grammar Variational Autoencoder, Matt J. Kusner et al.

[11] Objective-Reinforced Generative Adversarial Networks (ORGAN) for SequenceGeneration Models, Gabriel Guimaraes et al.

[12] Junction Tree Variational Autoencoder for Molecular Graph Generation, Wengong Jin et al.

[13] Deep learning enables rapid identification of potent DDR1 kinase inhibitors, Alex Zhavoronkov et al.

[14] Augmenting Genetic Algorithms with Deep Neural Networks for Exploring the Chemical Space, AkshatKumar Nigam et al.

[15] [A Model to Search for Synthesizable Molecules, John Bradshaw et al.](John Bradshaw et al)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末柒瓣,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子吠架,更是在濱河造成了極大的恐慌芙贫,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件傍药,死亡現(xiàn)場離奇詭異磺平,居然都是意外死亡,警方通過查閱死者的電腦和手機拐辽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門拣挪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人俱诸,你說我怎么就攤上這事菠劝。” “怎么了睁搭?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵赶诊,是天一觀的道長。 經(jīng)常有香客問我介袜,道長甫何,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任遇伞,我火速辦了婚禮辙喂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鸠珠。我一直安慰自己巍耗,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布渐排。 她就那樣靜靜地躺著炬太,像睡著了一般。 火紅的嫁衣襯著肌膚如雪驯耻。 梳的紋絲不亂的頭發(fā)上亲族,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天炒考,我揣著相機與錄音,去河邊找鬼霎迫。 笑死矾麻,一個胖子當(dāng)著我的面吹牛卖局,可吹牛的內(nèi)容都是我干的行嗤。 我是一名探鬼主播悼泌,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼涩赢!你這毒婦竟也來了戈次?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤筒扒,失蹤者是張志新(化名)和其女友劉穎怯邪,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霎肯,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡擎颖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了观游。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搂捧。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖懂缕,靈堂內(nèi)的尸體忽然破棺而出允跑,到底是詐尸還是另有隱情,我是刑警寧澤搪柑,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布聋丝,位于F島的核電站,受9級特大地震影響工碾,放射性物質(zhì)發(fā)生泄漏弱睦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一渊额、第九天 我趴在偏房一處隱蔽的房頂上張望况木。 院中可真熱鬧,春花似錦旬迹、人聲如沸火惊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽屹耐。三九已至,卻和暖如春椿猎,著一層夾襖步出監(jiān)牢的瞬間惶岭,已是汗流浹背寿弱。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留俗他,地道東北人脖捻。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像兆衅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子嗜浮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容