次のようなファイルがあります。
SNP Al1 Al2 Freq1 MAF AvgCall Rsq Genotyped LooRsq EmpR EmpRsq Dose1 Dose2
20:60479 C C 1.00000 0.00000 1.00000 0.00000 - - - - - -
20:60522:T_TC R R 1.00000 0.00000 1.00000 0.00000 - - - - - -
20:60571 C C 1.00000 0.00000 1.00000 0.00000 - - - - - -
20:60795 G C 0.99627 0.00373 0.99627 0.02668 - - - - - -
....
次のようなエントリを変更したい
20:60522:T_TC R R 1.00000
残りの行と同じ形式に変換します。つまり、
20:60522 R R 1.00000
文字列を分割し、問題のある部分を変更してから、それを行に追加して行を印刷することにより、Pythonの方法でそれを実行しようとしています。どうすればいいですか?
これが(多くのことの1つ)私がこれまでに試したことです:
perl -wnl -e '@lines = split $_; print lines[0]' testrun
行から配列を作成し、最初のエントリを取得します (つまり、変更したい部分をまだキャプチャできていません)。
問題は、これが返されることです
print() on unopened filehandle lines at -e line 1, <> line 1. etc
Ps。sed のようなパターンで文字列を変更できるソリューションがあることは知っていますが、それらを機能させることができませんでした。