目标图:
试用R包“ggseqlogo”得到类似结果,但需要序列有相同长度长度,原始序列如下:
需要用muscle进行多序列比对,会进行填充得到长度相同的结果文件,muscle需要输入文件是fasta格式。
在Linux下将fastq格式转成fasta:(已安装fastx_toolkit)
命令
fastq_to_fasta -i input.fq -o out.fa -Q 33
得到fasta文件后输入muscle,用的是在线网站:MUSCLE < Multiple Sequence Alignment < EMBL-EBI
这里走错了一步,不应该拿免疫组库的测序数据(原文件fastq格式的,去学了Linux,发现可以不用)。muscle有限制大小,500行以下较好。
准备将xls里的CDR3序列转变为fasta格式让muscle填充:在xls里在序列前加入序号1~199(有了两列,第一列为序号,第二列为序列),复制到EmEditor里(不要在txt中打开再复制,序号后会有逗号),开头垂直选择加入>,在序列前面垂直选择回车,得到fasta格式。
输入muscle,遇到报错:
点Tool Error Details,显示: *** WARNING *** Invalid character '*' in FASTA sequence data, ignored猜测可能是序列中这些下划线的缘故,在word中替换为空,删除后再尝试。
出现相同的报错,改为输入前100条序列,成功。可能是后面有些序列和前面的比较,规律不同了。得到填充过的长度相同的序列:
得到的比对文件不能直接输入R包中用,在xls中筛选>,进行删除。
setwd("C:\\Users\\Administrator.DESKTOP-4UQ3Q0K\\Desktop")
library(ggseqlogo)
library(stringr)
library(ggsci)
library(tidyverse)
seq<-read.csv("比对后.csv")
p1 = ggseqlogo(as.character(seq$cdr3nt), method = 'prob',col_scheme="chemistry") +
theme_classic()+
scale_y_continuous(labels = scales::percent)
p1
theme_classic():空白背景
p2 = ggseqlogo(as.character(seq$cdr3nt), method = 'bits') +
theme_classic()+
scale_y_continuous(labels = scales::percent)
p2
对纵坐标的解读:probability:氨基酸出现的百分比,每个字母的出现频率;bits,这是衡量位置的"无序"程度的指标,或者更准确地说是分布的具体程度。单个字母的高度是通过取总高度并将其乘以每个状态的概率来得出的。
“This is a measure of how "disordered" the position is, or more precisely how specific the distribution is.
,The height of the individual letters comes by taking the total height and multiplying it by the probability of each state”
接下来试着修改颜色
col_scheme="hydrophobicity"
col_scheme="clustalx"
col_scheme="taylor"
网友评论