解决linux shell脚本无法执行,报错syntax error near unexpected token `$'\r''
本来脚本没什么问题的
原因在于录入脚本是在windows系统上的TXT进行了粘贴复制,导致格式错误
1vim -b XXX.sh
有了莫名其妙的^M
使用命令
1sed -i 's/\r//g' XXX.sh
samtools flagstat统计bam文件
flagstat作为统计bam文件的工具存在
123##双端ls *.bam |perl -e 'while(<>){chomp;$_=~s/.hisat.bam//g;print"samtools flagstat -@ 6 $_.hisat.bam >$_.flagstat\n";}' - |less -S >flagstat.shnohup bash flagstat.sh 1>flag_log 2>&1 &
1234567891011121314608455 + 0 in total (QC-passed reads + QC-failed reads) ## reads总数37967 + 0 secondary ##出现比对到参考基因组多个位置的reads数0 + 0 supplementary ...
mRNA分析手段
8dac8244e051497f2d86a37ea9143279a7e46b7b4c68d5866740250ff87b5875a2e27fc982ae17b85dfbc2596cb3e623290137a45cd375d5e59f0c59781b1ebd62377136cdfb9494bb5d081a20dbfa795783dddaac5b451b91be687a72f3648ce92329a28e6a9cd0a883f9387e887aae88433c3f56fd5bb3439489677788dc381d9e16ae6d063c0a0b86dc9be7e3f51e2650952c4e1ea52357057bb62e7a7d5e7993ffa39c9442b56ea118892c5c6d970e47be620560e6ac0b7941c43ea3ea827d851ea029001643249af5f04189b8c07432126ce9df3ca7a48ef6d3b55581d8ecfe37ce970448f592a77c50c2cee13813d56a232751ed8e3 ...
常用参考基因组网址
NCBI genome
Ensembl FTP牛基因组还是首推 Ensembl
UCSC FTP:cytoband文件可能含有gneg等标识,其中acen表示着丝粒区域、stalk表示近端着丝粒区域、gvar表示异染色质,例如臂间或端粒区域。
iGenomes:部分模式生物bowtie、bowtie2和BWA索引基因组。
HISAT2:部分模式生物HISAT2索引基因组。
kmeans聚类分析
kmeans的介绍参考知乎:https://zhuanlan.zhihu.com/p/78798251?utm_source=qq
优点
容易理解,聚类效果不错,虽然是局部最优, 但往往局部最优就够了;
处理大数据集的时候,该算法可以保证较好的伸缩性;
当簇近似高斯分布的时候,效果非常不错;
算法复杂度低。
缺点
K 值需要人为设定,不同 K 值得到的结果不一样;
对初始的簇中心敏感,不同选取方式会得到不同结果;
对异常值敏感;
样本只能归为一类,不适合多分类任务;
不适合太离散的分类、样本类别不平衡的分类、非凸形状的分类。
开始计算
导入数据
数据格式如上所示,虽然低,但是不要所有的值全为NA,运行代码会报错
NA即为A-G的表达值全部为0
打开R
导入数据:
rm(list = ls())getwd();workingDir = “.”;setwd(workingDir);options(stringsAsFactors = FALSE);
data=read.csv(“Data_kmeans.csv”)rownames(data)=data$IDmean=data[,-1 ...
miRNA_seq测序分析
首先,下载需要的miRNAbase数据 发卡,前体,成熟序列
前体数据
wget -c ftp://mirbase.org/pub/mirbase/CURRENT/miRNA.dat.gz
成熟体序列
wget -c ftp://mirbase.org/pub/mirbase/CURRENT/mature.fa.gz
慢慢下吧
基因ID转换
http://biit.cs.ut.ee/gprofiler/convert
g:Profile 有很多神奇的功能
包括GO分析及KEGG分析,但是现阶段还是用DAVID进行GO和KEGG更妥当
因为在牛上,DAVID更新的更快
利用g:Profile 将已知的gene symbol ID进行更换
左菜单栏单贴gene office symbol name
有菜单栏选择物种及目标基因输出名称
结果
R语言:相关性计算
如果想做成相关性图
不管是基因表达之间的相关性或者是基因与性状之间的关联,可以用R包‘tidyverse’和‘corrplot’实现
首先是录入数据的要求
举个栗子!
录入数据如上所示
横坐标代表的是所有相关性的基因或者表型或者你需要的其他数据
纵坐标代表重复,重复一般越多越好,三个重复也不是不能做,但是不会出什么好结果,至少重复在4以上
以上数据存储为.csv格式
打开R
代码简单:
不过首先先确定运行文件夹
然后导入数据,编辑数据表格
rm(list = ls())getwd();workingDir = “.”;setwd(workingDir);library(tidyverse)library(corrplot)data=read.csv(“example.csv”)rownames(data)=data$IDdata1=data[,-1]data=data1
最后data的格式如上!
运行分析代码:
cor(data) %>% corrplot(method = “circle”,order = “hclust”, ...
系统进化树构建
系统发育树又名分子进化树,是生物信息学中描述不同生物之间的相关关系的方法。通过系统学分类分析可以帮助人们了解所有生物的进化历史过程。(百度到的)
第一步:
获取目的基因蛋白
NCBI搜索,根据自己想要物种选择
获取蛋白序列
打开
MEGA7.0
build Alignment后
选择蛋白序列 新建文件 复制粘贴
录入完毕后
点击
后续默认
回到开始菜单
Phylogeny-Neighbor-Joining Tree(采用邻接法)
参数如下
结果如图,成图后可在设置进行细节调试
R语言导入表格
很多时候R语言read table读入txt文件时,如果不进行设置总会出现没有行名或者没有列名的情况
列名是1-12
行名时V1-V10
这时可以用一种笨办法,也就是命第一列和第一行名或列名为行/列名
然后再缩进一行或一列
我以csv文件为例,因为读取csv是,R语言会默认读取的csv拥有列名
这时运行后续代码
rownames(data)=data$IDdata1=data[,-1]data=data1
data文件的行列设置完毕
PS:感谢朝云大佬教学