Exemplo n.º 1
0
    def test_write_output(self):
        builder = TreeBuilder()
        builder.sequences = {"seq1": "a sequence object"}
        builder.tree = "Tree"
        builder.sequences_output_file = StringIO()
        builder.tree_output_file = StringIO()

        builder._write_tree = MagicMock()
        builder._write_sequences = MagicMock()

        builder.write_output()

        builder._write_tree.assert_called_with("Tree",
                                               builder.tree_output_file)
        builder._write_sequences.assert_called_with(
            ["a sequence object"], builder.sequences_output_file)
Exemplo n.º 2
0
  def test_write_output(self):
    builder = TreeBuilder()
    builder.sequences = {"seq1": "a sequence object"}
    builder.tree = "Tree"
    builder.sequences_output_file = StringIO()
    builder.tree_output_file = StringIO()

    builder._write_tree = MagicMock()
    builder._write_sequences = MagicMock()

    builder.write_output()

    builder._write_tree.assert_called_with("Tree",
                                           builder.tree_output_file)
    builder._write_sequences.assert_called_with(["a sequence object"],
                                                builder.sequences_output_file)
Exemplo n.º 3
0
  def test_add_hereditary_nodes(self, temp_mock):
    builder = TreeBuilder()

    output_directory = tempfile.mkdtemp()
    temp_mock.mkdtemp.return_value = output_directory
    temp_mock.NamedTemporaryFile.side_effect = \
        (tempfile.NamedTemporaryFile(dir=output_directory, delete=False) for i in xrange(10))

    fasta_filename = os.path.join(test_data(), 'animals.mfa')
    with open(fasta_filename) as fasta_file:
      builder.load_fasta_sequences(fasta_file)

    tree_filename = os.path.join(test_data(), 'animals.terminal_nodes.newick')
    builder.tree = Bio.Phylo.read(tree_filename, 'newick')

    builder.add_hereditary_nodes()

    self.assertIsInstance(builder.tree, Bio.Phylo.Newick.Tree)
    tree_nodes = sorted([node.name for node in builder.tree.find_clades()])

    self.assertItemsEqual(tree_nodes, builder.sequences.keys())
    self.assertEqual(len(tree_nodes), 19)
    self.assertFalse(os.path.isdir(output_directory))
Exemplo n.º 4
0
    def test_add_hereditary_nodes(self, temp_mock):
        builder = TreeBuilder()

        output_directory = tempfile.mkdtemp()
        temp_mock.mkdtemp.return_value = output_directory
        temp_mock.NamedTemporaryFile.side_effect = \
            (tempfile.NamedTemporaryFile(dir=output_directory, delete=False) for i in xrange(10))

        fasta_filename = os.path.join(test_data(), 'animals.mfa')
        with open(fasta_filename) as fasta_file:
            builder.load_fasta_sequences(fasta_file)

        tree_filename = os.path.join(test_data(),
                                     'animals.terminal_nodes.newick')
        builder.tree = Bio.Phylo.read(tree_filename, 'newick')

        builder.add_hereditary_nodes()

        self.assertIsInstance(builder.tree, Bio.Phylo.Newick.Tree)
        tree_nodes = sorted([node.name for node in builder.tree.find_clades()])

        self.assertItemsEqual(tree_nodes, builder.sequences.keys())
        self.assertEqual(len(tree_nodes), 19)
        self.assertFalse(os.path.isdir(output_directory))