徳島大学図書館藏本分館の学生用ユーザーアカウントから外付けHDD内のPython環境を使用してみた。

 

最近大学図書館のWindowsPC(サーバー不明)がMacOSに移行したのでせっかくなのでいろいろ試行錯誤してみた。

まずはユーティリティからターミナルを起動。

echo $HOMEしてみる。

/home/c401…

各学生のユーザーアカウントがhomeディレクトリ直下に存在するようである。

環境変数はほぼ初期化状態のようで、exportコマンドすら使えなかった。

export: Command not found.

代わりにsetコマンドは使用できるみたいでしたが、ログインごとにalias設定、環境変数設定を行うのはやや(というかメチャクチャ)面倒なので、ここでvim ~/.bash_profile作成。

set PATH=’/Volumes/Macintosh\ HD/Users/yoshinobuhiroaki/anaconda/bin’:$PATH

のち、新しくwindowを開いたのだけど、echo $PATHしても

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

となり環境変数が反映されていない..

.bash_profileの仕組みに注目してもよかったのだが、今回は大学内のMac環境から外付けHDD内のPython環境を手っ取り早く使用することが目的だったので、デスクトップ内にHDD内のpythonにlinkを作成することにした。

ln 

/Volumes/Macintosh\ HD/Users/yoshinobuhiroaki/anaconda/bin/python2.7 /home/c40…/Desktop を実行。

すると「Cross-device link」という例外が発生した。

Oracleによると、別のファイルシステムなど、別のデバイス上のファイルに対してハードリンクしようとするとCross-device linkの例外が表示されるらしい。

参考

https://docs.oracle.com/cd/E19455-01/806-2720/msgs-203/index.html

ということなので -sを付加してsymlinkの作成。

さすが、柔らかいリンクといわれるだけあって、作成したエイリアスファイルをターミナルで開くよう設定を変更した上で開くと、HDD内のpythonが起動できた。スクリーンショット 2017-02-25 18.42.22.png

人生まだまだ勉強ですね…

超☆非効率的に線形回帰

 

今夜はクリスマスということなので、i-control(プレートリーダー)を使って得たデータの線形回帰分析用のpython スクリプトをアップしようと思う。

↓生データ

Screenshot 2016-12-24 14.05.36.png

↓スクリプト

Screenshot 2016-12-24 14.06.06.png

Santaclaus is coming to town(脅迫状)

工夫したらもっと良くなると思う。

あと、線形回帰程度ならtensorflow使わないほうが効率的。

ML using Tensorflow supported by keras(MNIST)

In [1]: import tensorflow as tf

In [2]: from keras.layers import Dropout
Using TensorFlow backend.

In [3]: from keras import backend as K

In [4]: from keras.layers import Dense

In [5]: from keras.objectives import categorical_crossentropy

In [6]: from tensorflow.examples.tutorials.mnist import input_data

まずは名前空間に必要なモジュールを例のごとくインポートしていく。

In [7]: sess = tf.Session()

In [8]: K.set_session(sess)

tensorflowのセッションを立ち上げ、さらにkerasにおいてもセッションを起動する。

In [9]: img = tf.placeholder(tf.float32,shape=(None,784))

In [10]: labels = tf.placeholder(tf.float32, shape=(None, 10))

続いて画像データ・ラベルを格納するためのプレースホルダを設定し

In [11]: x = Dense(128, activation=’relu’)(img)

In [12]: x = Dropout(0.5)(x)

In [13]: x = Dense(128, activation=’relu’)(x)

In [14]: x = Dropout(0.5)(x)

In [15]: preds = Dense(10, activation=’softmax’)(x)

kerasにより、中間層の活性化関数がrelu,出力層直前の活性化関数がsoftmax関数である多層CNNを構築する。

In [16]: loss = tf.reduce_mean(categorical_crossentropy(labels, preds))

トレーニングセットのラベルと、CNNが出力する判定結果との交差エントロピーの誤差関数を定義し、

