RSEM-GE...GVECTOR(1)
π NAME π
rsem-generate-ngvector β bestie, this is the little icon that builds an Ng vector for EBSeq using nothing but your transcript sequences. That's it, that's the whole job. β¨
Just so u know, this page lives in the User Contributed Perl Documentation section of the manual, and yeah, the page title is RSEM-GE...GVECTOR(1) π
πΈ SYNOPSIS πΈ
rsem-generate-ngvector [options] input_fasta_file output_name
π ARGUMENTS π
input_fasta_fileβ the fasta file holding all your reference transcripts. π¦ Heads up: these transcripts have to be in the exact same order as the ones in your expression value files. Which means you should be using thereference_name.transcripts.fafile thatrsem-prepare-referencegave you. Don't freestyle this one, okay?output_nameβ the name shared by all the output files. Your Ng vector gets saved asoutput_name.ngvec. π
β¨ OPTIONS β¨
-k<int>β the k mer length. If ur confused, the DESCRIPTION section has the tea. (Default:25) π₯-h,--helpβ show help information. That's it, that's the whole vibe. π«Ά
π₯ DESCRIPTION π₯
Okay so picture this: this program generates the Ng vector that EBSeq needs for isoform level differential expression analysis, and it does it based on your reference sequences only. No reads required, we're working with what we got. π
Here's why that's a big deal. EBSeq can account for the variance that comes from read mapping ambiguity by grouping isoforms according to their parent gene's number of isoforms. Slay. But if your transcriptome is de novo assembled? Yeah, getting an accurate gene-isoform relationship is... hard. Not happening. π
So instead, this program groups isoforms by measuring read mapping ambiguity directly. Here's the process, step by step:
- It calculates the 'unmappability' of every single transcript. And what even is that? The 'unmappability' of a transcript is the ratio between:
- the number of k mers that have at least one perfect match to other transcripts, and
- the total number of k mers in this transcript,
where k is, you guessed it, a parameter (hi, -k π).
- Then the Ng vector gets generated by running the Kmeans algorithm on all those 'unmappability' values, with the number of clusters set to exactly 3.
rsem-generate-ngvectormakes absolutely sure the mean 'unmappability' scores for the clusters come out in ascending order. It's giving organized. π- And any transcript whose length is less than k? Those all get assigned to cluster 3. Sorry babes, that's just the rule.
So if your reference is a de novo assembled transcript set, you should runrsem-generate-ngvectorfirst. Then load the resultingoutput_name.ngvecinto R. For example, you can use:
NgVec <- scan(file="output_name.ngvec", what=0, sep="\n")
After that, replace IsoNgTrun with NgVec in the second line of section 3.2.5 (Page 10) of EBSeq's vignette, like so:
IsoEBres=EBTest(Data=IsoMat, NgVector=NgVec, ...)
And here's the best part bestie β this program only needs to run once per RSEM reference. One and done. Periodt. π
π OUTPUT π
output_name.umpβ the 'unmappability' scores for each transcript. This file has two columns: column one is the transcript name, column two is the 'unmappability' score. Simple, clean, iconic. πoutput_name.ngvecβ the Ng vector that this program generated. The main character of the whole operation. β
π§ EXAMPLES π§
Say your reference sequences file is /ref/mouse_125/mouse_125.transcripts.fa and you're setting the output_name as mouse_125:
rsem-generate-ngvector /ref/mouse_125/mouse_125.transcripts.fa mouse_125
Look at that. Flawless. No notes. π
And that's the whole page, bestie!! π Written up with perl v5.38.2, dated 2024-04-14 β go generate some Ng vectors and have the best day, ily π«Άβ¨
π¦ where this page comes from
- ubuntu noble: rsem 1.3.3+dfsg-3build1 Β· GPL-3.0-only
- ubuntu resolute: rsem 1.3.3+dfsg-3build1 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms