【python】ファイルから読み込んだDNA配列から相補鎖のDNA配列(Complement Strand)を作る

python

今回は、あるDNA配列からその相補鎖をpythonを用いて作る方法をご紹介します。内容としては、以下の記事を応用したものとなっているので、興味のある方は参考にしてください。

また、CSVファイルやFASTQファイル、FASTAファイルなどから配列を読み込んで解析を行う場合が多いと思うので、それらのファイルフォーマットから配列を取り出して、変換する方法をまとめました。

相補的DNA配列とは

DNAは二本鎖になっているので、片方の鎖と対になるもう一方の鎖(相補鎖)が存在します。相補鎖はもう一方の鎖のA⇔T、G⇔Cを入れ替え、さらに向きを逆にしたものになっています。

そのため、片方の鎖(5’→3’)から相補鎖 (5’→3’) を作るには、

  1. A⇔T、G⇔C を入れ替える
  2. 向きを逆にする

という2ステップで作ることができます。

FASTAファイルから読み込む場合

1.fastaというFASTAファイルから配列を読み込み、変換した配列を2.csvというCSVファイルに出力することを想定しています。

seq3で A⇔T、G⇔C の入れ替えをしています。また、seq4で配列の向きを逆向きにしています。pythonで文字列を逆向きにする方法はいろいろありますが、スライスを使うと簡単に反転できると思います。

FASTQファイルから読み込む場合

1.fastqというFASTQファイルから配列を読み込み、変換した配列を2.csvというCSVファイルに出力することを想定しています。

CSVファイルから読み込む場合

1.csvというCSVファイルから配列を読み込み、変換した配列を2.csvというCSVファイルに出力することを想定しています。1.csvの配列が書かれている列に「s」というインデックスをつけています。(対象となる列の1行目をインデックス名に変えています。)

CSVファイルの読み込みにはpandasを使うと便利です。

タイトルとURLをコピーしました