In [17]: mnist_data = input_data.read_data_sets(‘MNIST_data’, one_hot=True)

MNISTのデータセットをone hotベクトル形式でダウンロードする。

In [18]: train_step = tf.train.GradientDescentOptimizer(0.5).minimize(loss) 

ついで最急降下法によって定義した誤差関数を最適化し、

In [19]: with sess.as_default():
….: for i in range(100):
….: batch = mnist_data.train.next_batch(50)
….: train_step.run(feed_dict={img: batch[0],
….: labels: batch[1],
….: K.learning_phase(): 1})

セッションのデフォルト値を上のように定める。

batch[0]は画像データ(vector)、batch[1]はデータラベル(int)である。(多分)

K.learning_phaseを1として、CNNがトレーニング段階であることを指定する。

In [21]: from keras.metrics import categorical_accuracy as accuracy

In [22]: acc_value = accuracy(labels, preds)

kerasよりaccuracy()関数を呼び出し、未知データの真のデータラベルがpreds(predictions)と一致している比率を計算しうるオブジェクトを生成。

In [24]: with sess.as_default():
….: print acc_value.eval(feed_dict={img: mnist_data.test.images,
….: labels: mnist_data.test.labels,
….: K.learning_phase(): 0})

最後にテスティングセットをimg,labelsに設定してセッション開始。

結果

0.8526

プロネットサーファーへの道

# coding:utf-8
import google
import os
from time import sleep
from selenium import webdriver
from requests_oauthlib import OAuth1Session
import json
import settings

twitter = OAuth1Session(settings.CONSUMER_KEY, settings.CONSUMER_SECRET, settings.ACCESS_TOKEN, settings.ACCESS_TOKEN_SECRET)

params = {}
req = twitter.get(“https://api.twitter.com/1.1/statuses/home_timeline.json”, params = params)

timeline = json.loads(req.text)

for tweet in timeline:
term = str(tweet[“text”].encode(“utf-8”))[:10]
f = google.search(term, lang = ‘ja’,num = 2,stop = 1)
F = google.search(term, lang = ‘en’,num = 2,stop = 1)

#print(‘Quick search URL result bellow\n’)
list = [url for url in f]
list2 = [url for url in F]
# print(url)

driver = webdriver.Chrome()
driver.get(list[0])
driver.set_window_position(0,0)
driver.set_window_size(1000,500)

river = webdriver.Chrome()
river.get(list[1])
river.set_window_position(1000,510)
river.set_window_size(1000,500)

iver = webdriver.Chrome()
iver.get(list2[0])
iver.set_window_position(0,510)
iver.set_window_size(1000,500)

ver = webdriver.Chrome()
ver.get(list2[1])
ver.set_window_position(1000,0)
ver.set_window_size(1000,500)

sleep(30)
driver.quit()
river.quit()
iver.quit()
ver.quit()

相変わらず適当ですがスニペットをどうぞ

Kaplan-Meyer Survival analysis

#survival analysis

import pandas as pd

from lifelines.estimation import KaplanMeierFitter

import matplotlib.pyplot as plt

kmf = KaplanMeierFitter()

df = pd.read_csv(‘intervened.csv’)

T = df[‘time’]

N = df[‘delta’]

df2 = pd.read_csv(‘not_intervened.csv’)

T2 = df2[‘time’]

N2 = df2[‘delta’]

ax = plt.subplot(111)

kmf.fit(T, event_observed=N, label=[‘intervened’])
kmf.survival_function_.plot(ax=ax)
kmf.fit(T2, event_observed=N2, label=[‘control’])
kmf.survival_function_.plot(ax=ax)

plt.title(‘Lifespans’)

kmf2 = plt.gcf()

plt.show()

#Logrank test

from lifelines.statistics import logrank_test
summary_= logrank_test(T, T2, N, N2, alpha=.99)

print summary_

ref)

