Пример #1
0
    def test_compile_database(self):
        me = Database()
        me.output = self.tmpdir

        # don't compile
        me.compile = 'none'
        me.compile_database()
        self.assertListEqual(listdir(self.tmpdir), [])

        # get database files
        copy(join(self.datadir, 'DnaK', 'linear.faa'),
             join(self.tmpdir, 'db.faa'))
        copy(join(self.datadir, 'DnaK', 'prot2tid.txt'),
             join(self.tmpdir, 'taxon.map'))
        makedirs(join(self.tmpdir, 'taxdump'))
        copy(join(self.datadir, 'DnaK', 'taxdump', 'nodes.dmp'),
             join(self.tmpdir, 'taxdump', 'nodes.dmp'))
        copy(join(self.datadir, 'DnaK', 'taxdump', 'names.dmp'),
             join(self.tmpdir, 'taxdump', 'names.dmp'))
        with open(join(self.tmpdir, 'taxon.map'), 'r') as f:
            me.taxonmap = dict(x.split('\t') for x in f.read().splitlines())

        # set parameters
        me.threads = 1
        me.tmpdir = self.tmpdir
        me.makeblastdb = 'makeblastdb'
        me.diamond = 'diamond'

        # compile blast database
        me.compile = 'blast'
        me.compile_database()
        self.assertTrue(isdir(join(self.tmpdir, 'blast')))
        for ext in ('phr', 'pin', 'pog', 'psd', 'psi', 'psq'):
            self.assertTrue(isfile(join(self.tmpdir, 'blast', f'db.{ext}')))
        rmtree(join(self.tmpdir, 'blast'))

        # compile diamond database
        me.compile = 'diamond'
        me.compile_database()
        self.assertTrue(isdir(join(self.tmpdir, 'diamond')))
        self.assertTrue(isfile(join(self.tmpdir, 'diamond', 'db.dmnd')))
        rmtree(join(self.tmpdir, 'diamond'))

        # compile both databases
        me.compile = 'both'
        me.compile_database()
        self.assertTrue(isdir(join(self.tmpdir, 'blast')))
        for ext in ('phr', 'pin', 'pog', 'psd', 'psi', 'psq'):
            self.assertTrue(isfile(join(self.tmpdir, 'blast', f'db.{ext}')))
        self.assertTrue(isdir(join(self.tmpdir, 'diamond')))
        self.assertTrue(isfile(join(self.tmpdir, 'diamond', 'db.dmnd')))
        rmtree(join(self.tmpdir, 'blast'))
        rmtree(join(self.tmpdir, 'diamond'))

        # clean up
        remove(join(self.tmpdir, 'db.faa'))
        remove(join(self.tmpdir, 'taxon.map'))
        rmtree(join(self.tmpdir, 'taxdump'))
Пример #2
0
 def test_build_blast_db(self):
     me = Database()
     me.output = self.tmpdir
     me.makeblastdb = 'makeblastdb'
     copy(join(self.datadir, 'DnaK', 'linear.faa'),
          join(self.tmpdir, 'db.faa'))
     copy(join(self.datadir, 'DnaK', 'prot2tid.txt'),
          join(self.tmpdir, 'taxon.map'))
     me.build_blast_db()
     self.assertTrue(isdir(join(self.tmpdir, 'blast')))
     for ext in ('phr', 'pin', 'pog', 'psd', 'psi', 'psq'):
         self.assertTrue(isfile(join(self.tmpdir, 'blast', f'db.{ext}')))
     rmtree(join(self.tmpdir, 'blast'))
     remove(join(self.tmpdir, 'db.faa'))
     remove(join(self.tmpdir, 'taxon.map'))
Пример #3
0
 def test_build_blast_db(self):
     me = Database()
     me.output = self.tmpdir
     me.makeblastdb = 'makeblastdb'
     me.tmpdir = self.tmpdir
     copy(join(self.datadir, 'DnaK', 'linear.faa'),
          join(self.tmpdir, 'db.faa'))
     with open(join(self.datadir, 'DnaK', 'prot2tid.txt'), 'r') as f:
         me.taxonmap = dict(x.split('\t') for x in f.read().splitlines())
     me.build_blast_db()
     self.assertTrue(isdir(join(self.tmpdir, 'blast')))
     for ext in ('phr', 'pin', 'pog', 'psd', 'psi', 'psq'):
         self.assertTrue(isfile(join(self.tmpdir, 'blast', f'db.{ext}')))
     rmtree(join(self.tmpdir, 'blast'))
     remove(join(self.tmpdir, 'db.faa'))