magattacaのブログ

日付以外誤報

RDKit直訳 総括

勢いだけで始めた RDKit直訳 Advent Calendar 2018 - Adventar ですが、なんとか日程を全て終えることができました。ご支援いただいた皆様ありがとうございました。

 

ご覧いただいているという嬉しいコメントもいただいたので、調子に乗って試訳をまとめたテストサイトを作成しました。よろしければご参照ください。こんな感じです↓ 

f:id:magattaca:20181230210225p:plain

 

以下、備忘録を兼ねてRDKit直訳アドベントカレンダーの総括を記載しておきます。

 

 1. 振り返り

 当初の予定では、

①「 The RDKit Documentation 」のうち「Getting Started with the RDKit in Python」を対象とし、

② 専門用語についてはtwitterハッシュタグを使いながら修正していこう

と、考えていました。

  最終的に、

①については「The RDKit Documentation」のうち、「Python API Reference」を除く主要な項目の試訳を作成することができました。

②については、試訳の作成だけで手いっぱいとなり、SNS活用能力の低さも相まって最初の1週間もしないうちに諦めてしまいました。

 結果として、素人が専門用語もわからずにとりあえず日本語化した、というなんとも歪なものとなってしまいましたが、たたき台にでもしていただければ幸いです。

 

2. 日本語版サイトの追加項目について

 さて、試訳をまとめたサイトを作成するにあたって、日本語版の追加の項目として「Getting Started with the RDKit in Python」の補遺と、翻訳時に訳につまづいた単語の訳語対応表を追加しました。

1) 日本語版補遺を追加した意図

 オンラインドキュメンテーションを訳している間、具体的にどのような操作が行われているのかイマイチわかりませんでした。理由としては

・ 私がPython初心者でコードが読めない

ということに加えて

・SMILES、SMARTSといった表記法に馴染みがないため、操作の意味が想像できない

ということがあると思いました。

そこで、各コードで使われている線形表記を構造式におこしたFigureを作成し、日本語版の補遺として追加することとしました(*1)。

2) 訳語対応表を追加した意図

 用いた訳語の日英対応を掲載した理由は、

・単純に不適切な訳語を使用している可能性が高いため、後で修正する際の参考としたい

ということに加えて

モジュール、関数の名称が専門用語を反映しているように見えたので、英語の言い回しについて辿れるようにしておけば、RDKitを用いたコードを理解するうえで役に立つのではないか、

と考えたためです。

各日程で訳出に困った単語を集めて並べただけなのですが、まとめてみると

・「非専門家の私が訳出に困る単語」 = 「ケモインフォマティクス の専門用語の可能性が高い」

というわけで、「専門用語集的な役割も果たせるのでは??」という気もしてきました。 (自分で褒めていくスタイル!!)

 

3. テクニカルな話

 翻訳の記法として、はてなブログが対応しているからという理由でMarkdown記法を採用しJupyter notebookでぼちぼち作成していたのですが、日程最終段階でもっといい方法があるということがわかりました。念のため備忘録。

① エディタは大事

 ふとしたきっかけでAtomというエディタというのを使って見たのですが、こちらのプレビュー機能というのがとても便利でした。こんな感じ↓

f:id:magattaca:20181230193800p:plain

Atomの見た目(左半分:テキスト、右半分:対応箇所のプレビュー)

 左半分のMarkdownを編集すると、右側のプレビューが随時変化していくため、見た目を確認しながら作業を進めることができます。また、コードや段落、リンクといった箇所をそれぞれ色分けして表示してくれるため、記載のおかしい部分を随時把握することができます(*2)。

② reStructuredText 

 試訳をまとめたサイトを作成するにあたってMarkdownからreStructuredTextに記法を変更しました (*3)。

 Markdownよりも優れていると感じた点は、

・脚注の記載方法(リンクが相互なので、行ったり来たりしやすい)

・文書間のリンクを作成しやすい

と、いった点です。一方で

・テーブルの表記方法は字数を合わせないとすぐに崩れてしまうため、全角半角混合なものを書こうとすると幅を合わせるのが難しい

といった点は少し使いづらいと感じました(*4)。

必要に応じて table generator のtext table作成などを活用するのが良いかと思います。

 

 MarkdownからreStructuredTextへの変換にあたってはこちら の記事を参考にPandocを使用しました。とても簡単につかえて便利なのでオススメです。また、AtomでreStructuredTextを使うには拡張(reSTへの対応 reSTのプレビュー機能 の追加)が必要なのでご注意ください(*5)。

Sphinx

 公開するページの作成にあたってはこちらの記事などを参考にさせていただきつつ、Sphinxを使って見ました。Sphinxの日本ユーザ会 のページはとても内容が豊富でわかりやすいのでオススメです。

 またサイトの見た目(theme)にはこちら を参考にRead the Docs「sphinx_rtd_theme」を使用しました。themeを変えるためのconf.pyの設定については岐阜大学藤沢研究室のこちらのページを参考にさせていただきました(*6)。

 

以上、備忘録を兼ねてざっと便利だと思ったソフトウェアや注意点を振り返りました。

 

4. まとめ

 思いつきで始めた翻訳で思った以上に大変だったのですが、RDKitだけでなく翻訳や技術文書に関する周辺についても色々と知ることができとても勉強になりました。また、必要に迫られないと調べないモチベーションの低い人間なので、アドベントカレンダーを利用するというのは、逃げ道を断つというのと、強制的にスケジュール管理せざるを得ないという点で、とても有効だと思いました。

・・・残念ながら翻訳に必死で肝心のRDKitのPythonのコードを読む余裕はなかった 

 

 ふとしたきっかけでこのブログを始めてから、今年はとてもたくさんの方にお世話になりました。この場を借りてお礼申し上げます。

 今更ながらにとても驚いたのがツイッターにはすごい方々がたくさんいらっしゃって、情報をたくさん発信してくださっている、というのが今年の1番の発見でした。田舎だと情報手に入らないなーとぼんやり過ごしていたのですが、まさかこんな手段があったとは! 来年も気が向いたらぼちぼちやっていこうと思いますので、皆様どうぞよろしくお願い申し上げます。

 

良いお年を!

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*1)  構造式の作成にMarvinSketchを使って、RDKitを使っていない時点で「1ヶ月やって何も学んでない!」と怒られてしまいそうですが、MarvinSketch自由度高くて使い勝手良さすぎた・・・許してください

 *2)  初日に知りたかった!!Jupyter notebookで「Shift+ Enter」「セルの追加」を連打し続けた日々を返して欲しい・・・

*3) RDKitオリジナルサイトはMarkdownのものとreSTのものがどちらもありましたが、「技術書、翻訳」で検索したらreSTをオススメする記事がたくさん出てきたのでこちらに統一しました。

*4) RDKitのオリジナルサイトを流用したため表記が難しかったですが、

csv形式など幅を気にしなくてもいい表記方法もあるみたいです。

*5) reST表記を理解していなかったため変換ミスと思って削除した「\」が、実はエスケープ文字で必須だったと後で気付いた時は発狂しそうになりました・・・思い込みで作業するのは良くない

*6) Sphinxの使い方以外にも生物学的対称性の説明など面白そうな記事がいっぱいありました。

      研究室のHP →藤澤研究室