https://en.wikipedia.org/wiki/Aneuploidy

http://c4s.blog72.fc2.com/blog-entry-84.html

https://plot.ly/ipython-notebooks/survival-analysis-r-vs-python/

http://dr-urashima.jp/pdf/how-kapuran.pdf

文献紹介 一回目(2016/12/6)

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3411354/

 

%e6%96%b0%e8%a6%8f%e3%83%88%e3%82%99%e3%82%ad%e3%83%a5%e3%83%a1%e3%83%b3%e3%83%88-320161123150216215

 

 

%e6%96%87%e7%8c%ae%e7%b4%b9%e4%bb%8b%e5%ae%8c%e5%85%a8%e7%89%88

references

https://en.wiktionary.org/wiki/postfixation

https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AA%E3%82%B3%E3%83%BC%E3%83%AB%E3%82%A8%E3%83%BC%E3%83%86%E3%83%AB%E3%82%B8%E3%82%A2%E3%83%9F%E3%83%B3%E5%9B%9B%E9%85%A2%E9%85%B8

http://www.wako-chem.co.jp/siyaku/info/life/article/4_PFA.htm

http://www.lintoninst.co.uk/Products/tabid/63/ProdID/584/Language/en-US/AM548__AM524_IR_Locomotor_Activity_Monitors.aspx

https://www.researchgate.net/post/Is_it_possible_to_freeze_fixed_tissues_embedded_in_OCT_at-80_C_freezer

https://www.researchgate.net/post/Rearing_in_rats_what_does_it_mean

https://en.wikipedia.org/wiki/Optimal_cutting_temperature_compound

http://www.funakoshi.co.jp/contents/566

https://ja.wikipedia.org/wiki/LacZ

https://ja.wikipedia.org/wiki/%E7%B5%8C%E5%8F%A3%E8%A3%9C%E6%B0%B4%E6%B6%B2

https://en.wiktionary.org/wiki/permeabilize#English

http://www.thefreedictionary.com/rinse

https://en.wikipedia.org/wiki/NP-40

https://en.wikipedia.org/wiki/X-gal

https://en.wikipedia.org/wiki/High-performance_liquid_chromatography

https://www.researchgate.net/figure/8499980_fig2_Fig-2-Altered-endocytic-sorting-in-a-GSL-storage-disease-cell-model-Defective

https://ja.wikipedia.org/wiki/%E3%83%8D%E3%82%B9%E3%83%81%E3%83%B3

http://www.iwt.akita-pu.ac.jp/Template/24.E.asp?Lang=English&isSlide=&isAutoSlideShow=&Root=/Template/18.E.asp&RootItem=Electron+and+Light+Microscopy+Facilities

http://acif.ucr.edu/nmr/inova500.html

https://en.wikipedia.org/wiki/Immunomodulation

http://www.kenkyuu2.net/cgi-biotech2012/biotechforum.cgi?mode=view;Code=2373

http://www.dictionary.com/browse/nonsterile?s=t

http://www.dictionary.com/browse/housed

https://ja.wikipedia.org/wiki/PAS%E6%9F%93%E8%89%B2

https://www.qiagen.com/us/shop/sample-technologies/rna/rneasy-protect-mini-kit/#orderinginformation

https://en.wikipedia.org/wiki/Magnocellular_cell

https://ja.wikipedia.org/wiki/%E3%83%8B%E3%83%BC%E3%83%9E%E3%83%B3%E3%83%BB%E3%83%94%E3%83%83%E3%82%AF%E7%97%85

http://eow.alc.co.jp/search?q=rectify

http://eow.alc.co.jp/search?q=milieu

http://ejje.weblio.jp/content/in+utero

http://www.dictionary.com/browse/unilateral

https://www.infovisual.info/en/human-body/skull-upper-view

http://www.dictionary.com/browse/juxtaposed?s=t

https://en.wikipedia.org/wiki/Bregma

