Pythonバイブコーディング講座 — Part 5(最終回)

論文公開時の運用

Zenodo・GitHub にアップロードする

2026.04 Tomoaki Yamaguchi ← シリーズ目次へ

シリーズ最終回です。Part 4 で requirements.txt を作り、環境の再現性を確保しました。最後の仕上げとして、解析パッケージ一式を Zenodo・GitHub などにアップロードし、論文と一緒に公開する方法を解説します。この公開によって、第三者は論文に付けたリンクから解析コードと環境にアクセスできます。図表をその場で再現することも可能です。PLOS ONENature 系列誌eLife などをはじめ、データ・コードの公開を求める雑誌は近年急速に増えています。Field Crops Research などの農学系の雑誌でも、一般的な方針になりつつあります。

! 最重要:データを公開するタイミング

実装手順に入る前に、「いつ」データやコードを公開するかを必ず確認してください。データ・コードを早すぎるタイミングでオープンにすると、先取権(プライオリティ)を失う、あるいは他者に先に論文化されるといったリスクがあります。

原則:データやコードのオープン公開は、査読論文として正式にパブリッシュされた後に行うのが最も安全です。 プレプリントを先に出しておけば発表日(タイムスタンプ)の確保にはなりますが、プレプリント段階での公開にもまだリスクが残ります(査読中に他者が同種の解析を発表する可能性、データ二次利用の管理の難しさなど)。論文受理/パブリッシュ後にPublicに切り替えるのが、研究者個人の利益と研究公開のバランスを取るうえで現実的な選択です。

投稿〜査読中の運用は次の通りです。

  1. 解析パッケージは Private(非公開)状態で GitHub・Zenodo・OSF などにアップロードしておく
  2. 論文に書く Data / Code Availability Statement には、「査読中はデータセキュリティ上の理由で非公開とし、論文パブリッシュ後にDOIを発行・公開する」旨を明記する。エディター・査読者にもこの方針を説明すれば、多くの場合理解してもらえる
  3. 査読者にだけ中身を見せたい場合は、査読者リンク(Reviewer Link / Anonymous Link) を発行できるサービス(OSF・Figshare・Zenodo の Closed access 機能 など)を活用する
  4. 論文がパブリッシュされたら、Private → Public に切り替え、Zenodo で正式に DOI を発行する

雑誌側のポリシーで「投稿時にデータ公開が必須」となっている場合は、投稿要領に従ってください。多くの雑誌は「査読中は査読者リンクで対応可、パブリッシュ時にPublic化」を許容しています。事前にエディターに確認すれば確実です。

01 公開用フォルダの最終形を整える

公開する前に、フォルダの構成をきれいに整理しておきます。理想的な構成例は次のとおりです。

公開用パッケージのフォルダ構成(例)

my_first_analysis/
├── data/
│   └── sample_data.xlsx  # 生データ
├── notebooks/
│   └── analysis.ipynb    # 解析スクリプト
├── results/
│   ├── scatter.png        # 出力された図
│   └── statistics.csv    # 出力された数値
├── requirements.txt       # 環境再現用
├── README.md             # 使い方の説明
└── .gitignore             # 除外ファイルの指定

※ .venv/ は .gitignore で除外(公開しない)

生データ・解析コード・結果を別フォルダに分けて整理すると、第三者にも構造が一目で伝わります。LLMにフォルダ構造を整理してほしいと頼むのも有効です。

生データに被験者情報など個人を特定できる情報が含まれる場合は、公開可能な形に匿名化・加工してから公開してください。倫理審査の同意範囲外のデータを公開しないよう注意してください。

02 公開先の選び方

研究データ・コードの公開先には、目的や分野によって複数の選択肢があります。本講座では Zenodo + GitHub の組み合わせを推奨します。ただし、ほかの選択肢も知っておくと、所属機関や雑誌の指定に柔軟に対応できます。

Zenodo

欧州CERNが運営する研究データのアーカイブサービス。アップロードすると DOI が発行される。zenodo.org

  • DOIで永続的にリンクを保証
  • 論文 citation に引用しやすい
  • 容量上限:1ファイル50GB、合計100GB
  • 分野を問わず使える

GitHub

世界最大のコード共有・バージョン管理プラットフォーム。共同編集や継続更新に強い。github.com

  • 変更履歴がすべて残る
  • コラボレーターと共同編集可能
  • DOIは標準では発行されない(Zenodo連携で発行可)
  • 共同研究・継続開発に向く

Figshare

研究データ専用のリポジトリ。Springer Nature 系雑誌と連携。figshare.com

  • DOIが発行される
  • 大容量データ対応(無料20GBまで)
  • 査読者用プライベートリンク発行可
  • Nature系誌で推奨されることが多い

OSF(Open Science Framework)

