Hi all,
I recently upgraded to qiime2-2020.6. I have some old code from qiime2-2020.2 where I was importing some test data:
import pandas as pd
from skbio import DNA
from qiime2 import Artifact
region1_db_seqs = Artifact.import_data('FeatureData[Sequence]', pd.Series({
'seq1|seq2': DNA('GCGAAGCGGCTCAGG', metadata={'id': 'seq1|seq2'}),
'seq3@0001': DNA('ATCCGCGTTGGAGTT', metadata={'id': 'seq3@0001'}),
'seq3@0002': DNA('TTCCGCGTTGGAGTT', metadata={'id': 'seq3@0002'}),
'seq5': DNA('CGTTTATGTATGCCC', metadata={'id': 'seq5'}),
'seq6': DNA('CGTTTATGTATGCCT', metadata={'id': 'seq6'}),
}))
In the qiime2-2020.2 enviroment, it works fine.
I created a new enviroment, and I get a type error:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-24-cb84a5d4a004> in <module>
4 'seq3@0002': DNA('TTCCGCGTTGGAGTT', metadata={'id': 'seq3@0002'}),
5 'seq5': DNA('CGTTTATGTATGCCC', metadata={'id': 'seq5'}),
----> 6 'seq6': DNA('CGTTTATGTATGCCT', metadata={'id': 'seq6'}),
7 }))
~/miniconda3/envs/test/lib/python3.6/site-packages/qiime2/sdk/result.py in import_data(cls, type, view, view_type)
239 provenance_capture = archive.ImportProvenanceCapture(format_, md5sums)
240 return cls._from_view(type_, view, view_type, provenance_capture,
--> 241 validate_level='max')
242
243 @classmethod
~/miniconda3/envs/test/lib/python3.6/site-packages/qiime2/sdk/result.py in _from_view(cls, type, view, view_type, provenance_capture, validate_level)
252 % type)
253
--> 254 pm = qiime2.sdk.PluginManager()
255 output_dir_fmt = pm.get_directory_format(type)
256
~/miniconda3/envs/test/lib/python3.6/site-packages/qiime2/sdk/plugin_manager.py in __new__(cls, add_plugins)
52 if cls.__instance is None:
53 self = super().__new__(cls)
---> 54 self._init(add_plugins=add_plugins)
55 cls.__instance = self
56 else:
~/miniconda3/envs/test/lib/python3.6/site-packages/qiime2/sdk/plugin_manager.py in _init(self, add_plugins)
81 plugin = entry_point.load()
82
---> 83 self.add_plugin(plugin, package, project_name)
84
85 def add_plugin(self, plugin, package=None, project_name=None):
~/miniconda3/envs/test/lib/python3.6/site-packages/qiime2/sdk/plugin_manager.py in add_plugin(self, plugin, package, project_name)
101 'for `project_name` or set `plugin.project_name`.')
102
--> 103 self._integrate_plugin(plugin)
104 plugin.freeze()
105
~/miniconda3/envs/test/lib/python3.6/site-packages/qiime2/sdk/plugin_manager.py in _integrate_plugin(self, plugin)
135 if output in self.transformers[input]:
136 raise ValueError("Transformer from %r to %r already exists."
--> 137 % transformer_record)
138 self.transformers[input][output] = transformer_record
139 self._reverse_transformers[output][input] = transformer_record
TypeError: not all arguments converted during string formatting
I’ve also tried doing
region1_db_seqs = Artifact.import_data('FeatureData[Sequence]', pd.Series({
'seq1|seq2': 'GCGAAGCGGCTCAGG',
'seq3@0001': 'ATCCGCGTTGGAGTT',
'seq3@0002': 'TTCCGCGTTGGAGTT',
'seq5': 'CGTTTATGTATGCCC',
'seq6': 'CGTTTATGTATGCCT',
}))
Which throws the same error in the new version.
So, I’m not sure what’s going on? I need this to work with the new version, so Im not sure where to go.
Thanks!
Justine