https://en.wiktionary.org/wiki/inplane

https://www.ole.bris.ac.uk/bbcswebdav/institution/Faculty%20of%20Health%20Sciences/MB%20ChB%20Medicine/Radiology/MRI%20e-tutorial/page_04.htm

https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%B3%E3%83%81%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E6%A4%9C%E5%87%BA%E5%99%A8

https://pdbj.org/mom/198

http://www.saibou.jp/service/kensaku/detail.php?catalogno=EC07062902-F0

https://www.thermofisher.com/jp/ja/home/life-science/protein-biology/protein-biology-learning-center/protein-biology-resource-library/pierce-protein-methods/ihc-counterstains.html

https://www.nibib.nih.gov/science-education/science-topics/magnetic-resonance-imaging-mri

http://biochem2.umin.jp/contents/Manuals/manual42.html

http://www.ema.europa.eu/ema/index.jsp?curl=pages/medicines/human/medicines/000801/wapp/Initial_authorisation/human_wapp_000064.jsp

http://www.eisai.jp/medical/region/radiology/rt/pdf/003/L/18.pdf

https://www.ncbi.nlm.nih.gov/pubmed/17545069

https://ja.wikipedia.org/wiki/%E9%AA%A8%E9%AB%84%E7%95%B0%E5%BD%A2%E6%88%90%E7%97%87%E5%80%99%E7%BE%A4

http://www.chiringi.or.jp/camt/wp-content/uploads/2014/04/ad8a0dba3b034c1d53ed85fe5099fb80.pdf

https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%83%E3%83%95%E5%A1%A9%E5%9F%BA

https://ocw.kyoto-u.ac.jp/ja/faculty-of-agriculture-jp/5195000/pdf/01/112.pdf

http://www.siyaku.com/uh/Shs.do?dspWkfcode=193-08445

http://www.anatomy.med.keio.ac.jp/funatoka/anatomy/Textbook/anatomy16b-3-2-1.html

http://ejje.weblio.jp/content/mediodorsal+thalamic+nucleus

https://www.google.co.jp/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=late+entorhinal+cortex%E6%84%8F%E5%91%B3

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1110647536

http://www.businessdictionary.com/definition/schematic-diagram.html

http://www.medicinenet.com/script/main/art.asp?articlekey=4041

http://mrifan.net/lecture/792

http://www.jsdi.or.jp/~fumipon/mri/K-space.htm

http://radiology.nobody.jp/

http://www2.kanazawa-it.ac.jp/higuael/nmr_basic.html

http://rad-base.com/?p=1412

http://kanri.nkdesk.com/hifuka/men11.php

 

 

networkx

cd /Users/yoshinobuhiroaki/Desktop/community/taynaud-python-louvain-1f09b889de46

python setup.py install

running install

running bdist_egg

running egg_info

creating python_louvain.egg-info

writing requirements to python_louvain.egg-info/requires.txt

writing python_louvain.egg-info/PKG-INFO

writing top-level names to python_louvain.egg-info/top_level.txt

writing dependency_links to python_louvain.egg-info/dependency_links.txt

writing manifest file ‘python_louvain.egg-info/SOURCES.txt’

reading manifest file ‘python_louvain.egg-info/SOURCES.txt’

writing manifest file ‘python_louvain.egg-info/SOURCES.txt’

installing library code to build/bdist.macosx-10.6-x86_64/egg

running install_lib

running build_py

creating build

creating build/lib

creating build/lib/community

copying community/__init__.py -> build/lib/community

copying community/community_louvain.py -> build/lib/community

copying community/community_status.py -> build/lib/community

creating build/bdist.macosx-10.6-x86_64

creating build/bdist.macosx-10.6-x86_64/egg

creating build/bdist.macosx-10.6-x86_64/egg/community

copying build/lib/community/__init__.py -> build/bdist.macosx-10.6-x86_64/egg/community

