本文整理汇总了Python中qiime2.sdk.Artifact类的典型用法代码示例。如果您正苦于以下问题:Python Artifact类的具体用法?Python Artifact怎么用?Python Artifact使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Artifact类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_artifact_validate_min
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_extract
def test_extract(self):
fp = os.path.join(self.test_dir.name, 'artifact.qza')
artifact = Artifact.import_data(FourInts, [-1, 42, 0, 43])
artifact.save(fp)
root_dir = str(artifact.uuid)
# pathlib normalizes away the `.`, it doesn't matter, but this is the
# implementation we're using, so let's test against that assumption.
output_dir = pathlib.Path(self.test_dir.name) / 'artifact-extract-test'
result_dir = Artifact.extract(fp, output_dir=output_dir)
self.assertEqual(result_dir, str(output_dir / root_dir))
expected = {
'VERSION',
'metadata.yaml',
'data/file1.txt',
'data/file2.txt',
'data/nested/file3.txt',
'data/nested/file4.txt',
'provenance/metadata.yaml',
'provenance/VERSION',
'provenance/citations.bib',
'provenance/action/action.yaml'
}
self.assertExtractedArchiveMembers(output_dir, root_dir, expected)
示例3: test_call_with_optional_artifacts
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
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_invalid_type
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)
示例6: test_import_data_with_filepath_multi_file_data_layout
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)
示例7: test_import_data_with_unreachable_path
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_eq_same_uuid
def test_eq_same_uuid(self):
fp = os.path.join(self.test_dir.name, 'artifact.qza')
artifact1 = Artifact.import_data(FourInts, [-1, 42, 0, 43])
artifact1.save(fp)
artifact2 = Artifact.load(fp)
self.assertEqual(artifact1, artifact2)
示例9: test_artifact_validate_max
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')
示例10: test_class_weight
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])
示例11: test_peek
def test_peek(self):
artifact = Artifact.import_data(FourInts, [0, 0, 42, 1000])
fp = os.path.join(self.test_dir.name, 'artifact.qza')
artifact.save(fp)
metadata = Artifact.peek(fp)
self.assertIsInstance(metadata, ResultMetadata)
self.assertEqual(metadata.type, 'FourInts')
self.assertEqual(metadata.uuid, str(artifact.uuid))
self.assertEqual(metadata.format, 'FourIntsDirectoryFormat')
示例12: test_load
def test_load(self):
saved_artifact = Artifact.import_data(FourInts, [-1, 42, 0, 43])
fp = os.path.join(self.test_dir.name, 'artifact.qza')
saved_artifact.save(fp)
artifact = Artifact.load(fp)
self.assertEqual(artifact.type, FourInts)
self.assertEqual(artifact.uuid, saved_artifact.uuid)
self.assertEqual(artifact.view(list), [-1, 42, 0, 43])
self.assertEqual(artifact.view(list), [-1, 42, 0, 43])
示例13: test_import_data_with_invalid_format_single_file
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)
示例14: setUp
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
示例15: test_import_data_with_bad_validation_multi_files
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)