def get_flying_sequence(flight): state_alphabet = Alphabet() state_alphabet.letters = list("fs") emissions_alphabet = Alphabet() emissions_alphabet.letters = list("FS") emissions = [] for x in flight._flying_emissions(): if x == 1: emissions.append("F") else: emissions.append("S") emissions = Seq("".join(emissions), emissions_alphabet) empty_states = Seq("", state_alphabet) return TrainingSequence(emissions, empty_states)
def get_flying_sequence(flight): state_alphabet = Alphabet() state_alphabet.letters = list("fs") emissions_alphabet = Alphabet() emissions_alphabet.letters = list("FS") emissions = [] for x in flight._flying_emissions(): if x == 1: emissions.append("F") else: emissions.append("S") emissions = Seq("".join(emissions), emissions_alphabet) empty_states = Seq("", state_alphabet) return TrainingSequence(emissions, empty_states)
def initial_markov_model_flying(): state_alphabet = Alphabet() state_alphabet.letters = list("fs") emissions_alphabet = Alphabet() emissions_alphabet.letters = list("FS") mmb = MarkovModelBuilder(state_alphabet, emissions_alphabet) mmb.set_initial_probabilities({'f': 0.20, 's': 0.80}) mmb.allow_all_transitions() mmb.set_transition_score('f', 'f', 0.99) mmb.set_transition_score('f', 's', 0.01) mmb.set_transition_score('s', 'f', 0.01) mmb.set_transition_score('s', 's', 0.99) mmb.set_emission_score('f', 'F', 0.90) mmb.set_emission_score('f', 'S', 0.10) mmb.set_emission_score('s', 'F', 0.10) mmb.set_emission_score('s', 'S', 0.90) mm = mmb.get_markov_model() return mm
def initial_markov_model_flying(): state_alphabet = Alphabet() state_alphabet.letters = list("fs") emissions_alphabet = Alphabet() emissions_alphabet.letters = list("FS") mmb = MarkovModelBuilder(state_alphabet, emissions_alphabet) mmb.set_initial_probabilities({'f': 0.20, 's': 0.80}) mmb.allow_all_transitions() mmb.set_transition_score('f', 'f', 0.99) mmb.set_transition_score('f', 's', 0.01) mmb.set_transition_score('s', 'f', 0.01) mmb.set_transition_score('s', 's', 0.99) mmb.set_emission_score('f', 'F', 0.90) mmb.set_emission_score('f', 'S', 0.10) mmb.set_emission_score('s', 'F', 0.10) mmb.set_emission_score('s', 'S', 0.90) mm = mmb.get_markov_model() return mm
#INPUT PHASE lines = [] with open('input.txt','r') as handle: for l in handle.readlines(): lines.append(l) iterations = int(lines[0]) x = lines[2].strip() alphabet = lines[4].split() emission_alphabet = Alphabet() emission_alphabet.size = 1 emission_alphabet.letters = alphabet states = lines[6].split() states_alphabet = Alphabet() states_alphabet.size = 1 states_alphabet.letters = states transition_probs = np.zeros((len(states),len(states))) for i in range(len(states)): prob = lines[9+i].split() for j in range(len(states)): put = prob[1+j] transition_probs[i][j] = float(put) emission_probs = np.zeros((len(states), len(alphabet)))
if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("fasta") parser.add_argument("slop", type=int) parser.add_argument("flagged") parser.add_argument("--primer3", action="store_true", help="output in primer3-compatible input format") parser.add_argument("--min_primer_size", type=int, default=18) parser.add_argument("--opt_primer_size", type=int, default=20) parser.add_argument("--max_primer_size", type=int, default=27) parser.add_argument("--max_primers_to_return", type=int, default=5) args = parser.parse_args() slop = args.slop alphabet = Alphabet() alphabet.letters = ["A", "T", "C", "G", "[", "]"] with open(args.flagged, "w") as fh: for seq_record in SeqIO.parse(args.fasta, "fasta"): if args.primer3: sequence = str(seq_record.seq) fh.write("SEQUENCE_ID=%s\n" % seq_record.id) fh.write("SEQUENCE_TEMPLATE=%s\n" % sequence) fh.write("SEQUENCE_TARGET=%i,%i\n" % (slop, len(sequence) - 2 * slop)) fh.write("PRIMER_OPT_SIZE=%i\n" % args.opt_primer_size) fh.write("PRIMER_MIN_SIZE=%i\n" % args.min_primer_size) fh.write("PRIMER_MAX_SIZE=%i\n" % args.max_primer_size) fh.write("PRIMER_NUM_RETURN=%i\n" % args.max_primers_to_return) fh.write("=\n") else: sequence = Seq(