Package: ultra-bioinformatics
uLTRAuLTRA is a tool for splice alignment of long transcriptomic reads to a genome, guided by a database of exon annotations. uLTRA is particularly accurate when aligning to small exonssee some examples.uLTRA is distributed as a python package supported on Linux / OSX with python (versions 3.4 or above).Table of ContentsINSTALLATIONUSAGEIndexingaligningOutputParametersCREDITSLICENCEINSTALLATIONConda recipeThere is abioconda recipe,docker image, and asingularity containerof uLTRA v0.0.4 created bysguizard. You can use, e.g., the bioconda recipe for an easy automated installation.If a newer version of uLTRA is not available through bioconda (or you simply want more control of/customize your installation), alternative ways of installations are provided below. Current version of uLTRA is 0.1 (see changelog at end of this readme).Using the INSTALL.sh scriptYou can clone this repository and
run the scriptINSTALL.shasgit clone https://github.com/ksahlin/uLTRA.git --depth 1
cd uLTRA
./INSTALL.sh <install_directory>The install script is tested in bash environment.To run uLTRA, you need to activate the conda environment "ultra":conda activate ultraWithout the INSTALL.sh scriptYou can also manually perform below steps for more control.1. Create conda environmentCreate a conda environment called ultra and activate itconda create -n ultra python=3 pip 
conda activate ultra2. Install uLTRApip install ultra-bioinformatics3. Install third party toolsInstallnamfinderandminimap2and
place the generated binariesnamfinderandminimap2in your path.4. Verify installationYou should now have 'uLTRA' installed; try ituLTRA --helpUpon start/login to your server/computer you need to activate the conda environment "ultra" to run uLTRA as:conda activate ultraYou can also download and use test data available in this repositoryhereand run:uLTRA pipeline [/your/full/path/to/test]/SIRV_genes.fasta  \
               /your/full/path/to/test/SIRV_genes_C_170612a.gtf  \
               [/your/full/path/to/test]/reads.fa outfolder/  [optional parameters]Entirly from sourceMake sure the below-listed dependencies are installed (installation links below). All below dependencies exceptnamfindercan be installed aspip install Xor through conda.parasailedlibpysam(>= v0.11)dillintervaltreegffutilsnamfinderWith these dependencies installed. Rungitclonehttps://github.com/ksahlin/uLTRA.gitcduLTRA
./uLTRAUSAGEuLTRA can be used with either PacBio Iso-Seq or ONT cDNA/dRNA reads.IndexinguLTRA index genome.fasta  /full/path/to/annotation.gtf  outfolder/  [parameters]Important parameters:--disable_infercan speed up the indexing considerably, but it only works if you have thegene featureandtranscript featurein your GTF file.AligningFor exampleuLTRA align genome.fasta reads.[fa/fq] outfolder/  --ont --t 8   # ONT cDNA reads using 8 cores
uLTRA align genome.fasta reads.[fa/fq] outfolder/  --isoseq --t 8 # PacBio isoseq readsImportant parameters:--index [PATH]: You can set a custom location of where to get the index from using, otherwise, uLTRA will try to read the index from theoutfolder/by default.--prefix [PREFIX OF FILE]: The aligned reads will be written tooutfolder/reads.samunless--prefixis set. For example,--prefix sample_Xwill output the reads inoutfolder/sample_X.sam.PipelinePerform all the steps in oneuLTRA pipeline genome.fasta /full/path/to/annotation.gtf reads.fa outfolder/  [parameters]Common errorsNot having a properly formatted GTF file. Before running uLTRA, notice that it reqires aproperly formatted GTF file. If you have a GFF file or other annotation format, it is adviced to useAGATfor file conversion to GTF as many other conversion tools do not respect GTF format. For example, you can run AGAT as:agat_convert_sp_gff2gtf.pl --gff annot.gff3 --gtf annot.gtfCREDITSPlease citeKristoffer Sahlin, Veli Mäkinen, Accurate spliced alignment of long RNA sequencing reads, Bioinformatics, Volume 37, Issue 24, 15 December 2021, Pages 4643–4651,https://doi.org/10.1093/bioinformatics/btab540when using uLTRA.Please also citeminimap2as uLTRA incorporates minimap2 for alignment of some genomic reads outside indexed regions. For example "We aligned reads to the genome using uLTRA [1], which incorporates minimap2 [CIT].".LICENCEGPL v3.0, seeLICENSE.txt.