以下で説明する問題で苦労しています。私も不完全なpythonスクリプトを共有していますが、この問題ではうまくいきません。スクリプトのサポートや指示を受けることに感謝します。それは最初の試合を除いて連続して重複している場合 -列を基準にして連続した重複行を削除する
+ 5 1364182 TTGC
- 5 1364204 GATG
+ 1 9372980 TTCA
- 1 9373028 GGAA
+ 2 14029383 ACCA
- 2 14029437 ACCA
- 1 19815169 AGTT
- 1 19815254 CCGT
+ 4 13475195 AGCA
- 4 13475251 TCTC
- 5 64182 TTGC
- 5 64204 GATG
+ 1 9372980 TTCA
- 1 9373028 GGAA
+ 2 14029383 ACCA
- 2 14029586 ACCT
私は私の最初の列に基づいて行全体を削除しようとしている(+であるとする):
私のタブは、このようなファイルを見て区切り。
+ 5 1364182 TTGC
- 5 1364204 GATG
+ 1 9372980 TTCA
- 1 9373028 GGAA
+ 2 14029383 ACCA
- 2 14029437 ACCA
+ 4 13475195 AGCA
- 4 13475251 TCTC
+ 1 9372980 TTCA
- 1 9373028 GGAA
+ 2 14029383 ACCA
- 2 14029586 ACCT
スクリプト:
#!/usr/bin/python
gff = raw_input("Enter the gff file: ")
gff_file = open(gff, "r")
f1 = open("f1", "w")
for line in gff_file:
line = line.rstrip()
line = line.split("\t")
x = line[0]
for line1 in gff_file:
line1 = line1.rstrip()
line1 = line1.split("\t")
y = next(line1[0])
if x != y:
f1.write(x + line1[0]+"\n")
私は連続で同じ列のエントリを持つ最初の列エントリを比較することができません出力は次のようになります。 ファイルが非常に大きいため、ライナーが1つ動作しません。
あなたはもっと手の込んだことができます!あなたの例は容易に理解できません! – Dataman
'y = next(line1 [0])'で何を達成しようとしていますか? – Coder256
なぜ '-1 19815169 AGTT'を削除しますか? –