1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#!/usr/bin/python -O
############################################################################
# Copyright (c) 2015 Saint Petersburg State University
# Copyright (c) 2011-2014 Saint Petersburg Academic University
# All Rights Reserved
# See file LICENSE for details.
############################################################################
#Calculate statistics for reads by reference file
import argparse
import sys
import os
if len(sys.argv) != 2:
print("Usage: " + sys.argv[0] + " <contigs_file>")
print("identical contigs names outputs to repeated_contigs_names.txt file")
sys.exit()
contFileName = sys.argv[1]
contFile = open(contFileName, "r")
outFileName = "repeated_contigs_names.txt";
outFile = open(outFileName, "w")
line = contFile.readline()
contigs = set([])
exact_repeats = 0;
total_contigs = 0;
while 1:
if not line:
break
# print(line)
if (line[0] != '>'):
print("something wrong" + str(line[1]))
break
contig = ""
contig_name = line;
line = contFile.readline()
# print(line);
while ((line[0] !='>')):
contig += line;
line = contFile.readline()
if not line:
break
if (contig in contigs):
outFile.write(contig_name)
exact_repeats += 1
total_contigs += 1
contigs.add(contig);
print ("Exact repeats: " + str(exact_repeats) + "; total contigs: " + str(total_contigs));
|