def pool_func(filename): curr_DIR = DIR + filename os.chdir(curr_DIR) reads = parser.parse_fasta(filename) scores = computealignment.compute_scores(reads, filename) computealignment.write_align_file(filename, scores) createtsp.write_full_atsp(filename, len(reads), scores)
def write_fasta_stat(fasta_file, ref_file): with open(ref_file, 'r') as f: ref_seq = f.read() ref_length = len(ref_seq) reads = parse_fasta(fasta_file) read_lengths = [len(read) for read in reads] with open(fasta_file.split('reads.fasta')[0] + "fasta.stat", "w") as handle: real_coverage = sum([x for x in read_lengths]) / ref_length nr_reads = len(read_lengths) average = sum([x for x in read_lengths]) / len(read_lengths) median = sorted([x for x in read_lengths])[len(read_lengths) // 2] shortest = min([x for x in read_lengths]) longest = max([x for x in read_lengths]) objective_value, actual_gaps = compute_objective_function_value_of_fasta(fasta_file) expected_gaps = len(reads) * math.exp(-real_coverage) unsequenced_part = math.exp(-real_coverage) handle.write('Real Coverage: {}\n' 'Number of reads: {}\n' 'Average read length: {}\n' # 'Median read length: {}\n' # 'Shortest read length: {}\n' # 'Longest read length: {}\n' 'Objective function value: {}\n' 'Expected gaps: {}\n' 'Actual gaps: {}\n' 'Unsequenced part: {}'.format(int(real_coverage), nr_reads, average, objective_value, expected_gaps, actual_gaps, unsequenced_part)) return (real_coverage, nr_reads, average, objective_value, expected_gaps, actual_gaps)