当前位置: 首页>>代码示例>>Python>>正文


Python Analysis._add_file方法代码示例

本文整理汇总了Python中qiita_db.analysis.Analysis._add_file方法的典型用法代码示例。如果您正苦于以下问题:Python Analysis._add_file方法的具体用法?Python Analysis._add_file怎么用?Python Analysis._add_file使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在qiita_db.analysis.Analysis的用法示例。


在下文中一共展示了Analysis._add_file方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: TestAnalysis

# 需要导入模块: from qiita_db.analysis import Analysis [as 别名]
# 或者: from qiita_db.analysis.Analysis import _add_file [as 别名]

#.........这里部分代码省略.........
        obs = self.analysis._get_samples()
        exp = {1: ['1.SKB7.640196', '1.SKB8.640193', '1.SKD8.640184',
                   '1.SKM4.640180', '1.SKM9.640192']}
        self.assertEqual(obs, exp)

    def test_build_mapping_file(self):
        samples = {1: ['1.SKB8.640193', '1.SKD8.640184', '1.SKB7.640196']}
        self.analysis._build_mapping_file(samples,
                                          conn_handler=self.conn_handler)
        obs = self.analysis.mapping_file
        self.assertEqual(obs, self.map_fp)

        with open(self.map_fp) as f:
            mapdata = f.readlines()
        # check some columns for correctness
        obs = [line.split('\t')[0] for line in mapdata]
        exp = ['#SampleID', '1.SKB8.640193', '1.SKD8.640184',
               '1.SKB7.640196']
        self.assertEqual(obs, exp)

        obs = [line.split('\t')[1] for line in mapdata]
        exp = ['BarcodeSequence', 'AGCGCTCACATC', 'TGAGTGGTCTGT',
               'CGGCCTAAGTTC']
        self.assertEqual(obs, exp)

        obs = [line.split('\t')[2] for line in mapdata]
        exp = ['LinkerPrimerSequence', 'GTGCCAGCMGCCGCGGTAA',
               'GTGCCAGCMGCCGCGGTAA', 'GTGCCAGCMGCCGCGGTAA']
        self.assertEqual(obs, exp)

        obs = [line.split('\t')[19] for line in mapdata]
        exp = ['host_subject_id', '1001:M7', '1001:D9',
               '1001:M8']
        self.assertEqual(obs, exp)

        obs = [line.split('\t')[47] for line in mapdata]
        exp = ['tot_org_carb', '5.0', '4.32', '5.0']
        self.assertEqual(obs, exp)

        obs = [line.split('\t')[-1] for line in mapdata]
        exp = ['Description\n'] + ['Cannabis Soil Microbiome\n'] * 3
        self.assertEqual(obs, exp)

    def test_build_mapping_file_duplicate_samples(self):
        samples = {1: ['1.SKB8.640193', '1.SKB8.640193', '1.SKD8.640184']}
        with self.assertRaises(ValueError):
            self.analysis._build_mapping_file(samples,
                                              conn_handler=self.conn_handler)

    def test_build_biom_tables(self):
        samples = {1: ['1.SKB8.640193', '1.SKD8.640184', '1.SKB7.640196']}
        self.analysis._build_biom_tables(samples, 100,
                                         conn_handler=self.conn_handler)
        obs = self.analysis.biom_tables

        self.assertEqual(obs, {'18S': self.biom_fp})

        table = load_table(self.biom_fp)
        obs = set(table.ids(axis='sample'))
        exp = {'1.SKB8.640193', '1.SKD8.640184', '1.SKB7.640196'}
        self.assertEqual(obs, exp)

        obs = table.metadata('1.SKB8.640193')
        exp = {'Study':
               'Identification of the Microbiomes for Cannabis Soils',
               'Processed_id': 1}
        self.assertEqual(obs, exp)

    def test_build_files(self):
        self.analysis.build_files()

    def test_build_files_raises_type_error(self):
        with self.assertRaises(TypeError):
            self.analysis.build_files('string')

        with self.assertRaises(TypeError):
            self.analysis.build_files(100.5)

    def test_build_files_raises_value_error(self):
        with self.assertRaises(ValueError):
            self.analysis.build_files(0)

        with self.assertRaises(ValueError):
            self.analysis.build_files(-10)

    def test_add_file(self):
        fp = join(get_mountpoint('analysis')[0][1], 'testfile.txt')
        with open(fp, 'w') as f:
            f.write('testfile!')
        self.analysis._add_file('testfile.txt', 'plain_text', '18S')

        obs = self.conn_handler.execute_fetchall(
            'SELECT * FROM qiita.filepath WHERE filepath_id = 19')
        exp = [[19, 'testfile.txt', 9, '3675007573', 1, 1]]
        self.assertEqual(obs, exp)

        obs = self.conn_handler.execute_fetchall(
            'SELECT * FROM qiita.analysis_filepath WHERE filepath_id = 19')
        exp = [[1, 19, 2]]
        self.assertEqual(obs, exp)
