--- author: Sam White toc-title: Contents toc-depth: 5 toc-location: left layout: post title: Transcript Identification and Quantification - C.virginia RNAseq With NCBI Genome GCF_002022765.2 Using StringTie on Mox date: '2021-07-26 07:25' tags: - StringTie - mox - Crassostrea virginica - Eastern oyster - RNAseq - GCF_002022765.2 categories: - 2021 - Miscellaneous --- After having run [`HISAT2`](https://daehwankimlab.github.io/hisat2/) to index and identify exons and splice sites in the NCBI [_Crassostrea virginica_ (Eastern oyster)](https://en.wikipedia.org/wiki/Eastern_oyster) genome (GCF_002022765.2) on [20210720](https://robertslab.github.io/sams-notebook/posts/2021/2021-07-20-Genome-Annotations---Splice-Site-and-Exon-Extractions-for-C.virginica-GCF_002022765.2-Genome-Using-Hisat2-on-Mox/), the next step was to identify and quantify transcripts from the RNAseq data using [`StringTie`](https://ccb.jhu.edu/software/stringtie/). [`StringTie`](https://ccb.jhu.edu/software/stringtie/) was run on Mox and was configured to generate output files for donwstream analysis using the R BiocConductor package [`ballgown`](https://github.com/alyssafrazee/ballgown). Used `-B` option to output tables intended for use in [`ballgown`](https://github.com/alyssafrazee/ballgown) and the `-e` option; recommended when using `-B` option, which limits analysis to only reads alignments matching reference. These options should generate a file/directory structure that looks something like this: ``` extdata sample01 e2t.ctab e_data.ctab i2t.ctab i_data.ctab t_data.ctab sample02 e2t.ctab e_data.ctab i2t.ctab i_data.ctab t_data.ctab ... sample20 e2t.ctab e_data.ctab i2t.ctab i_data.ctab t_data.ctab ``` For more information on what those files are and how they are formatted, see the [`ballgown` documentation](https://github.com/alyssafrazee/ballgown). This analysis was run on Mox. SBATCH script (GitHub): - [20210726_cvir_stringtie_GCF_002022765.2_isoforms.sh](https://github.com/RobertsLab/sams-notebook/blob/master/sbatch_scripts/20210726_cvir_stringtie_GCF_002022765.2_isoforms.sh) ```shell #!/bin/bash ## Job Name #SBATCH --job-name=20210726_cvir_stringtie_GCF_002022765.2_isoforms ## Allocation Definition #SBATCH --account=srlab #SBATCH --partition=srlab ## Resources ## Nodes #SBATCH --nodes=1 ## Walltime (days-hours:minutes:seconds format) #SBATCH --time=5-00:00:00 ## Memory per node #SBATCH --mem=500G ##turn on e-mail notification #SBATCH --mail-type=ALL #SBATCH --mail-user=samwhite@uw.edu ## Specify the working directory for this job #SBATCH --chdir=/gscratch/scrubbed/samwhite/outputs/20210726_cvir_stringtie_GCF_002022765.2_isoforms ## Script using Stringtie with NCBI C.virginica genome assembly ## and HiSat2 index generated on 20210714. ## Expects FastQ input filenames to match _R1.fastq.gz ################################################################################### # These variables need to be set by user ## Assign Variables # Set number of CPUs to use threads=28 # Index name for Hisat2 use # Needs to match index naem used in previous Hisat2 indexing step genome_index_name="cvir_GCF_002022765.2" # Location of Hisat2 index files # Must keep variable name formatting, as it's used by HiSat2 HISAT2_INDEXES=$(pwd) export HISAT2_INDEXES # Paths to programs hisat2_dir="/gscratch/srlab/programs/hisat2-2.1.0" hisat2="${hisat2_dir}/hisat2" samtools="/gscratch/srlab/programs/samtools-1.10/samtools" stringtie="/gscratch/srlab/programs/stringtie-1.3.6.Linux_x86_64/stringtie" # Input/output files genome_index_dir="/gscratch/srlab/sam/data/C_virginica/genomes" genome_gff="${genome_index_dir}/GCF_002022765.2_C_virginica-3.0_genomic.gff" fastq_dir="/gscratch/srlab/sam/data/C_virginica/RNAseq/" gtf_list="gtf_list.txt" # Programs associative array declare -A programs_array programs_array=( [hisat2]="${hisat2}" \ [samtools_index]="${samtools} index" \ [samtools_sort]="${samtools} sort" \ [samtools_view]="${samtools} view" \ [stringtie]="${stringtie}" ) ################################################################################################### # Exit script if any command fails set -e # Load Python Mox module for Python module availability module load intel-python3_2017 ## Inititalize arrays fastq_array_R1=() fastq_array_R2=() names_array=() # Copy Hisat2 genome index files rsync -av "${genome_index_dir}"/${genome_index_name}*.ht2 . # Create array of fastq R1 files # and generated MD5 checksums file. for fastq in "${fastq_dir}"*R1*.gz do fastq_array_R1+=("${fastq}") echo "Generating checksum for ${fastq}..." md5sum "${fastq}" >> input_fastqs_checksums.md5 echo "Checksum for ${fastq} completed." echo "" done # Create array of fastq R2 files for fastq in "${fastq_dir}"*R2*.gz do fastq_array_R2+=("${fastq}") echo "Generating checksum for ${fastq}..." md5sum "${fastq}" >> input_fastqs_checksums.md5 echo "Checksum for ${fastq} completed." echo "" done # Create array of sample names ## Uses parameter substitution to strip leading path from filename ## Uses awk to parse out sample name from filename for R1_fastq in "${fastq_dir}"*R1*.gz do names_array+=("$(echo "${R1_fastq#${fastq_dir}}" | awk -F"_" '{print $1}')") done # Hisat2 alignments for index in "${!fastq_array_R1[@]}" do sample_name="${names_array[index]}" # Create and switch to dedicated sample directory mkdir "${sample_name}" && cd "$_" # Generate HiSat2 alignments "${programs_array[hisat2]}" \ -x "${genome_index_name}" \ -1 "${fastq_array_R1[index]}" \ -2 "${fastq_array_R2[index]}" \ -S "${sample_name}".sam \ 2> "${sample_name}"_hisat2.err # Sort SAM files, convert to BAM, and index ${programs_array[samtools_view]} \ -@ "${threads}" \ -Su "${sample_name}".sam \ | ${programs_array[samtools_sort]} - \ -@ "${threads}" \ -o "${sample_name}".sorted.bam ${programs_array[samtools_index]} "${sample_name}".sorted.bam # Run stringtie on alignments # Uses "-B" option to output tables intended for use in Ballgown # Uses "-e" option; recommended when using "-B" option. # Limits analysis to only reads alignments matching reference. "${programs_array[stringtie]}" "${sample_name}".sorted.bam \ -p "${threads}" \ -o "${sample_name}".gtf \ -G "${genome_gff}" \ -C "${sample_name}.cov_refs.gtf" \ -B \ -e # Add GTFs to list file, only if non-empty # Identifies GTF files that only have header gtf_lines=$(wc -l < "${sample_name}".gtf ) if [ "${gtf_lines}" -gt 2 ]; then echo "$(pwd)/${sample_name}.gtf" >> ../"${gtf_list}" fi # Delete unneded SAM files rm ./*.sam # Generate checksums for file in * do md5sum "${file}" >> ${sample_name}_checksums.md5 done cd .. # Create singular transcript file, using GTF list file "${programs_array[stringtie]}" --merge \ "${gtf_list}" \ -p "${threads}" \ -G "${genome_gff}" \ -o "${genome_index_name}".stringtie.gtf done # Delete unneccessary index files rm "${genome_index_name}"*.ht2 ####################################################################################################### # Capture program options if [[ "${#programs_array[@]}" -gt 0 ]]; then echo "Logging program options..." for program in "${!programs_array[@]}" do { echo "Program options for ${program}: " echo "" # Handle samtools help menus if [[ "${program}" == "samtools_index" ]] \ || [[ "${program}" == "samtools_sort" ]] \ || [[ "${program}" == "samtools_view" ]] then ${programs_array[$program]} # Handle DIAMOND BLAST menu elif [[ "${program}" == "diamond" ]]; then ${programs_array[$program]} help # Handle NCBI BLASTx menu elif [[ "${program}" == "blastx" ]]; then ${programs_array[$program]} -help fi ${programs_array[$program]} -h echo "" echo "" echo "----------------------------------------------" echo "" echo "" } &>> program_options.log || true # If MultiQC is in programs_array, copy the config file to this directory. if [[ "${program}" == "multiqc" ]]; then cp --preserve ~/.multiqc_config.yaml multiqc_config.yaml fi done fi # Document programs in PATH (primarily for program version ID) { date echo "" echo "System PATH for $SLURM_JOB_ID" echo "" printf "%0.s-" {1..10} echo "${PATH}" | tr : \\n } >> system_path.log ``` --- # RESULTS Runtime was a little over 2.5 days: ![StringTie runtime on Mox](https://github.com/RobertsLab/sams-notebook/blob/master/images/screencaps/20210726_cvir_stringtie_GCF_002022765.2_isoforms_runtime.png?raw=true) Output folder: - [20210726_cvir_stringtie_GCF_002022765.2_isoforms/](https://gannet.fish.washington.edu/Atumefaciens/20210726_cvir_stringtie_GCF_002022765.2_isoforms/) - List of input FastQs and checksums (text): - [20210726_cvir_stringtie_GCF_002022765.2_isoforms/input_fastqs_checksums.md5](https://gannet.fish.washington.edu/Atumefaciens/20210726_cvir_stringtie_GCF_002022765.2_isoforms/input_fastqs_checksums.md5) - Full GTF file (GTF; 143MB): - [20210726_cvir_stringtie_GCF_002022765.2_isoforms/cvir_GCF_002022765.2.stringtie.gtf](https://gannet.fish.washington.edu/Atumefaciens/20210726_cvir_stringtie_GCF_002022765.2_isoforms/cvir_GCF_002022765.2.stringtie.gtf) Since there are a large number of folders/files, the resulting directory structure for all of the [`StringTie`](https://ccb.jhu.edu/software/stringtie/) output is shown at the end of this post. Here's a description of all the file types found in each directory: - `*.ctab`: See [`ballgown` documentation](https://github.com/alyssafrazee/ballgown) for description of these. - `*.checksums.md5`: MD5 checksums for all files in each directory. - `*.cov_refs.gtf`: Coverage GTF generate by [`StringTie`](https://ccb.jhu.edu/software/stringtie/) and used to generate final GTF for each sample. - `*.gtf`: Final GTF file produced by [`StringTie`](https://ccb.jhu.edu/software/stringtie/) for each sample. - `*_hisat2.err`: Standard error output from [`HISAT2`](https://daehwankimlab.github.io/hisat2/). Contains alignment info. - `*.sorted.bam`: Sorted BAM alignments file produced by [`HISAT2`](https://daehwankimlab.github.io/hisat2/). - `*.sorted.bam.bai`: BAM index file. I noticed something when glancing at the data. Alignment rates are consistently low/lower in males, compared to the females. Not sure of what this means, but figured I'd share it. Here's a table. The letter `M` or `F` in the sample name column indicates sex. | Sample | Overall Alignment Rate | |--------|------------------------| | S23M | 16.51% | | S48M | 19.93% | | S13M | 20.66% | | S6M | 22.04% | | S9M | 24.54% | | S12M | 26.33% | | S7M | 28.05% | | S59M | 38.13% | | S31M | 38.90% | | S54F | 39.25% | | S29F | 39.57% | | S52F | 41.24% | | S53F | 41.60% | | S64M | 42.08% | | S41F | 43.26% | | S35F | 43.95% | | S36F | 44.49% | | S22F | 45.04% | | S39F | 45.80% | | S44F | 45.89% | | S19F | 46.90% | | S76F | 47.24% | | S50F | 47.80% | | S3F | 48.89% | | S16F | 50.29% | | S77F | 50.31% | Next up is to get this loaded into [`ballgown`](https://github.com/alyssafrazee/ballgown) and see how things fall out! ```shell ├── [6.1K] 20210726_cvir_stringtie_GCF_002022765.2_isoforms.sh ├── [143M] cvir_GCF_002022765.2.stringtie.gtf ├── [2.5K] gtf_list.txt ├── [4.8K] input_fastqs_checksums.md5 ├── [ 12K] program_options.log ├── [4.7G] S12M │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S12M_checksums.md5 │   ├── [1.3M] S12M.cov_refs.gtf │   ├── [136M] S12M.gtf │   ├── [ 638] S12M_hisat2.err │   ├── [4.5G] S12M.sorted.bam │   ├── [1.3M] S12M.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.8G] S13M │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S13M_checksums.md5 │   ├── [637K] S13M.cov_refs.gtf │   ├── [136M] S13M.gtf │   ├── [ 637] S13M_hisat2.err │   ├── [3.6G] S13M.sorted.bam │   ├── [861K] S13M.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.2G] S16F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S16F_checksums.md5 │   ├── [ 15M] S16F.cov_refs.gtf │   ├── [136M] S16F.gtf │   ├── [ 638] S16F_hisat2.err │   ├── [3.0G] S16F.sorted.bam │   ├── [1.1M] S16F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.2G] S19F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S19F_checksums.md5 │   ├── [ 12M] S19F.cov_refs.gtf │   ├── [136M] S19F.gtf │   ├── [ 638] S19F_hisat2.err │   ├── [3.0G] S19F.sorted.bam │   ├── [1.1M] S19F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.7G] S22F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S22F_checksums.md5 │   ├── [ 13M] S22F.cov_refs.gtf │   ├── [136M] S22F.gtf │   ├── [ 638] S22F_hisat2.err │   ├── [3.5G] S22F.sorted.bam │   ├── [1.2M] S22F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [5.3G] S23M │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S23M_checksums.md5 │   ├── [1.1M] S23M.cov_refs.gtf │   ├── [136M] S23M.gtf │   ├── [ 637] S23M_hisat2.err │   ├── [5.1G] S23M.sorted.bam │   ├── [1004K] S23M.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.2G] S29F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S29F_checksums.md5 │   ├── [ 12M] S29F.cov_refs.gtf │   ├── [137M] S29F.gtf │   ├── [ 637] S29F_hisat2.err │   ├── [3.0G] S29F.sorted.bam │   ├── [1.0M] S29F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.2G] S31M │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S31M_checksums.md5 │   ├── [571K] S31M.cov_refs.gtf │   ├── [136M] S31M.gtf │   ├── [ 638] S31M_hisat2.err │   ├── [3.0G] S31M.sorted.bam │   ├── [1.1M] S31M.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [2.7G] S35F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S35F_checksums.md5 │   ├── [ 11M] S35F.cov_refs.gtf │   ├── [136M] S35F.gtf │   ├── [ 637] S35F_hisat2.err │   ├── [2.5G] S35F.sorted.bam │   ├── [952K] S35F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [2.9G] S36F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S36F_checksums.md5 │   ├── [ 11M] S36F.cov_refs.gtf │   ├── [136M] S36F.gtf │   ├── [ 638] S36F_hisat2.err │   ├── [2.7G] S36F.sorted.bam │   ├── [1.0M] S36F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.3G] S39F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S39F_checksums.md5 │   ├── [ 12M] S39F.cov_refs.gtf │   ├── [136M] S39F.gtf │   ├── [ 638] S39F_hisat2.err │   ├── [3.0G] S39F.sorted.bam │   ├── [1.1M] S39F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [2.9G] S3F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 468] S3F_checksums.md5 │   ├── [ 13M] S3F.cov_refs.gtf │   ├── [136M] S3F.gtf │   ├── [ 637] S3F_hisat2.err │   ├── [2.7G] S3F.sorted.bam │   ├── [1022K] S3F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.1G] S41F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S41F_checksums.md5 │   ├── [ 13M] S41F.cov_refs.gtf │   ├── [137M] S41F.gtf │   ├── [ 638] S41F_hisat2.err │   ├── [2.9G] S41F.sorted.bam │   ├── [1.0M] S41F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.4G] S44F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S44F_checksums.md5 │   ├── [ 14M] S44F.cov_refs.gtf │   ├── [137M] S44F.gtf │   ├── [ 638] S44F_hisat2.err │   ├── [3.2G] S44F.sorted.bam │   ├── [1.1M] S44F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [8.3G] S48M │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S48M_checksums.md5 │   ├── [1.1M] S48M.cov_refs.gtf │   ├── [136M] S48M.gtf │   ├── [ 640] S48M_hisat2.err │   ├── [8.1G] S48M.sorted.bam │   ├── [1.9M] S48M.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [2.7G] S50F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S50F_checksums.md5 │   ├── [ 13M] S50F.cov_refs.gtf │   ├── [136M] S50F.gtf │   ├── [ 637] S50F_hisat2.err │   ├── [2.5G] S50F.sorted.bam │   ├── [980K] S50F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.3G] S52F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S52F_checksums.md5 │   ├── [ 16M] S52F.cov_refs.gtf │   ├── [137M] S52F.gtf │   ├── [ 638] S52F_hisat2.err │   ├── [3.1G] S52F.sorted.bam │   ├── [1.1M] S52F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.1G] S53F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S53F_checksums.md5 │   ├── [ 12M] S53F.cov_refs.gtf │   ├── [136M] S53F.gtf │   ├── [ 637] S53F_hisat2.err │   ├── [2.9G] S53F.sorted.bam │   ├── [996K] S53F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.2G] S54F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S54F_checksums.md5 │   ├── [ 12M] S54F.cov_refs.gtf │   ├── [136M] S54F.gtf │   ├── [ 637] S54F_hisat2.err │   ├── [3.0G] S54F.sorted.bam │   ├── [1023K] S54F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.1G] S59M │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S59M_checksums.md5 │   ├── [8.8M] S59M.cov_refs.gtf │   ├── [136M] S59M.gtf │   ├── [ 637] S59M_hisat2.err │   ├── [2.9G] S59M.sorted.bam │   ├── [934K] S59M.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.6G] S64M │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S64M_checksums.md5 │   ├── [7.2M] S64M.cov_refs.gtf │   ├── [136M] S64M.gtf │   ├── [ 638] S64M_hisat2.err │   ├── [3.4G] S64M.sorted.bam │   ├── [1.4M] S64M.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [5.5G] S6M │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 468] S6M_checksums.md5 │   ├── [1.0M] S6M.cov_refs.gtf │   ├── [136M] S6M.gtf │   ├── [ 638] S6M_hisat2.err │   ├── [5.3G] S6M.sorted.bam │   ├── [1.3M] S6M.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.4G] S76F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S76F_checksums.md5 │   ├── [ 12M] S76F.cov_refs.gtf │   ├── [136M] S76F.gtf │   ├── [ 638] S76F_hisat2.err │   ├── [3.2G] S76F.sorted.bam │   ├── [1.1M] S76F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [3.6G] S77F │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 473] S77F_checksums.md5 │   ├── [ 14M] S77F.cov_refs.gtf │   ├── [136M] S77F.gtf │   ├── [ 639] S77F_hisat2.err │   ├── [3.4G] S77F.sorted.bam │   ├── [1.2M] S77F.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [4.1G] S7M │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 468] S7M_checksums.md5 │   ├── [1.4M] S7M.cov_refs.gtf │   ├── [136M] S7M.gtf │   ├── [ 638] S7M_hisat2.err │   ├── [3.9G] S7M.sorted.bam │   ├── [1.2M] S7M.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [5.1G] S9M │   ├── [8.7M] e2t.ctab │   ├── [ 26M] e_data.ctab │   ├── [7.8M] i2t.ctab │   ├── [ 14M] i_data.ctab │   ├── [ 468] S9M_checksums.md5 │   ├── [992K] S9M.cov_refs.gtf │   ├── [136M] S9M.gtf │   ├── [ 638] S9M_hisat2.err │   ├── [4.9G] S9M.sorted.bam │   ├── [1.3M] S9M.sorted.bam.bai │   └── [7.3M] t_data.ctab ├── [ 11K] slurm-2112475.out └── [ 996] system_path.log ```