最近用python编写了统计scaffoldN50和contigN50等信息的脚本。
运行结果截图如下:
源代码如下:
#!/usr/bin/env python
#func: cal N50,N60,N70,N80,N90,final
import os,sys
import operator
import datetime
import re
from optparse import OptionParser
#cutoff=100
class Fasta(object):
def __init__(self,name,seq,length):
self.name=name
self.sequence=seq
self.length=length
def process_fasta(reader):
file=reader.readlines()
counter=1
items=[]
for line in file:
line=line.strip()
if line.startswith('>'):
if(counter > 1):
items.append(anistance)
counter +=1
name=line
seq=''
length=0
else:
seq += line
length=len(seq)
anistance=Fasta(name,seq,length)
items.append(anistance)
return items
def sort_len(lists):
dict1={}<