Libre Biotech

ONT Long-Read Transcriptomics (IsoQuant)

Type
CWL
Status
succeeded
Engine
cwltool
Duration
8.6 h
Pipeline
ONT Long-Read Transcriptomics (IsoQuant)
Run #35 (this run)
succeeded
ONT Isoform Functional Annotation (superseded)

Sample Provenance

Process Chain
1
Direct cDNA library prep of Helicoverpa head and body samples for nanopore sequencing (2024-06-27) Labbook
Protocol: Direct cDNA sequencing V14 with SQK-LSK114
2 samples produced
2
Nanopore sequencing of Helicoverpa head and body cDNA libraries (2024-06-28) Labbook

Workflow

ONT Transcriptomics (IsoQuant + TransDecoder)

#cwl

Software Tools

ToolVersionURL
cwltool - https://github.com/common-workflow-language/cwltool
isoquant_3.6.0--hdfd78af_0.sif - -

Results Summary

Total Reads
10,875,955
Expressed Genes (CPM ≥ 1)
4,938
Novel Transcripts (CPM ≥ 1)
834
PolyA Detected
6.0%
rRNA Reads
91.1%
mRNA Genes (CPM ≥ 1)
10,268
mRNA Transcripts (CPM ≥ 1)
11,774
ORFs (mRNA only)
8,449

Expressed Transcript Sources (CPM ≥ 1, unique reads, rRNA excluded)

Novel Transcript Categories (CPM ≥ 1, unique reads, rRNA excluded)

Top Expressed Genes (CPM, unique reads)

All Reads (inc. rRNA)
mRNA Only (rRNA excluded)

Gene Expression Distribution (CPM, unique reads)

All Reads (inc. rRNA)
mRNA Only (rRNA excluded)

Read Assignment Quality

Read Structural Classification

Chromosomal Distribution (unique reads)

All Unique Reads
mRNA Reads Only

Gene Biotype Distribution (expressed genes, CPM ≥ 1, rRNA excluded)

Transcript Length Distribution (expressed transcripts, CPM ≥ 1, rRNA excluded)

8,637 transcripts | Median: 2,026 nt | Mean: 2,658 nt | N50: 3,534 nt

Exons per Transcript (expressed transcripts, CPM ≥ 1, rRNA excluded)

Isoforms per Gene (expressed transcripts, CPM ≥ 1, rRNA excluded)

TransDecoder ORF Types (expressed transcripts, rRNA excluded)

Peptide Length Distribution (expressed transcripts, rRNA excluded)

8,449 ORFs | Median: 392 aa | Mean: 526 aa | Max: 20,284 aa

Output Files

OUT.extended_annotation.gtf HPC 81.9 MB OUT.gene_counts.tsv HPC 296.9 KB OUT.read_assignments.tsv.gz HPC 268.7 MB OUT.transcript_counts.tsv HPC 534.8 KB OUT.transcript_models.gtf HPC 22.5 MB job.yml HPC 354 B results_summary.json HPC 6.3 KB transcripts.fa.transdecoder.cds HPC 14.7 MB transcripts.fa.transdecoder.gff3 HPC 6.3 MB transcripts.fa.transdecoder.pep HPC 5.7 MB

Input Data

FileFormatDescription
OUT.transcript_models.gtf text/plain -
OUT.extended_annotation.gtf text/plain -
OUT.read_assignments.tsv.gz application/octet-stream -
OUT.transcript_counts.tsv text/tab-separated-values -
OUT.gene_counts.tsv text/tab-separated-values -

Provenance

Execution Expression quantification summary
Completed 2026-02-27T10:59:19+00:00
RO-Crate 1.1 Workflow RO-Crate 1.0 FAIR
This analysis is packaged as a Research Object Crate with machine-readable provenance and FAIR metadata.

RO-Crate Metadata (JSON-LD)

