python統計fqファイルによるフィルタ後の長さ分布

664 ワード

通常、シーケンシング会社から入手したfqファイルは4行に分けられ、第1の行動配列名、第2の行動配列の塩基、第3の行動配列名は、通常+番号で置き換えられ、第4の行動塩基品質である.コードは次のとおりです.
from collections import Counter
with open('srg1.r1.paired.fq','r') as Fileout, open('srg1.r1.paired.results.txt','w') as Filein:
  i = 4
  dic, arr = {}, []
  while True:
      line = Fileout.readline()
      i += 1
      if i%4 == 2:
          arr.append(len(str(line)))
      if not line:
          break
  dic = Counter(arr)
  for k,v in dic.iteritems():
       Filein.write(k + v)

shell:
cat your.fq | paste ----| awk '{print ">"$1 "
" $2}'