if args.mutation_details != None: details_out = open(args.mutation_details, "w") else: details_out = None for i in range(n_reads): per_read_mutations = 0 start = random.randint(0, len_genome - READLEN) read = genome[start:start + READLEN].upper() # reverse complement? is_rc = False if random.choice([0, 1]) == 0: is_rc = True read = fasta.rc(read) # error? was_mut = False rc_flag = 'f' if is_rc: rc_flag = 'r' seq_name = "read{0}{1}".format(i, rc_flag) orig_read = read for _ in range(READLEN): if ERROR_RATE > 0: force = False while force or random.randint(1, int(1.0/ERROR_RATE)) == 1: force = False pos = random.randint(1, READLEN) - 1
def test(): is_transitive(A, A, A) is_transitive(A, A, B) is_transitive(A, B, A) is_transitive(A, B, B) is_transitive(B, A, A) is_transitive(B, A, B) is_transitive(B, B, A) is_transitive(B, B, B) print 'el-br-re' is_transitive(el, br, re) is_transitive(el, fasta.rc(br), re) is_transitive(el, br, fasta.rc(re)) is_transitive(el, fasta.rc(br), fasta.rc(re)) is_transitive(fasta.rc(el), br, re) is_transitive(fasta.rc(el), fasta.rc(br), re) is_transitive(fasta.rc(el), br, fasta.rc(re)) is_transitive(fasta.rc(el), fasta.rc(br), fasta.rc(re))