Show/hide raw JSON-LD
{
    "@context": [
        "https://w3id.org/ro/crate/1.1/context",
        {
            "bioschemas": "https://bioschemas.org/"
        }
    ],
    "@graph": [
        {
            "@id": "ro-crate-metadata.json",
            "@type": "CreativeWork",
            "about": {
                "@id": "./"
            },
            "conformsTo": [
                {
                    "@id": "https://w3id.org/ro/crate/1.1"
                },
                {
                    "@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0"
                }
            ]
        },
        {
            "@id": "./",
            "@type": "Dataset",
            "name": "ONT Transcriptomics (IsoQuant + TransDecoder) \u2014 Run #35",
            "description": "Long-read transcriptomics: IsoQuant for transcript discovery and quantification, gffread for FASTA extraction, TransDecoder for ORF prediction.",
            "datePublished": "2026-02-27",
            "license": {
                "@id": "https://creativecommons.org/licenses/by/4.0/"
            },
            "mainEntity": {
                "@id": "ont_transcriptomics.cwl"
            },
            "hasPart": [
                {
                    "@id": "ont_transcriptomics.cwl"
                },
                {
                    "@id": "job.yml"
                },
                {
                    "@id": "OUT.transcript_models.gtf"
                },
                {
                    "@id": "transcripts.fa.transdecoder.gff3"
                },
                {
                    "@id": "transcripts.fa.transdecoder.pep"
                },
                {
                    "@id": "OUT.extended_annotation.gtf"
                },
                {
                    "@id": "OUT.read_assignments.tsv.gz"
                },
                {
                    "@id": "OUT.transcript_counts.tsv"
                },
                {
                    "@id": "transcripts.fa.transdecoder.cds"
                },
                {
                    "@id": "OUT.gene_counts.tsv"
                }
            ],
            "mentions": [
                {
                    "@id": "#execution"
                },
                {
                    "@id": "#process-81"
                },
                {
                    "@id": "#process-82"
                }
            ]
        },
        {
            "@id": "ont_transcriptomics.cwl",
            "@type": [
                "File",
                "SoftwareSourceCode",
                "ComputationalWorkflow"
            ],
            "name": "ONT Transcriptomics (IsoQuant + TransDecoder)",
            "description": "#cwl",
            "programmingLanguage": {
                "@id": "Long-read transcriptomics: IsoQuant for transcript discovery and quantification, gffread for FASTA extraction, TransDecoder for ORF prediction."
            },
            "contentSize": "1.6 KB",
            "sha256": "c730f8e2a3dc9ce9e29fbe1ef3cf47ebec00a37c1251a73e06b027be7a8a6dd2"
        },
        {
            "@id": "#cwl",
            "@type": "ComputerLanguage",
            "name": "Common Workflow Language",
            "url": {
                "@id": "https://www.commonwl.org/"
            },
            "version": "1.2"
        },
        {
            "@id": "#cwltool",
            "@type": "SoftwareApplication",
            "name": "cwltool",
            "url": {
                "@id": "https://github.com/common-workflow-language/cwltool"
            }
        },
        {
            "@id": "#singularity-container",
            "@type": "SoftwareApplication",
            "name": "isoquant_3.6.0--hdfd78af_0.sif"
        },
        {
            "@id": "job.yml",
            "@type": "File",
            "name": "job.yml",
            "description": "CWL job input parameters",
            "encodingFormat": "text/yaml",
            "contentSize": "354 B",
            "sha256": "34a0d3a0b38b2b26e92c64e449af4efb3d684f67c726c038beda37f17f6c128f"
        },
        {
            "@id": "OUT.transcript_models.gtf",
            "@type": "File",
            "name": "OUT.transcript_models.gtf",
            "encodingFormat": "text/plain",
            "contentSize": "22.5 MB",
            "sha256": "88edfcc4d048b5bb1e0ff3cb94560345b855ed65eeef258ef0511a96a33b48b8"
        },
        {
            "@id": "transcripts.fa.transdecoder.gff3",
            "@type": "File",
            "name": "transcripts.fa.transdecoder.gff3",
            "encodingFormat": "text/plain",
            "contentSize": "6.3 MB",
            "sha256": "e5a3fab06646e6c92e37d8b006ccb0f46eafb595cc657aba8789880fce6bd4d4"
        },
        {
            "@id": "transcripts.fa.transdecoder.pep",
            "@type": "File",
            "name": "transcripts.fa.transdecoder.pep",
            "encodingFormat": "application/octet-stream",
            "contentSize": "5.7 MB",
            "sha256": "e3d8ae63b7ea0ccf8599657daedc0cf3f0b9c8074ed760f37d52251c98d30a6b"
        },
        {
            "@id": "OUT.extended_annotation.gtf",
            "@type": "File",
            "name": "OUT.extended_annotation.gtf",
            "encodingFormat": "text/plain",
            "contentSize": "81.9 MB",
            "sha256": "261fd9c92b5b7e89d2197762308d5a0e5eac75f2c949434473d7ae04388e15aa"
        },
        {
            "@id": "OUT.read_assignments.tsv.gz",
            "@type": "File",
            "name": "OUT.read_assignments.tsv.gz",
            "encodingFormat": "application/octet-stream",
            "contentSize": "268.7 MB",
            "sha256": "b91dedd0e81c7150e02f23790371ce700a82ee31e268b66724f2132e97f1f5d0"
        },
        {
            "@id": "OUT.transcript_counts.tsv",
            "@type": "File",
            "name": "OUT.transcript_counts.tsv",
            "encodingFormat": "text/tab-separated-values",
            "contentSize": "534.8 KB",
            "sha256": "cf960634c628695cdbbf17c6a2eb94e24aefe412fdd6641543f274d363978fd7"
        },
        {
            "@id": "transcripts.fa.transdecoder.cds",
            "@type": "File",
            "name": "transcripts.fa.transdecoder.cds",
            "encodingFormat": "application/octet-stream",
            "contentSize": "14.7 MB",
            "sha256": "e7ca9b2f6c8d852d13e42b720c1f5dc17434872c2d03069db20ef1a359362715"
        },
        {
            "@id": "OUT.gene_counts.tsv",
            "@type": "File",
            "name": "OUT.gene_counts.tsv",
            "encodingFormat": "text/tab-separated-values",
            "contentSize": "296.9 KB",
            "sha256": "5f4413b83f80e97261a004422360930ad7499b09dd6ae43800176eb6c0adad3f"
        },
        {
            "@id": "#execution",
            "@type": "CreateAction",
            "name": "ONT Transcriptomics (IsoQuant + TransDecoder) execution",
            "instrument": {
                "@id": "ont_transcriptomics.cwl"
            },
            "startTime": "2026-02-27T09:48:13+00:00",
            "endTime": "2026-02-27T08:24:45+00:00",
            "object": [
                {
                    "@id": "job.yml"
                }
            ],
            "result": [
                {
                    "@id": "OUT.transcript_models.gtf"
                },
                {
                    "@id": "transcripts.fa.transdecoder.gff3"
                },
                {
                    "@id": "transcripts.fa.transdecoder.pep"
                },
                {
                    "@id": "OUT.extended_annotation.gtf"
                },
                {
                    "@id": "OUT.read_assignments.tsv.gz"
                },
                {
                    "@id": "OUT.transcript_counts.tsv"
                },
                {
                    "@id": "transcripts.fa.transdecoder.cds"
                },
                {
                    "@id": "OUT.gene_counts.tsv"
                }
            ]
        },
        {
            "@id": "#protocol-19",
            "@type": "LabProtocol",
            "name": "Direct cDNA sequencing V14 with SQK-LSK114",
            "description": "This protocol describes how to carry out sequencing of cDNA using a reverse transcription and strand-switching method and the Ligation Sequencing Kit V14 (SQK-LSK114) This protocol is recommended for users who:\r\n\r\n- Are interested in exploring novel RNA biology.\r\n- Are looking for splice variant and fusion transcript analysis.\r\n- Do not wish to use PCR.\r\n- Wish to preserve quantitative information in samples likely to be impacted by PCR bias.\r\n- Would like full-length cDNA strands.\r\n- Want to achieve median raw read accuracy of Q20+ (99%) and above.\r\n- Want to optimise their sequencing experiment for output.\r\n",
            "version": "1",
            "category": "sample_prep",
            "step": [
                {
                    "@type": "HowToStep",
                    "position": 1,
                    "text": "Thaw the following reagents and spin down briefly using a microfuge, before mixing as indicated in the table below, and place on ice.\r\n\r\nReagent \t                                            1. Thaw at room temperature \t2. Briefly spin down \t3. Mix well by pipetting\r\nUser-supplied VN Primer diluted to 2 \u00b5M \t                          \u2713 \t                           \u2713 \t                     \u2713\r\nUser-supplied Strand-Switching Primer diluted to 10 \u00b5M \t                  \u2713 \t                           \u2713 \t                     \u2713\r\n10 mM dNTP solution \t                                                  \u2713 \t                           \u2713 \t                     \u2713\r\nRNaseOUT \t                                                      Not frozen \t                   \u2713 \t                     \u2713\r\nMaxima H Minus Reverse Transcriptase \t                              Not frozen \t                   \u2713 \t                     \u2713\r\nMaxima H Minus 5x RT Buffer \t                                          \u2713 \t                           \u2713 \t              Mix by vortexing"
                },
                {
                    "@type": "HowToStep",
                    "position": 2,
                    "text": "Prepare the RNA in nuclease-free water\r\n\r\n- Transfer 100 ng Poly(A)+ RNA or 1 \u03bcg of total RNA into a 0.2 ml PCR tube\r\n- Adjust the volume to up to 7.5 \u03bcl with nuclease-free water\r\n- Mix by flicking the tube to avoid unwanted shearing\r\n- Spin down briefly in a microfuge"
                },
                {
                    "@type": "HowToStep",
                    "position": 3,
                    "text": "Prepare the following reaction in the 0.2 ml PCR tube containing the prepared RNA input:\r\n\r\nReagent \t                                                            Volume\r\nRNA input (100 ng Poly(A)+ RNA or 1 \u03bcg of total RNA) from step above \t    7.5 \u03bcl\r\nVN Primer diluted to 2 \u03bcM \t                                            2.5 \u03bcl\r\n10 mM dNTPs \t                                                            1 \u03bcl\r\nTotal volume \t                                                            11 \u03bcl         "
                },
                {
                    "@type": "HowToStep",
                    "position": 4,
                    "text": "Mix gently by flicking the tube, and spin down."
                },
                {
                    "@type": "HowToStep",
                    "position": 5,
                    "text": "Incubate at 65\u00b0C for 5 minutes and then snap cool on a pre-chilled freezer block for 1 minute."
                },
                {
                    "@type": "HowToStep",
                    "position": 6,
                    "text": "In a separate tube, mix together the following:\r\n\r\nReagent \t                               Volume\r\n5x RT Buffer \t                                4 \u03bcl\r\nRNaseOUT \t                                1 \u03bcl\r\nNuclease-free water \t                        1 \u03bcl\r\nStrand-Switching Primer diluted to 10 \u00b5M \t2 \u03bcl\r\nTotal \t                                        8 \u03bcl     "
                },
                {
                    "@type": "HowToStep",
                    "position": 7,
                    "text": "Mix gently by flicking the tube, and spin down."
                },
                {
                    "@type": "HowToStep",
                    "position": 8,
                    "text": "Add the 8 \u03bcl of strand-switching reagents (prepared in steps 6-7) to the 11 \u03bcl of snap-cooled mRNA (from steps 2-5). Mix by flicking the tube and spin down."
                },
                {
                    "@type": "HowToStep",
                    "position": 9,
                    "text": "Incubate at 42\u00b0C for 2 minutes in the thermal cycler."
                },
                {
                    "@type": "HowToStep",
                    "position": 10,
                    "text": "Add 1 \u00b5l of Maxima H Minus Reverse Transcriptase. The total volume is now 20 \u00b5l."
                },
                {
                    "@type": "HowToStep",
                    "position": 11,
                    "text": "Mix gently by flicking the tube, and spin down."
                },
                {
                    "@type": "HowToStep",
                    "position": 12,
                    "text": "Incubate using the following protocol using a thermal cycler:\r\n\r\nCycle step \t                              Temperature \tTime \t    No. of cycles\r\nReverse transcription and strand-switching    42\u00b0C \t        90 mins \t  1\r\nHeat inactivation \t                      85\u00b0C \t        5 mins \t          1\r\nHold \t                                      4\u00b0C \t        \u221e \t                    "
                },
                {
                    "@type": "HowToStep",
                    "position": 13,
                    "text": "Thaw the following reagents and spin down briefly using a microfuge, before mixing as indicated in the table below, and place on ice.\r\n\r\nReagent \t                             1. Thaw at room temperature \t2. Briefly spin down \t3. Mix well by pipetting\r\nUser-supplied PR2 Primer diluted to 10 \u00b5M \t           \u2713 \t                           \u2713 \t                    \u2713\r\nRNase Cocktail Enzyme Mix \t                       Not frozen \t                   \u2713 \t                    \u2713\r\nLongAmp Taq 2X Master Mix \t                           \u2713 \t                           \u2713 \t                    \u2713   "
                },
                {
                    "@type": "HowToStep",
                    "position": 14,
                    "text": "Thaw the AMPure XP Beads (AXP) at room temperature and mix by vortexing. Keep the beads at room temperature."
                },
                {
                    "@type": "HowToStep",
                    "position": 15,
                    "text": "Add 1 \u00b5l RNase Cocktail Enzyme Mix (ThermoFisher, cat # AM2286) to the reverse transcription reaction. "
                },
                {
                    "@type": "HowToStep",
                    "position": 16,
                    "text": "Incubate the reaction for 10 minutes at 37\u00b0 C in a thermal cycler."
                },
                {
                    "@type": "HowToStep",
                    "position": 17,
                    "text": "Resuspend the AMPure XP beads (AXP) by vortexing."
                },
                {
                    "@type": "HowToStep",
                    "position": 18,
                    "text": "Transfer the sample to a clean 1.5 ml Eppendorf DNA LoBind tube."
                },
                {
                    "@type": "HowToStep",
                    "position": 19,
                    "text": "Add 17 \u00b5l of resuspended AMPure XP beads (AXP) to the reaction and mix by flicking the tube."
                },
                {
                    "@type": "HowToStep",
                    "position": 20,
                    "text": "Incubate on a Hula mixer (rotator mixer) for 5 minutes at room temperature."
                },
                {
                    "@type": "HowToStep",
                    "position": 21,
                    "text": "Prepare 500 \u03bcl of fresh 80% ethanol in nuclease-free water."
                },
                {
                    "@type": "HowToStep",
                    "position": 22,
                    "text": "Spin down the sample and pellet on a magnet. Keep the tube on the magnet, and pipette off the supernatant."
                },
                {
                    "@type": "HowToStep",
                    "position": 23,
                    "text": "Keep the tubes on the magnet and wash the beads with 200 \u00b5l of freshly prepared 80% ethanol without disturbing the pellet. Remove the ethanol using a pipette and discard. If the pellet was disturbed, wait for beads to pellet again before removing the ethanol."
                },
                {
                    "@type": "HowToStep",
                    "position": 24,
                    "text": "Repeat the previous step."
                },
                {
                    "@type": "HowToStep",
                    "position": 25,
                    "text": "Spin down and place the tube back on the magnet. Pipette off any residual ethanol. Allow to dry for ~30 seconds, but do not dry the pellet to the point of cracking."
                },
                {
                    "@type": "HowToStep",
                    "position": 26,
                    "text": "Remove the tube from the magnetic rack and resuspend pellet in 20 \u00b5l nuclease-free water."
                },
                {
                    "@type": "HowToStep",
                    "position": 27,
                    "text": "Incubate on a Hula mixer (rotator mixer) for 10 minutes at room temperature."
                },
                {
                    "@type": "HowToStep",
                    "position": 28,
                    "text": "Briefly spin down the tube and pellet the beads on the magnet until the eluate is clear and colourless, for at least 1 minute."
                },
                {
                    "@type": "HowToStep",
                    "position": 29,
                    "text": "Remove and retain 20 \u00b5l of eluate into a clean 1.5 ml Eppendorf DNA LoBind tube."
                },
                {
                    "@type": "HowToStep",
                    "position": 30,
                    "text": "Prepare the following reaction in a 0.2 ml thin-walled PCR tube:\r\n\r\nReagent \t                           Volume\r\n2x LongAmp Taq Master Mix \t           25 \u03bcl\r\nPR2 Primer diluted to 10 \u03bcM \t           2 \u03bcl\r\nReverse-transcribed sample from above \t   20 \u03bcl\r\nNuclease-free water \t                   3 \u03bcl\r\nTotal \t                                   50 \u03bcl           "
                },
                {
                    "@type": "HowToStep",
                    "position": 31,
                    "text": "Incubate using the following protocol:\r\n\r\nCycle step \tTemperature \tTime \t    No. of cycles\r\nDenaturation \t94 \u00b0C \t        1 mins \t    1\r\nAnnealing \t50 \u00b0C \t        1 mins \t    1\r\nExtension \t65 \u00b0C \t        15 mins     1\r\nHold \t        4 \u00b0C \t        \u221e \t        "
                },
                {
                    "@type": "HowToStep",
                    "position": 32,
                    "text": "Resuspend the AMPure XP beads (AXP) by vortexing.  "
                },
                {
                    "@type": "HowToStep",
                    "position": 33,
                    "text": "Transfer the sample to a clean 1.5 ml Eppendorf DNA LoBind tube. "
                },
                {
                    "@type": "HowToStep",
                    "position": 34,
                    "text": "Add 40 \u00b5l of resuspended AMPure XP beads (AXP) to the reaction and mix by flicking the tube."
                },
                {
                    "@type": "HowToStep",
                    "position": 35,
                    "text": "Incubate on a Hula mixer (rotator mixer) for 5 minutes at room temperature."
                },
                {
                    "@type": "HowToStep",
                    "position": 36,
                    "text": "Prepare 500 \u03bcl of fresh 80% ethanol in nuclease-free water."
                },
                {
                    "@type": "HowToStep",
                    "position": 37,
                    "text": "Spin down the sample and pellet on a magnet. Keep the tube on the magnet, and pipette off the supernatant."
                },
                {
                    "@type": "HowToStep",
                    "position": 38,
                    "text": "Keep the tubes on the magnet and wash the beads with 200 \u00b5l of freshly prepared 80% ethanol without disturbing the pellet. Remove the ethanol using a pipette and discard.\r\n\r\nIf the pellet was disturbed, wait for beads to pellet again before removing the ethanol.  "
                },
                {
                    "@type": "HowToStep",
                    "position": 39,
                    "text": "Repeat the previous step. "
                },
                {
                    "@type": "HowToStep",
                    "position": 40,
                    "text": "Spin down and place the tube back on the magnet. Pipette off any residual ethanol. Allow to dry for ~30 seconds, but do not dry the pellet to the point of cracking."
                },
                {
                    "@type": "HowToStep",
                    "position": 41,
                    "text": "Remove the tube from the magnetic rack and resuspend pellet in 21 \u00b5l nuclease-free water."
                },
                {
                    "@type": "HowToStep",
                    "position": 42,
                    "text": "Incubate on a Hula mixer (rotator mixer) for 10 minutes at room temperature."
                },
                {
                    "@type": "HowToStep",
                    "position": 43,
                    "text": "Briefly spin down the tube and pellet the beads on the magnet until the eluate is clear and colourless, for at least 1 minute."
                },
                {
                    "@type": "HowToStep",
                    "position": 44,
                    "text": "Remove and retain 21 \u00b5l of eluate into a clean 1.5 ml Eppendorf DNA LoBind tube."
                },
                {
                    "@type": "HowToStep",
                    "position": 45,
                    "text": "Analyse 1 \u00b5l of the strand-switched DNA for size, quantity and quality using an Agilent Bioanalyzer and Qubit fluorometer (or equivalent)."
                },
                {
                    "@type": "HowToStep",
                    "position": 46,
                    "text": "Prepare the NEBNext Ultra II End Repair / dA-tailing Module reagents in accordance with manufacturer's instructions, and place on ice:\r\n\r\nFor optimal perfomance, NEB recommend the following:\r\n\r\n1. Thaw all reagents on ice.\r\n2. Flick and/or invert the reagent tubes to ensure they are well mixed.\r\n     Note: Do not vortex the Ultra II End Prep Enzyme Mix.\r\n3. Always spin down tubes before opening for the first time each day.\r\n4. The Ultra II End Prep Buffer may have a little precipitate. Allow the mixture to come to room temperature and pipette the buffer up and down several times to break up the precipitate, followed by vortexing the tube for 30 seconds to solubilise any precipitate."
                },
                {
                    "@type": "HowToStep",
                    "position": 47,
                    "text": "Combine the following reagents in a 0.2 ml PCR tube:\r\n\r\nReagent \t                       Volume\r\ncDNA sample \t                       20 \u00b5l\r\nNuclease-free water \t               30 \u00b5l\r\nUltra II End-prep reaction buffer      7 \u00b5l\r\nUltra II End-prep enzyme mix \t       3 \u00b5l\r\nTotal \t                               60 \u00b5l        "
                },
                {
                    "@type": "HowToStep",
                    "position": 48,
                    "text": "Thoroughly mix the reaction by gently pipetting and briefly spinning down."
                },
                {
                    "@type": "HowToStep",
                    "position": 49,
                    "text": "Using a thermal cycler, incubate at 20\u00b0C for 5 minutes and 65\u00b0C for 5 minutes."
                },
                {
                    "@type": "HowToStep",
                    "position": 50,
                    "text": "Resuspend the AMPure XP Beads (AXP) by vortexing."
                },
                {
                    "@type": "HowToStep",
                    "position": 51,
                    "text": "Transfer the DNA sample to a clean 1.5 ml Eppendorf DNA LoBind tube."
                },
                {
                    "@type": "HowToStep",
                    "position": 52,
                    "text": "Add 60 \u00b5l of resuspended the AMPure XP Beads (AXP) to the end-prep reaction and mix by flicking the tube."
                },
                {
                    "@type": "HowToStep",
                    "position": 53,
                    "text": "Incubate on a Hula mixer (rotator mixer) for 5 minutes at room temperature."
                },
                {
                    "@type": "HowToStep",
                    "position": 54,
                    "text": "Prepare 500 \u03bcl of fresh 80% ethanol in nuclease-free water."
                },
                {
                    "@type": "HowToStep",
                    "position": 55,
                    "text": "Spin down the sample and pellet on a magnet until supernatant is clear and colourless. Keep the tube on the magnet, and pipette off the supernatant. "
                },
                {
                    "@type": "HowToStep",
                    "position": 56,
                    "text": "Keep the tube on the magnet and wash the beads with 200 \u00b5l of freshly prepared 80% ethanol without disturbing the pellet. Remove the ethanol using a pipette and discard."
                },
                {
                    "@type": "HowToStep",
                    "position": 57,
                    "text": "Repeat the previous step."
                },
                {
                    "@type": "HowToStep",
                    "position": 58,
                    "text": "Spin down and place the tube back on the magnet. Pipette off any residual ethanol. Allow to dry for ~30 seconds, but do not dry the pellet to the point of cracking."
                },
                {
                    "@type": "HowToStep",
                    "position": 59,
                    "text": "Remove the tube from the magnetic rack and resuspend pellet in 61 \u00b5l nuclease-free water. Incubate for 2 minutes at room temperature."
                },
                {
                    "@type": "HowToStep",
                    "position": 60,
                    "text": "Pellet the beads on a magnet until the eluate is clear and colourless, for at least 1 minute."
                },
                {
                    "@type": "HowToStep",
                    "position": 61,
                    "text": "Remove and retain 61 \u00b5l of eluate into a clean 1.5 ml Eppendorf DNA LoBind tube."
                },
                {
                    "@type": "HowToStep",
                    "position": 62,
                    "text": "Quantify 1 \u00b5l of eluted sample using a Qubit fluorometer.\r\n\r\nTake forward the 60 \u00b5l of repaired and end-prepped cDNA into the adapter ligation step. However, at this point it is also possible to store the sample at 4\u00b0C overnight.                  "
                },
                {
                    "@type": "HowToStep",
                    "position": 63,
                    "text": "Spin down the Ligation Adapter (LA) and Quick T4 Ligase, and place on ice."
                },
                {
                    "@type": "HowToStep",
                    "position": 64,
                    "text": "Thaw Ligation Buffer (LNB) at room temperature, spin down and mix by pipetting. Due to viscosity, vortexing this buffer is ineffective. Place on ice immediately after thawing and mixing. "
                },
                {
                    "@type": "HowToStep",
                    "position": 65,
                    "text": "Thaw the Elution Buffer (EB) at room temperature and mix by vortexing. Then spin down and place on ice."
                },
                {
                    "@type": "HowToStep",
                    "position": 66,
                    "text": "Thaw the Short Fragment Buffer (SFB) at room temperature and mix by vortexing. Then spin down and place on ice."
                },
                {
                    "@type": "HowToStep",
                    "position": 67,
                    "text": "In a 1.5 ml Eppendorf DNA LoBind tube, mix in the following order:\r\n\r\nBetween each addition, pipette mix 10-20 times.\r\n\r\nReagent \t                        Volume\r\ncDNA sample from the previous step \t60 \u00b5l\r\nLigation Buffer (LNB) \t                25 \u00b5l\r\nNEBNext Quick T4 DNA Ligase \t        10 \u00b5l\r\nLigation Adapter (LA) \t                5 \u00b5l\r\nTotal \t                                100 \u00b5l      "
                },
                {
                    "@type": "HowToStep",
                    "position": 68,
                    "text": "Thoroughly mix the reaction by gently pipetting and briefly spinning down."
                },
                {
                    "@type": "HowToStep",
                    "position": 69,
                    "text": "Incubate the reaction for 10 minutes at room temperature."
                },
                {
                    "@type": "HowToStep",
                    "position": 70,
                    "text": "Resuspend the AMPure XP Beads (AXP) by vortexing."
                },
                {
                    "@type": "HowToStep",
                    "position": 71,
                    "text": ""
                }
            ]
        },
        {
            "@id": "#protocol-35",
            "@type": "LabProtocol",
            "name": "Sequencing Submission",
            "description": "Submit samples for sequencing at the genomics facility. Links kevlab samples to QC app runs after sequencing is complete.",
            "version": "1.0",
            "category": "sequencing"
        },
        {
            "@id": "#sample-352",
            "@type": "BioSample",
            "name": "body_library",
            "materialType": "sample",
            "isBasedOn": [
                {
                    "@id": "#sample-274"
                },
                {
                    "@id": "#sample-317"
                },
                {
                    "@id": "#sample-338"
                }
            ]
        },
        {
            "@id": "#sample-353",
            "@type": "BioSample",
            "name": "head_library",
            "materialType": "sample",
            "isBasedOn": [
                {
                    "@id": "#sample-276"
                },
                {
                    "@id": "#sample-312"
                },
                {
                    "@id": "#sample-334"
                }
            ]
        },
        {
            "@id": "#instrument-gridion",
            "@type": "Thing",
            "name": "Oxford Nanopore GridION Mk1",
            "additionalType": "http://purl.obolibrary.org/obo/OBI_0002751"
        },
        {
            "@id": "#process-81",
            "@type": "CreateAction",
            "name": "Direct cDNA library prep of Helicoverpa head and body samples for nanopore sequencing",
            "instrument": {
                "@id": "#protocol-19"
            },
            "startTime": "2024-06-27",
            "category": "sample_prep",
            "description": "Three body samples were pooled and three head (tail?) samples were pooled prior to library prep using the LSK114 kit.",
            "result": [
                {
                    "@id": "#sample-352"
                },
                {
                    "@id": "#sample-353"
                }
            ]
        },
        {
            "@id": "#process-82",
            "@type": "CreateAction",
            "name": "Nanopore sequencing of Helicoverpa head and body cDNA libraries",
            "instrument": [
                {
                    "@id": "#protocol-35"
                },
                {
                    "@id": "#instrument-gridion"
                }
            ],
            "startTime": "2024-06-28",
            "category": "sequencing",
            "object": [
                {
                    "@id": "#sample-352"
                },
                {
                    "@id": "#sample-353"
                }
            ]
        },
        {
            "@id": "results_summary.json",
            "@type": "File",
            "name": "results_summary.json",
            "description": "Derived summary statistics from pipeline outputs (CPM >= 1, uniquely mapped reads)",
            "encodingFormat": "application/json",
            "contentSize": "6.3 KB",
            "sha256": "7a474a0978875fa682c9372703087113df10f66d0d2dc9abda64ca48e43f0929"
        },
        {
            "@id": "summary_extractor.py",
            "@type": [
                "File",
                "SoftwareSourceCode"
            ],
            "name": "Summary extraction script",
            "description": "Python script that computed results_summary.json from pipeline outputs",
            "programmingLanguage": {
                "@id": "#python3"
            }
        },
        {
            "@id": "#python3",
            "@type": "ComputerLanguage",
            "name": "Python",
            "url": "https://www.python.org/",
            "version": "3"
        },
        {
            "@id": "#summary-extraction",
            "@type": "CreateAction",
            "name": "Expression quantification summary",
            "instrument": {
                "@id": "summary_extractor.py"
            },
            "endTime": "2026-02-27T10:59:19+00:00",
            "object": [
                {
                    "@id": "OUT.read_assignments.tsv.gz"
                },
                {
                    "@id": "OUT.gene_counts.tsv"
                },
                {
                    "@id": "OUT.transcript_counts.tsv"
                },
                {
                    "@id": "OUT.extended_annotation.gtf"
                },
                {
                    "@id": "OUT.transcript_models.gtf"
                }
            ],
            "result": [
                {
                    "@id": "results_summary.json"
                }
            ]
        }
    ]
}