# Path: q2_types/feature_data/_format.py
# class TaxonomyFormat(model.TextFileFormat):
# class HeaderlessTSVTaxonomyFormat(TaxonomyFormat):
# class TSVTaxonomyFormat(model.TextFileFormat):
# class FASTAFormat(model.TextFileFormat):
# class AlignedFASTAFormatMixin:
# class DNAFASTAFormat(FASTAFormat):
# class RNAFASTAFormat(FASTAFormat):
# class PairedDNASequencesDirectoryFormat(model.DirectoryFormat):
# class PairedRNASequencesDirectoryFormat(model.DirectoryFormat):
# class AlignedDNAFASTAFormat(AlignedFASTAFormatMixin, DNAFASTAFormat):
# class AlignedRNAFASTAFormat(AlignedFASTAFormatMixin, RNAFASTAFormat):
# class DifferentialFormat(model.TextFileFormat):
# class ProteinFASTAFormat(FASTAFormat):
# class AlignedProteinFASTAFormat(AlignedFASTAFormatMixin, ProteinFASTAFormat):
# class BLAST6Format(model.TextFileFormat):
#     def sniff(self):
#     def _check_n_records(self, n=None):
#     def _validate_(self, level):
#     def __init__(self, *args, **kwargs):
#     def _validate_(self, level):
#     def _validate_FASTA(self, level, FASTAValidator=None, ValidationSet=None):
#     def _turn_into_alignment(self):
#     def _validate_line_lengths(
#             self, seq_len, prev_seq_len, prev_seq_start_line):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
# def _construct_validator_from_alphabet(alphabet_str):
#     def validate(self, *args):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def validate(self, *args):
#     HEADER = ['Feature ID', 'Taxon']
# 
# Path: q2_types/feature_data/_type.py
# BLAST6 = SemanticType('BLAST6', variant_of=FeatureData.field['type'])


