### Setup Plotting Script Source: https://isoseq.how/umi/cell-calling.html Downloads the plotting utility and installs necessary Python dependencies. ```bash # Download plotting script $ wget https://downloads.pacbcloud.com/public/dataset/MAS-Seq/PLOT-scripts/plot_knees.py # Install dependencies for plot_knees.py $ conda install numpy $ conda install matplotlib # See help for plotting $ python3 plot_knees.py --help usage: plot_knees.py [-h] --tsv TSV --output OUTPUT [--max_cells MAX_CELLS] [--estimate_percentile ESTIMATE_PERCENTILE] options: -h, --help show this help message and exit --tsv TSV, -t TSV Output tsv file from bcstats (can be gzipped) --output OUTPUT, -o OUTPUT Output png prefix (`.knee.png` gets added) --max_cells MAX_CELLS, -m MAX_CELLS Force an x axis maximum instead of the mpl default --estimate_percentile ESTIMATE_PERCENTILE, -e ESTIMATE_PERCENTILE Calculates 99th through Nth (inclusive) percentiles for real cell cutoff [None] ``` -------------------------------- ### Lima output file naming examples Source: https://isoseq.how/clustering/cli-workflow.html Examples of output file naming conventions based on primer pairs. ```text movieX.fl.NEB_5p--NEB_Clontech_3p.bam ``` ```text movieX.fl.primer_5p--brain_3p.bam movieX.fl.primer_5p--liver_3p.bam ``` -------------------------------- ### Abundance file format Source: https://isoseq.how/classification/isoseq-collapse Example content of the *.abundance.txt output file. ```text pbid count_fl fl_assoc cell_barcodes PB.1.1 2 2 ATCCATTCACCTCTGT,ATCGGCGCAGAGATGC PB.2.1 1 1 CGGACACCATTGCCGG PB.3.1 1 1 ACTTCGCGTCTAACTG ``` -------------------------------- ### Group file format Source: https://isoseq.how/classification/isoseq-collapse Example content of the *.group.txt output file. ```text PB.1.1 molecule/7343975,molecule/7738347 PB.2.1 molecule/14601188 PB.3.1 molecule/3998518 ``` -------------------------------- ### Filtered Reasons File Example Source: https://isoseq.how/classification/pigeon-output.html Example content of a filtered reasons file showing isoform IDs and their corresponding filter criteria. ```text # classification: sample_classification.txt # isoform: ???????? # intrapriming cutoff: 0.6 # min_cov cutoff: 3 filtered_isoform,filter PB.1.1,IntraPriming PB.1.6,LowCoverage/Non-Canonical PB.1.7,IntraPriming PB.5.1,LowCoverage/Non-Canonical PB.6.1,LowCoverage/Non-Canonical ``` -------------------------------- ### Output file naming convention Source: https://isoseq.how/umi/cli-workflow.html Example of the output file naming structure for single sample libraries. ```text .fl.5p--3p.bam ``` -------------------------------- ### Primer FASTA examples Source: https://isoseq.how/clustering/cli-workflow.html Examples of primer FASTA file formats for different Iso-Seq applications, including MAS-Seq and standard cDNA primers. ```text >IsoSeqX_bc01_5p CTACACGACGCTCTTCCGATCTACTACACGCAATGAAGTCGCAGGGTTGGG >IsoSeqX_bc02_5p CTACACGACGCTCTTCCGATCTACTAGTAGCAATGAAGTCGCAGGGTTGGG >IsoSeqX_bc03_5p CTACACGACGCTCTTCCGATCTAGTGTACGCAATGAAGTCGCAGGGTTGGG >IsoSeqX_bc04_5p CTACACGACGCTCTTCCGATCTATCACTAGCAATGAAGTCGCAGGGTTGGG >IsoSeqX_bc05_5p CTACACGACGCTCTTCCGATCTCAGCTGTGCAATGAAGTCGCAGGGTTGGG >IsoSeqX_bc06_5p CTACACGACGCTCTTCCGATCTCAGTCACGCAATGAAGTCGCAGGGTTGGG >IsoSeqX_bc07_5p CTACACGACGCTCTTCCGATCTCATGTATGCAATGAAGTCGCAGGGTTGGG >IsoSeqX_bc08_5p CTACACGACGCTCTTCCGATCTCGTATGTGCAATGAAGTCGCAGGGTTGGG >IsoSeqX_bc09_5p CTACACGACGCTCTTCCGATCTGACATGTGCAATGAAGTCGCAGGGTTGGG >IsoSeqX_bc10_5p CTACACGACGCTCTTCCGATCTGAGTCTAGCAATGAAGTCGCAGGGTTGGG >IsoSeqX_bc11_5p CTACACGACGCTCTTCCGATCTGTAGATAGCAATGAAGTCGCAGGGTTGGG >IsoSeqX_bc12_5p CTACACGACGCTCTTCCGATCTGTATGACGCAATGAAGTCGCAGGGTTGGG IsoSeqX_3p AAGCAGTGGTATCAACGCAGAGTAC ``` ```text >NEB_5p GCAATGAAGTCGCAGGGTTGGG >Clontech_5p AAGCAGTGGTATCAACGCAGAGTACATGGGG >NEB_Clontech_3p GTACTCTGCGTTGATACCACTGCTT ``` ```text >primer_5p AAGCAGTGGTATCAACGCAGAGTACATGGGG >brain_3p CGCACTCTGATATGTGGTACTCTGCGTTGATACCACTGCTT >liver_3p CTCACAGTCTGTGTGTGTACTCTGCGTTGATACCACTGCTT ``` -------------------------------- ### Configure Cell Calling Method Source: https://isoseq.how/umi/cell-calling.html Examples of using the percentile method for cell calling with default and custom percentile cutoffs. ```bash isoseq correct --method percentile ... isoseq bcstats --method percentile ... ``` ```bash isoseq correct --method percentile --percentile 97 ... isoseq bcstats --method percentile --percentile 97 ... ``` -------------------------------- ### Install lima Source: https://isoseq.how/clustering/cli-workflow.html Installs the lima tool via bioconda. ```bash conda install lima ``` -------------------------------- ### FLNC count file format Source: https://isoseq.how/classification/isoseq-collapse Example content of the *.flnc_count.txt output file. ```text id BioSample1 BioSample2 PB.1.1 2 2 PB.2.1 1 2 PB.3.1 1 1 ``` -------------------------------- ### Read statistics file format Source: https://isoseq.how/classification/isoseq-collapse Example content of the *.read_stat.txt output file. ```text id pbid m64012_220421_000242/120719489/ccs/10460_11196 PB.1.1 m64012_220421_000242/17565024/ccs/13918_14203 PB.1.1 m64012_220421_000242/161089449/ccs/1955_2888 PB.2.1 m64012_220421_000242/158664505/ccs/2488_2901 PB.3.1 ``` -------------------------------- ### Specify UMI and Barcode Design Strings Source: https://isoseq.how/umi/umi-barcode-design.html Examples of design strings for various UMI and barcode configurations using the isoseq tag syntax. ```text T-8U-12B ``` ```text T-10U-16B ``` ```text 8G-T ``` ```text 6U-T-13U ``` -------------------------------- ### Info CSV File Format Source: https://isoseq.how/classification/pigeon-output.html Example content of the info.csv file containing molecule metadata. ```csv id UMI UMIrev BC BCrev length count molecule/0 CCGCTCTCCT AGGAGAGCGG AAACCTGAGACATAAC GTTATGTCTCAGGTTT 3718 1 ``` -------------------------------- ### Pigeon-compatible annotation format Source: https://isoseq.how/classification/pigeon-annotation Example of a manually modified annotation file structure required for Pigeon compatibility. ```text Pf3D7_13_v3 VEuPathDB gene 21364 28787 . + . gene_id "PF3D7_1300100"; transcript_id "PF3D7_1300100.1"; gene_name " PF3D7_1300100"; transcript_name "PF3D7_1300100.1"; biotype "test"; Pf3D7_13_v3 VEuPathDB transcript 21364 28787 . + . gene_id "PF3D7_1300100"; transcript_id "PF3D7_1300100.1"; gen e_name "PF3D7_1300100"; transcript_name "PF3D7_1300100.1"; biotype "test"; Pf3D7_13_v3 VEuPathDB exon 21364 26538 . + . gene_id "PF3D7_1300100"; transcript_id "PF3D7_1300100.1"; gene_name " PF3D7_1300100"; transcript_name "PF3D7_1300100.1"; biotype "test"; Pf3D7_13_v3 VEuPathDB exon 27474 28787 . + . gene_id "PF3D7_1300100"; transcript_id "PF3D7_1300100.1"; gene_name " PF3D7_1300100"; transcript_name "PF3D7_1300100.1"; biotype "test"; Pf3D7_13_v3 VEuPathDB CDS 21364 26538 . + 0 Parent=PF3D7_1300100.1 Pf3D7_13_v3 VEuPathDB CDS 27474 28787 . + 0 Parent=PF3D7_1300100.1 Pf3D7_13_v3 VEuPathDB gene 30605 31881 . - . gene_id "PF3D7_1300200"; transcript_id "PF3D7_1300200.1"; gene_name " PF3D7_1300200"; transcript_name "PF3D7_1300200.1"; biotype "test"; Pf3D7_13_v3 VEuPathDB transcript 30605 31881 . - . gene_id "PF3D7_1300200"; transcript_id "PF3D7_1300200.1"; gen e_name "PF3D7_1300200"; transcript_name "PF3D7_1300200.1"; biotype "test"; Pf3D7_13_v3 VEuPathDB exon 30605 31597 . - . gene_id "PF3D7_1300200"; transcript_id "PF3D7_1300200.1"; gene_name " PF3D7_1300200"; transcript_name "PF3D7_1300200.1"; biotype "test"; Pf3D7_13_v3 VEuPathDB exon 31828 31881 . - . gene_id "PF3D7_1300200"; transcript_id "PF3D7_1300200.1"; gene_name " PF3D7_1300200"; transcript_name "PF3D7_1300200.1"; biotype "test"; Pf3D7_13_v3 VEuPathDB CDS 30605 31597 . - 0 Parent=PF3D7_1300200.1 Pf3D7_13_v3 VEuPathDB CDS 31828 31881 . - 0 Parent=PF3D7_1300200.1 ``` -------------------------------- ### GTF record hierarchy example Source: https://isoseq.how/classification/pigeon-annotation Visual representation of the required hierarchical organization for gene, transcript, and exon records. ```text gene transcript_1 exon_1_1 exon_1_2 transcript_2 exon_2_1 exon_2_2 ``` -------------------------------- ### CellTypist classification results Source: https://isoseq.how/umi/tertiary-analysis Example output table showing cell type counts generated by CellTypist. ```text CD16+ NK cells 168 Classical monocytes 721 DC2 38 HSC/MPP 15 Memory B cells 71 NK cells 68 Naive B cells 145 Non-classical monocytes 250 Tcm/Naive cytotoxic T cells 98 Tcm/Naive helper T cells 1504 Tem/Effector helper T cells 356 Tem/Temra cytotoxic T cells 279 Tem/Trm cytotoxic T cells 227 pDC 26 ``` -------------------------------- ### Annotated Info CSV File Format Source: https://isoseq.how/classification/pigeon-output.html Example content of the annotated.info.csv file including classification and filter status. ```csv id pbid length transcript gene category ontarget ORFgroup UMI UMIrev BC BCrev pass_pigeon_filter molecule/1856656 PB.10002.69 1201 ENST00000263918.9 STRN incomplete-splice_match NA NA GCATTACTGT ACAGTAATGC ACCGTAAAGAAGATTC GAATCTTCTTTACGGT PASS ``` -------------------------------- ### Replicate legacy collapse logic Source: https://isoseq.how/classification/isoseq-collapse Command to run the collapse tool using parameters that mimic the behavior of versions prior to v3.8.0. ```bash isoseq collapse --do-not-collapse-extra-5exons --max-5p-diff 5 --max-3p-diff 5 ``` -------------------------------- ### Configure collapse junction parameters Source: https://isoseq.how/classification/isoseq-collapse Displays the available command-line parameters for adjusting fuzzy junctions and 5p/3p differences in isoseq3 v4.0.0. ```bash --max-fuzzy-junction INT Ignore mismatches or indels shorter than or equal to N. [5] --max-5p-diff INT Maximum allowed 5' difference if on same exon. [50] --max-3p-diff INT Maximum allowed 3' difference if on same exon. [100] ``` -------------------------------- ### Cluster isoforms with legacy cluster Source: https://isoseq.how/clustering/cli-workflow.html Runs the legacy clustering tool with verbose output and QV-guided consensus. ```bash $ isoseq cluster flnc.fofn clustered.bam --verbose --use-qvs ``` -------------------------------- ### End-to-end Iso-Seq command-line workflow Source: https://isoseq.how/umi/examples.html A complete sequence of commands to process HiFi reads, from downloading input files to generating deduplicated output. ```bash # Download HiFi reads $ wget https://downloads.pacbcloud.com/public/dataset/Kinnex-single-cell-RNA/TUTORIAL-DATA-PBMC-single-cell-mini/ccs.bam $ wget https://downloads.pacbcloud.com/public/dataset/Kinnex-single-cell-RNA/TUTORIAL-DATA-PBMC-single-cell-mini/ccs.bam.pbi # Download cDNA primers $ wget https://downloads.pacbcloud.com/public/dataset/Kinnex-single-cell-RNA/TUTORIAL-DATA-PBMC-single-cell-mini/primers.fasta # Download cell barcode include list $ wget https://downloads.pacbcloud.com/public/dataset/Kinnex-single-cell-RNA/REF-10x_barcodes/3M-february-2018-REVERSE-COMPLEMENTED.txt.gz # Check lima version to be >= 2.6.0 $ lima --version lima 2.6.0 # Check isoseq version to be >= 4.0.0 $ isoseq --version isoseq 4.0.0 # cDNA primer removal and read orientation $ lima --per-read --isoseq ccs.bam primers.fasta output.bam # Clip UMI and cell barcode $ isoseq tag output.5p--3p.bam flt.bam --design T-12U-16B # Remove poly(A) tails and concatemer $ isoseq refine flt.bam primers.fasta fltnc.bam --require-polya # Correct single cell barcodes based on an include list $ isoseq correct -B 3M-february-2018-REVERSE-COMPLEMENTED.txt.gz fltnc.bam corrected.bam # Deduplicate reads based on UMIs $ samtools sort -t CB corrected.bam -o corrected.sorted.bam $ isoseq groupdedup corrected.sorted.bam dedup.bam ``` -------------------------------- ### Run isoseq bcstats with percentile method Source: https://isoseq.how/umi/isoseq-bcstats.html Ensures consistency by using the same percentile parameters as the preceding isoseq correct command. ```bash isoseq correct --method percentile --percentile 90 ... isoseq bcstats --method percentile --percentile 90 ``` -------------------------------- ### Prepare data and directory for CellTypist Source: https://isoseq.how/umi/tertiary-analysis Prepares the gene names file and creates a directory to store CellTypist output. ```bash cut -f2 genes.tsv > genes_names.tsv # Create a directory for celltypist result mkdir celltypist_results ``` -------------------------------- ### Prepare reference files with pigeon Source: https://isoseq.how/classification/workflow Sorts and indexes reference files. Can accept individual files or a file of file names (fofn). ```bash pigeon prepare ``` ```bash pigeon prepare files.fofn ``` -------------------------------- ### 10x 5' kit primer sequences Source: https://isoseq.how/umi/cli-workflow.html FASTA format primer sequences for the 10x 5' kit. ```fasta >5p CTACACGACGCTCTTCCGATCT >3p GTACTCTGCGTTGATACCACTGCTT ``` -------------------------------- ### SIRV Control GTF Annotation Source: https://isoseq.how/classification/pigeon-annotation Example of a GTF file format for SIRV control data. Ensure the gene and transcript IDs match your specific experimental requirements. ```GTF SIRV1 LexogenSIRVData gene 1001 11643 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; SIRV1 LexogenSIRVData transcript 1001 10786 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV101"; SIRV1 LexogenSIRVData exon 1001 1484 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV101"; exon_assignment "SIRV101_0"; SIRV1 LexogenSIRVData exon 6338 6473 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV101"; exon_assignment "SIRV101_1"; SIRV1 LexogenSIRVData exon 6561 6813 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV101"; exon_assignment "SIRV101_2"; SIRV1 LexogenSIRVData exon 7553 7814 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV101"; exon_assignment "SIRV101_3"; SIRV1 LexogenSIRVData exon 10283 10366 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV101"; exon_assignment "SIRV101_4"; SIRV1 LexogenSIRVData exon 10445 10786 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV101"; exon_assignment "SIRV101_5"; SIRV1 LexogenSIRVData transcript 1007 10366 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV102"; SIRV1 LexogenSIRVData exon 1007 1484 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV102"; exon_assignment "SIRV102_0"; SIRV1 LexogenSIRVData exon 6338 6813 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV102"; exon_assignment "SIRV102_1"; SIRV1 LexogenSIRVData exon 7553 7814 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV102"; exon_assignment "SIRV102_2"; SIRV1 LexogenSIRVData exon 10283 10366 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV102"; exon_assignment "SIRV102_3"; SIRV1 LexogenSIRVData transcript 1001 10791 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV103"; SIRV1 LexogenSIRVData exon 1001 1484 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV103"; exon_assignment "SIRV103_0"; SIRV1 LexogenSIRVData exon 6338 6473 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV103"; exon_assignment "SIRV103_1"; SIRV1 LexogenSIRVData exon 6561 6813 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV103"; exon_assignment "SIRV103_2"; SIRV1 LexogenSIRVData exon 7553 7814 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV103"; exon_assignment "SIRV103_3"; SIRV1 LexogenSIRVData exon 10283 10366 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV103"; exon_assignment "SIRV103_4"; SIRV1 LexogenSIRVData exon 10648 10791 . - 0 gene_name "SIRV1"; gene_id "SIRV1"; transcript_id "SIRV103"; exon_assignment "SIRV103_5"; ``` -------------------------------- ### Run isoseq correct Source: https://isoseq.how/umi/isoseq-correct.html Execute the barcode correction tool on a BAM file using a provided whitelist file. ```bash isoseq correct --barcodes barcodes.txt[.gz] input.bam output.bam ``` -------------------------------- ### 10x 3' kit primer sequences Source: https://isoseq.how/umi/cli-workflow.html FASTA format primer sequences for the 10x 3' kit. ```fasta >5p AAGCAGTGGTATCAACGCAGAGTACATGGG >3p AGATCGGAAGAGCGTCGTGTAG ``` -------------------------------- ### Gencode annotation reference Source: https://isoseq.how/classification/pigeon-annotation A sample snippet of a Gencode annotation file demonstrating the expected tab-delimited structure and attribute formatting. ```text chr1 ENSEMBL gene 17369 17436 . - . gene_id "ENSG00000278267.1"; gene_type "miRNA"; gene_status "KNOWN"; gene_name "MIR68 59-1"; level 3; chr1 ENSEMBL transcript 17369 17436 . - . gene_id "ENSG00000278267.1"; transcript_id "ENST00000619216.1"; gene_type "mi RNA"; gene_status "KNOWN"; gene_name "MIR6859-1"; transcript_type "miRNA"; transcript_status "KNOWN"; transcript_name "MIR6859-1-201"; level 3; tag " basic"; transcript_support_level "NA"; chr1 ENSEMBL exon 17369 17436 . - . gene_id "ENSG00000278267.1"; transcript_id "ENST00000619216.1"; gene_type "miRNA"; ge ne_status "KNOWN"; gene_name "MIR6859-1"; transcript_type "miRNA"; transcript_status "KNOWN"; transcript_name "MIR6859-1-201"; exon_number 1; exon_id "ENSE00003746039.1"; level 3; tag "basic"; transcript_support_level "NA"; chr1 HAVANA gene 29554 31109 . + . gene_id "ENSG00000243485.3"; gene_type "lincRNA"; gene_status "KNOWN"; gene_name "RP1 1-34P13.3"; level 2; tag "ncRNA_host"; havana_gene "OTTHUMG00000000959.2"; chr1 HAVANA transcript 29554 31097 . + . gene_id "ENSG00000243485.3"; transcript_id "ENST00000473358.1"; gene_type "li ncRNA"; gene_status "KNOWN"; gene_name "RP11-34P13.3-001"; transcript_type "lincRNA"; transcript_status "KNOWN"; transcript_name "RP11-34P13.3-001"; leve l 2; tag "not_best_in_genome_evidence"; tag "basic"; transcript_support_level "5"; havana_gene "OTTHUMG00000000959.2"; havana_transcript "OTTHUMT0000 0002840.1"; chr1 HAVANA exon 29554 30039 . + . gene_id "ENSG00000243485.3"; transcript_id "ENST00000473358.1"; gene_type "lincRNA"; gene_status "KNOWN"; gene_name "RP11-34P13.3"; transcript_type "lincRNA"; transcript_status "KNOWN"; transcript_name "RP11-34P13.3-001"; exon_number 1; exon_id "ENSE00001947070.1"; level 2; tag "not_best_in_genome_evidence"; tag "basic"; transcript_support_level "5"; havana_gene "OTTHUMG0000000095 9.2"; havana_transcript "OTTHUMT00000002840.1"; chr1 HAVANA exon 30564 30667 . + . gene_id "ENSG00000243485.3"; transcript_id "ENST00000473358.1"; gene_type "lincRNA"; gene_status "KNOWN"; gene_name "RP11-34P13.3"; transcript_type "lincRNA"; transcript_status "KNOWN"; transcript_name "RP11-34P13.3-001"; exon_number 2; exon_id "ENSE00001922571.1"; level 2; tag "not_best_in_genome_evidence"; tag "basic"; transcript_support_level "5"; havana_gene "OTTHUMG0000000095 9.2"; havana_transcript "OTTHUMT00000002840.1"; chr1 HAVANA exon 30976 31097 . + . gene_id "ENSG00000243485.3"; transcript_id "ENST00000473358.1"; gene_type "lincRNA"; gene_status "KNOWN"; gene_name "RP11-34P13.3"; transcript_type "lincRNA"; transcript_status "KNOWN"; transcript_name "RP11-34P13.3-001"; exon_number 3; exon_id "ENSE00001827679.1"; level 2; tag "not_best_in_genome_evidence"; tag "basic"; transcript_support_level "5"; havana_gene "OTTHUMG0000000095 9.2"; havana_transcript "OTTHUMT00000002840.1"; ``` -------------------------------- ### Run isoseq tag command Source: https://isoseq.how/umi/cli-workflow.html Executes the tag command to clip UMIs and barcodes from CCS reads based on a specified design. ```bash $ isoseq tag .fl.5p--3p.bam .flt.bam --design XXX ``` -------------------------------- ### Create ConsensusReadSet XML Source: https://isoseq.how/umi/tertiary-analysis Generates an XML file for importing HiFi reads into SMRT Link using the smrtcmds utility. ```bash ${SMRT_ROOT}/smrtcmds/bin/dataset create \ --type ConsensusReadSet \ --name PBMC_5k \ m64476e_220618_014917.consensusreadset.xml \ m64476e_220618_014917.hifi_reads.bam ``` -------------------------------- ### Run isoseq refine command Source: https://isoseq.how/umi/cli-workflow.html Executes the refine command to trim poly(A) tails and remove concatemers from tagged reads. ```bash $ isoseq refine .flt.5p--3p.bam primers.fasta .fltnc.bam --require-polya ``` -------------------------------- ### Cluster isoforms with cluster2 Source: https://isoseq.how/clustering/cli-workflow.html Runs the streaming clustering workflow on an FLNC file or fofn. ```bash $ isoseq cluster2 flnc.fofn clustered.bam ``` -------------------------------- ### Collapse mapped reads Source: https://isoseq.how/classification/isoseq-collapse Execute the collapse command for single-cell or bulk Iso-Seq data. ```bash isoseq collapse ``` ```bash isoseq collapse --do-not-collapse-extra-5exons ``` -------------------------------- ### Prepare transcript GFF Source: https://isoseq.how/classification/workflow Sorts the transcript GFF file output from isoseq collapse. ```bash pigeon prepare ``` -------------------------------- ### Create file of filenames for merged SMRT cells Source: https://isoseq.how/clustering/cli-workflow.html Generates a file of filenames (fofn) containing all flnc.bam files for multi-cell processing. ```bash $ ls movie*.flnc.bam movie*.flnc.bam movie*.flnc.bam > flnc.fofn ``` -------------------------------- ### Run lima for primer removal Source: https://isoseq.how/umi/cli-workflow.html Execute lima in --isoseq mode to remove primers and identify barcodes. ```bash $ lima .hifi_reads.bam primers.fasta .fl.bam --isoseq ``` -------------------------------- ### Collapse transcripts with isoseq Source: https://isoseq.how/classification/workflow Collapses redundant transcripts into unique isoforms. Bulk Iso-Seq requires the --do-not-collapse-extra-5exons flag and an optional flnc.bam input. ```bash isoseq collapse ``` ```bash isoseq collapse --do-not-collapse-extra-5exons ``` -------------------------------- ### Refine full-length reads Source: https://isoseq.how/clustering/cli-workflow.html Executes the refine command on a demultiplexed CCS file and primer fasta file. ```bash $ isoseq refine movieX.NEB_5p--NEB_Clontech_3p.fl.bam primers.fasta movieX.flnc.bam ``` -------------------------------- ### Run isoseq bcstats Source: https://isoseq.how/umi/isoseq-bcstats.html Generates barcode statistics from a corrected BAM file, outputting to a JSON file and a TSV file. ```bash isoseq bcstats --json sample.bcstats.json -o sample.bcstats.tsv corrected.bam ``` -------------------------------- ### Seurat Output File Structure Source: https://isoseq.how/classification/pigeon-output.html List of files generated by the make-seurat tool for downstream analysis. ```text /annotated.info.csv /annotated-prefilter.info.csv /info.csv /genes_seurat/barcodes.tsv /genes_seurat/genes.tsv /genes_seurat/matrix.mtx /isoforms_seurat/barcodes.tsv /isoforms_seurat/genes.tsv /isoforms_seurat/matrix.mtx ``` -------------------------------- ### Process Single Sample Iso-Seq Data Source: https://isoseq.how/clustering/examples.html Workflow for processing segmented reads from a Kinnex full-length RNA library, including primer removal, poly(A) tail refinement, and clustering. ```bash # Download toy S-read dataset $ wget https://downloads.pacbcloud.com/public/dataset/IsoSeq_sandbox/human_80k_Sreads.segmented.bam $ wget https://downloads.pacbcloud.com/public/dataset/IsoSeq_sandbox/human_80k_Sreads.segmented.bam.pbi # Download the Iso-Seq v2 cDNA primers (from Iso-Seq express 2.0 kit) $ wget https://downloads.pacbcloud.com/public/dataset/Kinnex-full-length-RNA/REF-primers/IsoSeq_v2_primers_12.fasta $ lima --version lima 2.9.0 $ lima human_80k_Sreads.segmented.bam IsoSeq_v2_primers_12.fasta output.bam --isoseq --peek-guess $ ls output.* output.IsoSeqX_bc10_5p--IsoSeqX_3p.bam output.IsoSeqX_bc10_5p--IsoSeqX_3p.bam.pbi output.IsoSeqX_bc10_5p--IsoSeqX_3p.consensusreadset.xml output.json output.lima.clips output.lima.counts output.lima.guess output.lima.report output.lima.summary $ isoseq refine output.IsoSeqX_bc10_5p--IsoSeqX_3p.bam IsoSeq_v2_primers_12.fasta flnc.bam --require-polya $ ls flnc.* flnc.bam flnc.bam.pbi flnc.consensusreadset.xml flnc.filter_summary.report.json flnc.report.csv $ isoseq cluster2 flnc.bam transcripts.bam $ ls transcripts* transcripts.bam transcripts.bam.pbi transcripts.cluster_report.csv ``` -------------------------------- ### Display Final GTF Result Source: https://isoseq.how/classification/pigeon-annotation Shows the final output format after conversion to GTF. ```text ChrM cshl_gene transcript 444449 447142 . - . transcript_id "SbiRTX436.MG005100.1"; gene_id "SbiRTX436.MG005100"; gene_name "SbiRTX436.MG005100" ChrM cshl_gene exon 444449 447142 . - . transcript_id "SbiRTX436.MG005100.1"; gene_id "SbiRTX436.MG005100"; gene_name "SbiRTX436.MG005100"; ChrM cshl_gene CDS 444449 445615 . - 0 transcript_id "SbiRTX436.MG005100.1"; gene_id "SbiRTX436.MG005100"; gene_name "SbiRTX436.MG005100"; ``` -------------------------------- ### Classify isoforms with pigeon Source: https://isoseq.how/classification/workflow Classifies isoforms into categories. Supports supplemental reference information, pre-built reference sets, and FLNC count integration. ```bash pigeon classify ``` ```bash pigeon classify --cage-peak refTSS.bed --poly-a polyA.list ``` ```bash pigeon classify --ref Human_hg38_Gencode_v39.referenceset.xml ``` ```bash pigeon classify --fl abundance.txt ``` ```bash pigeon classify --fl flnc_count.txt ``` -------------------------------- ### Generate Seurat-compatible count matrix Source: https://isoseq.how/classification/workflow Creates count matrices for Seurat analysis using deduped fasta and group files. ```bash pigeon make-seurat --dedup --group -d ``` ```bash Make-seurat output: /annotated.info.csv /info.csv /genes_seurat/barcodes.tsv /genes_seurat/genes.tsv /genes_seurat/matrix.mtx /isoforms_seurat/barcodes.tsv /isoforms_seurat/genes.tsv /isoforms_seurat/matrix.mtx ``` -------------------------------- ### Adjusting Insert Transcript Concordance Parameters Source: https://isoseq.how/umi/dedup-faq.html Parameters for controlling insert alignment concordance and gap thresholds. ```bash --min-concordance-perc INT Minimum insert alignment concordance in %. [97] --max-insert-gaps INT Maximum number of insert gaps per 20 bp window. [5] ``` -------------------------------- ### Map reads with pbmm2 Source: https://isoseq.how/classification/workflow Aligns reads to a reference genome using the ISOSEQ preset. ```bash pbmm2 align --preset ISOSEQ --sort ``` -------------------------------- ### Run bcstats for Cell Calling Analysis Source: https://isoseq.how/umi/cell-calling.html Generates the TSV report required for barcode rank plotting. ```bash # Run bcstats on the corrected bam $ isoseq bcstats --json bcstats_report.json -o bcstats_report.tsv ``` -------------------------------- ### Sorting BAM by Cell Barcode for groupdedup Source: https://isoseq.how/umi/dedup-faq.html Required sorting step for BAM files before running isoseq groupdedup. ```bash samtools sort –t CB corrected.bam –o corrected.sorted.bam isoseq groupdedup corrected.bam dedup.bam ``` -------------------------------- ### Process Multiplexed Iso-Seq Data Source: https://isoseq.how/clustering/examples.html Workflow for demultiplexing and processing regular Iso-Seq HiFi reads, including primer removal, refinement, and clustering. ```bash # Download HiFi reads from a non-Kinnex (regular Iso-Seq) BAM file $ wget https://downloads.pacbcloud.com/public/dataset/Kinnex-full-length-RNA/DATA-SQ2-UHRR-Monomer/1-CCS/m64307e_230628_025302.hifi_reads.bam $ wget https://downloads.pacbcloud.com/public/dataset/Kinnex-full-length-RNA/DATA-SQ2-UHRR-Monomer/1-CCS/m64307e_230628_025302.hifi_reads.bam.pbi # Download the Iso-Seq v2 cDNA primers (from Iso-Seq express 2.0 kit) $ wget https://downloads.pacbcloud.com/public/dataset/Kinnex-full-length-RNA/REF-primers/IsoSeq_v2_primers_12.fasta # Demux and primer removal $ lima --overwrite-biosample-names --isoseq --peek-guess m64307e_230628_025302.hifi_reads.bam IsoSeq_v2_primers_12.fasta output.bam # Combine inputs $ ls output.IsoSeqX*bam > all.fofn # Remove poly(A) tails and concatemer $ isoseq refine all.fofn IsoSeq_v2_primers_12.fasta flnc.bam --require-polya $ isoseq cluster2 flnc.bam transcripts.bam ``` -------------------------------- ### Display Unmodified GFF Content Source: https://isoseq.how/classification/pigeon-annotation Shows the initial structure of a sorghum GFF file before any modifications are applied. ```text ChrM cshl_gene gene 444449 447142 . - . ID=SbiRTX436.MG005100;Name=SbiRTX436.MG005100;biotype=protein_coding ChrM cshl_gene mRNA 444449 447142 . - . ID=SbiRTX436.MG005100.1;Parent=SbiRTX436.MG005100;Name=SbiRTX436.MG005100.1;biotype=protein_coding ChrM cshl_gene five_prime_UTR 445616 447142 . - . Parent=SbiRTX436.MG005100.1;Name=5UTR.1 ChrM cshl_gene exon 444449 447142 . - . Parent=SbiRTX436.MG005100.1;Name=exon.1 ChrM cshl_gene CDS 444449 445615 . - . Parent=SbiRTX436.MG005100.1;Name=CDS.1 ``` -------------------------------- ### Adjusting Tag Mismatch and Shift Parameters Source: https://isoseq.how/umi/dedup-faq.html Parameters for controlling tag mismatch and shift thresholds in isoseq groupdedup. ```bash --max-tag-mismatches INT Maximum number of mismatches between tags. [1] --max-tag-shift INT Tags may be shifted by at maximum of N bases. [1] ``` -------------------------------- ### Report gene saturation Source: https://isoseq.how/classification/workflow Determines gene and isoform-level saturation. Use --exclude-singletons for bulk Iso-Seq clustered with cluster2. ```bash pigeon report ``` ```bash pigeon report --exclude-singletons ``` -------------------------------- ### Generate Barcode Rank Plots Source: https://isoseq.how/umi/cell-calling.html Commands to generate barcode rank plots with or without percentile markers. ```bash # Plot barcode rank plot without percentile markers $ python3 plot_knees.py -t -o ``` ```bash # Plot barcode rank plot with percentile markers $ python3 plot_knees.py -t -o --estimate_percentile 95 ``` -------------------------------- ### Run lima for primer removal and demultiplexing Source: https://isoseq.how/clustering/cli-workflow.html Executes lima to remove primers and identify cDNA barcodes. Use the --overwrite-biosample-names flag when samples are barcoded at the cDNA level. ```bash $ lima movieX.hifi_reads.bam barcoded_primers.fasta movieX.fl.bam --isoseq --peek-guess ``` ```bash $ lima movieX.hifi_reads.bam barcoded_primers.fasta movieX.fl.bam --isoseq --peek-guess --overwrite-biosample-names ``` -------------------------------- ### Convert GFF to GTF with gffread Source: https://isoseq.how/classification/pigeon-annotation Converts the modified GFF file into a simplified GTF format using the gffread tool. ```bash gffread sorghum.modified.gff -T --keep-genes -o sorghum.modified.gtf ``` -------------------------------- ### Refine reads with poly(A) tail filtering Source: https://isoseq.how/clustering/cli-workflow.html Filters for full-length reads containing a poly(A) tail of at least 20 base pairs and removes the tail. ```bash $ isoseq refine movieX.NEB_5p--NEB_Clontech_3p.fl.bam movieX.flnc.bam --require-polya ``` -------------------------------- ### Correct Cell Barcodes Source: https://isoseq.how/umi/cli-workflow.html Identify and correct cell barcode errors using a whitelist and the correct tool. ```bash $ isoseq correct –barcodes barcode_set.txt fltnc.bam fltnc.corrected.bam ```