2014-01-21 100 views
-9

的線和打印我有這樣拆分在第二線

@HWI-ST1072:185:C325WACXX:1:1101:8553:1994:1:N:#CAGATT 
NGGGGCGATAGAGTAAGATTTTATTTTAAAAAAAAAAAAAAAAATTTAAAA 
+ 
#0<FFBBFFFFFFFBFBFFIIIIIIIIIIIIIIIIIFFFFFB######### 
@HWI-ST1072:185:C325WACXX:1:1101:16084:1999:1:N:#CCAATT 
NGGAGTGGAGTGGTTGTGGTGGTTTGGGTTGTTGATTGTGTATTTGGAATA 
+ 
#0<FFFFFFFFFFIFFFIIIIIIFFFFFFFBBFBFFIBFFIFIIIFBFFII 
@HWI-ST1072:185:C325WACXX:1:1101:16829:1993:1:N:#TGATGT 
NGGGTAGTAGTTTGGTGTATGTATTATTGTATATGGCGGTGAGAGTTAGGG 

輸入文件,我想打印與序列中的第二線在第一線

輸出

@HWI-ST1072:185:C325WACXX:1:1101:8553:1994:1:N:#CAGATT 
CAGATT 
+ 
#0<FFBBFFFFFFFBFBFFIIIIIIIIIIIIIIIIIFFFFFB######### 
@HWI-ST1072:185:C325WACXX:1:1101:16084:1999:1:N:#CCAATT 
CCAATT 
+ 
#0<FFFFFFFFFFIFFFIIIIIIFFFFFFFBBFBFFIBFFIFIIIFBFFII 
@HWI-ST1072:185:C325WACXX:1:1101:16829:1993:1:N:#TGATGT 
TGATGT 

回答

0
with open('path/to/input') as infile: 
    for line in infile: 
     if line.startswith("@"): 
      line = line.strip() 
      print(line) 
      print(line.rsplit("#", 1)[1]) 
     elif any(line.startswith(e) for e in "#+"): 
      print(line.strip()) 
1
awk -F'#' 'seq{$0=seq;seq=""} /@/{seq=$NF} 1' file 
+0

謝謝@Ed Morton – abh

+0

@abh不客氣。我很好奇 - 爲什麼在單行答案中選擇8行? –

+0

我一直在做相同的方式,直到分裂文件,但我很困惑如何添加下一行(我得到了他的提示),他先回答了@Ed Morton – abh