import unittest
from q2_types.feature_data import (
    FeatureData, Taxonomy, Sequence, PairedEndSequence, AlignedSequence,
    Differential, TSVTaxonomyDirectoryFormat, DNASequencesDirectoryFormat,
    DifferentialDirectoryFormat, PairedDNASequencesDirectoryFormat,
    AlignedDNASequencesDirectoryFormat, ProteinSequencesDirectoryFormat,
    AlignedProteinSequencesDirectoryFormat, ProteinSequence,
    AlignedProteinSequence, RNASequence, RNASequencesDirectoryFormat,
    AlignedRNASequencesDirectoryFormat, AlignedRNASequence,
    PairedRNASequencesDirectoryFormat, PairedEndRNASequence,
    BLAST6, BLAST6DirectoryFormat
)
from qiime2.plugin.testing import TestPluginBase
        )

    def test_protein_sequence_semantic_type_to_format_registration(self):
        self.assertSemanticTypeRegisteredToFormat(
                FeatureData[ProteinSequence],
                ProteinSequencesDirectoryFormat
        )

    def test_aln_protein_sequence_semantic_type_to_format_registration(self):
        self.assertSemanticTypeRegisteredToFormat(
                FeatureData[AlignedProteinSequence],
                AlignedProteinSequencesDirectoryFormat
        )

    def test_rna_sequence_semantic_type_registration(self):
        self.assertRegisteredSemanticType(RNASequence)

    def test_aligned_rna_sequence_semantic_type_registration(self):
        self.assertRegisteredSemanticType(AlignedRNASequence)

    def test_paired_end_rna_sequence_semantic_type_registration(self):
        self.assertRegisteredSemanticType(PairedEndRNASequence)

    def test_rna_sequence_semantic_type_to_format_registration(self):
        self.assertSemanticTypeRegisteredToFormat(
                FeatureData[RNASequence], RNASequencesDirectoryFormat)

    def test_paired_end_rna_sequence_semantic_type_to_format_registration(
            self):
        self.assertSemanticTypeRegisteredToFormat(

# Path: q2_types/feature_data/_format.py
# class TaxonomyFormat(model.TextFileFormat):
# class HeaderlessTSVTaxonomyFormat(TaxonomyFormat):
# class TSVTaxonomyFormat(model.TextFileFormat):
# class FASTAFormat(model.TextFileFormat):
# class AlignedFASTAFormatMixin:
# class DNAFASTAFormat(FASTAFormat):
# class RNAFASTAFormat(FASTAFormat):
# class PairedDNASequencesDirectoryFormat(model.DirectoryFormat):
# class PairedRNASequencesDirectoryFormat(model.DirectoryFormat):
# class AlignedDNAFASTAFormat(AlignedFASTAFormatMixin, DNAFASTAFormat):
# class AlignedRNAFASTAFormat(AlignedFASTAFormatMixin, RNAFASTAFormat):
# class DifferentialFormat(model.TextFileFormat):
# class ProteinFASTAFormat(FASTAFormat):
# class AlignedProteinFASTAFormat(AlignedFASTAFormatMixin, ProteinFASTAFormat):
# class BLAST6Format(model.TextFileFormat):
#     def sniff(self):
#     def _check_n_records(self, n=None):
#     def _validate_(self, level):
#     def __init__(self, *args, **kwargs):
#     def _validate_(self, level):
#     def _validate_FASTA(self, level, FASTAValidator=None, ValidationSet=None):
#     def _turn_into_alignment(self):
#     def _validate_line_lengths(
#             self, seq_len, prev_seq_len, prev_seq_start_line):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
# def _construct_validator_from_alphabet(alphabet_str):
#     def validate(self, *args):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def validate(self, *args):
#     HEADER = ['Feature ID', 'Taxon']
# 
# Path: q2_types/feature_data/_type.py
# BLAST6 = SemanticType('BLAST6', variant_of=FeatureData.field['type'])


# Path: q2_types/feature_data/tests/test_type.py
import unittest
from q2_types.feature_data import (
    FeatureData, Taxonomy, Sequence, PairedEndSequence, AlignedSequence,
    Differential, TSVTaxonomyDirectoryFormat, DNASequencesDirectoryFormat,
    DifferentialDirectoryFormat, PairedDNASequencesDirectoryFormat,
    AlignedDNASequencesDirectoryFormat, ProteinSequencesDirectoryFormat,
    AlignedProteinSequencesDirectoryFormat, ProteinSequence,
    AlignedProteinSequence, RNASequence, RNASequencesDirectoryFormat,
    AlignedRNASequencesDirectoryFormat, AlignedRNASequence,
    PairedRNASequencesDirectoryFormat, PairedEndRNASequence,
    BLAST6, BLAST6DirectoryFormat
)
from qiime2.plugin.testing import TestPluginBase

        )

    def test_protein_sequence_semantic_type_to_format_registration(self):
        self.assertSemanticTypeRegisteredToFormat(
                FeatureData[ProteinSequence],
                ProteinSequencesDirectoryFormat
        )

    def test_aln_protein_sequence_semantic_type_to_format_registration(self):
        self.assertSemanticTypeRegisteredToFormat(
                FeatureData[AlignedProteinSequence],
                AlignedProteinSequencesDirectoryFormat
        )

    def test_rna_sequence_semantic_type_registration(self):
        self.assertRegisteredSemanticType(RNASequence)

    def test_aligned_rna_sequence_semantic_type_registration(self):
        self.assertRegisteredSemanticType(AlignedRNASequence)

    def test_paired_end_rna_sequence_semantic_type_registration(self):
        self.assertRegisteredSemanticType(PairedEndRNASequence)

    def test_rna_sequence_semantic_type_to_format_registration(self):
        self.assertSemanticTypeRegisteredToFormat(
                FeatureData[RNASequence], RNASequencesDirectoryFormat)

    def test_paired_end_rna_sequence_semantic_type_to_format_registration(
            self):
        self.assertSemanticTypeRegisteredToFormat(

                FeatureData[PairedEndRNASequence],