Package: truster
trusTEr - A trusting TE cluster analysisWARNING : This is a website under development. You probably are in the wrong place!Version 0.1Takes fastq files from 10x single cell RNA sequencing, clusters cells using Seurat, and can be used to produce
read count matrices in a cluster level. You can also quantify reads per cluster having predefined clusters.RequirementsTrusTEr depends on several external software. We provide a Docker container and a conda environment for a quick-start.TrusTEr requires:CellrangerR (version 3.6)SeuratTEtranscriptsSTAR alignersubset-bam and bamtofastq from 10x GenomicsVelocytoThe package has been tested in Unix systems only and supports only SLURM job submissions.How to installJust the modulesIf you fulfill the requirements, you can install via pip:pip install trusterWith Docker containerWith conda environmentIntroductionAs single cell technologies haven't developed to the point where we can get the needed sequencing depth to study transposable elements expression, trusTEr seeks produce more reliable results by combining reads from closely related cells to gain information on a cell type level.StructuretrusTEr uses composition assiciation to relate three main classes:Experiment: Includes information about the experiment as a whole. This is the main object you will be working with.Name is required, description is optional.Register samples by providing a path to its fastq files.Sample: Created by giving a path to fastq filesName and ID required.Cluster: Created by runninggetClusters()ormergeSamples()functions (OrsetClustersOutdir()orsetMergeSamplesOutdir()).Functionality and workflowThis package is meant to be run with the following workflow:Depending on the object type, you have access to different functions to go through these steps.Experimentis the main object one would work with. Here you willregisterSample()orregisterSamplesFromPath().An object of typeSamplehas access to step 7 and some handy wrappers to usecellRanger, perform clustering with Seurat and run and plot RNA velocity. These functions can be called for all registered samples from your object of typeExperiment(Seequantify(),getClustersAllSamples(),velocityAllSamples(),plotVelocityAllSamples()).The need for the classExperimentis clearer once the user wants to merge samples (SeemergeSamples()) or to run the same workflow for all the samples' clusters.The user won't work directly with an object of typeCluster, but this class includes all the functions needed to go through steps 1-6 of the workflow. Instead of running this pipeline individually for each cluster, one can run the workflow for each cluster of each registered sample using theExperimentfunctionprocessClusters(mode = "perSample", ...).One can also partition the workflow and run step by step in all registered samples or in a combined clustering using the transitioning functions ofExperimentto call the needed functions in the classCluster(SeetsvToBamClusters(),filterUMIsClusters(),bamToFastqClusters(),concatenateLanesClusters(),mergeClusters(),mapClusters(),TEcountsClusters(),normalizeTECounts()).You can read the functions documentation and tutorials athttps://ra7555ga-s.github.io/truster/