本文整理汇总了Python中qiime2.sdk.Artifact.import_data方法的典型用法代码示例。如果您正苦于以下问题:Python Artifact.import_data方法的具体用法?Python Artifact.import_data怎么用?Python Artifact.import_data使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qiime2.sdk.Artifact
的用法示例。
在下文中一共展示了Artifact.import_data方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_artifact_validate_min
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def test_artifact_validate_min(self):
A = Artifact.import_data('IntSequence1', [1, 2, 3, 4])
A.validate(level='min')
self.assertTrue(True) # Checkpoint assertion
A = Artifact.import_data('Mapping', {'a': '1', 'b': '2'})
A.validate(level='min')
self.assertTrue(True) # Checkpoint assertion
示例2: test_load_with_archive_filepath_modified
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def test_load_with_archive_filepath_modified(self):
# Save an artifact for use in the following test case.
fp = os.path.join(self.test_dir.name, 'artifact.qza')
Artifact.import_data(FourInts, [-1, 42, 0, 43]).save(fp)
# Load the artifact from a filepath then save a different artifact to
# the same filepath. Assert that both artifacts produce the correct
# views of their data.
#
# `load` used to be lazy, only extracting data when it needed to (e.g.
# when `save` or `view` was called). This was buggy as the filepath
# could have been deleted, or worse, modified to contain a different
# .qza file. Thus, the wrong archive could be extracted on demand, or
# the archive could be missing altogether. There isn't an easy
# cross-platform compatible way to solve this problem, so Artifact.load
# is no longer lazy and always extracts its data immediately. The real
# motivation for lazy loading was for quick inspection of archives
# without extracting/copying data, so that API is now provided through
# Artifact.peek.
artifact1 = Artifact.load(fp)
Artifact.import_data(FourInts, [10, 11, 12, 13]).save(fp)
artifact2 = Artifact.load(fp)
self.assertEqual(artifact1.view(list), [-1, 42, 0, 43])
self.assertEqual(artifact2.view(list), [10, 11, 12, 13])
示例3: test_call_with_optional_artifacts
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def test_call_with_optional_artifacts(self):
method = self.plugin.methods['optional_artifacts_method']
ints1 = Artifact.import_data(IntSequence1, [0, 42, 43])
ints2 = Artifact.import_data(IntSequence1, [99, -22])
ints3 = Artifact.import_data(IntSequence2, [43, 43])
# No optional artifacts provided.
obs = method(ints1, 42).output
self.assertEqual(obs.view(list), [0, 42, 43, 42])
# One optional artifact provided.
obs = method(ints1, 42, optional1=ints2).output
self.assertEqual(obs.view(list), [0, 42, 43, 42, 99, -22])
# All optional artifacts provided.
obs = method(
ints1, 42, optional1=ints2, optional2=ints3, num2=111).output
self.assertEqual(obs.view(list), [0, 42, 43, 42, 99, -22, 43, 43, 111])
# Invalid type provided as optional artifact.
with self.assertRaisesRegex(TypeError,
'type IntSequence2.*subtype IntSequence1'):
method(ints1, 42, optional1=ints3)
示例4: test_classify
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def test_classify(self):
# test read direction detection and parallel classification
classify = feature_classifier.methods.classify_sklearn
seq_path = self.get_data_path('se-dna-sequences.fasta')
reads = Artifact.import_data('FeatureData[Sequence]', seq_path)
raw_reads = skbio.io.read(
seq_path, format='fasta', constructor=skbio.DNA)
rev_path = os.path.join(self.temp_dir.name, 'rev-dna-sequences.fasta')
skbio.io.write((s.reverse_complement() for s in raw_reads),
'fasta', rev_path)
rev_reads = Artifact.import_data('FeatureData[Sequence]', rev_path)
result = classify(reads, self.classifier)
fc = result.classification.view(pd.Series).to_dict()
result = classify(rev_reads, self.classifier)
rc = result.classification.view(pd.Series).to_dict()
for taxon in fc:
self.assertEqual(fc[taxon], rc[taxon])
result = classify(reads, self.classifier, read_orientation='same')
fc = result.classification.view(pd.Series).to_dict()
result = classify(rev_reads, self.classifier,
read_orientation='reverse-complement')
rc = result.classification.view(pd.Series).to_dict()
for taxon in fc:
self.assertEqual(fc[taxon], rc[taxon])
result = classify(reads, self.classifier, reads_per_batch=100,
n_jobs=2)
cc = result.classification.view(pd.Series).to_dict()
for taxon in fc:
self.assertEqual(fc[taxon], cc[taxon])
示例5: test_import_data_with_filepath_multi_file_data_layout
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def test_import_data_with_filepath_multi_file_data_layout(self):
fp = os.path.join(self.test_dir.name, 'test.txt')
with open(fp, 'w') as fh:
fh.write('42\n')
with self.assertRaisesRegex(qiime2.plugin.ValidationError,
"FourIntsDirectoryFormat.*directory"):
Artifact.import_data(FourInts, fp)
示例6: test_import_data_invalid_type
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def test_import_data_invalid_type(self):
with self.assertRaisesRegex(TypeError,
'concrete semantic type.*Visualization'):
Artifact.import_data(qiime2.core.type.Visualization, self.test_dir)
with self.assertRaisesRegex(TypeError,
'concrete semantic type.*Visualization'):
Artifact.import_data('Visualization', self.test_dir)
示例7: test_import_data_with_unreachable_path
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def test_import_data_with_unreachable_path(self):
with self.assertRaisesRegex(ValueError, "does not exist"):
Artifact.import_data(IntSequence1,
os.path.join(self.test_dir.name, 'foo.txt'))
with self.assertRaisesRegex(ValueError, "does not exist"):
Artifact.import_data(FourInts,
os.path.join(self.test_dir.name, 'bar', ''))
示例8: test_artifact_validate_max
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def test_artifact_validate_max(self):
A = Artifact.import_data('Mapping', {'a': '1', 'b': '2'})
A.validate()
self.assertTrue(True) # Checkpoint assertion
A.validate(level='max')
self.assertTrue(True) # Checkpoint assertion
A = Artifact.import_data('IntSequence1', [1, 2, 3, 4, 5, 6, 7, 10])
with self.assertRaisesRegex(ValidationError, '3 more'):
A.validate('max')
示例9: test_class_weight
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def test_class_weight(self):
# we should be able to input class_weight to fit_classifier
weights = Artifact.import_data(
'FeatureTable[RelativeFrequency]',
self.get_data_path('class_weight.biom'),
view_type='BIOMV100Format')
reads = Artifact.import_data(
'FeatureData[Sequence]',
self.get_data_path('se-dna-sequences.fasta'))
fitter = feature_classifier.methods.fit_classifier_naive_bayes
classifier1 = fitter(reads, self.taxonomy, class_weight=weights)
classifier1 = classifier1.classifier
class_weight = weights.view(biom.Table)
classes = class_weight.ids('observation')
class_weights = []
for wts in class_weight.iter_data():
class_weights.append(zip(classes, wts))
priors = json.dumps(list(zip(*sorted(class_weights[0])))[1])
classifier2 = fitter(reads, self.taxonomy,
classify__class_prior=priors).classifier
classify = feature_classifier.methods.classify_sklearn
result1 = classify(reads, classifier1)
result1 = result1.classification.view(pd.Series).to_dict()
result2 = classify(reads, classifier2)
result2 = result2.classification.view(pd.Series).to_dict()
self.assertEqual(result1, result2)
svc_spec = [['feat_ext',
{'__type__': 'feature_extraction.text.HashingVectorizer',
'analyzer': 'char_wb',
'n_features': 8192,
'ngram_range': [8, 8],
'alternate_sign': False}],
['classify',
{'__type__': 'linear_model.LogisticRegression'}]]
classifier_spec = json.dumps(svc_spec)
gen_fitter = feature_classifier.methods.fit_classifier_sklearn
classifier1 = gen_fitter(reads, self.taxonomy, classifier_spec,
class_weight=weights).classifier
svc_spec[1][1]['class_weight'] = dict(class_weights[0])
classifier_spec = json.dumps(svc_spec)
gen_fitter = feature_classifier.methods.fit_classifier_sklearn
classifier2 = gen_fitter(reads, self.taxonomy, classifier_spec
).classifier
result1 = classify(reads, classifier1)
result1 = result1.classification.view(pd.Series).to_dict()
result2 = classify(reads, classifier2)
result2 = result2.classification.view(pd.Series).to_dict()
self.assertEqual(set(result1.keys()), set(result2.keys()))
for k in result1:
self.assertEqual(result1[k], result2[k])
示例10: setUp
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def setUp(self):
super().setUp()
self.taxonomy = Artifact.import_data(
'FeatureData[Taxonomy]', self.get_data_path('taxonomy.tsv'))
self.seq_path = self.get_data_path('se-dna-sequences.fasta')
reads = Artifact.import_data('FeatureData[Sequence]', self.seq_path)
fitter_name = _specific_fitters[0][0]
fitter = getattr(feature_classifier.methods,
'fit_classifier_' + fitter_name)
self.classifier = fitter(reads, self.taxonomy).classifier
示例11: test_import_data_with_invalid_format_single_file
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def test_import_data_with_invalid_format_single_file(self):
fp = os.path.join(self.test_dir.name, 'foo.txt')
with open(fp, 'w') as fh:
fh.write('42\n')
fh.write('43\n')
fh.write('abc\n')
fh.write('123\n')
error_regex = "foo.txt.*IntSequenceFormat.*\n\n.*Line 3"
with self.assertRaisesRegex(ValidationError, error_regex):
Artifact.import_data(IntSequence1, fp)
示例12: test_import_data_with_bad_validation_multi_files
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def test_import_data_with_bad_validation_multi_files(self):
data_dir = os.path.join(self.test_dir.name, 'test')
os.mkdir(data_dir)
with open(os.path.join(data_dir, 'file1.txt'), 'w') as fh:
fh.write('1\n')
with open(os.path.join(data_dir, 'file2.txt'), 'w') as fh:
fh.write('2\n')
error_regex = ("test.*RedundantSingleIntDirectoryFormat.*\n\n"
".*does not match")
with self.assertRaisesRegex(ValidationError, error_regex):
Artifact.import_data(SingleInt, data_dir)
示例13: test_asynchronous
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def test_asynchronous(self):
mapping_viz = self.plugin.visualizers['mapping_viz']
artifact1 = Artifact.import_data(Mapping, {'foo': 'abc', 'bar': 'def'})
artifact2 = Artifact.import_data(
Mapping, {'baz': 'abc', 'bazz': 'ghi'})
future = mapping_viz.asynchronous(artifact1, artifact2, 'Key', 'Value')
self.assertIsInstance(future, concurrent.futures.Future)
result = future.result()
# Test properties of the `Results` object.
self.assertIsInstance(result, tuple)
self.assertIsInstance(result, Results)
self.assertEqual(len(result), 1)
self.assertEqual(result.visualization, result[0])
result = result[0]
self.assertIsInstance(result, Visualization)
self.assertEqual(result.type, qiime2.core.type.Visualization)
self.assertIsInstance(result.uuid, uuid.UUID)
# TODO qiime2.sdk.Visualization doesn't have an API to access its
# contents yet. For now, save and assert the correct files are present.
filepath = os.path.join(self.test_dir.name, 'visualization.qzv')
result.save(filepath)
root_dir = str(result.uuid)
expected = {
'VERSION',
'checksums.md5',
'metadata.yaml',
'data/index.html',
'data/css/style.css',
'provenance/metadata.yaml',
'provenance/VERSION',
'provenance/citations.bib',
'provenance/action/action.yaml',
'provenance/artifacts/%s/metadata.yaml' % artifact1.uuid,
'provenance/artifacts/%s/VERSION' % artifact1.uuid,
'provenance/artifacts/%s/citations.bib' % artifact1.uuid,
'provenance/artifacts/%s/action/action.yaml' % artifact1.uuid,
'provenance/artifacts/%s/metadata.yaml' % artifact2.uuid,
'provenance/artifacts/%s/VERSION' % artifact2.uuid,
'provenance/artifacts/%s/citations.bib' % artifact2.uuid,
'provenance/artifacts/%s/action/action.yaml' % artifact2.uuid
}
self.assertArchiveMembers(filepath, root_dir, expected)
示例14: test_call_with_variadic_inputs
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def test_call_with_variadic_inputs(self):
method = self.plugin.methods['variadic_input_method']
ints = [Artifact.import_data(IntSequence1, [1, 2, 3]),
Artifact.import_data(IntSequence2, [4, 5, 6])]
int_set = {Artifact.import_data(SingleInt, 7),
Artifact.import_data(SingleInt, 8)}
nums = {9, 10}
opt_nums = [11, 12, 13]
result, = method(ints, int_set, nums, opt_nums)
self.assertEqual(result.view(list), list(range(1, 14)))
示例15: setUp
# 需要导入模块: from qiime2.sdk import Artifact [as 别名]
# 或者: from qiime2.sdk.Artifact import import_data [as 别名]
def setUp(self):
super().setUp()
reads = Artifact.import_data(
'FeatureData[Sequence]',
self.get_data_path('se-dna-sequences.fasta'))
taxonomy = Artifact.import_data(
'FeatureData[Taxonomy]', self.get_data_path('taxonomy.tsv'))
classifier = fit_classifier_naive_bayes(reads, taxonomy)
pipeline = classifier.classifier.view(Pipeline)
transformer = self.get_transformer(
Pipeline, TaxonomicClassiferTemporaryPickleDirFmt)
self._sklp = transformer(pipeline)
sklearn_pipeline = self._sklp.sklearn_pipeline.view(PickleFormat)
self.sklearn_pipeline = str(sklearn_pipeline)