def __init__(self, copy=None): if copy: if isinstance(copy, dict): for k,v in copy.items(): dict.__setitem__(self, k.lower(), v) else: for k,v in copy: dict.__setitem__(self, k.lower(), v)
def sell_all(self): """Sells all stocks owned""" copy = self.stocks_owned for ticker, val in copy.items(): self.funds += (self.stocks_owned[ticker]["quantity"] * self.stocks_owned[ticker]["current_p"]) - self.TRANSACTION_FEE self.transactions += 1 del self.stocks_owned[ticker]
def sell_all(self): """Sells all stocks owned""" copy = self.stocks_owned for ticker, val in copy.items(): self.funds += ( self.stocks_owned[ticker]["quantity"] * self.stocks_owned[ticker]["current_p"]) - self.TRANSACTION_FEE self.transactions += 1 del self.stocks_owned[ticker]
def test_form_params_deepish_copy(self): form = create_form_params_helper(form_with_radio + form_with_checkbox) copy = form.deepish_copy() self.assertEqual(form.items(), copy.items()) self.assertEqual(form._method, copy._method) self.assertEqual(form._action, copy._action) self.assertIsNot(form, copy) self.assertEquals(copy.get_parameter_type('sex'), INPUT_TYPE_RADIO)
def test_form_params_deepish_copy(self): form = create_form_params_helper(form_with_radio + form_with_checkbox) copy = form.deepish_copy() self.assertEqual(form.items(), copy.items()) self.assertEqual(form._method, copy._method) self.assertEqual(form._action, copy._action) self.assertEqual(form._types, copy._types) self.assertEqual(form._file_vars, copy._file_vars) self.assertEqual(form._file_names, copy._file_names) self.assertEqual(form._selects, copy._selects) self.assertEqual(form._submit_map, copy._submit_map) self.assertIsNot(form, copy) self.assertEquals(copy.get_parameter_type('sex'), FormParameters.INPUT_TYPE_RADIO)
def get_p_distance(self): """returns the average and max p-distance of alignment""" if self.is_empty(): raise ValueError("The alignment is empty.\n") max = 0 average = 0.0 count = 0.0 copy = MutableAlignment() copy.set_alignment(self) names = copy.get_sequence_names() for name, val in copy.items(): copy[name] = val.replace('-', chr(255)).lower() for x in range(0, self.get_num_taxa()): for y in range(x + 1, self.get_num_taxa()): distance = hamming_distance(copy[names[x]], copy[names[y]]) if distance >= 0: if distance > max: max = distance count += 1 average += distance average = average / count return (average, max)
def get_p_distance(self): """returns the average and max p-distance of alignment""" if self.is_empty(): raise ValueError("The alignment is empty.\n") max = 0 average = 0.0 count = 0.0 copy = MutableAlignment() copy.set_alignment(self) names = copy.get_sequence_names() for name, val in copy.items(): copy[name] = val.replace('-', chr(255)).lower() for x in range(0, self.get_num_taxa()): for y in range(x+1, self.get_num_taxa()): distance = hamming_distance(copy[names[x]], copy[names[y]]) if distance >= 0: if distance > max: max = distance count += 1 average += distance average = average / count return (average, max)
def update(self, copy): for k, v in copy.items(): dict.__setitem__(self, k.lower(), v)
def update(self, copy): for k,v in copy.items(): dict.__setitem__(self, k.lower(), v)