Repository 'velocyto_cli'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/velocyto_cli

Changeset 0:7d8cafa4d18c (2023-05-13)
Next changeset 1:883c33ef3372 (2023-05-15)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/velocyto commit d9beec424754fdf4f0b125552115521f9f536cb8
added:
macros.xml
test-data/STARsolo_allSAMat.bam
test-data/STARsolo_allSAMat_copy.bam
test-data/barcodes.tsv
test-data/filtered3.Homo_sapiens.GRCh38.100.chr21.gtf
test-data/test_data_generation.sh
velocyto_cli.xml
b
diff -r 000000000000 -r 7d8cafa4d18c macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Sat May 13 12:31:25 2023 +0000
[
@@ -0,0 +1,56 @@
+
+<macros>
+    <!-- The documentation says a v1.0 is in the works
+         but the repository has seen no changes for 3-4 years -->
+    <token name="@VERSION@">0.17.17</token>
+    <token name="@SAMTOOLS_OPTS@"><![CDATA[
+    --samtools-threads \${GALAXY_SLOTS:-1}
+    --samtools-memory \${GALAXY_MEMORY_MB:-100}
+    ]]></token>
+    <token name="@LOOMOUT@"><![CDATA[
+    -o "."
+    -e "output"
+    ]]></token>
+    
+    <xml name="bcffile" >
+        <param argument="-b" type="data" format="tabular,txt" optional="true"
+               label="Barcodes file to filter BAM"
+               help="If -bcfile is not specified the file will be searched in the default position outputted by 'dropest_bc_correct'. Otherwise an error will be thrown" />
+    </xml>
+    <xml name="loomdtype" token_16_selected="true" token_32_selected="false" >
+        <param argument="-t" type="select" optional="true"
+               label="Datatype of Loom layers"
+               help="The dtype of the loom file layers - if more than 6000 molecules/reads per gene per cell are expected set uint32
+                     to avoid truncation" >
+            <option value="uint16" selected="@16_SELECTED@">uint16</option>
+            <option value="uint32" selected="@32_SELECTED@">uint32</option>
+        </param>
+    </xml>
+    <xml name="repmask" >
+        <param argument="-m" type="data" format="gtf" optional="true"
+               label="Intervals to mask" />
+    </xml>
+    <xml name="notuniquemappings" >
+        <param argument="-M" type="boolean" truevalue="-M" falsevalue="" checked="false"
+               label="Consider not unique mappings?" help="(not recommended)" />
+    </xml>
+    <xml name="citations">
+        <citations>
+            <citation type="doi">10.1038/s41586-018-0414-6</citation>
+        </citations>
+    </xml>
+    <xml name="edam">
+        <edam_topics>
+            <edam_topic>topic_3512</edam_topic>
+            <edam_topic>topic_3320</edam_topic>
+        </edam_topics>
+        <edam_operations>
+            <edam_operation>operation_3800</edam_operation>
+        </edam_operations>
+    </xml>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="@VERSION@" >velocyto.py</requirement>
+        </requirements>
+    </xml>
+</macros>
\ No newline at end of file
b
diff -r 000000000000 -r 7d8cafa4d18c test-data/STARsolo_allSAMat.bam
b
Binary file test-data/STARsolo_allSAMat.bam has changed
b
diff -r 000000000000 -r 7d8cafa4d18c test-data/STARsolo_allSAMat_copy.bam
b
Binary file test-data/STARsolo_allSAMat_copy.bam has changed
b
diff -r 000000000000 -r 7d8cafa4d18c test-data/barcodes.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/barcodes.tsv Sat May 13 12:31:25 2023 +0000
b
@@ -0,0 +1,7 @@
+ACACCGGTCTAACGGT
+AGACGTTCAAGGCTCC
+ATTTCTGTCTAACTCT
+CTGCTGTTCAACTCTT
+GCGGGTTCATCCGTGG
+GTACGTAGTATCAGTC
+TTCTCAATCCACGTTC
b
diff -r 000000000000 -r 7d8cafa4d18c test-data/filtered3.Homo_sapiens.GRCh38.100.chr21.gtf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/filtered3.Homo_sapiens.GRCh38.100.chr21.gtf Sat May 13 12:31:25 2023 +0000
b
b'@@ -0,0 +1,461 @@\n+#!genome-build GRCh38.p13\n+#!genome-version GRCh38\n+#!genome-date 2013-12\n+#!genome-build-accession NCBI:GCA_000001405.28\n+#!genebuild-last-updated 2019-06\n+21\thavana\tgene\t1000\t6346\t.\t+\t.\tgene_id "ENSG00000279493"; gene_version "1"; gene_name "FP565260.4"; gene_source "havana"; gene_biotype "protein_coding";\n+21\thavana\ttranscript\t1000\t6346\t.\t+\t.\tgene_id "ENSG00000279493"; gene_version "1"; transcript_id "ENST00000624081"; transcript_version "1"; gene_name "FP565260.4"; gene_source "havana"; gene_biotype "protein_coding"; transcript_name "FP565260.4-201"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "cds_start_NF"; tag "mRNA_start_NF"; tag "basic"; transcript_support_level "5";\n+21\thavana\texon\t1000\t1075\t.\t+\t.\tgene_id "ENSG00000279493"; gene_version "1"; transcript_id "ENST00000624081"; transcript_version "1"; exon_number "1"; gene_name "FP565260.4"; gene_source "havana"; gene_biotype "protein_coding"; transcript_name "FP565260.4-201"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003760288"; exon_version "1"; tag "cds_start_NF"; tag "mRNA_start_NF"; tag "basic"; transcript_support_level "5";\n+21\thavana\tCDS\t1000\t1075\t.\t+\t0\tgene_id "ENSG00000279493"; gene_version "1"; transcript_id "ENST00000624081"; transcript_version "1"; exon_number "1"; gene_name "FP565260.4"; gene_source "havana"; gene_biotype "protein_coding"; transcript_name "FP565260.4-201"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000485664"; protein_version "1"; tag "cds_start_NF"; tag "mRNA_start_NF"; tag "basic"; transcript_support_level "5";\n+21\thavana\texon\t1749\t1888\t.\t+\t.\tgene_id "ENSG00000279493"; gene_version "1"; transcript_id "ENST00000624081"; transcript_version "1"; exon_number "2"; gene_name "FP565260.4"; gene_source "havana"; gene_biotype "protein_coding"; transcript_name "FP565260.4-201"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003758404"; exon_version "1"; tag "cds_start_NF"; tag "mRNA_start_NF"; tag "basic"; transcript_support_level "5";\n+21\thavana\tCDS\t1749\t1888\t.\t+\t2\tgene_id "ENSG00000279493"; gene_version "1"; transcript_id "ENST00000624081"; transcript_version "1"; exon_number "2"; gene_name "FP565260.4"; gene_source "havana"; gene_biotype "protein_coding"; transcript_name "FP565260.4-201"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000485664"; protein_version "1"; tag "cds_start_NF"; tag "mRNA_start_NF"; tag "basic"; transcript_support_level "5";\n+21\thavana\texon\t3587\t3672\t.\t+\t.\tgene_id "ENSG00000279493"; gene_version "1"; transcript_id "ENST00000624081"; transcript_version "1"; exon_number "3"; gene_name "FP565260.4"; gene_source "havana"; gene_biotype "protein_coding"; transcript_name "FP565260.4-201"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003755466"; exon_version "1"; tag "cds_start_NF"; tag "mRNA_start_NF"; tag "basic"; transcript_support_level "5";\n+21\thavana\tCDS\t3587\t3672\t.\t+\t0\tgene_id "ENSG00000279493"; gene_version "1"; transcript_id "ENST00000624081"; transcript_version "1"; exon_number "3"; gene_name "FP565260.4"; gene_source "havana"; gene_biotype "protein_coding"; transcript_name "FP565260.4-201"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000485664"; protein_version "1"; tag "cds_start_NF"; tag "mRNA_start_NF"; tag "basic"; transcript_support_level "5";\n+21\thavana\texon\t6136\t6346\t.\t+\t.\tgene_id "ENSG00000279493"; gene_version "1"; transcript_id "ENST00000624081"; transcript_version "1"; exon_number "4"; gene_name "FP565260.4"; gene_source "havana"; gene_biotype "protein_coding"; transcript_name "FP565260.4-201"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003755385"; exon_version "1"; tag "cds_start_NF"; tag "mRNA_start_NF"; tag "basic"; transcript_support_level "5";\n+21\thavana\tCDS\t6136\t6298\t.\t+\t1\tgene_id "ENSG00000279493"; gene_'..b'\tgene\t586591\t586691\t.\t+\t.\tgene_id "ENSG00000277777"; gene_version "1"; gene_name "CU633967.2"; gene_source "ensembl"; gene_biotype "misc_RNA";\n+21\tensembl\ttranscript\t586591\t586691\t.\t+\t.\tgene_id "ENSG00000277777"; gene_version "1"; transcript_id "ENST00000610788"; transcript_version "1"; gene_name "CU633967.2"; gene_source "ensembl"; gene_biotype "misc_RNA"; transcript_name "CU633967.2-201"; transcript_source "ensembl"; transcript_biotype "misc_RNA"; tag "basic"; transcript_support_level "NA";\n+21\tensembl\texon\t586591\t586691\t.\t+\t.\tgene_id "ENSG00000277777"; gene_version "1"; transcript_id "ENST00000610788"; transcript_version "1"; exon_number "1"; gene_name "CU633967.2"; gene_source "ensembl"; gene_biotype "misc_RNA"; transcript_name "CU633967.2-201"; transcript_source "ensembl"; transcript_biotype "misc_RNA"; exon_id "ENSE00003748388"; exon_version "1"; tag "basic"; transcript_support_level "NA";\n+21\thavana\tgene\t692383\t694838\t.\t-\t.\tgene_id "ENSG00000279186"; gene_version "1"; gene_name "FP236315.2"; gene_source "havana"; gene_biotype "TEC";\n+21\thavana\ttranscript\t692383\t694838\t.\t-\t.\tgene_id "ENSG00000279186"; gene_version "1"; transcript_id "ENST00000624506"; transcript_version "1"; gene_name "FP236315.2"; gene_source "havana"; gene_biotype "TEC"; transcript_name "FP236315.2-201"; transcript_source "havana"; transcript_biotype "TEC"; tag "basic"; transcript_support_level "NA";\n+21\thavana\texon\t692383\t694838\t.\t-\t.\tgene_id "ENSG00000279186"; gene_version "1"; transcript_id "ENST00000624506"; transcript_version "1"; exon_number "1"; gene_name "FP236315.2"; gene_source "havana"; gene_biotype "TEC"; transcript_name "FP236315.2-201"; transcript_source "havana"; transcript_biotype "TEC"; exon_id "ENSE00003756739"; exon_version "1"; tag "basic"; transcript_support_level "NA";\n+21\thavana\tgene\t694546\t696361\t.\t+\t.\tgene_id "ENSG00000279784"; gene_version "1"; gene_name "FP236315.3"; gene_source "havana"; gene_biotype "lncRNA";\n+21\thavana\ttranscript\t694546\t696361\t.\t+\t.\tgene_id "ENSG00000279784"; gene_version "1"; transcript_id "ENST00000623587"; transcript_version "1"; gene_name "FP236315.3"; gene_source "havana"; gene_biotype "lncRNA"; transcript_name "FP236315.3-201"; transcript_source "havana"; transcript_biotype "lncRNA"; tag "basic"; transcript_support_level "2";\n+21\thavana\texon\t694546\t694654\t.\t+\t.\tgene_id "ENSG00000279784"; gene_version "1"; transcript_id "ENST00000623587"; transcript_version "1"; exon_number "1"; gene_name "FP236315.3"; gene_source "havana"; gene_biotype "lncRNA"; transcript_name "FP236315.3-201"; transcript_source "havana"; transcript_biotype "lncRNA"; exon_id "ENSE00003758868"; exon_version "1"; tag "basic"; transcript_support_level "2";\n+21\thavana\texon\t696164\t696361\t.\t+\t.\tgene_id "ENSG00000279784"; gene_version "1"; transcript_id "ENST00000623587"; transcript_version "1"; exon_number "2"; gene_name "FP236315.3"; gene_source "havana"; gene_biotype "lncRNA"; transcript_name "FP236315.3-201"; transcript_source "havana"; transcript_biotype "lncRNA"; exon_id "ENSE00003757033"; exon_version "1"; tag "basic"; transcript_support_level "2";\n+21\thavana\tgene\t696205\t698657\t.\t-\t.\tgene_id "ENSG00000279064"; gene_version "1"; gene_name "FP236315.1"; gene_source "havana"; gene_biotype "lncRNA";\n+21\thavana\ttranscript\t696205\t698657\t.\t-\t.\tgene_id "ENSG00000279064"; gene_version "1"; transcript_id "ENST00000623723"; transcript_version "1"; gene_name "FP236315.1"; gene_source "havana"; gene_biotype "lncRNA"; transcript_name "FP236315.1-201"; transcript_source "havana"; transcript_biotype "lncRNA"; tag "basic"; transcript_support_level "2";\n+21\thavana\texon\t696205\t696358\t.\t-\t.\tgene_id "ENSG00000279064"; gene_version "1"; transcript_id "ENST00000623723"; transcript_version "1"; exon_number "2"; gene_name "FP236315.1"; gene_source "havana"; gene_biotype "lncRNA"; transcript_name "FP236315.1-201"; transcript_source "havana"; transcript_biotype "lncRNA"; exon_id "ENSE00003756092"; exon_version "1"; tag "basic"; transcript_support_level "2";\n'
b
diff -r 000000000000 -r 7d8cafa4d18c test-data/test_data_generation.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_data_generation.sh Sat May 13 12:31:25 2023 +0000
b
@@ -0,0 +1,14 @@
+cd /home/ldelisle/Documents/mygit/tools-iuc/tools/rgrnastar/test-data
+STAR --runMode genomeGenerate --genomeDir 'tempstargenomedir' --genomeFastaFiles filtered3.Homo_sapiens.GRCh38.dna.chromosome.21.fa --sjdbOverhang 100 --sjdbGTFfile filtered3.Homo_sapiens.GRCh38.100.chr21.gtf --genomeSAindexNbases 4
+STAR --genomeLoad NoSharedMemory --genomeDir tempstargenomedir --soloType CB_UMI_Simple --readFilesIn pbmc_1k_v2_L001.R2.10k.fastq.gz pbmc_1k_v2_L001.R1.10k.fastq.gz --soloCBmatchWLtype 1MM_multi_pseudocounts --soloCBstart 1 --soloCBlen 16 --soloUMIstart 17 --soloUMIlen 12 --soloCBwhitelist filtered.barcodes.txt --soloBarcodeReadLength 1 --readFilesCommand zcat --outSAMattributes NH AS HI nM CB UB --outSAMtype BAM SortedByCoordinate
+mv Aligned.sortedByCoord.out.bam ../../velocyto/test-data/STARsolo_allSAMat.bam
+mv Solo.out/Gene/filtered/barcodes.tsv ../../velocyto/test-data/
+
+cd ../../velocyto/test-data/
+mkdir -p sample/outs/filtered_gene_bc_matrices/whatever/
+ln -s $PWD/barcodes.tsv sample/outs/filtered_gene_bc_matrices/whatever/
+ln -s $PWD/STARsolo_allSAMat.bam sample/outs/possorted_genome_bam.bam
+velocyto run10x sample ./filtered3.Homo_sapiens.GRCh38.100.chr21.gtf
+rm -r sample/velocyto
+velocyto run -c -U ./STARsolo_allSAMat.bam ./filtered3.Homo_sapiens.GRCh38.100.chr21.gtf
+velocyto run -c -U ./STARsolo_allSAMat.bam ./STARsolo_allSAMat.bam ./filtered3.Homo_sapiens.GRCh38.100.chr21.gtf
b
diff -r 000000000000 -r 7d8cafa4d18c velocyto_cli.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/velocyto_cli.xml Sat May 13 12:31:25 2023 +0000
[
b'@@ -0,0 +1,293 @@\n+<tool id="velocyto_cli" name="velocyto CLI" version="@VERSION@+galaxy0">\n+    <description>pre-process data for the analysis of RNA velocity</description>\n+    <macros>\n+        <import>macros.xml</import>\n+    </macros>\n+    <expand macro="edam"/>\n+    <expand macro="requirements"/>\n+    <stdio>\n+      <!-- Anything other than zero is an error -->\n+      <exit_code level="fatal" range="1:"/>\n+      <exit_code level="fatal" range=":-1"/>\n+      <!-- In case the return code has not been set propery check stderr too -->\n+      <regex level="fatal" match="Error:" source="both" />\n+      <regex level="fatal" match="Exception:" source="both" />\n+      <regex level="fatal_oom" match="Can\'t calloc" source="both" />\n+    </stdio>\n+    <version_command><![CDATA[\n+    velocyto --version\n+    ]]></version_command>\n+    <command>\n+<![CDATA[\n+#import re\n+\n+#if str($main.do) == "run10x":\n+  ## We need to reproduce cell ranger structure:\n+  mkdir -p \'$main.sample/outs/filtered_gene_bc_matrices/whatever/\' &&\n+  ln -s \'${main.BAM}\' \'$main.sample/outs/possorted_genome_bam.bam\' &&\n+  ln -s \'${main.barcodes}\' \'$main.sample/outs/filtered_gene_bc_matrices/whatever/barcodes.tsv\' &&\n+#else if str($main.do) in [\'run\', \'run-smartseq2\']:\n+  #for $bam in $main.bamfiles:\n+    #set input_name = re.sub(\'[^\\w\\-\\s]\', \'_\', str($bam.element_identifier))\n+    cp \'$bam\' \'${input_name}.bam\' &&\n+  #end for\n+#end if\n+velocyto\n+\n+#if str($main.do) == "run":\n+run\n+  @LOOMOUT@\n+  #if str($main.b) != \'None\':\n+    -b \'$main.b\'\n+  #end if\n+  #if str($main.m) != \'None\':\n+    -m \'$main.m\' \n+  #end if\n+  $main.c\n+  $main.U\n+  #if str($main.u):\n+    -u \'$main.u\'\n+  #end if\n+  $main.M\n+  -t \'$main.t\'\n+  @SAMTOOLS_OPTS@\n+  $verbosity\n+  *.bam\n+  \'$main.gtffile\'\n+\n+#else if str($main.do) == "run10x":\n+run10x\n+  #if str($main.s) != \'None\':\n+    -s \'$main.s\'\n+  #end if\n+  #if str($main.m) != \'None\':\n+    -m \'$main.m\' \n+  #end if\n+  $main.M\n+  -t \'$main.t\'\n+  @SAMTOOLS_OPTS@\n+  \'$verbosity\'\n+  \'$main.sample\'\n+  \'$main.gtffile\'\n+&& mv \'$main.sample/velocyto/\'*.loom \'output.loom\'\n+\n+#else if str($main.do) == "run-smartseq2":\n+run-smartseq2\n+   @LOOMOUT@\n+  #if str($main.m) != \'None\':\n+    -m \'$main.m\' \n+  #end if\n+  -t \'$main.t\'\n+  @SAMTOOLS_OPTS@\n+  \'$verbosity\'\n+  *.bam\n+  \'$main.gtffile\'\n+\n+#else if str($main.do) == "run-dropest":\n+run-dropest\n+   @LOOMOUT@\n+  #if str($main.b) != \'None\':\n+    -b \'$main.b\'\n+  #end if\n+  #if str($main.m) != \'None\':\n+    -m \'$main.m\' \n+  #end if\n+  -t \'$main.t\'\n+  @SAMTOOLS_OPTS@\n+  \'$verbosity\'\n+  \'$main.bamfile\'\n+  \'$main.gtffile\'\n+\n+#else if str($main.do) == "dropest-bc-correct":\n+tools dropest-bc-correct\n+  -o \'$barcodesout\'\n+  \'$main.bamfile\'\n+  \'$main.rfile\'\n+#end if\n+\n+]]>\n+    </command>\n+    <inputs>\n+        <conditional name="main"  >\n+            <param name="do" type="select" label="Pipeline"\n+                   help="" >\n+                <option value="run10x" selected="true">Analysis for a 10x Chromium Sample</option>\n+                <option value="run-smartseq2">Analysis on SmartSeq2 data (BAM file per cell)</option>\n+                <option value="run-dropest">Analysis on DropEst preprocessed data</option>\n+                <!-- the above are wrappers for the main "run" command -->\n+                <option value="run" >Analysis for other protocols</option>\n+                <option value="dropest-bc-correct">Correct DropEst barcodes and produce valid barcodes file</option>\n+            </param>\n+            <when value="run10x" >\n+                <param name="sample" type="text" value="sample" label="sample name" help="This name will appear as prefix of each cell barcode.">\n+                    <sanitizer invalid_char="">\n+                        <valid initial="string.letters,string.digits">\n+                            <add value="_" />\n+                        </valid>\n+                    </sanitizer>\n+                    <validator type="regex">[0-9a-zA-Z_]+</validator>\n+                </param>\n+             '..b' name="c" value="true"/>\n+              <param name="U" value="true"/>\n+              <param name="M" value="false"/>\n+              <param name="t" value="uint16"/>\n+          </conditional>\n+          <output name="samples">\n+              <assert_contents>\n+                  <has_size value="25927" delta="3000"/>\n+              </assert_contents>\n+              <metadata name="row_attrs_count" value="6" />\n+              <metadata name="layers_count" value="3" />\n+              <metadata name="layers_names" value="ambiguous,spliced,unspliced" />\n+              <metadata name="col_attrs_count" value="1" />\n+              <metadata name="col_attrs_names" value="CellID" />\n+          </output>\n+          <assert_stdout>\n+            <has_text text="Counting for batch 1, containing 1 cells and 716 reads"/>\n+          </assert_stdout>\n+      </test>\n+      <!-- Test 3 run single bam as single cell with 2 bam -->\n+      <test expect_num_outputs="1">\n+          <conditional name="main">\n+              <param name="do" value="run"/>\n+              <param name="bamfiles" value="STARsolo_allSAMat.bam,STARsolo_allSAMat_copy.bam"/>\n+              <param name="gtffile" value="filtered3.Homo_sapiens.GRCh38.100.chr21.gtf"/>\n+              <param name="c" value="true"/>\n+              <param name="U" value="true"/>\n+              <param name="M" value="false"/>\n+              <param name="t" value="uint16"/>\n+          </conditional>\n+          <output name="samples">\n+              <assert_contents>\n+                  <has_size value="26384" delta="3000"/>\n+              </assert_contents>\n+              <metadata name="row_attrs_count" value="6" />\n+              <metadata name="layers_count" value="3" />\n+              <metadata name="layers_names" value="ambiguous,spliced,unspliced" />\n+              <metadata name="col_attrs_count" value="1" />\n+              <metadata name="col_attrs_names" value="CellID" />\n+          </output>\n+          <assert_stdout>\n+            <has_text text="Counting for batch 2, containing 1 cells and 716 reads"/>\n+          </assert_stdout>\n+      </test>    \n+    </tests>\n+    <help><![CDATA[\n+Requirements on the input files\n+\n+velocyto assumes that the bam file that is passed to the CLI contains a set of information and that some upstream analysis was performed on them already. In particular the bam file will have to:\n+\n+    Be sorted by mapping position.\n+    Represents either a single sample (multiple cells prepared using a certain barcode set in a single experiment) or single cell.\n+    Contain an error corrected cell barcodes as a TAG named CB or XC.\n+    Contain an error corrected molecular barcodes as a TAG named UB or XM.\n+\n+Note\n+\n+For SmartSeq2 bam files (3) and (4) are not required because it consists of one bam file per cell and no umi are present.\n+\n+velocyto assumes that the gtf file follows the GENCODE gtf format description. However some mandatory field are relaxed to extend compatibility to a wider set of gtf files. In particular the gtf file will have to:\n+\n+    Contain the 3rd column entry feature-type. Note that only the exon entry of the gtf file marked as exon in this column will be considered and therefore the requirements below only apply to the ``exon`` labeled lines.\n+    Contain, in the 9th column, the key-value pair transcript_id, containing an unique identified for the transcript model.\n+    Contain, in the 9th column, the key-value pair transcript_name (Optional, if not present it will be set to the value of transcript_id)\n+    Contain, in the 9th column, the key-value pair gene_id, containing an unique identified for the gene.\n+    Contain, in the 9th column, the key-value pair gene_name (Optional, if not present it will be set to the value of gene_id)\n+    Contain, in the 9th column, the key-value pair exon_number (Recommended but optional, if not provided velocyto will sort exons in memory and number them)\n+\n+    ]]>\n+    </help>\n+    <expand macro="citations"/>\n+</tool>\n'