changeset 0:b6009d0098d7 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/sinto commit a836e4e010093207186d4d7839bbba702a15c18f
author iuc
date Thu, 13 Apr 2023 11:03:34 +0000
parents
children 02f96be6c3c9
files macros.xml sinto_fragments.xml test-data/aligned.bam test-data/barcodes.fastq.gz test-data/read1.barcoded.fastq.gz test-data/read1.fastq.gz test-data/read2.barcoded.fastq.gz test-data/read2.fastq.gz
diffstat 6 files changed, 100 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Thu Apr 13 11:03:34 2023 +0000
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<macros>
+    <token name="@TOOL_VERSION@">0.9.0</token>
+    <token name="@VERSION_SUFFIX@">0</token>
+
+    <xml name="citations">
+        <citations>
+            <citation type="doi">10.1038/s41592-021-01282-5</citation>
+        </citations>
+    </xml>
+</macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sinto_fragments.xml	Thu Apr 13 11:03:34 2023 +0000
@@ -0,0 +1,89 @@
+<tool id="sinto_fragments" name="Sinto fragments" profile="20.01" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@">
+    <description>Create an ATAC-seq fragment file from a BAM file</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <requirements>
+        <requirement type="package" version="@TOOL_VERSION@">sinto</requirement>
+    </requirements>
+    <version_command>sinto --version</version_command>
+    <command><![CDATA[
+    ln -s '$bam' 'input.bam' && 
+    ln -s '$bam.metadata.bam_index' 'input.bam.bai' &&
+    sinto fragments 
+    --bam 'input.bam'
+    --min_mapq $min_mapq 
+    --barcodetag '$barcodetag' 
+    --barcode_regex '${ str( $barcode_regex ) }'
+    --max_distance $max_distance
+    --min_distance $min_distance
+    --shift_plus $shift_plus
+    --shift_minus $shift_minus
+    $collapse_within
+    --fragments $fragments
+    --nproc "\${GALAXY_SLOTS:-1}"
+]]>    </command>
+    <inputs>
+        <param argument="--bam" type="data" format="bam" label="Input BAM file" />
+        <param argument="--min_mapq" type="integer" value="30" min="0" label="Minimum MAPQ required to retain fragment" />
+        <param argument="--barcodetag" type="text" value="CB" label="Read tag storing cell barcode information" />
+        <param argument="--barcode_regex" type="text" value="[^:]*" label="Read tag storing cell barcode information" 
+            help="[^:]* matches all characters up to the first colon" >
+            <sanitizer>
+                <valid initial="string.printable">
+                    <remove value="&apos;" />
+                </valid>
+            </sanitizer>
+        </param>
+        <param argument="--max_distance" type="integer" value="5000" min="0" label="Maximum distance between integration sites for the fragment to be retained" 
+            help="Allows filtering of implausible fragments that likely result from incorrect mapping positions. Default is 5000 bp."/>
+        <param argument="--min_distance" type="integer" value="10" min="0" label="Minimum distance between integration sites for the fragment to be retained" 
+            help="Allows filtering of implausible fragments that likely result from incorrect mapping positions. Default is 5000 bp."/>
+        <param argument="--shift_plus" type="integer" value="4" label="Minimum MAPQ required to retain fragment" />
+        <param argument="--shift_minus" type="integer" value="-5" label="Minimum MAPQ required to retain fragment" />
+        <param argument="--collapse_within" type="boolean" truevalue="--collapse_within" falsevalue="" label="Take cell barcode into account 
+            when collapsing duplicate fragments" help="Setting this flag means that fragments with the same coordinates can be identified 
+            provided they originate from a different cell barcode." />
+    </inputs>
+    <outputs>
+        <data name='fragments' format='bed' label="${tool.name} on ${on_string}: fragments" />
+    </outputs>
+    <tests>
+        <test expect_num_outputs="1">
+            <param name="bam" ftype="bam" value="aligned.bam" />
+            <output name="fragments">
+                <assert_contents>
+                    <has_text_matching expression="chrY\t2790323\t2790683\tAACTGGTAGCTCCGGT\t2" />
+                    <has_text_matching expression="chrY\t3680091\t3680228\tGACCGACGTACGGTTT\t2" />
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="1">
+            <param name="bam" ftype="bam" value="aligned.bam" />
+            <param name="shift_plus" value="4" />
+            <param name="shift_minus" value="5" />
+            <output name="fragments">
+                <assert_contents>
+                    <has_text_matching expression="chrY\t2790323\t2790693\tAACTGGTAGCTCCGGT\t2" />
+                    <has_text_matching expression="chrY\t3680091\t3680238\tGACCGACGTACGGTTT\t2" />
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+    <help><![CDATA[
+
+Sinto: single-cell analysis tools
+--------------------------------------------------------------------------------------------------------------
+An ATAC-seq fragment file can be created from a BAM file using the fragments command. The fragment file contains the position of each 
+Tn5 integration site, the cell barcode associated with the fragment, and the number of times the fragment was sequenced. PCR duplicates are collapsed.
+
+**Input**
+A BAM file. Alignments in the input BAM file must contain cell barcodes either as a part of read names or in a tag (typically, in CB tag).
+
+**Output**
+The fragment file. It contains the positions of Tn5 integration sites, the cell barcode that the DNA fragment originated from, and the number of times 
+the fragment was sequenced.
+
+    ]]>    </help>
+    <expand macro="citations" />
+</tool>
Binary file test-data/aligned.bam has changed
Binary file test-data/barcodes.fastq.gz has changed
Binary file test-data/read1.fastq.gz has changed
Binary file test-data/read2.fastq.gz has changed