fantom_zona’s diary

合成生物学(と最近では神経変性疾患)

deepchemを動かしてみました?②

久しぶりの更新です。
deepchemのチュートリアルを動かそうとしたら、タンパク質の構造を表示してくれませんでした。ここで少しつまずいてしまったので、記事にまとめようと思います。deepchemと言うかdeepchem以前なのですが、、、。

はじめに

このチュートリアルをやろうと思いました。足りないパッケージは適宜追加しながらやれば問題ないだろうと思っていたのですが、途中、

ngltraj = visualize_complex(complex_mdtraj)
ngltraj

と言う部分で、

Failed to display Jupyter Widget of type NGLWidget.

みたいな文字が表示され、複合体の構造が表示されませんでした。「あれ?NGLviewは途中で入れたはずなのにな?」と思い色々調べたことをまとめます。

結論

NGLViewを入れる際に、!pipで適当に付け足すだけではダメだったのです。

!pip install ipywidgets
!jupyter nbextension enable --py widgetsnbextension --sys-prefix

!pip install nglview
!jupyter-nbextension enable nglview --py --sys-prefix

これをコピペしましょう。終わり。
試しに、

import nglview as nv
view=nv.demo()
view

としてタンパク質が出てくればオッケーです。クリクリして遊びましょう。f:id:fantom_zona:20181104043347p:plain

医薬品開発の流れについて

基礎研究によって発見された薬剤候補は、非臨床試験で有効性・安全性が確認された後に臨床試験に移る。臨床試験は1,2,3相に分かれ、人における有効性・安全性を試験する。臨床試験を経て、国による承認を得たものが新薬として発売される。発売後も医薬品が適正に使用されるように医薬情報は収集される(育薬研究)。

臨床試験

第Ⅰ相試験

原則として少人数の健康な成人を対象として、治験薬の安全性とADME(吸収、分布、代謝、排泄)を調べる。抗がん剤などでは患者を対象とし、予備的な有効性についても検証する。

第Ⅱ相試験

 比較的少人数の患者を対象として、いくつかの使用方法(投与量・投与間隔。投与期間)を検討し、使用方法を決定する。

第Ⅲ相試験

 多数の患者を対象として、既存薬やプラセボとの比較を行う。

育薬研究

5toos

・Too few
治験は1000程度の限られた患者数で得られた情報

・Too simple
年齢や併用薬、合併症に制限が加えられた患者群の成績

・Too brief
投与期間も長期でない

・Too median-age
高齢者や小児などへの適用例は少ない

・Too narrow
腎機能・肝機能障害を合併する患者や妊婦は除外され、評価は専門家によって行われる

骨リモデリング・骨代謝における力の役割について

骨は、周囲の力学的刺激に誘導されるリモデリングによって、構造を変化させ適応的に身体を支える構造を維持している。例えば、宇宙飛行士や寝たきりの患者では、骨への力学的負荷が掛からないため、骨量の減少が認められる。このように、力学的刺激は骨構造の維持に重要な因子であることが分かっている。

骨リモデリングは、破骨細胞による骨吸収と骨芽細胞による骨形成のバランスによって制御されている。骨系細胞の一つである骨細胞は、骨への力学的負荷に応答しリモデリングを担う細胞群の活動を調節するメカノセンサーとしての役割を果たすと考えられている。骨細胞が力学的負荷を感知すると、NOやプロスタグランジンを産生することで、骨形成の方向に促進させることが知られている。骨細胞の力学刺激の形態としては、間質液流や静水圧上昇などが提案されているものの、未だそのメカニズムに関しては不明な点が多い。

 

**参考文献

CiNii Dissertations - 骨細胞の力学刺激感知およびカルシウム応答伝播のバイオメカニクス

Bone remodelling at a glance. - PubMed - NCBI

Tinderで遊ぶ

こんにちは。
色々辛いことがあって、むしゃくしゃしたのでTinderで色々遊んでみました。
とりあえず今回はTinderAPIを使って見ました。

Pynderの取得

pynderというものを使用しました。

git clone https://github.com/charliewolf/pynder
cd pynder 
python setup.py install

実は、pipでも入れることが可能なのですが、こちらのライブラリでは色々エラーが出てきてしまいます。どうやらgit cloneの方ではそれらのエラーは出てこないようなので、こちらで入れるようにしましょう。

トークンの取得

次に、facebookトークンを取得します。
https://tinderface.herokuapp.com/に取得方法が記載されているとの情報が多かったのですが、リンク先がメンテナンス中でした。
8月時点でもメンテナンス中との情報があったので、諦めて別の方法を模索しました。
まず、web版のTinderにログインし、左クリックで検証を選択。Networkのタブを選択し、Nameのやつを色々選択していくとX-Auth-Tokenというのがあります。これがトークンですが、2時間で変更されてしまうので注意しましょう。

やっとTinderで遊べる

import pynder
token="先ほどのトークン"
session=pynder.Session(XAuth_token=token)

helpでみてみるとこんな感じです。

