Пример #1
0
 def __init_seed(self, **args):
   arg_init = {
     'target_seq': self.seq_mrn,
     'mirna_seq': self.seq_mir
   }
   args.update(arg_init)
   self._seed = seed.mmSeed(**args)
Пример #2
0
 def setUp(self):
   _mirs = utils.load_fasta('tests/input/hsa-miR-30a-3p.fa')
   _mrnas = utils.load_fasta('tests/input/NM_024573.fa')
   args = {
     'target_seq': _mrnas['NM_024573'],
     'mirna_seq': _mirs['hsa-miR-30a-3p'],
   }
   self.seed = seed.mmSeed(**args)
   self.seed.find_potential_targets_with_seed()
Пример #3
0
  def test_init(self):
    with self.assertRaises(KeyError):
      seed.mmSeed()
      seed.mmSeed(target_seq="AUGC")
      seed.mmSeed(mirna_seq="AUGC")

    temp = seed.mmSeed(target_seq="augcaugc", mirna_seq="augc")
    self.assertIsInstance(temp, seed.mmSeed)
    self.assertEqual(temp.target_seq, "AUGCAUGC")
    self.assertEqual(temp.mirna_seq, "AUGC")
    self.assertEqual(temp.min_target_length, len("AUGC"))
    self.assertEqual(temp.len_mirna_seq, len("AUGC"))
    self.assertEqual(temp.len_target_seq, len("AUGCAUGC"))

    temp2 = seed.mmSeed(target_seq="augc", mirna_seq="augc",
                        min_target_length=2)
    self.assertEqual(temp2.min_target_length, 2)