copying build/lib/community/community_louvain.py -> build/bdist.macosx-10.6-x86_64/egg/community

copying build/lib/community/community_status.py -> build/bdist.macosx-10.6-x86_64/egg/community

byte-compiling build/bdist.macosx-10.6-x86_64/egg/community/__init__.py to __init__.pyc

byte-compiling build/bdist.macosx-10.6-x86_64/egg/community/community_louvain.py to community_louvain.pyc

byte-compiling build/bdist.macosx-10.6-x86_64/egg/community/community_status.py to community_status.pyc

creating build/bdist.macosx-10.6-x86_64/egg/EGG-INFO

installing scripts to build/bdist.macosx-10.6-x86_64/egg/EGG-INFO/scripts

running install_scripts

running build_scripts

creating build/scripts-2.7

copying and adjusting bin/community -> build/scripts-2.7

changing mode of build/scripts-2.7/community from 644 to 755

creating build/bdist.macosx-10.6-x86_64/egg/EGG-INFO/scripts

copying build/scripts-2.7/community -> build/bdist.macosx-10.6-x86_64/egg/EGG-INFO/scripts

changing mode of build/bdist.macosx-10.6-x86_64/egg/EGG-INFO/scripts/community to 755

copying python_louvain.egg-info/PKG-INFO -> build/bdist.macosx-10.6-x86_64/egg/EGG-INFO

copying python_louvain.egg-info/SOURCES.txt -> build/bdist.macosx-10.6-x86_64/egg/EGG-INFO

copying python_louvain.egg-info/dependency_links.txt -> build/bdist.macosx-10.6-x86_64/egg/EGG-INFO

copying python_louvain.egg-info/requires.txt -> build/bdist.macosx-10.6-x86_64/egg/EGG-INFO

copying python_louvain.egg-info/top_level.txt -> build/bdist.macosx-10.6-x86_64/egg/EGG-INFO

zip_safe flag not set; analyzing archive contents…

creating dist

creating ‘dist/python_louvain-0.4-py2.7.egg’ and adding ‘build/bdist.macosx-10.6-x86_64/egg’ to it

removing ‘build/bdist.macosx-10.6-x86_64/egg’ (and everything under it)

Processing python_louvain-0.4-py2.7.egg

Copying python_louvain-0.4-py2.7.egg to /Users/yoshinobuhiroaki/anaconda/lib/python2.7/site-packages

Adding python-louvain 0.4 to easy-install.pth file

Installing community script to /Users/yoshinobuhiroaki/anaconda/bin

Installed /Users/yoshinobuhiroaki/anaconda/lib/python2.7/site-packages/python_louvain-0.4-py2.7.egg

Processing dependencies for python-louvain==0.4

Searching for networkx==1.11

Best match: networkx 1.11

Adding networkx 1.11 to easy-install.pth file

Using /Users/yoshinobuhiroaki/anaconda/lib/python2.7/site-packages

Searching for decorator==4.0.10

Best match: decorator 4.0.10

Adding decorator 4.0.10 to easy-install.pth file

Using /Users/yoshinobuhiroaki/anaconda/lib/python2.7/site-packages

Finished processing dependencies for python-louvain==0.4

export PATH=$PATH:’/Users/yoshinobuhiroaki/Desktop/community/taynaud-python-louvain-1f09b889de46/build/lib/community’

import community
import networkx as nx
import matplotlib.pyplot as plt
G = nx.karate_club_graph()
partition = community.best_partition(G)
size = float(len(set(partition.values())))
pos = nx.spring_layout(G)
count = 0.
for com in set(partition.values()):
    count += 1.
    list_nodes = [nodes for nodes in partition.keys() if partition[nodes] == com]
    nx.draw_networkx_nodes(G, pos, list_nodes, node_size=20, node_color = str(count/size) )
plt.show()


Screenshot 2016-11-20 18.56.51.png

参考

http://qiita.com/ysekky/items/985cf01d21c742be92e3