前提・実現したいこと
下記のテキストファイルのうち,例えば大文字の羅列の21文字目から30文字目を抽出して,">"以降の行から改行して追加したいです.
しかし,ファイルの行を1行づつ読み込んだあとの作業を具体的にどうするのか,全く見当がつきません.
尚,このファイルは約1000行のファイルを縮小・簡略化したものである為,行の指定含め自動化してくれるような完成形の一例を示していただけますと幸いです.宜しくお願いします.
該当のソースコード
python
1#!/usr/bin/python 2# -*- coding: utf-8 -*- 3lines=[] 4i=0 5f=open('fasta,txt') 6for line in f: 7 if i in lines: 8 print i 9 i+=1
使用ファイル (処理前)
txt
1>Abe | 2MAKGQSLQDPFLNALRRERVPVSIYLVNGIKLQGQIESFDQFVILLKNTVSQMVYKHAIS 3TVVPSRPVSHHSNNAGGGTSSNYHHGSSAQNTSAQQDSEETE 4>Sato | 5MAKGQSLQDPFLNALRRERVPVSIYLVNGIKLQGQIESFDQFVILLKNTVSQMVYKHAIS 6TVVPSRPVSHHSNNAGGGASNNYHHGSNAQGSTAQQDSEETE 7>Seo | 8MSKGHSLQDPYLNTLRKERVPVSIYLVNGIKLQGQIESFDQFVILLKNTVSQMVYKHAIS 9TVVPSRPVRLPSGDQPAEPGNA
理想 (処理後)
txt
1>Abe | 2FLNALRRERV 3>Sato | 4FLNALRRERV 5>Seo | 6YLNTLRKERV
補足情報(FW/ツールのバージョンなど)
macOS10.15.4 Python3.7.3 Atom
「Python 文字列抽出」では検索されましたでしょうか
勿論です
しかし,当方Python初心者で,どのようにファイル形式を崩さずに指定した複数の行に対して同時に処理を行うのか全く想像がつかない為,質問させていただきました.
以下の文字列の中に改行が入っていますが、これは改行なしに1つの文字列として認識して、21文字目から30文字目という意味でしょうか?
MAKGQSLQDPFLNALRRERVPVSIYLVNGIKLQGQIESFDQFVILLKNTVSQMVYKHAIS<改行>
TVVPSRPVSHHSNNAGGGTSSNYHHGSSAQNTSAQQDSEETE
は以下と解釈?
MAKGQSLQDPFLNALRRERVPVSIYLVNGIKLQGQIESFDQFVILLKNTVSQMVYKHAISTVVPSRPVSHHSNNAGGGTSSNYHHGSSAQNTSAQQDSEETE
そうです.説明が足りず失礼しました.
回答2件
あなたの回答
tips
プレビュー