from qiime2.plugin import (Str, Int, Choices, MetadataCategory, Plugin)
from q2_types.feature_table import FeatureTable, Frequency, Composition

import q2_composition

_citation_text = ("Analysis of composition of microbiomes: a novel method for "
                  "studying microbial composition.\nMandal S, Van Treuren W, "
                  "White RA, Eggesbø M, Knight R, Peddada SD.\n"
                  "Microb Ecol Health Dis. 2015 May 29;26:27663. doi: "
                  "10.3402/mehd.v26.27663.")

plugin = Plugin(name='composition',
                version=q2_composition.__version__,
                website='https://github.com/qiime2/q2-composition',
                citation_text=_citation_text,
                package='q2_composition',
                description=('This QIIME 2 plugin supports methods for '
                             'compositional data analysis.'),
                short_description='Plugin for compositional data analysis.')

plugin.methods.register_function(
    function=q2_composition.add_pseudocount,
    inputs={'table': FeatureTable[Frequency]},
    parameters={'pseudocount': Int},
    outputs=[('composition_table', FeatureTable[Composition])],
    input_descriptions={
        'table': 'The feature table to which pseudocounts should be added.'
    },
    parameter_descriptions={
        'pseudocount': 'The value to add to all counts in the feature table.'
    },
Beispiel #2
0
    typical_pipeline_simple,
    typical_pipeline_complex,
    comments_only,
    identity_with_metadata_simple,
    identity_with_metadata_merging,
    identity_with_metadata_column_get_mdc,
    variadic_input_simple,
    optional_inputs,
)

citations = Citations.load('citations.bib', package='qiime2.core.testing')
dummy_plugin = Plugin(
    name='dummy-plugin',
    description='Description of dummy plugin.',
    short_description='Dummy plugin for testing.',
    version='0.0.0-dev',
    website='https://github.com/qiime2/qiime2',
    package='qiime2.core.testing',
    user_support_text='For help, see https://qiime2.org',
    citations=[citations['unger1998does'], citations['berry1997flying']])

import_module('qiime2.core.testing.transformer')

# Register semantic types
dummy_plugin.register_semantic_types(IntSequence1, IntSequence2, IntSequence3,
                                     Mapping, FourInts, Kennel, Dog, Cat,
                                     SingleInt, C1, C2, C3, Foo, Bar, Baz)