米国Center for Open Scienceが運営。プロジェクト全体の管理に向く。osf.io

  • DOIが発行される
  • プレレジストレーション(事前登録)にも対応
  • 容量上限:1ファイル5GB、合計に制限なし
  • 心理学・社会科学系で特に普及

Dataverse

Harvard大学発のオープンソース。各機関が独自に運用するケースも。dataverse.org

  • DOIが発行される
  • 所属機関が独自Dataverseを持っている場合は最適
  • メタデータ管理が充実
  • 大規模・長期保存に向く

分野特化型リポジトリ

分野によっては専用リポジトリの利用が推奨される。

投稿先雑誌の指定や、所属機関のポリシーに従って選択してください。本講座のおすすめは「Zenodo + GitHub」の組み合わせです。GitHubで継続更新しつつ、論文公開のタイミングでGitHubのリポジトリをZenodoに連携させてDOIを発行します(後述)。

03 GitHub にアップロードする

GitHubへのアップロードは、本サイトの別記事「研究者のためのポートフォリオサイト構築・公開ガイド」で解説した GitHub Desktop の使い方とほぼ同じ手順で完了します。流れを簡単に示します。

  1. github.com でアカウント作成(無料)
  2. 右上の「+」→「New repository」でリポジトリ作成(例:my-first-analysis、Public)
  3. desktop.github.com から GitHub Desktop をインストール
  4. GitHub Desktop で「File → Add Local Repository」→ 解析フォルダを選択
  5. 「Publish repository」でGitHubに公開

これで https://github.com/あなたのユーザー名/my-first-analysis という公開URLができます。誰でもこのURLから「Code → Download ZIP」でフォルダをダウンロードできます。

04 Zenodo で DOI を発行する

論文 Appendix に記載するURLとしては、永続性と引用のしやすさから Zenodo の DOI がおすすめです。GitHub と連携すれば、半自動で DOI を発行できます。

  1. zenodo.org にアクセスし、GitHubアカウントでサインイン
  2. 右上のユーザーメニュー → 「GitHub」を選び、自分のリポジトリ一覧を表示
  3. 該当リポジトリ(my-first-analysis)の右側のスイッチを ON にする
  4. GitHub に戻り、リポジトリページの右側「Releases」→「Create a new release」
  5. タグ(例:v1.0)とタイトルを入力して「Publish release」
  6. 数分待つと、Zenodo側に自動的にスナップショットが作成され、DOIが発行される

発行されたDOIは 10.5281/zenodo.XXXXXXXX という形式で、あなたのコードと環境のスナップショットに永続的に紐付きます。論文が撤回されない限り、世界中からアクセスできます。

05 論文Appendix(または Methods)にリンクを記載

論文の Methods セクション、もしくは Data Availability Statement や Code Availability Statement に、次のような形でリンクを書きます。

論文記載例(英語)

The Python code and processed data used to generate all figures and tables in this study are openly available at Zenodo (DOI: 10.5281/zenodo.XXXXXXXX) and GitHub (https://github.com/yourname/my-first-analysis). The analysis was performed using Python 3.12 with the libraries listed in requirements.txt.

論文記載例(日本語)

本研究のすべての図表は、公開リポジトリ(DOI: 10.5281/zenodo.XXXXXXXX、GitHub: https://github.com/yourname/my-first-analysis)に格納されたPythonスクリプトにより再現可能である。解析には Python 3.12 および requirements.txt に記載のライブラリを使用した。

雑誌によって書き方の指定があるため、必ず投稿要領を確認してください。多くの場合、「Data Availability」「Code Availability」という独立したセクションが用意されています。

06 継続的な更新運用

論文公開後も、解析を改良したりデータを追加したりすることはよくあります。GitHub と Zenodo の連携を続ける際の流れは、次のとおりです。

  1. ローカルでコードを修正(Claude Code・LLMで編集 → VSCodeで動作確認)
  2. GitHub Desktop でコミット&プッシュ(GitHub上の最新版が更新される)
  3. 必要に応じて新しい Release(例:v1.1)を発行 → Zenodoに新しいDOIが付与される

論文ですでに古いDOIを引用している場合でも問題ありません。Zenodo は「Concept DOI(最新版を指す)」と「Version DOI(特定の版を指す)」を区別して発行します。そのため、両方を状況に応じて使い分けられます。


Series Completed

全5パートを通して、Pythonの環境構築から、LLMを活用したバイブコーディング、再現性の確保、そして論文公開時の運用までを学んでいただきました。

ここから先は、実際のあなたの研究データで、ChatGPTと一緒に解析を進めていく実践あるのみです。エラーが出てもLLMに相談すれば必ず解決策が見つかります。再現性のある研究、コードを共有する研究文化に、ぜひ仲間入りしてください。

次の一歩

質問・感想・改善提案は、Contact(tomoakiyamaguchirice@gmail.com)からお気軽にお寄せください。

Prev — Part 4 ← 再現性の確保 目次 Series End Methods 一覧へ →