"""
class Session(builtins.object)
 |  Methods defined here:
 |  
 |  __init__(self, facebook_token=None, XAuthToken=None, proxies=None, facebook_id=None)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |  
 |  get_fb_friends(self)
 |      Returns array of all friends using Tinder Social.
 |      :return: Array of friends.
 |      :rtype: Friend[]
 |  
 |  matches(self, since=None)
 |  
 |  nearby_users(self, limit=10)
 |  
 |  profile = <cached_property.cached_property object>
 |  update_location(self, latitude, longitude)
 |  
 |  update_profile(self, profile)
 |  
 |  updates(self, since=None)
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
 |  
 |  banned
 |  
 |  can_like_in
 |      Return the number of seconds before being allowed to issue likes
 |  
 |  likes_remaining
 |  
 |  super_likes_remaining
"""

get_fb_friendsというmethodは、facebook上の友達でtinderをしているユーザーを出すmethodのようですが何も出てきませんでした。(facebookではTinderを使用していることが秘匿される様配慮されているはずだが......。)1年ほど前まで使えていたようですが、APIの仕様が変更したらしく現在は使用できません(https://github.com/fbessez/Tinder)。少し残念な気持ちになりました。
nearby_usersは近隣のユーザーを出してくれます。defaultの数が10になっていますが、なぜか無限に出てきてしまいます。カウンタを付けて適度に出しましょう。そうしないと、429 Too Many Requestsとなってしまいます。リクエスト拒否のペナルティが12時間ほどあるので気をつけましょう。表示条件は、Session.profileのmethodから色々みることが可能です。

me=Session.profile
print(me.distance_filter) #指定距離
print(me.age_filter_min) #表示するユーザーの年齢下限
print(me.age_filter_max) #表示するユーザーの年齢上限

他にもsession.update_locationで自分の位置を自由に変更することが可能です。使い方としては特定の大学の位置を指定するとかですかね。丸の内OLや港区女子を狙ったりすることも出来るかもしれません。
短いですが、とりあえずPynderの使い方としてはこれくらいで。もし続編があるとしたら画像処理とテキスト解析でしょうかね。

アンブロキソールの効果

今回はこの論文

アンブロキソールと言えば痰切りとして誰もが知るところだが、具体的な機序についてはそういえばよく知らない。医学生程度ではこういう機序の分からないものは結構あり、実際教科書に載っているような生理学や分子生物学に基づかない機序であることが多いようだ。こういうのは幾らでもあり、アンブロキソールを始め、カルボシステインだとかマグミットだとかミヤBMだとかかなり頻繁に使用される薬剤にも存在すると思われる。だから、アンブロキソールなんてものがautophagy-lysosome系に作用するなんてのは僕にとってかなり驚きである。

Gaucher病の原因変異として知られていたGBA1変異が、GWASの結果から、実はParkinson病の相当なリスクファクターであることは界隈では有名だが、まさかアンブロキソールがGCaseのシャペロンだなんてことは全く知らなかった。論文の内容としては、アンブロキソールがautophagyを抑制しexocytosisを促進したり、ミトコンドリアの生合成を促進するという内容。α-synuclein代謝まで言及されており、リン酸化α-synucleinが減少することからParkinson病を抑制する方向に行くのではないかと示唆されている。(僕はそれは怪しいと思うが)

discussionで機序の仮説として書かれているのは、アンブロキソールがlysosomeに移行しexocytosisやCa2+放出を促進し、autophagyの抑制やTFEBの活性化が起きるということだそうだ。(仮説を示すデータはこの論文では示されていない。)ちなみに、実際にアンブロキソールを内服したら神経細胞に影響を与えるか?という考察もされており、内服だけではこの実験の濃度には達しないだろうと書かれている。

GBAやアンブロキソールの先行研究を知らないのでなんとも言えないとこだが、非常に面白い内容だと思った。アンブロキソールがいつ発売されたのか知らないが、おそらく新しい薬ではないだろうと思う。こういう昔ながらの薬の機序は意外と面白いような気がしていて、マクロライドの抗炎症作用だとかメトホルミンのGLP-1分泌促進作用だとか意外な関係が調べてて面白い。余談だが、この前薬屋さんの説明で聞いた話では、メトホルミンにGLP-1促進作用があるので、DPP4との組み合わせが非常に良いらしい。あと、ビグアナイドを内服してる際は休薬しないと造影剤を基本的には使ってはいけないが、実のところ、メトホルミンではそんなに乳酸アシドーシスが起きないのではないかとかなんとか。データがきちんとあるのかは知らないが。でも乳酸アシドーシス怖いもんね。

THのIPFに対する効果の論文

これ。

 

肺の遺伝子発現データベースからIPFにDIO2が高発現していることを発見し、患者検体も用いて検証。DIO2はT4→T3への変換を担うことから、THがIPFになんらかの修飾を加えているだろうということでブレオマイシンやTGF-β1の肺線維症モデルマウスに対してTHを試したところ、実はTHが線維化を抑制していたという。しかも、全身投与じゃなくて吸入だけでもニンテタニブやピルフェニドンに劣らない効果を示してる。電顕で見てみたところ、ミトコンドリアが変性しアポトーシスしていたとこのことで、PINK1やPCG-1αの関与を疑い、それを立証している。

ストーリーとしてはTHは変性したミトコンドリアのクリアランスと正常ミトコンドリアの増殖を促すというところ。

 

驚きの結果。組織像が綺麗だ。血ガス所見がどうなのかが気になるところ。マウスの血ガスをしてないなんてことはないだろうから、血ガスは良いデータが得られなかったのかな?こういう意外な関係の発見、大好きなのでもっともっと探索して行きたい。