开发者ID:RNAer,项目名称:qiita,代码行数:104,代码来源:test_analysis.py

示例2: TestAnalysis

# 需要导入模块: from qiita_db.analysis import Analysis [as 别名]
# 或者: from qiita_db.analysis.Analysis import _add_file [as 别名]

#.........这里部分代码省略.........
    def test_build_mapping_file(self):
        new_id = get_count('qiita.filepath') + 1
        samples = {1: ['1.SKB8.640193', '1.SKD8.640184', '1.SKB7.640196']}
        self.analysis._build_mapping_file(samples)
        obs = self.analysis.mapping_file
        self.assertEqual(obs, self.map_fp)

        base_dir = get_mountpoint('analysis')[0][1]
        obs = pd.read_csv(obs, sep='\t', infer_datetime_format=True,
                          parse_dates=True, index_col=False, comment='\t')
        exp = pd.read_csv(join(base_dir, '1_analysis_mapping_exp.txt'),
                          sep='\t', infer_datetime_format=True,
                          parse_dates=True, index_col=False, comment='\t')

        assert_frame_equal(obs, exp)

        sql = """SELECT * FROM qiita.filepath
                 WHERE filepath=%s ORDER BY filepath_id"""
        obs = self.conn_handler.execute_fetchall(
            sql, ("%d_analysis_mapping.txt" % self.analysis.id,))

        exp = [[13, '1_analysis_mapping.txt', 9, '852952723', 1, 1],
               [new_id, '1_analysis_mapping.txt', 9, '1606265094', 1, 1]]
        self.assertEqual(obs, exp)

        sql = """SELECT * FROM qiita.analysis_filepath
                 WHERE analysis_id=%s ORDER BY filepath_id"""
        obs = self.conn_handler.execute_fetchall(sql, (self.analysis.id,))
        exp = [[1L, 14L, 2L], [1L, 15L, None], [1L, new_id, None]]

    def test_build_mapping_file_duplicate_samples(self):
        samples = {1: ['1.SKB8.640193', '1.SKB8.640193', '1.SKD8.640184']}
        with self.assertRaises(QiitaDBError):
            self.analysis._build_mapping_file(samples)

    def test_build_biom_tables(self):
        new_id = get_count('qiita.filepath') + 1
        samples = {1: ['1.SKB8.640193', '1.SKD8.640184', '1.SKB7.640196']}
        self.analysis._build_biom_tables(samples, 100)
        obs = self.analysis.biom_tables

        self.assertEqual(obs, {'18S': self.biom_fp})

        table = load_table(self.biom_fp)
        obs = set(table.ids(axis='sample'))
        exp = {'1.SKB8.640193', '1.SKD8.640184', '1.SKB7.640196'}
        self.assertEqual(obs, exp)

        obs = table.metadata('1.SKB8.640193')
        exp = {'Study':
               'Identification of the Microbiomes for Cannabis Soils',
               'Processed_id': 1}
        self.assertEqual(obs, exp)

        sql = """SELECT EXISTS(SELECT * FROM qiita.filepath
                 WHERE filepath_id=%s)"""
        obs = self.conn_handler.execute_fetchone(sql, (new_id,))[0]

        self.assertTrue(obs)

        sql = """SELECT * FROM qiita.analysis_filepath
                 WHERE analysis_id=%s ORDER BY filepath_id"""
        obs = self.conn_handler.execute_fetchall(sql, (self.analysis.id,))
        exp = [[1L, 14L, 2L], [1L, 15L, None], [1L, new_id, None]]

    def test_build_files(self):
        self.analysis.build_files()

    def test_build_files_raises_type_error(self):
        with self.assertRaises(TypeError):
            self.analysis.build_files('string')

        with self.assertRaises(TypeError):
            self.analysis.build_files(100.5)

    def test_build_files_raises_value_error(self):
        with self.assertRaises(ValueError):
            self.analysis.build_files(0)

        with self.assertRaises(ValueError):
            self.analysis.build_files(-10)

    def test_add_file(self):
        new_id = get_count('qiita.filepath') + 1
        fp = join(get_mountpoint('analysis')[0][1], 'testfile.txt')
        with open(fp, 'w') as f:
            f.write('testfile!')
        self.analysis._add_file('testfile.txt', 'plain_text', '18S')

        obs = self.conn_handler.execute_fetchall(
            'SELECT * FROM qiita.filepath WHERE filepath_id = %s',
            (new_id,))
        exp = [[new_id, 'testfile.txt', 9, '3675007573', 1, 1]]
        self.assertEqual(obs, exp)

        obs = self.conn_handler.execute_fetchall(
            'SELECT * FROM qiita.analysis_filepath WHERE filepath_id = %s',
            (new_id,))
        exp = [[1, new_id, 2]]
        self.assertEqual(obs, exp)
开发者ID:MarkBruns,项目名称:qiita,代码行数:104,代码来源:test_analysis.py


注:本文中的qiita_db.analysis.Analysis._add_file方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。