# Register formats
dummy_plugin.register_formats(IntSequenceFormatV2, MappingFormat,
                              IntSequenceV2DirectoryFormat,
Beispiel #3
0
from ._prune_hierarchy import prune_hierarchy
from ._classyfire import get_classyfire_taxonomy
from ._semantics import (MassSpectrometryFeatures, MGFDirFmt,
                         SiriusFolder, SiriusDirFmt,
                         ZodiacFolder, ZodiacDirFmt,
                         CSIFolder, CSIDirFmt,
                         FeatureData, TSVMoleculesFormat, Molecules)

from qiime2.plugin import Plugin, Str, Range, Choices, Float, Int, Bool, List
from q2_types.feature_table import FeatureTable, Frequency
from q2_types.tree import Phylogeny, Rooted

plugin = Plugin(
    name='qemistree',
    version=q2_qemistree.__version__,
    website='https://github.com/biocore/q2-qemistree',
    package='q2_qemistree',
    description='Hierarchical orderings for mass spectrometry data',
    short_description='Plugin for exploring chemical diversity.',
)

# type registration
plugin.register_views(MGFDirFmt)
plugin.register_semantic_types(MassSpectrometryFeatures)
plugin.register_semantic_type_to_format(MassSpectrometryFeatures,
                                        artifact_format=MGFDirFmt)

plugin.register_views(SiriusDirFmt)
plugin.register_semantic_types(SiriusFolder)
plugin.register_semantic_type_to_format(SiriusFolder,
                                        artifact_format=SiriusDirFmt)
Beispiel #4
0
from qiime2.plugin import (Plugin, Str, Properties, MetadataCategory, Choices,
                           Metadata, Int)

import q2_diversity
from q2_diversity import _alpha as alpha
from q2_diversity import _beta as beta
from q2_types.feature_table import FeatureTable, Frequency
from q2_types.distance_matrix import DistanceMatrix
from q2_types.sample_data import AlphaDiversity, SampleData
from q2_types.tree import Phylogeny, Rooted
from q2_types.ordination import PCoAResults


plugin = Plugin(
    name='diversity',
    version=q2_diversity.__version__,
    website='https://github.com/qiime2/q2-diversity',
    package='q2_diversity'
)

plugin.methods.register_function(
    function=q2_diversity.beta_phylogenetic,
    inputs={'table': FeatureTable[Frequency] % Properties('uniform-sampling'),
            'phylogeny': Phylogeny[Rooted]},
    parameters={'metric': Str % Choices(beta.phylogenetic_metrics())},
    outputs=[('distance_matrix', DistanceMatrix % Properties('phylogenetic'))],
    input_descriptions={
        'table': ('The feature table containing the samples over which beta '
                  'diversity should be computed.'),
        'phylogeny': ('Phylogenetic tree containing tip identifiers that '
                      'correspond to the feature identifiers in the table. '
                      'This tree can contain tip ids that are not present in '
Beispiel #5
0
from q2_types.feature_data import FeatureData, AlignedSequence
from q2_types.tree import Phylogeny

import q2_beast
from q2_beast.methods import (site_heterogeneous_hky, merge_chains,
                              maximum_clade_credibility, gtr_single_partition)
from q2_beast.visualizations import traceplot
from q2_beast.types import Chain, BEAST, MCC
from q2_beast.formats import (PosteriorLogFormat, NexusFormat,
                              BEASTControlFileFormat, BEASTOpsFileFormat,
                              BEASTPosteriorDirFmt, NexusDirFmt)

plugin = Plugin(name='beast',
                website='',
                package='q2_beast',
                version=q2_beast.__version__,
                description='',
                short_description='')

plugin.register_formats(PosteriorLogFormat, NexusFormat,
                        BEASTControlFileFormat, BEASTOpsFileFormat,
                        BEASTPosteriorDirFmt, NexusDirFmt)

plugin.register_semantic_types(Chain, BEAST, MCC)
plugin.register_semantic_type_to_format(Chain[BEAST],
                                        artifact_format=BEASTPosteriorDirFmt)
plugin.register_semantic_type_to_format(Phylogeny[MCC],
                                        artifact_format=NexusDirFmt)

importlib.import_module('q2_beast.transformers')
Beispiel #6
0
# The full license is in the file LICENSE, distributed with this software.
# ----------------------------------------------------------------------------

import q2_emperor
from ._plot import plot

from qiime2.plugin import Plugin, Metadata, Str
from q2_types.ordination import PCoAResults

plugin = Plugin(
    name='emperor',
    version=q2_emperor.__version__,
    website='http://emperor.microbio.me',
    package='q2_emperor',
    citation_text=('EMPeror: a tool for visualizing high-'
                   'throughput microbial community data.\nVazquez-Baeza Y, '
                   'Pirrung M, Gonzalez A, Knight R.\nGigascience. '
                   '2013 Nov 26;2(1):16.'),
    description=('This QIIME 2 plugin wraps Emperor and '
                 'supports interactive visualization of ordination '
                 'plots.'),
    short_description='Plugin for ordination plotting with Emperor.')

plugin.visualizers.register_function(
    function=plot,
    inputs={'pcoa': PCoAResults},
    parameters={
        'metadata': Metadata,
        'custom_axis': Str
    },
    input_descriptions={
Beispiel #7
0
    JoinedSequencesWithQuality)

import q2_demux
from ._type import (RawSequences, EMPSingleEndSequences, EMPPairedEndSequences,
                    ErrorCorrectionDetails)
from ._format import (EMPMultiplexedDirFmt, ErrorCorrectionDetailsDirFmt,
                      EMPSingleEndDirFmt, EMPSingleEndCasavaDirFmt,
                      EMPPairedEndDirFmt, EMPPairedEndCasavaDirFmt)

citations = Citations.load('citations.bib', package='q2_demux')

plugin = Plugin(
    name='demux',
    version=q2_demux.__version__,
    website='https://github.com/qiime2/q2-demux',
    package='q2_demux',
    description=('This QIIME 2 plugin supports demultiplexing of '
                 'single-end and paired-end sequence reads and '
                 'visualization of sequence quality information.'),
    short_description='Plugin for demultiplexing & viewing sequence quality.'
)

plugin.register_semantic_types(
    RawSequences, EMPSingleEndSequences, EMPPairedEndSequences,
    ErrorCorrectionDetails)

plugin.register_formats(EMPMultiplexedDirFmt, ErrorCorrectionDetailsDirFmt,
                        EMPSingleEndDirFmt, EMPSingleEndCasavaDirFmt,
                        EMPPairedEndDirFmt, EMPPairedEndCasavaDirFmt)

# TODO: remove when aliasing exists
plugin.register_semantic_type_to_format(
Beispiel #8
0
                           Citations, TypeMatch, TypeMap)

import q2_feature_table
from q2_types.feature_table import (FeatureTable, Frequency, RelativeFrequency,
                                    PresenceAbsence, Composition)
from q2_types.feature_data import (FeatureData, Sequence, Taxonomy,
                                   AlignedSequence)
from .examples import (feature_table_merge_example,
                       feature_table_merge_three_tables_example)

citations = Citations.load('citations.bib', package='q2_feature_table')
plugin = Plugin(
    name='feature-table',
    version=q2_feature_table.__version__,
    website='https://github.com/qiime2/q2-feature-table',
    package='q2_feature_table',
    short_description=('Plugin for working with sample by feature tables.'),
    description=('This is a QIIME 2 plugin supporting operations on sample '
                 'by feature tables, such as filtering, merging, and '
                 'transforming tables.'))

plugin.methods.register_function(
    function=q2_feature_table.rarefy,
    inputs={'table': FeatureTable[Frequency]},
    parameters={
        'sampling_depth': Int % Range(1, None),
        'with_replacement': Bool
    },
    outputs=[('rarefied_table', FeatureTable[Frequency])],
    input_descriptions={'table': 'The feature table to be rarefied.'},
    parameter_descriptions={
Beispiel #9
0
# ----------------------------------------------------------------------------
# Copyright (c) 2017, QIIME 2 development team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file LICENSE, distributed with this software.
# ----------------------------------------------------------------------------

import q2_cutadapt

from qiime2.plugin import Plugin

plugin = Plugin(
    name='cutadapt',
    version=q2_cutadapt.__version__,
    website='https://github.com/qiime2/q2-cutadapt',
    package='q2_cutadapt',
    description='This QIIME 2 plugin supports removing adapters, primers, '
    'and other unwanted sequences from sequence data.',
    short_description='Plugin for removing unwanted sequences from sequence '
    'data.',
)
import qiime2
from qiime2.plugin import Plugin, Metadata, Int, Range

from q2_types.feature_data import FeatureData

import q2_covid
from q2_covid.common import (IDSelectionDirFmt, IDSelection, Selection,
                             IDMetadataFormat, UNIXListFormat)
from q2_covid.subsample_random import subsample_random

plugin = Plugin(
    name='covid',
    website='https://github.com/caporaso-lab/q2-covid',
    package='q2_covid',
    version=q2_covid.__version__,
    description='Tools for genomic epidemiology focused on the SARS-CoV-2'
                ' virus.',
    short_description='Tools for genomic epidemiology.'
)

plugin.register_formats(IDSelectionDirFmt)
plugin.register_semantic_types(Selection)
plugin.register_semantic_type_to_format(FeatureData[Selection],
                                        artifact_format=IDSelectionDirFmt)

@plugin.register_transformer
def _1(obj: IDSelection) -> IDSelectionDirFmt:
    result = IDSelectionDirFmt()

    inclusion = obj.inclusion
    assert not inclusion.index.has_duplicates
from q2_types.distance_matrix import DistanceMatrix
from q2_types.tree import Phylogeny, Rooted
from ._format import (CoordinatesFormat, CoordinatesDirectoryFormat,
                      QuadTreeFormat, QuadTreeDirectoryFormat)
from ._type import (Coordinates, QuadTree)
from .stats import autocorr
from .qtrees import quadtree

citations = Citations.load('citations.bib', package='q2_coordinates')

plugin = Plugin(
    name='coordinates',
    version=q2_coordinates.__version__,
    website="https://github.com/nbokulich/q2-coordinates",
    package='q2_coordinates',
    description=(
        'This QIIME 2 plugin supports methods for geospatial analysis and map '
        'building.'),
    short_description=(
        'Plugin for geospatial analysis and cartography.'),
)


base_parameters = {
    'metadata': Metadata,
    'latitude': Str,
    'longitude': Str,
    'missing_data': Str
}

base_parameter_descriptions = {
Beispiel #12
0
from q2_types.feature_data import FeatureData, Sequence
from q2_types.tree import Phylogeny, Rooted
import q2_picrust2

citations = Citations.load('citations.bib', package='q2_picrust2')

HSP_METHODS = ['mp', 'emp_prob', 'pic', 'scp', 'subtree_average']

PLACEMENT_TOOLS = ['epa-ng', 'sepp']

plugin = Plugin(
    name='picrust2',
    version="2021.11",
    website='https://github.com/gavinmdouglas/q2-picrust2',
    package='q2_picrust2',
    description=(
        'This QIIME 2 plugin wraps the default 16S PICRUSt2 pipeline to run '
        'metagenome inference based on marker gene data. Currently '
        'only unstratified output is supported.'),
    short_description='Predicts gene families and pathways from 16S sequences.',
    citations=[citations['Douglas2020NatureBiotech']])

plugin.methods.register_function(
    function=q2_picrust2.full_pipeline,
    inputs={
        'table': FeatureTable[Frequency],
        'seq': FeatureData[Sequence]
    },
    parameters={
        'threads': Int % Range(1, None),
        'hsp_method': Str % Choices(HSP_METHODS),
Beispiel #13
0
                     optional_artifacts_method, long_description_method,
                     docstring_order_method, variadic_input_method)
from .visualizer import (most_common_viz, mapping_viz, params_only_viz,
                         no_input_viz)
from .pipeline import (parameter_only_pipeline, typical_pipeline,
                       optional_artifact_pipeline, visualizer_only_pipeline,
                       pipelines_in_pipeline, pointless_pipeline,
                       failing_pipeline)
from ..cite import Citations

citations = Citations.load('citations.bib', package='qiime2.core.testing')
dummy_plugin = Plugin(
    name='dummy-plugin',
    description='Description of dummy plugin.',
    short_description='Dummy plugin for testing.',
    version='0.0.0-dev',
    website='https://github.com/qiime2/qiime2',
    package='qiime2.core.testing',
    user_support_text='For help, see https://qiime2.org',
    citations=[citations['unger1998does'], citations['berry1997flying']]
)

import_module('qiime2.core.testing.transformer')

# Register semantic types
dummy_plugin.register_semantic_types(IntSequence1, IntSequence2, Mapping,
                                     FourInts, Kennel, Dog, Cat, SingleInt)

# Register formats
dummy_plugin.register_formats(
    IntSequenceFormatV2, MappingFormat, IntSequenceV2DirectoryFormat,
    MappingDirectoryFormat)
Beispiel #14
0
from qiime2.plugin import Plugin
import qiime2.plugin
import q2_cscs.q2_cscs
import biom
from q2_types.feature_table import FeatureTable, Frequency
from q2_types.distance_matrix import DistanceMatrix
from q2_types.tree import Phylogeny, Rooted
from qiime2.plugin import Str, Choices, Properties, Metadata

plugin = Plugin(name='cscs',
                version='0.0.1',
                website='https://qiime2.org',
                user_support_text='https://forum.qiime2.org',
                package='q2_cscs')

plugin.methods.register_function(
    function=q2_cscs.q2_cscs.cscs,
    inputs={
        'features': FeatureTable[Frequency],
    },
    parameters={
        'css_edges': qiime2.plugin.Str,
        'weighted': qiime2.plugin.Bool,
        'normalization': qiime2.plugin.Bool,
        'cosine_threshold':
        qiime2.plugin.Float % qiime2.plugin.Range(0., None),
        'cpus': qiime2.plugin.Int,
        'chunk': qiime2.plugin.Int
    },
    outputs=[('distance_matrix', DistanceMatrix % Properties('phylogenetic'))],
    input_descriptions={
Beispiel #15
0
from qiime2.plugin import (Str, Plugin, Choices, Range, Float, Int, Bool,
                           MetadataColumn, Categorical, Citations)
from q2_types.feature_data import FeatureData, Sequence, Taxonomy
from q2_types.feature_table import FeatureTable, RelativeFrequency
from .quality_control import (exclude_seqs, evaluate_composition,
                              evaluate_seqs, evaluate_taxonomy)


citations = Citations.load('citations.bib', package='q2_quality_control')

plugin = Plugin(
    name='quality-control',
    version=q2_quality_control.__version__,
    website='https://github.com/qiime2/q2-quality-control',
    package='q2_quality_control',
    description=(
        'This QIIME 2 plugin supports methods for assessing and controlling '
        'the quality of feature and sequence data.'),
    short_description=(
        'Plugin for quality control of feature and sequence data.')
)


seq_inputs = {'query_sequences': FeatureData[Sequence],
              'reference_sequences': FeatureData[Sequence]}

seq_inputs_descriptions = {
    'query_sequences': 'Sequences to test for exclusion',
    'reference_sequences': ('Reference sequences to align against feature '
                            'sequences')}
Beispiel #16
0
                     identity_with_optional_metadata_column,
                     params_only_method, no_input_method,
                     optional_artifacts_method, long_description_method,
                     variadic_input_method)
from .visualizer import (most_common_viz, mapping_viz, params_only_viz,
                         no_input_viz)
from .pipeline import (parameter_only_pipeline, typical_pipeline,
                       optional_artifact_pipeline, visualizer_only_pipeline,
                       pipelines_in_pipeline, pointless_pipeline,
                       failing_pipeline)

dummy_plugin = Plugin(
    name='dummy-plugin',
    description='Description of dummy plugin.',
    short_description='Dummy plugin for testing.',
    version='0.0.0-dev',
    website='https://github.com/qiime2/qiime2',
    package='qiime2.core.testing',
    citation_text='No relevant citation.',
    user_support_text='For help, see https://qiime2.org'
)

import_module('qiime2.core.testing.transformer')

# Register semantic types
dummy_plugin.register_semantic_types(IntSequence1, IntSequence2, Mapping,
                                     FourInts, Kennel, Dog, Cat, SingleInt)

# Register formats
dummy_plugin.register_formats(
    IntSequenceFormat, IntSequenceFormatV2, MappingFormat, SingleIntFormat,
    IntSequenceDirectoryFormat, IntSequenceV2DirectoryFormat,
Beispiel #17
0
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file LICENSE, distributed with this software.
# ----------------------------------------------------------------------------

from qiime2.plugin import (Plugin, Int, Range, Citations, Str)
from q2_types.feature_data import FeatureData, Sequence

import q2_ipcress

citations = Citations.load('citations.bib', package='q2_ipcress')
plugin = Plugin(
    name='ipcress',
    version=q2_ipcress.__version__,
    website='https://github.com/BenKaehler/q2-ipcress',
    package='q2_ipcress',
    description=('This QIIME 2 plugin provides support for generating '
                 'synthetic PCR reads from a set of reference sequences.'),
    short_description='Wrapper for ipcress, an in-silico PCR program.')

plugin.methods.register_function(
    function=q2_ipcress.ipcress,
    inputs={'sequence': FeatureData[Sequence]},
    parameters={
        'primer_a': Str,
        'primer_b': Str,
        'min_product_len': Int % Range(0, None),
        'max_product_len': Int % Range(0, None),
        'mismatch': Int % Range(0, None),
        'memory': Int % Range(0, None),
        'seed': Int % Range(0, None)
Beispiel #18
0
from qiime2.plugin import (Str, Plugin, Choices, Float, Range, Bool)
from q2_types.feature_table import FeatureTable, Frequency

from ._type import Network, PairwiseFeatureData
from ._format import GraphModelingLanguageFormat, GraphModelingLanguageDirectoryFormat, PairwiseFeatureDataFormat, \
                     PairwiseFeatureDataDirectoryFormat
from ._correlate import calculate_correlations, build_correlation_network_r, build_correlation_network_p

import q2_network

plugin = Plugin(
    name='network',
    version=q2_network.__version__,
    website="https://github.com/shafferm/q2-network",
    package='q2_network',
    description=(
        'This QIIME 2 plugin supports methods for analysis of netwoks '
        'generated from correlations or other sources and provides '
        'rudimentary network statistics.'),
    short_description='Plugin for network analysis.',
)

plugin.register_semantic_types(Network)
plugin.register_semantic_types(PairwiseFeatureData)

plugin.register_formats(GraphModelingLanguageFormat)
plugin.register_formats(GraphModelingLanguageDirectoryFormat)
plugin.register_formats(PairwiseFeatureDataFormat)
plugin.register_formats(PairwiseFeatureDataDirectoryFormat)

plugin.register_semantic_type_to_format(
Beispiel #19
0
from qiime2.plugin import Plugin
import qiime2.plugin
from q2_types.feature_table import FeatureTable, Frequency
import q2_metabolomicsgnps

plugin = Plugin(
    name='metabolomicsgnps',
    version=q2_metabolomicsgnps.__version__,
    website='https://gnps.ucsd.edu',
    user_support_text='https://gnps.ucsd.edu',
    description='Plugin for the creation of a biom feature table for metabolomics data.',
    short_description='Plugin for the creation of a biom feature table for metabolomics data.',
    package='q2_metabolomicsgnps'
)

plugin.methods.register_function(
    function=q2_metabolomicsgnps.gnps_clustering,
    inputs={},
    parameters={'manifest': qiime2.plugin.Str, 'username': qiime2.plugin.Str, 'password': qiime2.plugin.Str},
    input_descriptions={},
    outputs=[('feature_table', FeatureTable[Frequency])],
    parameter_descriptions={
        'manifest': 'Manifest file for describing information about each file. Headers of sample-id and filepath',
        'username': '******',
        'password': '******'
    },
    output_descriptions={'feature_table': 'Resulting feature table'},
    name='GNPS Metabolomics MS/MS Spectral Counts',
    description=("Computes feature BioM for metabolomics using GNPS Molecular Networking"),
    citations=[]
)
Beispiel #20
0
#
# The full license is in the file LICENSE, distributed with this software.
# ----------------------------------------------------------------------------

import biom
from qiime2.plugin import Plugin
from q2_types.feature_table import FeatureTable, Frequency

import q2_american_gut


plugin = Plugin(
    name='american-gut',
    version=q2_american_gut.__version__,
    website='https://github.com/biocore/q2-american-gut',
    package='q2_american_gut',
    description=('This QIIME 2 plugin supports processing and utilizing '
                 'American Gut Project data'),
    short_description='Plugin for exploring American Gut data.',
    citation_text='https://doi.org/10.1101/277970'
)

def dummy(foo: biom.Table) -> biom.Table:
    return foo

plugin.methods.register_function(
    function=dummy,
    inputs={'foo': FeatureTable[Frequency]},
    parameters={},
    outputs=[('bar', FeatureTable[Frequency]), ],
    input_descriptions={
        'foo': "Same same"
Beispiel #21
0
    SequencesWithQuality,
    PairedEndSequencesWithQuality,
)

import q2_cutadapt
import q2_cutadapt._demux
import q2_cutadapt._trim


plugin = Plugin(
    name='cutadapt',
    version=q2_cutadapt.__version__,
    website='https://github.com/qiime2/q2-cutadapt',
    package='q2_cutadapt',
    description='This QIIME 2 plugin uses cutadapt to work with '
                'adapters (e.g. barcodes, primers) in sequence data.',
    short_description='Plugin for removing adapter sequences, primers, and '
                      'other unwanted sequence from sequence data.',
    citation_text='Martin, M. (2011). Cutadapt removes adapter sequences from '
                  'high-throughput sequencing reads. EMBnet.Journal, 17(1), '
                  'pp. 10-12.\ndoi:http://dx.doi.org/10.14806/ej.17.1.200',
)

plugin.methods.register_function(
    function=q2_cutadapt._trim.trim_single,
    inputs={
        'demultiplexed_sequences': SampleData[SequencesWithQuality],
    },
    parameters={
        'cores': Int % Range(1, None),
        'adapter': List[Str],
Beispiel #22
0
    'TIM3+R6', 'TIM3+R7', 'TIM3+R8', 'TIM3+R9', 'TIM3+R10', 'TVMe', 'TVMe+I',
    'TVMe+G', 'TVMe+I+G', 'TVMe+R2', 'TVMe+R3', 'TVMe+R4', 'TVMe+R5',
    'TVMe+R6', 'TVMe+R7', 'TVMe+R8', 'TVMe+R9', 'TVMe+R10', 'TVM', 'TVM+I',
    'TVM+G', 'TVM+I+G', 'TVM+R2', 'TVM+R3', 'TVM+R4', 'TVM+R5', 'TVM+R6',
    'TVM+R7', 'TVM+R8', 'TVM+R9', 'TVM+R10', 'SYM', 'SYM+I', 'SYM+G',
    'SYM+I+G', 'SYM+R2', 'SYM+R3', 'SYM+R4', 'SYM+R5', 'SYM+R6', 'SYM+R7',
    'SYM+R8', 'SYM+R9', 'SYM+R10', 'GTR', 'GTR+I', 'GTR+G', 'GTR+I+G',
    'GTR+R2', 'GTR+R3', 'GTR+R4', 'GTR+R5', 'GTR+R6', 'GTR+R7', 'GTR+R8',
    'GTR+R9', 'GTR+R10', 'MFP', 'TEST'
]

citations = Citations.load('citations.bib', package='q2_phylogeny')
plugin = Plugin(
    name='phylogeny',
    version=q2_phylogeny.__version__,
    website='https://github.com/qiime2/q2-phylogeny',
    package='q2_phylogeny',
    description=('This QIIME 2 plugin supports generating and manipulating '
                 'phylogenetic trees.'),
    short_description='Plugin for generating and manipulating phylogenies.')

plugin.methods.register_function(
    function=q2_phylogeny.midpoint_root,
    inputs={'tree': Phylogeny[Unrooted]},
    parameters={},
    outputs=[('rooted_tree', Phylogeny[Rooted])],
    input_descriptions={'tree': 'The phylogenetic tree to be rooted.'},
    parameter_descriptions={},
    output_descriptions={'rooted_tree': 'The rooted phylogenetic tree.'},
    name='Midpoint root an unrooted phylogenetic tree.',
    description=("Midpoint root an unrooted phylogenetic tree."))
import rescript
from rescript._utilities import _rank_handles
from rescript.types._format import (
    SILVATaxonomyFormat, SILVATaxonomyDirectoryFormat, SILVATaxidMapFormat,
    SILVATaxidMapDirectoryFormat, RNAFASTAFormat, RNASequencesDirectoryFormat)
from rescript.types._type import SILVATaxonomy, SILVATaxidMap, RNASequence
from rescript.types.methods import reverse_transcribe
from rescript.ncbi import get_ncbi_data, _default_ranks, _allowed_ranks

citations = Citations.load('citations.bib', package='rescript')

plugin = Plugin(
    name='rescript',
    version=rescript.__version__,
    website="https://github.com/nbokulich/RESCRIPt",
    package='rescript',
    description=('Reference sequence annotation and curation pipeline.'),
    short_description=(
        'Pipeline for reference sequence annotation and curation.'),
)

SILVA_LICENSE_NOTE = (
    'NOTE: THIS ACTION ACQUIRES DATA FROM THE SILVA DATABASE. SEE '
    'https://www.arb-silva.de/silva-license-information/ FOR MORE INFORMATION '
    'and be aware that earlier versions may be released under a different '
    'license.')

VOLATILITY_PLOT_XAXIS_INTERPRETATION = (
    'The x-axis in these plots represents the taxonomic '
    'levels present in the input taxonomies so are labeled numerically '
    'instead of by rank, but typically for 7-level taxonomies these will '
Beispiel #24
0
from qiime2.plugin import Plugin, Metadata, Str, List, Citations
from q2_types.ordination import PCoAResults

PARAMETERS = {'metadata': Metadata, 'custom_axes': List[Str]}
PARAMETERS_DESC = {
    'metadata':
    'The sample metadata.',
    'custom_axes': ('Numeric sample metadata columns that should be '
                    'included as axes in the Emperor plot.')
}

plugin = Plugin(
    name='emperor',
    version=q2_emperor.__version__,
    website='http://emperor.microbio.me',
    package='q2_emperor',
    citations=Citations.load('citations.bib', package='q2_emperor'),
    description=('This QIIME 2 plugin wraps Emperor and '
                 'supports interactive visualization of ordination '
                 'plots.'),
    short_description='Plugin for ordination plotting with Emperor.')

plugin.visualizers.register_function(
    function=plot,
    inputs={'pcoa': PCoAResults},
    parameters={
        'metadata': Metadata,
        'custom_axes': List[Str]
    },
    input_descriptions={
        'pcoa': 'The principal coordinates matrix to be plotted.'
    },
Beispiel #25
0
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file LICENSE, distributed with this software.
# ----------------------------------------------------------------------------

import q2_ili
from ._plot import plot
from ._semantics import STLDirFmt, Model
from qiime2.plugin import Plugin, Metadata, Citations

plugin = Plugin(
    name='ili',
    version=q2_ili.__version__,
    website='https://ili.embl.de/',
    citations=Citations.load('citations.bib', package='q2_ili'),
    package='q2_ili',
    description=('This QIIME 2 plugin wraps `ili and '
                 'supports interactive visualization of 3D models'),
    short_description='Plugin for spatial mapping with `ili')

# type registration
plugin.register_views(STLDirFmt)
plugin.register_semantic_types(Model)
plugin.register_semantic_type_to_format(Model, artifact_format=STLDirFmt)

plugin.visualizers.register_function(
    function=plot,
    inputs={'model': Model},
    parameters={'metadata': Metadata},
    input_descriptions={'model': 'The model where the data will be plotted.'},
Beispiel #26
0
import q2_phylogenomics._pipelines
from q2_types.bowtie2 import Bowtie2Index
from q2_types.feature_data import DNASequencesDirectoryFormat
from q2_phylogenomics._format import (GenBankFormat, GenBankDirFmt, BAMFormat,
                                      SAMFormat, BAMFilesDirFmt,
                                      SAMFilesDirFmt, PileUpTSVFormat,
                                      PileUpFilesDirFmt, FASTAFilesDirFmt)
from q2_phylogenomics._types import (AlignmentMap, PileUp, ConsensusSequences,
                                     ReferenceSequence)

citations = Citations.load('citations.bib', package='q2_phylogenomics')

plugin = Plugin(
    name='phylogenomics',
    version=q2_phylogenomics.__version__,
    website='https://github.com/qiime2/q2-phylogenomics',
    package='q2_phylogenomics',
    description='A QIIME 2 plugin for phylogenomics analyses.',
    short_description='A QIIME 2 plugin for phylogenomics analyses.',
)

plugin.register_formats(GenBankFormat, GenBankDirFmt, citations=[])
plugin.register_formats(BAMFormat,
                        SAMFormat,
                        BAMFilesDirFmt,
                        SAMFilesDirFmt,
                        PileUpTSVFormat,
                        PileUpFilesDirFmt,
                        citations=[])
plugin.register_formats(FASTAFilesDirFmt)

plugin.register_semantic_types(AlignmentMap, PileUp, ConsensusSequences,
    SequencesWithQuality,
    PairedEndSequencesWithQuality,
)

import q2_phylogenomics
import q2_phylogenomics._prinseq
import q2_phylogenomics._filter
from q2_types.bowtie2 import Bowtie2Index


citations = Citations.load('citations.bib', package='q2_phylogenomics')

plugin = Plugin(
    name='phylogenomics',
    version=q2_phylogenomics.__version__,
    website='https://github.com/qiime2/q2-phylogenomics',
    package='q2_phylogenomics',
    description='A QIIME 2 plugin for phylogenomics analyses.',
    short_description='A QIIME 2 plugin for phylogenomics analyses.',
)

prinseq_input = {'demultiplexed_sequences': 'The sequences to be trimmed.'}
prinseq_output = {'trimmed_sequences': 'The resulting trimmed sequences.'}

prinseq_parameters = {
    'trim_qual_right': Int % Range(1, None),
    'trim_qual_type': Str % Choices(['min', 'mean', 'max', 'sum']),
    'trim_qual_window': Int % Range(1, None),
    'min_qual_mean': Int % Range(1, None),
    'min_len': Int % Range(1, None),
    'lc_method': Str % Choices(['dust', 'entropy']),
    'lc_threshold': Int % Range(0, 100),
Beispiel #28
0
                      PredictionsDirectoryFormat, ProbabilitiesFormat,
                      ProbabilitiesDirectoryFormat)

from ._type import (ClassifierPredictions, RegressorPredictions,
                    SampleEstimator, BooleanSeries, Importance, Classifier,
                    Regressor, Probabilities)
import q2_sample_classifier

citations = Citations.load('citations.bib', package='q2_sample_classifier')

plugin = Plugin(
    name='sample-classifier',
    version=q2_sample_classifier.__version__,
    website="https://github.com/qiime2/q2-sample-classifier",
    package='q2_sample_classifier',
    description=(
        'This QIIME 2 plugin supports methods for supervised classification '
        'and regression of sample metadata, and other supervised machine '
        'learning methods.'),
    short_description=(
        'Plugin for machine learning prediction of sample metadata.'),
    citations=[citations['Bokulich306167'], citations['pedregosa2011scikit']])

description = ('Predicts a {0} sample metadata column using a {1}. Splits '
               'input data into training and test sets. The training set is '
               'used to train and test the estimator using a stratified '
               'k-fold cross-validation scheme. This includes optional steps '
               'for automated feature extraction and hyperparameter '
               'optimization. The test set validates classification accuracy '
               'of the optimized estimator. Outputs classification results '
               'for test set. For more details on the learning algorithm, '
               'see http://scikit-learn.org/stable/supervised_learning.html')
Beispiel #29
0
                      SidleReconFormat, 
                      SidleReconDirFormat,
                      ReconstructionSummary,
                      ReconSummaryFormat,
                      ReconSummaryDirFormat,
                      )
import q2_sidle

citations = Citations.load('citations.bib', package='q2_sidle')

plugin = Plugin(
    name='sidle',
    version='2020.08',
    website='https://github.com/jwdebelius/q2-sidle',
    package='q2_sidle',
    description=('This plugin reconstructs a full 16s sequence from short '
                 'reads over a marker gene region using the Short MUltiple '
                 'Read Framework (SMURF) algorithm.'),
    short_description='Plugin for kmer-based marker gene reconstruction.',
    citations=[citations['Debelius2021']],
)

plugin.methods.register_function(
    function=q2_sidle.prepare_extracted_region,
    name='Prepares an already extracted region to be a kmer database.',
    description=('This function takes an amplified region of the database, '
                 'expands the degenerate sequences and collapses the '
                 'duplicated sequences under a single id that can be '
                 'untangled later.'),
    inputs={
        'sequences': FeatureData[Sequence]
Beispiel #30
0
#
# The full license is in the file LICENSE, distributed with this software.
# ----------------------------------------------------------------------------


from qiime2.plugin import Plugin, Float, Int, Bool, Str, Range, Citations
from q2_types.feature_data import FeatureData, Sequence, AlignedSequence

import q2_alignment

citations = Citations.load('citations.bib', package='q2_alignment')
plugin = Plugin(
    name='alignment',
    version=q2_alignment.__version__,
    website='https://github.com/qiime2/q2-alignment',
    package='q2_alignment',
    description=('This QIIME 2 plugin provides support for generating '
                 'and manipulating sequence alignments.'),
    short_description='Plugin for generating and manipulating alignments.'
)

plugin.methods.register_function(
    function=q2_alignment.mafft,
    inputs={'sequences': FeatureData[Sequence]},
    parameters={'n_threads': Int % Range(0, None),
                'parttree': Bool},
    outputs=[('alignment', FeatureData[AlignedSequence])],
    input_descriptions={'sequences': 'The sequences to be aligned.'},
    parameter_descriptions={
        'n_threads': 'The number of threads. (Use 0 to automatically use all '
                     'available cores)',
Beispiel #31
0
# ----------------------------------------------------------------------------
#
#
# ----------------------------------------------------------------------------

from match_samples import match_samples
from qiime2.plugin import (Plugin, Metadata, Str, List, Citations, Range, Int,
                           Bool, Properties)
from q2_types.ordination import PCoAResults
from q2_types.feature_table import FeatureTable, Frequency, RelativeFrequency

plugin = Plugin(
    name='match-samples',
    version='1',
    package='match_samples',
    website='https://github.com/brainiac5mimic/match_samples',
    description=('match_samples allows users to filter down a '
                 'metadata file, label samples case or control, and '
                 'match case to control samples.'),
    short_description=('Filter, label and match samples in a '
                       'metadata file'))

plugin.visualizers.register_function(
    function=match_samples.subsetting,
    inputs={},
    parameters={
        'metadata': Metadata,
        'keep': Str,
        'extra': Bool,
    },
    input_descriptions={},
    parameter_descriptions={
Beispiel #32
0
citations = Citations.load('citations.bib', package='q2_diversity')

sklearn_n_jobs_description = (
    'The number of jobs to use for the computation. This works by breaking '
    'down the pairwise matrix into n_jobs even slices and computing them in '
    'parallel. If -1 all CPUs are used. If 1 is given, no parallel computing '
    'code is used at all, which is useful for debugging. For n_jobs below -1, '
    '(n_cpus + 1 + n_jobs) are used. Thus for n_jobs = -2, all CPUs but one '
    'are used. (Description from sklearn.metrics.pairwise_distances)')

plugin = Plugin(
    name='diversity',
    version=q2_diversity.__version__,
    website='https://github.com/qiime2/q2-diversity',
    package='q2_diversity',
    description=('This QIIME 2 plugin supports metrics for calculating '
                 'and exploring community alpha and beta diversity through '
                 'statistics and visualizations in the context of sample '
                 'metadata.'),
    short_description='Plugin for exploring community diversity.',
)

plugin.methods.register_function(
    function=q2_diversity.beta_phylogenetic,
    inputs={
        'table': FeatureTable[Frequency],
        'phylogeny': Phylogeny[Rooted]
    },
    parameters={
        'metric': Str % Choices(beta.phylogenetic_metrics()),
        'n_jobs': Int % Range(1, None)
from q2_types.feature_table import FeatureTable, Frequency
from q2_types.feature_data import FeatureData, Sequence

from q2_ninja_ops import (NinjaOpsDB, NinjaOpsDBDirFmt, Bowtie2IndexFormat,
                          TerrificCompressedFormat, NinjaReplicateMapFormat,
                          cluster_closed_reference, build_database)
import q2_ninja_ops


plugin = Plugin(
    name='ninja-ops',
    version=q2_ninja_ops.__version__,
    website='https://github.com/knights-lab/q2-ninja-ops',
    package='q2_ninja_ops',
    citation_text='Al-Ghalith GA, Montassier E, Ward HN, Knights D. '
                  'NINJA-OPS: Fast Accurate Marker Gene Alignment Using '
                  'Concatenated Ribosomes. PLoS Computational Biology. '
                  '2016 Jan;12(1).',
    short_description='Plugin for OTU picking with NINJA-OPS.',
    description='This plugin wraps the NINJA-OPS application and provides '
                'methods for clustering sequence data into OTUs.'
)

plugin.register_semantic_types(NinjaOpsDB)

plugin.register_formats(NinjaOpsDBDirFmt, Bowtie2IndexFormat,
                        TerrificCompressedFormat, NinjaReplicateMapFormat)

plugin.register_semantic_type_to_format(NinjaOpsDB,
                                        artifact_format=NinjaOpsDBDirFmt)