Пример #4
0
  def test_find_potential_targets_with_seed(self):
    args = {
      'target_seq': self._mrnas['NM_024573'],
      'mirna_seq': self._mirs['hsa-miR-30a-3p'],
    }
    obj = seed.mmSeed(**args)
    self.assertIsInstance(obj, seed.mmSeed)

    r1 = obj.find_potential_targets_with_seed()
    ar1 = {
      'end_sites': [931, 931],
      'seed_lengths': [7, 6],
      'pairings': [[0, 2, 3, 4, 5, 6, 7, 8], [0, 2, 3, 4, 5, 6, 7]],
      'nb_mismatches_except_gu_wobbles': [0, 0],
      'nb_gu_wobbles': [0, 0]
    }
    self.assertEqual(r1, ar1)

    tar_1 = {
      'mirna_start_pairing': 2,
      'allowed_lengths': [6, 7, 8],
      'allowed_gu_wobbles': {6: 0, 7: 1, 8: 2},
      'allowed_mismatches': {6: 0, 7: 0, 8: 0},
      'take_best': False,
    }
    args.update(tar_1)
    obj = seed.mmSeed(**args)
    tr1 = obj.find_potential_targets_with_seed()
    tr1_out = {
      'end_sites': [931, 931],
      'seed_lengths': [7, 6],
      'pairings': [[0, 2, 3, 4, 5, 6, 7, 8], [0, 2, 3, 4, 5, 6, 7]],
      'nb_mismatches_except_gu_wobbles': [0, 0],
      'nb_gu_wobbles': [0, 0]
    }
    self.assertEqual(tr1, tr1_out)
    self.assertEqual(obj.end_sites, tr1['end_sites'])
    self.assertEqual(obj.seed_lengths, tr1['seed_lengths'])
    self.assertEqual(obj.pairings, tr1['pairings'])
    self.assertEqual(obj.nb_mismatches_except_gu_wobbles,
                     tr1['nb_mismatches_except_gu_wobbles'])
    self.assertEqual(obj.nb_gu_wobbles, tr1['nb_gu_wobbles'])

    tar_2 = {
      'mirna_start_pairing': 0,   #: Changed the pairing start
      'allowed_lengths': [6, 7, 8],
      'allowed_gu_wobbles': {6: 0, 7: 1, 8: 2},
      'allowed_mismatches': {6: 0, 7: 0, 8: 0},
      'take_best': False,
    }
    args.update(tar_2)
    obj = seed.mmSeed(**args)
    tr2 = obj.find_potential_targets_with_seed()
    tr2_out = {
      'end_sites': [987, 987, 987],
      'seed_lengths': [8, 7, 6],
      'pairings': [[], [], []],
      'nb_mismatches_except_gu_wobbles': [0, 0, 0],
      'nb_gu_wobbles': [0, 0, 0]
    }
    self.assertEqual(tr2, tr2_out)
    self.assertEqual(obj.end_sites, tr2['end_sites'])
    self.assertEqual(obj.seed_lengths, tr2['seed_lengths'])
    self.assertEqual(obj.pairings, tr2['pairings'])
    self.assertEqual(obj.nb_mismatches_except_gu_wobbles,
                     tr2['nb_mismatches_except_gu_wobbles'])
    self.assertEqual(obj.nb_gu_wobbles, tr2['nb_gu_wobbles'])

    tar_3 = {
      'mirna_start_pairing': 2,
      'allowed_lengths': [6, 7, 8],
      'allowed_gu_wobbles': {6: 0, 7: 1, 8: 2},
      'allowed_mismatches': {6: 0, 7: 0, 8: 0},
      'take_best': True,  #: Here.
    }
    args.update(tar_3)
    obj = seed.mmSeed(**args)
    tr3 = obj.find_potential_targets_with_seed()
    tr3_out = {
      'end_sites': [931],
      'seed_lengths': [7],
      'pairings': [[0, 2, 3, 4, 5, 6, 7, 8]],
      'nb_mismatches_except_gu_wobbles': [0],
      'nb_gu_wobbles': [0]
    }
    self.assertEqual(tr3, tr3_out)
    self.assertEqual(obj.end_sites, tr3['end_sites'])
    self.assertEqual(obj.seed_lengths, tr3['seed_lengths'])
    self.assertEqual(obj.pairings, tr3['pairings'])
    self.assertEqual(obj.nb_mismatches_except_gu_wobbles,
                     tr3['nb_mismatches_except_gu_wobbles'])
    self.assertEqual(obj.nb_gu_wobbles, tr3['nb_gu_wobbles'])

    tar_4 = {
      'mirna_start_pairing': 2,
      'allowed_lengths': [6, 7, 8],
      'allowed_gu_wobbles': {6: 0, 7: 1, 8: 2},
      'allowed_mismatches': {6: 0, 7: 0, 8: 1},
      'take_best': False,
    }
    args.update(tar_4)
    obj = seed.mmSeed(**args)
    tr4 = obj.find_potential_targets_with_seed()
    tr4_out = {
      'end_sites': [937, 931, 931, 931, 796, 236],
      'seed_lengths': [8, 8, 7, 6, 8, 8],
      'pairings': [
        [0, 2, 3, 4, 5, 6, 7, 8, 0],
        [0, 2, 3, 4, 5, 6, 7, 8, 0],
        [0, 2, 3, 4, 5, 6, 7, 8],
        [0, 2, 3, 4, 5, 6, 7],
        [0, 2, 3, 4, 5, 0, 7, 8, 9],
        [0, 2, 3, 4, 5, 6, 7, 8, 0]
      ],
      'nb_mismatches_except_gu_wobbles': [1, 1, 0, 0, 1, 1],
      'nb_gu_wobbles': [2, 0, 0, 0, 1, 2]
    }
    self.assertEqual(tr4, tr4_out)
    self.assertEqual(obj.end_sites, tr4['end_sites'])
    self.assertEqual(obj.seed_lengths, tr4['seed_lengths'])
    self.assertEqual(obj.pairings, tr4['pairings'])
    self.assertEqual(obj.nb_mismatches_except_gu_wobbles,
                     tr4['nb_mismatches_except_gu_wobbles'])
    self.assertEqual(obj.nb_gu_wobbles, tr4['nb_gu_wobbles'])