Mercurial > repos > florianbegusch > qiime2_suite
diff qiime2/qiime_tools_import.xml @ 29:3ba9833030c1 draft
Uploaded
author | florianbegusch |
---|---|
date | Fri, 04 Sep 2020 13:12:49 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qiime2/qiime_tools_import.xml Fri Sep 04 13:12:49 2020 +0000 @@ -0,0 +1,291 @@ +<?xml version="1.0" ?> +<tool id="qiime_tools_import" name="qiime tools import" version="2020.8"> + <description> - Import data into a new QIIME 2 Artifact.</description> + <requirements> + <requirement type="package" version="2020.8">qiime2</requirement> + </requirements> + <command> +<![CDATA[ +mkdir input; + +#set $in_= 'input' + + +#if '__ob__' in str($semantic_type): + #set $type_temp = str($semantic_type).replace('__ob__', '[') + #set $type_temp = str($type_temp).replace('__cb__', ']') + #set $semantic_type = $type_temp +#end if + +#def is_fastq($f_test) + #set $f = open($f_test, 'rb') + #set $fastq = str($f.readline()[0]) + #if str($f.readline()[0]) == '@' + #$f.close() + #return True + #end if + + #$f.close() + #return $fastq +#end def + + +## Symlinks creation or On the fly creation of a combo file +#if $input_type.type == 'list_list' + ## Symlinks creation or On the fly creation of a combo file + #for $f in $input_type.list_list: + + #set $is_fastq_file = $is_fastq(str($f)) + + #if $is_fastq_file: + #set $file_for_processing = "'input/" + $f.name + '.gz' + "'" + gzip -c ${f} > $file_for_processing; + ##echo $is_fastq_file; + #else + #set $file_for_processing = "'input/" + $f.name + "'" + ln -s ${f} $file_for_processing; + ##echo $is_fastq_file; + #end if + #end for + #if 'SingleEndFastqManifestPhred' in str($inputformat): + #set $cwf = str($outputpath.extra_files_path) + "_manifest_file.txt" + #set $tt = str("sample-id,absolute-filepath,direction") + echo $tt >> $cwf; + #for $f in $input_type.list_list: + #set $tt = str($f.name).split("_")[0]+",$PWD/input/"+str($f.name).split(".")[0]+".fastq.gz,forward\n" + echo $tt >> $cwf; + #end for + + #set $in_= str($cwf) + #end if + + +#elif $input_type.type == 'list_paired_collection': + + #set $cwf = str($outputpath.extra_files_path) + "_manifest_file.txt" + #set $tt = str("sample-id,absolute-filepath,direction") + echo $tt >> $cwf; + + #for $pair in $input_type.list_paired_collection: + #set $forward_is_fastq_file = $is_fastq(str($pair.forward)) + #set $reverse_is_fastq_file = $is_fastq(str($pair.reverse)) + + #if $forward_is_fastq_file: + gzip -c ${pair.forward} > input/${pair.name}_R1_001.fastq.gz; + #set $tt = str($pair.name).split("_")[0]+",$PWD/input/"+str($pair.name)+"_R1_001.fastq.gz,forward\n" + echo $tt >> $cwf; + #else + ln -s ${pair.forward} input/${pair.name}_R1_001.fastq.gz; + #set $tt = str($pair.name).split("_")[0]+",$PWD/input/"+str($pair.name)+"_R1_001.fastq.gz,forward\n" + echo $tt >> $cwf; + #end if + + #if $reverse_is_fastq_file: + gzip -c ${pair.reverse} > input/${pair.name}_R2_001.fastq.gz; + #set $tt = str($pair.name).split("_")[0]+",$PWD/input/"+str($pair.name)+"_R2_001.fastq.gz,reverse\n" + echo $tt >> $cwf; + #else + ln -s ${pair.reverse} input/${pair.name}_R2_001.fastq.gz; + #set $tt = str($pair.name).split("_")[0]+",$PWD/input/"+str($pair.name)+"_R2_001.fastq.gz,reverse\n" + echo $tt >> $cwf; + #end if + #end for + + + + #if 'PairedEndFastqManifestPhred' in str($inputformat) or 'SingleEndFastqManifestPhred33V2' in str($inputformat) or 'SingleEndFastqManifestPhred33' in str($inputformat): + + #set $in_= str($cwf) + + #elif 'Casava' in str($inputformat): + #set $in_= 'input' + #end if + + +#else + #set $res = $is_fastq(str($file)) + + #if $res + gzip -c ${file} > ${file.name}.gz; + #set $in_= $file.name + '.gz' + + #else + #set $in_= str($file) + #end if + + #if "MultiplexedSingleEndBarcodeInSequence" in str($semantic_type): + mv *_R1_* forward.fastq.gz; + #set $in_= 'forward.fastq.gz'; + #end if + +#end if + + +## rename files to predefined names for "MultiplexedPairedEndBarcodeInSequence" +#if "MultiplexedPairedEndBarcodeInSequence" in str($semantic_type): + mv input/*_R1_* input/forward.fastq.gz; + mv input/*_R2_* input/reverse.fastq.gz; +#end if + + +qiime tools import + +--input-path=$in_ + +#if str($inputformat) != 'None': + #if '__ob__' in str($inputformat): + #set $inputformat_temp = str($inputformat).replace('__ob__', '[') + #set $inputformat_temp = str($inputformat_temp).replace('__cb__', ']') + #set $inputformat = $inputformat_temp + #end if + --input-format="$inputformat" +#end if + +--type="$semantic_type" + +--output-path=outputpath.qza + +; +cp outputpath.qza $outputpath +]]> + </command> + <inputs> + <conditional name="input_type"> + <param name="type" type="select" label="Select a way to provide data, either using a file or a list" help=""> + <option value="regular">Input file</option> + <option selected="true" value="list_paired_collection">Multiple pairs - Combo mode (list:paired collection)</option> + <option value="list_list">Input list</option> + </param> + + <when value="regular"> + <param name="file" type="data" multiple="false" label="Input file" /> + </when> + <when value="list_paired_collection"> + <param name="list_paired_collection" type="data_collection" collection_type="list:paired" label="Fastq pairs (collection)" help="Dataset collection made from multiple pairs of files" /> + </when> + <when value="list_list"> + <param name="list_list" type="data_collection" collection_type="list" label="Input list" /> + </when> + </conditional> + + <param label="--type: The semantic type of the artifact that will be created upon importing. [required]" name="semantic_type" optional="False" type="select"> + <option value="DeblurStats">DeblurStats</option> + <option value="DistanceMatrix">DistanceMatrix</option> + <option value="EMPPairedEndSequences">EMPPairedEndSequences</option> + <option value="EMPSingleEndSequences">EMPSingleEndSequences</option> + <option value="ErrorCorrectionDetails">ErrorCorrectionDetails</option> + <option value="FeatureData[AlignedSequence]">FeatureData[AlignedSequence]</option> + <option value="FeatureData[Importance]">FeatureData[Importance]</option> + <option value="FeatureData[PairedEndSequence]">FeatureData[PairedEndSequence]</option> + <option value="FeatureData[Sequence]">FeatureData[Sequence]</option> + <option value="FeatureData[Taxonomy]">FeatureData[Taxonomy]</option> + <option value="FeatureTable[Balance]">FeatureTable[Balance]</option> + <option value="FeatureTable[Composition]">FeatureTable[Composition]</option> + <option value="FeatureTable[Frequency]">FeatureTable[Frequency]</option> + <option value="FeatureTable[PercentileNormalized]">FeatureTable[PercentileNormalized]</option> + <option value="FeatureTable[PresenceAbsence]">FeatureTable[PresenceAbsence]</option> + <option value="FeatureTable[RelativeFrequency]">FeatureTable[RelativeFrequency]</option> + <option value="Hierarchy">Hierarchy</option> + <option value="MultiplexedPairedEndBarcodeInSequence">MultiplexedPairedEndBarcodeInSequence</option> + <option value="MultiplexedSingleEndBarcodeInSequence">MultiplexedSingleEndBarcodeInSequence</option> + <option value="PCoAResults">PCoAResults</option> + <option value="Phylogeny[Rooted]">Phylogeny[Rooted]</option> + <option value="Phylogeny[Unrooted]">Phylogeny[Unrooted]</option> + <option value="Placements">Placements</option> + <option value="QualityFilterStats">QualityFilterStats</option> + <option value="RawSequences">RawSequences</option> + <option value="SampleData[AlphaDiversity]">SampleData[AlphaDiversity]</option> + <option value="SampleData[BooleanSeries]">SampleData[BooleanSeries]</option> + <option value="SampleData[ClassifierPredictions]">SampleData[ClassifierPredictions]</option> + <option value="SampleData[DADA2Stats]">SampleData[DADA2Stats]</option> + <option value="SampleData[FirstDifferences]">SampleData[FirstDifferences]</option> + <option value="SampleData[JoinedSequencesWithQuality]">SampleData[JoinedSequencesWithQuality]</option> + <option selected="True" value="SampleData[PairedEndSequencesWithQuality]">SampleData[PairedEndSequencesWithQuality]</option> + <option value="SampleData[RegressorPredictions]">SampleData[RegressorPredictions]</option> + <option value="SampleData[SequencesWithQuality]">SampleData[SequencesWithQuality]</option> + <option value="SampleData[Sequences]">SampleData[Sequences]</option> + <option value="SampleData[Classifier]">SampleData[Classifier]</option> + <option value="SampleData[Regressor]">SampleData[Regressor]</option> + <option value="TaxonomicClassifier">TaxonomicClassifier</option> + <option value="UchimeStats">UchimeStats</option> + </param> + + <param label="--input-format: The format of the data to be imported. If not provided, data must be in the format expected by the semantic type provided via --type." name="inputformat" optional="True" type="select"> + <option value="AlignedDNAFASTAFormat">AlignedDNAFASTAFormat</option> + <option value="AlignedDNASequencesDirectoryFormat">AlignedDNASequencesDirectoryFormat</option> + <option value="AlphaDiversityDirectoryFormat">AlphaDiversityDirectoryFormat</option> + <option value="AlphaDiversityFormat">AlphaDiversityFormat</option> + <option value="BIOMV100DirFmt">BIOMV100DirFmt</option> + <option value="BIOMV100Format">BIOMV100Format</option> + <option value="BIOMV210DirFmt">BIOMV210DirFmt</option> + <option value="BIOMV210Format">BIOMV210Format</option> + <option value="BooleanSeriesDirectoryFormat">BooleanSeriesDirectoryFormat</option> + <option value="BooleanSeriesFormat">BooleanSeriesFormat</option> + <option value="CasavaOneEightLanelessPerSampleDirFmt">CasavaOneEightLanelessPerSampleDirFmt</option> + <option value="CasavaOneEightSingleLanePerSampleDirFmt">CasavaOneEightSingleLanePerSampleDirFmt</option> + <option value="DADA2StatsDirFmt">DADA2StatsDirFmt</option> + <option value="DADA2StatsFormat">DADA2StatsFormat</option> + <option value="DNAFASTAFormat">DNAFASTAFormat</option> + <option value="DNASequencesDirectoryFormat">DNASequencesDirectoryFormat</option> + <option value="DeblurStatsDirFmt">DeblurStatsDirFmt</option> + <option value="DeblurStatsFmt">DeblurStatsFmt</option> + <option value="DistanceMatrixDirectoryFormat">DistanceMatrixDirectoryFormat</option> + <option value="EMPPairedEndCasavaDirFmt">EMPPairedEndCasavaDirFmt</option> + <option value="EMPPairedEndDirFmt">EMPPairedEndDirFmt</option> + <option value="EMPSingleEndCasavaDirFmt">EMPSingleEndCasavaDirFmt</option> + <option value="EMPSingleEndDirFmt">EMPSingleEndDirFmt</option> + <option value="ErrorCorrectionDetailsDirFmt">ErrorCorrectionDetailsDirFmt</option> + <option value="FastqGzFormat">FastqGzFormat</option> + <option value="FirstDifferencesDirectoryFormat">FirstDifferencesDirectoryFormat</option> + <option value="FirstDifferencesFormat">FirstDifferencesFormat</option> + <option value="HeaderlessTSVTaxonomyDirectoryFormat">HeaderlessTSVTaxonomyDirectoryFormat</option> + <option value="HeaderlessTSVTaxonomyFormat">HeaderlessTSVTaxonomyFormat</option> + <option value="ImportanceDirectoryFormat">ImportanceDirectoryFormat</option> + <option value="ImportanceFormat">ImportanceFormat</option> + <option value="LSMatFormat">LSMatFormat</option> + <option value="MultiplexedPairedEndBarcodeInSequenceDirFmt">MultiplexedPairedEndBarcodeInSequenceDirFmt</option> + <option value="MultiplexedSingleEndBarcodeInSequenceDirFmt">MultiplexedSingleEndBarcodeInSequenceDirFmt</option> + <option value="NewickDirectoryFormat">NewickDirectoryFormat</option> + <option value="NewickFormat">NewickFormat</option> + <option value="OrdinationDirectoryFormat">OrdinationDirectoryFormat</option> + <option value="OrdinationFormat">OrdinationFormat</option> + <option value="PairedDNASequencesDirectoryFormat">PairedDNASequencesDirectoryFormat</option> + <option value="PairedEndFastqManifestPhred33">PairedEndFastqManifestPhred33</option> + <option value="PairedEndFastqManifestPhred33V2">PairedEndFastqManifestPhred33V2</option> + <option value="PairedEndFastqManifestPhred64">PairedEndFastqManifestPhred64</option> + <option value="PairedEndFastqManifestPhred64V2">PairedEndFastqManifestPhred64V2</option> + <option value="PlacementsDirFmt">PlacementsDirFmt</option> + <option value="PlacementsFormat">PlacementsFormat</option> + <option value="PredictionsDirectoryFormat">PredictionsDirectoryFormat</option> + <option value="PredictionsFormat">PredictionsFormat</option> + <option value="QIIME1DemuxDirFmt">QIIME1DemuxDirFmt</option> + <option value="QIIME1DemuxFormat">QIIME1DemuxFormat</option> + <option value="QualityFilterStatsDirFmt">QualityFilterStatsDirFmt</option> + <option value="QualityFilterStatsFmt">QualityFilterStatsFmt</option> + <option value="SampleEstimatorDirFmt">SampleEstimatorDirFmt</option> + <option value="SingleEndFastqManifestPhred33">SingleEndFastqManifestPhred33</option> + <option value="SingleEndFastqManifestPhred33V2">SingleEndFastqManifestPhred33V2</option> + <option value="SingleEndFastqManifestPhred64">SingleEndFastqManifestPhred64</option> + <option value="SingleEndFastqManifestPhred64V2">SingleEndFastqManifestPhred64V2</option> + <option value="SingleLanePerSamplePairedEndFastqDirFmt">SingleLanePerSamplePairedEndFastqDirFmt</option> + <option value="SingleLanePerSampleSingleEndFastqDirFmt">SingleLanePerSampleSingleEndFastqDirFmt</option> + <option value="TSVTaxonomyDirectoryFormat">TSVTaxonomyDirectoryFormat</option> + <option value="TSVTaxonomyFormat">TSVTaxonomyFormat</option> + <option value="TaxonomicClassiferTemporaryPickleDirFmt">TaxonomicClassiferTemporaryPickleDirFmt</option> + <option value="UchimeStatsDirFmt">UchimeStatsDirFmt</option> + <option value="UchimeStatsFmt">UchimeStatsFmt</option> + </param> + </inputs> + <outputs> + <data format="qza" label="${tool.name} on ${on_string}: outputpath.qza" name="outputpath"/> + </outputs> + <!--<stdio> + <exit_code range="2" level="warning" description="Error" /> + </stdio>--> + <help> +</help> +<macros> + <import>qiime_citation.xml</import> +</macros> +<expand macro="qiime_citation" /> +</tool>