薬学部における情報関連教育
薬学部 八 木 沢 暗 記
yagisawa@ne
七.nagasaki‑u.ac.jp
1.はじめに他の分野と同様、薬学でも日常のデスクワークはパソコンを利用した仕事がほとんど になっています。計算機はワープロとしての利用のほかに、データベース検索、表計算 ソフトによるデータ処理、化学構造表示、分子軌道計算などにも利用されています。ま た、卒業後就職の可能性の高い薬局でも薬歴管理など多くの点でコンピュータ化されつ つあり、多くの医薬品情報もインターネット上で公開されています。この様な状況で、
薬学部生は計算機についてある程度習熟していることが必要です。そのための薬学部で の情報教育ですが、学部生については全学教育のγ 般情報処理概論(必修)と一般情報 処理演習(選択;ほぼ全員選択)があること、卒業研究で各研究室に入れば計算機を多 用し自然に習熟することもあり、情報専門の科目は設けられていません。ただし、
2
、 3の実習でエクセルを用いたデータ解析とインターネットを使った医療情報の収集の演 習が行われています。一方、大学院では他大学からの進学者も考慮して医薬品情報実習(医療薬剤学実習の一部)が行われていますD ここではこれらを合わせて紹介します。
2 .
薬学部の情報教育環境2 . 1
計算機と関連機材学部大学院の演習を目的に計算機室があり以下の機器が設置されているO ウインドウズパソコン
NEC Value8tar V20 22
台 液晶プロジェクタNEC 8800 1
台レザープリンター
Canon LBP‑430 1
台 イメージスキャナーEpsonGT ・ 9500WIN 1
台 フィルムプリンターP o l a r o i d HR600W ・ B95 1
台これらは演習時間外は解放され、論文作成、メール送受信などに常時利用されているD
また、研究室にはネットワークに繋がれている約
120
台のパソコン(主にマッキント ッシュ)があるO2 . 2
データベース薬学部は以下のデータベースを持っているO
CACD (Chemical A b s t r a c t CD
版)月一回追加、年間 ~70 万件、工学部と共同購入、図書中央館サーバー
Current C o n t e n t s (
生命科学関連雑誌タイトル集)週一回追加 薬学図書室マッキントッシュ
CCSD (Cambridge C r y s t a l o g r a p h i c 8 t r u c t u r a l Data Base)
25
万件、薬学ws
3計算機を使う実習科目
3 . 1
一般情報処理演習(学部1
年次1
学期間)これは全学教育の科目であるが、薬学部生の主に選択する時間では、ワープロ、メ ール、ニュースと
V i s u a lb a s i c
の演習を行っているo V i s u a l B a s i cは基本操作、文法、
問題演習からなり、最終的に
PDB ( P r o t e i n Data Bank)
のデータを使って蛋白質の立体 図を画く D3 . 2
物理化学実習(学部2
年次、2
日間)コンビュータを使う部分のみ抜粋エクセルの基本操作を演習、反応速度データの処理、酸塩基解離と化学反応経過(一 次反応、
2
次反応など)のシミュレーションを行うO3 . 3
薬剤学実習(学部3
年次、. . . . . . 3
日間) コンビュータを使う部分のみ抜粋 1)コンピュータ一入門Windows
マシーンを使用するための基本的な操作方法。2 )
エクセルによるデータ解析(医薬品の安定性)フェノバルピタールの加水分解反応を
pH
および温度を変えて測定し、表計算ソフトE x c e l
を用いて半減期、速度論パラメー夕、分解所要時間、残存量などを算出するO3 )
エクセルによるシミュレーション(薬物速度論)モデル実験系を用いフェノールレッドの体内動態のシミュレーション実験を行い、
エクセルを用い排池速度定数、半減期、分布容積、全身クリアランス、平均滞留時 間などのパラメータを求める。また、パラメータを変えて血中濃度パターンのシミ ュレーションを行う O
3 . 4
医療情報・分析学実習(医療薬学実習の一部、学部3
年次、2
日間)インターネットによる情報収集: 医薬品についての情報を患者、医師、研究者に提 供すること[医薬品情報学]は薬剤師の重要な仕事です。そこで、この実習では医薬品 について、
1
)公表されている情報の種類と入手法、2
)情報の評価、3
)情報の加工;保存あるいは提供するため、および
4
)情報の伝達の技術;言葉や文章での表現を演習 している。演習は下の例を含む80
題の問題について、主にインターネットを通じて調 査し、口頭でのプレゼンテーションを行うとともに 報告書にまとめるo
演習例題
1
服薬指導に役立てるため、カプトリルと相互作用を生じる医薬品などの一覧表を 作りたい。(薬局からの依頼)2
抗ガン剤の副作用である吐き気やむかつきを押さえる薬として最近発売されたカ イトリルについて知りたい。(医師からの質問)3
秋の七草には何か薬効があるのでしょうか(患者からの質問)4 Ca桔抗薬による歯肉増殖症について教えてください。(内科医師からの質問)
5 端息治療のために2
種類の吸入薬 (b刺激薬と吸入ステロイド薬)を処方されているが,効果はどのように違うのか教えて欲しい。また,一緒に吸入する時には,
どういう順番で吸入すればよいのか。(病棟で入院患者さんからの質問)
3 . 5
医療情報実習(医療薬剤学実習の一部) (大学院博士課程前期1 0
日間)1)
Windows
入門と周辺機器(スキャナー、プリンタ一、MO
ドライブ)の使用方法 大学院では他大学からの進学者も多いので、パソコンの基本操作から説明。ワープロによる文書作成を演習するO
2 )
インターネットとネットワークネットワークの概念、サーバー・クライアント、ファイル共有、資源共有(プリン ターなど)、セキュリティー、
T C P / I P
、I P
アドレス、DNS
、WWW
、FTP
、T e l n e t
などの項目を説明、実習として個人ホームページ(研究タイトル、大まかな研究 内容など)を作成、薬学WWW
サーバーに入れるO3 )
表計算ソフト(エクセル)基本的概念、応用範囲、基本操作(ワークシート、セル、ブック形式、数式、関 数、その他便利な使い方)検量線、統計計算などを説明、演習として薬物点滴投 与後の血禁中濃度パターンのシミュレーション、統計計算などを行う O
4 )
個人データベースの作成データベースの概念、データベースの形式、フィールドの設定、並び替え、検索 などを説明、エクセルおよびファイルメーカ・ーを使いカレントコンテント、
m e d l i n e
、CACD
からの個人データベース作成法を演習するO5) データベース検索
C u r r e n t C o n t e n t s
,m e d l i n e
,PubMed
,C A S o n l i n e
,Phamweb
などのデータベースを説 明、m e d l i n e
とCACD
について自分の専門分野の検索をするO6 ) UNIX
システムの利用T e l n e t
、FTP ( M S f t p )
、u n l X
コマンド(ファイル操作コマンドとパスワード変更 法)を説明。 主にUNIX
上のディレクトリを自分のハードディスクとして使うこ とを実習。これは個人のパソコンを持たない学生には利点があり、UNIX
に親し むきっかけになるO7 )
メールとニュースメールの仕組みと種々のメールソフトを説明。
m a i l x
とI E
によるメールを実習す るO ニュースはgn
で実習するO8) 計算化学ソフト
MOPAC
、C a s c h e
,A n c h o r 2
などの計算化学ソフトとB i o r e s e a r c h3 D (
蛋白構造解析 ソフト)を紹介、WinMopac
の基本操作を実習するO9)
V i s u a l B a s i c
(演習例を最後に示す)基本操作、文法(主に文字列操作)を説明、
m e d l i n e
などオンラインで入手したデ ータを整形しファイルメーカーなどで扱えるデータにするプログラムを作るO4 終わりに
薬学部での情報教育の問題点、課題などを列挙します。
[ウインドウズとマッキントッシュ]
薬学部では、研究室では大部分がマッキントッシュ、演習では全てウインドウズが使 われています。これは当初心配したほど問題はないようです。ソフトはほとんど同じで
すし、マッキントッシュの操作が簡単でウインドウズ利用者は直ぐにマッキントッシュ が使えます。一方、逆にマッキントッシュ利用者がウインドウズを使うのは多少障壁が あり、社会に出たときのことを考えるとウインドウズでスタートするのが良いかもしれ ない。いずれにせよ、それほど問題はない。
[プログラミング教育]
薬学部で担当している全学教育と大学院の教育では
V i s u a lB a s i c
を教えています。現 在では市販ソフトが多数あり、プログラミング教育はときに不用とも云われます。事実、薬学部でもワープロ、ケミドロー(化学構造描画ソフト)とエクセルが出来れば通常の 研究は間に合います。それで、もプログラミング教育を行っている理由は次のようなもの です。学生の興味が強い(アンケート結果)、個人では習得が困難(市販ソフトは自然 に使えるようになるが、プログミングは個人で習得する可能性が低い)、実用性もある (シミュレーション、データベースのテキストの一括整形に手軽に使える)、ワード、
エクセルなどの VBへの足がかりになる(これらは実際の仕事で役立つ可能性が高いが、
直接取り組むのは難しい)などです。また、計算機を道具として使うだけでなく、その 仕組み(ここではアルゴリズム)に興味を持つことも教育上意味があると考えています。
[Un
立とメールソフト]Unix
システムも個人では親しめないものの一つですが、将来必要となる学生もいる ので演習には意味があります。しかし、実用的なテーマを設定するのが難しいのが現状 です。そこで、まず、どのパソコンからも使える個人のハードディスクとして使うこと を奨めています。これはセンターには迷惑かも知れませんが、それほど容量を使うとも 思えません。これで簡単なコマンドを自然に憶えることを期待しています。また、メー ルもunixの mailx
を使い、mule
を使う機会を作っています。このメールソフトの選 択には薬学の計算機にはWinYatが入っていないと云う事情もあります。パソコンのメ
ールソフトの利用にはライセンスの問題と学生個人がパソコンを持っていないと云う事 情があります。[計算化学]
一般的な意味での情報教育からは少し外れますが、薬学部で教える必要があるものに 計算化学の分野があります。現在は時間的制約と専門に使っている教官がいないことで、
ほとんど教育をしていませんが、薬学研究には今後必要な分野です。これも個人では取 り付きにくいので、演習の形で行う意味があります。計算化学は化学と薬学の分野で重 要な量子化学の教育にも有効と云われています。
以上の薬学部の情報教育を全体としてみると、全学教育などの一斉教育では入門的な こと、薬学の専門に関係すること、個人では取り付きにくいことを主に教えており、市 販ソフトの細かな操作などはあまり教えていません。これは通常のソフトは研究室で実 際に使うことで習熟する、また、細かな点はソフトで変わると云う考えによっています。
また、ここにはウインドウズとマッキントッシュの問題、ソフトのライセンスの問題な どがあります。
V i s u a l B a s i c
応用問題テキストデータの整形 (薬学部医療情報実習)
[データの構造]
通常、データーベースのデータは複数の項目からなる。例えば住所録は氏名、住所、電話番号など である。これをフィールドと云う。データをデータベースソフトに入れるには各フィールドの聞が特 定の記号
(TAB
など)で分けられてる必要がある。CACD
はTAB
で分けて保存が可能であるが、Medline
やCAonline
では不可能である。さらに両方とも・行毎にリターンが入りフィールドがす 断されている。これを整形するソフトを順を追ってプログラミングする。TAB
やリターンの位置は ファイルの拡張子をt x t
に変えてWord
で聞き、段落記号の表示(矢印二つのボタン)を使えば見え る。[実習]
Medline
のデータの整形(プロジェクト名medprg)
フロッピーに
med
l.t x t
の名前でmedline
のデータを用意する。( m e d l i n e
は医学部のデータベー スを利用させてもらっています)新たにプロジェクトを聞き、Form1
の上に4
つのボタンを作りs p a c e
,l i n k
,t a b
,end
の名前をつける。各ボタンをダブルクリック、聞いたコードウインドウに以下のコードを入れる。
end
ボタンのコードにC I s
とend
の2
行を入れる。(注意) 長いコードは
run
をする前にNotepad
などにコピーしておく。プログラムが正常に動か ずVB
を中断する場合が多く、中断すると保存してないコードは消える。[ 1
]行頭のスペースを除く( s p a c e
ボタン)( 1 )
ファイルの読み込みと書き出しs p a c e
ボタンのコードに以下の文を入れる。NEC
パソコン以外はc :
をa :
にする。Open " c : m e d
l.t x t " For Input As #1
ファイルを聞くOpen " c : t e m p
l.t x t " For Output As #2
a 1 :
L i n e I n p u t #1
,r $
If
EOF(1) Then GoTo a10 P r i n t r $
Print#2
,r $ Goto a1 a 1 0 :
c l o s e
P r i n t "END"
End Sub
テンポラリファイルを開く
1
行r $
に読み込むもし、ファイルの終ならば
テンポラリファイルに書き込む
(2) medprg
の名前で保存後、実行する。(実行ボタンを押し、s p a c e
ボタンを押す)( 3 )スペース削除
実行停止後、下線の行を追加する。
' s p a c e
Open " c : m e d
l.t x t " For Input As #1 Open "c:mtemp
l.t x t " For Output As #2 a 1 :
Line Input #1
,r $
If
EOF(l) Then GoTo a10 n=Len(r$)
i = l
Do w h i l e Mid$(r$
ム1 ) = ""
i = i + 1 Loop
w$= R i g h t $ ( r $
,n ・ i + 1 ) P r i n t w$
Print#2
,w$
Goto a1 a 1 0 : c l o s e
P r i n t "END"
注釈文
ファイルを開く
1 行 r $ に読み込む
もし、ファイルの終ならば 行の長さを
nに入れる。
i
はカウンタ
この DoLoop で先頭のスペースの数を調べる。
" "の聞にスペース(英字)が必要。
iが1づっ増える。
ここまでを繰り返す。 DoLoop の意味は文法参照 SPACE を除いたものを w$ に入れる。
ファイルに書き込む
End Sub
保存後実行、フロッピーの temp
l.t x t を聞き、行頭のスペースがなくなっていることを確認。
[ 2 ] 行を連結する
l i n k ボタンに以下をコピーなどを使って入れる。
Open " c : t e m p
l.t x t " For Input As #1 Open " c : t e m p 2 . t x t " For Output As #2 b 3 :
Line Input #1
,r $
If
EOF(l) Then GoTo b10
If
L e f t $ ( r $
,1 ) =
"く"Then GoTo b4
I f r $ = "Unique I d e n t i f i e r " Then GoTo b4
Ifr $ = " A u t h o r s " Then GoTo b4
If
r $ = " I n s t i t u t i o n " Then GoTo b4
Ifr $ = " T i t l e " Then P r i n t : GoTo b4
Ifr $ = " S o u r c e " Then P r i n t : GoTo b4
︑ 在 音 山
'b
・
u︒
と す こ 出
/
¥ き
C
開 書 を に
+ ι U 4 1 u
x X
4i
u
ゐl u
W 1i9h‑
p p
m m e eムI
u u
&
E U
1
行 r $ に読み込む
もし、ファイルの終ならば
<2> などの行か調べる
If
r $
=" A b s t r a c t "
Then P r i n t : GoTo b4 P r i n t r $
+ " ";P r i n t #2 , r $
+ " ";GoTo b3 b 4 :
P r i n t : P r i n t r $
P r i n t #2
:,P r i n t #2
,r $ GoTo b3
b
lO:P r i n t #2
,r $ C l o s e
P r i n t "END"
End Sub
Authors
などのタグのない行はこれ以下を行うP r i n t
,P r i n t #
文の;は行を繋げる。'は行の間に
SPACE
を入れる。タグのある場合の操作
前の行にリターンを入れてから書き出す。
最後の行を入れる。
保存実行後、フロッピーの
t e m p 2 . t x t で A b s t r a c t
などが繋がって入る(行末にだけリターンがあ る)ことを見る。[ 3 ] TAB
の挿入t a b
ボタンに以下をコピーなどを使って入れる。' t a b
Open " c : t e m p 2 . t x t " For I n p u t As #1 Open " c : m e d
1.t a b " For Output As #2 c 3 :
L i n e I n p u t #1 , r $
If
EOF(l) Then GoTo c 1 0
If
L e f t $ ( r $
,1 ) =
"<"引l e nGoTo c 4
If
r $ = "Unique I d e n t i f i e r " Then GoTo c 4
If
r $ = " A u t h o r s " Then P r i n t : P r i n t #2
,:GoTo c 5
Ifr $
=" I n s t i t u t i o n " Then GoTo c 5
If
r $ = " T i t l e " Then P r i n t : GoTo c 5
Ifr $
=" S o u r c e " Then P r i n t : GoTo c 5
Ifr $ = " A b s t r a c t " Then P r i n t : GoTo c 5 P r i n t r $
+ " ";P r i n t #2
,r $
+ " ";GoToc3
c 4 :
L i n e I n p u t #1
,r $
If
EOF(l) Then GoTo c
lO注釈文
GoToc3 c 5 :
Line Input #1
,r $
If
EOF(1) Then GoTo c 1 0 P r i n t r $ + C h r $ ( 9 ) ; P r i n t #2
,r $ + C h r $ ( 9 ) ; GoToc3
c1
0 :
Print#2
,C l o s e
Form1.Print "END"
End Sub
<1>
," A u t h o r s "
などの行は除く。C h r $ ( 9 )
はタブを表す。保存実行後、フロッピーの
m e d t a b . t x t
を聞き、コピーしてE x c e l
にベーストしてみる。[ 4 ]
三つのプログラムの統合s p a c e
,l i n k
,t a b
のコード部分をコピーしてこの順につないだテキストファイルを作る。それを新たな プロジェクト(プロジェクト名med.
Vbp )
を作りそのs t a r t
ボタンのコードに入れる。この際、End Sub
は最後に一つだけ付ける。また、s p a c e
とl i n k
コードのP r i n t"END"
はc l s
に変える。各プログラム中のラベルに
a
九c
を付けたのは、一緒にしたときかち合うのを避けるためである。保存後実f
了。[ 5
]ファイル名を外から入れるコードとテンポラリファイルを消すコード。先頭の
open" c : m e d
l.t x t "
の 部 分 を f$= i n p u t b o x $ ( " f i l e name?")
Open " c : " + f $ For Input As #1
に変える。また、最後の
open
行(Open" c : m e d 4 . t x t " For Output As # 2 )
をOpen " c : " +
f$+ " . t a b " For Output As #2
に変える。うまく実行されたら、最後に下のテンポラリファイルを消す命令を付ける。
k i l l " c : t e m p
l.t x t "
k i l l " c : t e m p 2 . t x t "
通常のソフトのように、ドライブ選択、ファイル選択のボックスを作ることもできる。
詳しくは