バイオインフォマティクスは、大量のデータを分析したり、深い要素を見つけたりする分野です。Pythonはこの分野でよく使われる言語で、その簡単さと密揉性からファイル操作にも優れています。この記事では、バイオインフォマティクスで有用な「ファイル操作」について基本から導入し、導入経験者も実用できる应用レベルのテクニックを解説します。
Pythonでファイル操作を始めるには
Pythonでファイル操作を行うには、標準ライブラリを利用するのが便利です。主に次のモジュールが便利です。
os:ファイルのパスの操作やディレクトリの操作を行うshutil:ファイルやフォルダーのコピーや移動を簡単に実行
下記のコードは、これらのライブラリを使ってファイル操作を実行する基本的な方法を示しています。
ファイルのコピー
Pythonでファイルをコピーする方法について解説します。
import shutil
# オリジナルのファイルのパス
source = 'data/source_file.txt'
# コピー先のファイルのパス
destination = 'data_copy/destination_file.txt'
# ファイルのコピー
shutil.copy(source, destination)
print(f"{source} を {destination} にコピーしました")
フォルダーのコピー
この場合では、一つのフォルダー内のすべてのファイルを別の場所にコピーする必要があります。
# オリジナルのフォルダー
source_dir = 'data_folder'
# コピー先のフォルダー
destination_dir = 'backup_folder'
# フォルダーのコピー
shutil.copytree(source_dir, destination_dir)
print(f"{source_dir} を {destination_dir} にコピーしました")
実用的な応用例
バイオインフォマティクスでは、ファイル操作を組み合わせて複雑なデータフローを構築する場合も多いです。ここでは実用的なシーンの例を提示します。
ファイルをデータのタイプによって分類する
大量のファイルを引数を基に分類し、サブフォルダーに保存する処理の例です。
import os
import shutil
def organize_files_by_extension(source_folder, target_folder):
# フォルダ内のファイルを変数に入れる
files = os.listdir(source_folder)
for file in files:
# 抽出したファイルの括弧を取得
file_extension = os.path.splitext(file)[1]
# ターゲットフォルダを生成
target_dir = os.path.join(target_folder, file_extension[1:])
os.makedirs(target_dir, exist_ok=True)
# ファイルをターゲットフォルダに移動
shutil.move(os.path.join(source_folder, file), os.path.join(target_dir, file))
# ソースフォルダー
source_folder = 'raw_data'
# ターゲットフォルダー
target_folder = 'organized_data'
organize_files_by_extension(source_folder, target_folder)
print("ファイルの分類が完了しました")
結論
Python3のosやshutilを使用することで、簡単なファイル操作から複雑なフォルダー構築まで実行できます。バイオインフォマティクスのようにデータを扱う場面では特に有用です。日々の作業にPythonを活用してみましょう。
![バイオインフォ 道場 [bioinfo-Dojo]](https://bioinfo-dojo.net/wp-content/uploads/2016/03/some_object_luca-bravo-alS7ewQ41M8-unsplash.jpg)

