2021第二期_生信入门班_微信群答疑整理
做教学我们是认真的,如果你对我们的马拉松授课(直播一个月互动教学)有疑问,可以看完我们从2000多个提问互动交流里面精选的200个问答!
与十万人一起学生信,你值得拥有下面的学习班:
备注:Q-Question,A-Answer,T-Teacher,S-Student。
曾老师学习寄语:在学生信这件事上我们还是坚持长期主义
的确,每周五天课程(周三、周日休息),每天晚上 8:00~11:00,每次3 小时线上互动直播,听起来是很累,很折磨人,很考验人的意志力。
但是鲁迅曾经说过:"时间就像海绵里的水,只要愿意挤,总还是有的"!扪心自问一下,假如这个时间点你不用来充电,不用来学习,你当真就把他用在了必须而且紧急的事情吗?不是去刷综艺节目,刷朋友圈,追各种热点?
我们一起加油!
一 关于课程中服务器使用问题
Git bash Vs xshell
S: 我有 Git bash 那个可以用来登陆服务器吗 还需要下载 xshell 吗?
T: xshell用起来比较方便
Ubuntu VS centos
S: 我登录了下你们的服务器 看到你们是 Ubuntu 的服务器 我们学校是 centos 的 我不是很懂啊 这两者操作会不会有什么区别啊?
T: 不影响
课程提供的服务器使用
S: 老师,这个服务器账号密码是永久有效的吗?
T: 服务器供大家练习,一般来说是两个月的使用时间,实际上不止,我们注销账号前会通知大家
如何搭建自己的服务器-课程
T: 生信入门环境的:https://www.bilibili.com/video/BV1cJ411e7UH
生信服务器的:https://www.bilibili.com/video/BV1XW411d7Bp
生信软件的:
是否可以不用课程提供的服务器
S: 我有在 server 上 analyze 的经验 可以自行练习 不下载 xshell 之类用你们的服务器吗 我在海外怕速度会很慢。
T: 没关系,我们的服务器是腾讯云,理论上全球登陆都OK,因为仅仅是练习shell命令,对网络要求不高。
服务器账号发放
S: 请问老师,在教学期间,老师会给我们发登录服务器的用户名、密码和IP地址吗?谢谢
T:我们的 Linux 操作都在服务器上完成,课前会给大家服务器账号,需要大家按照课前说的填写问卷以及安装好软件就行。请不要自己去折腾虚拟机或者双系统,否则后果自负。
在哪里进行转录组数据分析最合适?
S: 老师 我们现在所有操作都是在你们的服务器上 要是以后想用自己电脑分析转录组数据的话 像昨天作业里面的那11个软件 是都要在自己电脑用终端重新装 还是也有适用于mac或者windows的版本?
T: 尽量不要用自己电脑做转录组分析...我同学有个惨痛教训, 用自己电脑跑转录组, 把电脑跑坏了, 本想着备份一下数据, 结果就在备份数据的时候电脑崩溃了, 硬盘损坏, 导致他的原始数据丢失了 🤷♂️
那些软件, 我不确定是否都能在mac上跑, 因为没做过这种操作...最好就是去买个云服务器之类的, 方便使用, 也不需要自己管理, 省心. 或者自己搭一个本地的服务器也可. 只是最近硬盘啥的比较贵, 建议稍微晚一些再搭. 等等党的胜利。
科学使用自己的云服务器空间
S: 老师,这个上网查的是内存满了?但是我运行了free -h还有挺多内存的
T: 每个人的可用空间都是有限的,你已经超出了,可以试试看 du -sh ~ 看看存储空间用了多少,试着把一些没用的文件删除掉。还有一些文件可以从teach那里链接过来就好了 自己下太占地方,这就是教大家使用ln -s的意义所在。
二 关于学习软件的安装与使用
filezilla下载问题
S:找到了filezilla合适的版本,但点下载就显示第二张图,无法下载
T: 到英文官网试试 https://filezilla-project.org/
送给计算机负基础学员的宝藏
T:(1)windows:
有少数几个同学是计算机负基础比如分不清楚桌面和工作目录…估计是这些年没有怎么摸过电脑,电脑很多秘籍:https://mp.weixin.qq.com/s/wdsn-s3tSdbZhBPOU5scaw 可能需要自己课后多看看快捷键和aliashttps://support.microsoft.com/zh-cn/help/12445/windows-keyboard-shortcutshttps://support.apple.com/zh-cn/HT201236
(2)Mac:
有很多人的Mac自己不熟练看看两个视频Mac教学01 - 快速上手Mac:https://www.bilibili.com/video/av23430954Mac入门指南系列(一):
申请加入钉钉群
S:申请入钉钉群要有什么备注吗,我刚被拒了 ?
T:备注自己的微信名
如何搜索钉钉群
如何找课件,找直播和截图
R 安装
S: 我不小心选择安装了R语言的中文版了 是不是需要卸载然后重新安装英文版
T: 是的
R 安装
S: 老师好,我使用rstudio他显示我未安装R,可是我已经安装了
T: 安装在C盘,再重启一下rstudio(r和rstudio一定要都装c盘)
Rstudio 安装失败
S: Rstudio 安装不成功,提示没有安装R,但是已经安装过R了,这是为什么?
T:选择第三个, choose a specific version of R, 在路径里指定你安装的R的位置
mac系统版本偏低,无法安装某些软件
S: 老师,typora和iterm2安装不成功,好像是mac系统版本偏低。需要升级系统吗?
T: 可以重新到软件官网下载一个与系统适配的,不要随便更新Mac系统
10. 软件安装
S: mac安装软件是否不用管什么,直接安装就是了
T: 是的
11. 如何截图
T: 在电脑上登陆微信就可以通过微信进行截图了
13. 下载R版本
S: 我的R和Rstudio是之前下载的,用的还挺顺利的,还用重新下载么
T: 4.0以上就行
14. Windows和Mac那个系统更适合做生信分析?
S: 请问后续使用Windows是不是不如Mac好用呢?
T: 都是一样的
15. 软件在官网上下载不下来
S: 请问这里点了下载下载了好多遍都不行,Windows10的选择清华的,应该怎么处理呢?
T: 网盘
16. FillZilla安装不了
S:
T: 感觉可以换个mac的ftp软件
17. Term和Termius如何选择
S: 是否选一个安装
T: 安装termius就可以了,iterm2的话更像是mac原生的“终端”(或者叫terminal),所以不装ierm2直接使用系统自带的terminal也是完全OK的
三 Linux相关问题
生信技能树视频课
S: 曾老师的视频课真好 可真扛学 一周才听了这么几个,真的是入了学无止境的坑了 单细胞的我还都不敢看呢
T: 知识点是承上启下的,起码你现在明白当初直接就开口闭口只想学单细胞的心态是不好的了吧,
S: 是的,尤其对于新手 很危险。
人类参考基因组
S: 老师们 想请教一下 我们上课的时候下载基因组是ensembl数据库的 我又来utsc看了一下 发现人的hg38是这个样子的。
T: 这里是一条染色体,就是一个文件。至于这些奇奇怪怪的命名是什么,你可以搜一下Hg38的参考基因组里面各个条目。一般我们关心的就是chr1~22和xy
S: 那要是需要用就只能来20几个wget了?
T: 可以直接下载一个完整的,包含所有染色体的fast a文件,或者写个循环
学习心得体会
T : 有没有一些学习心得体会,下面是优秀例子:
https://mp.weixin.qq.com/s/pgggpxIKg5SdRhu0XB0kRA
https://mp.weixin.qq.com/s/wnyVLjdA8eOAkDRNgD9Ngw
https://mp.weixin.qq.com/s/ZZdB5QmiIuRfQYaXa5vi8A
https://mp.weixin.qq.com/s/WMOIzdjRB-02BHemyMF06g
https://mp.weixin.qq.com/s/MpUaGXFYk2eMjVf8PzFYFg
https://mp.weixin.qq.com/s/BwrelioonAMZb3dilSf3Tg
或者生信故事分享,比如:
https://mp.weixin.qq.com/s/Pdgwi5NC1BTVotTM_CkcQw
https://mp.weixin.qq.com/s/tu2heH7VtEl78M2NrfH_wA
https://mp.weixin.qq.com/s/cZFmi-o_C-iOiQJfzF1SOQ
https://mp.weixin.qq.com/s/UGUQwqWnwrtJGHMe5PxF1Q
Linux-scp命令
S: 老师们这个scp命令 是有权限要求什么的吗 为什么曾老师的视频里面用的那么溜 我一次都没成功过?
T: 你去搜索一下scp 的使用,拷贝文件夹要加 -r 参数,文件多的情况下,可以打包压缩,再拷贝,上课讲的知识点,用起来。
T: 大家可以学以致用,这里有一个简单的转录组,复习一下https://mp.weixin.qq.com/s/bE7cHHX_ATuhSSBEVrkRXA
二进制文件安装和conda安装方法比较
S: 老师,视频里面的bowtie2是二进制文件自己安装的 然后里面有example示例数据 我的是上课的时候用conda装的 我找了半天也没找到example 是conda装软件就没有吗 还是我没找对地方
T: 两个安装方法不一样导致的,conda有他自己的设计理念。
如何构建索引
T: 我们上课讲Hisat2和Subjunc建索引的时候用的是primary文件, 是要去看ensembl网站的readme来确定实际项目到底要用哪些文件建索引。
获取时间
S: 这个看时间的代码 为什么报错了呢 是英文状态下输入的 整句粘贴过来 也是报错?
T: 你用的服务器没有getlocaltime,可以用 date 获取时间,start=$(date +%s.%N)
如何查看命令的数据处理进展
S: 我的命令显示是在run的 但是这个文件夹的大小 得有两个多小时没变过了 之前exit一次 这种情况我们得怎么知道服务器有没有在偷懒没干活呢?
我们自己不把sh重定向到log 这个subread也给我们出来了nohup的日志 那不就不用自己写那么一句了?为什么Subjunc这么顺利 Hisat2 就是不走道儿呢 ?
T: 在使用nohup的时候,也可以指向一个具体的log文件的nohup xxxx xxx > xxx.log & 你如果这么写的话,他就会把本来应该输出到nohup.out的内容改输出到你设置的xxx.log 里
S: nohup hisat2-build Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz Homo_sapiens.GRCh38_release104.genome & 我一开始这样提交的 结果过了两个多小时出来那个Exit了 我就又用nohup sh Hisat2_index.sh >Hisat2_index.log &这个提交了一遍 到现在大小也还没变 又不淡定了
T: 再认真看看课程回放,不要错过每个细节
关于软件版本问题
S: 那是做不同项目的话 即使网站的文件更新很频繁 只要写清楚我们自己用的哪个版本就可以不需要用最新的咯
T: 是的
控制变量与文献综述
T: 要自己学会控制变量
建议每个人在进入一个领域的时候都要看10篇以上的综述。https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&__biz=MzI1Njk4ODE0MQ==&scene=1&album_id=1851750698439229444&count=3#wechat_redirect
注释版本差异对结果的影响
S: 老师 我是用最新版的fa和gtf文件做的注释 跑到定量这一步和PPT上的结果稍微差一点儿 这种是正常的吧?
T: 正常
软连接与硬链接
S: 老师 软链接是快捷方式 那硬链接是什么鬼呢 是没有节省空间的作用了还是什么呢 既然叫链接 应该也可以链过来的吧
T: 硬链接是防止误删,试一试,搜一搜更有效率。
Linux - 记录分隔符
S: 这个记录分隔符是什么东西呢 和字段分隔符有啥区别 课上老师说不展开讲了 要绕懵了 但是理解不了是什么意思 为啥还要有个记录分隔符呢
T: awk 是一行一行处理的,每一行就是一条记录,此时记录分隔符就是换行符。假如你有需求将文本以某个分隔作为一条条记录来处理,那此时就需要修改记录分隔符。好比如你要取出我这几句话里面每一句话的第一个字符,那你就要修改记录分隔符为句号。
软链接使用注意事项
S: 张老师,我自己操作对软连接过来的fa.gz文件解压的时候,遇到了下面这个问题。我上网搜了一下说是软链接写成相对路径会报这个错,但是我的软链接是绝对路径呀。不知道是不是我的gunzip命令使用有问题
T: 这确实是软链接目录层数太多导致的问题,可以考虑减少一点 ,比如链接到浅一点的位置。
conda中成功安装的包不能用的问题
S: 请问一下,上Linux课的时候这些软件我都装过,并且帮助文档都调用成功了,但是现在发现这些软件调用不了,不知道现在是不是要删掉重新安装?还是出了什么问题 这些软件用conda list里面是有的
T: 你目前的这个问题可以看看 conda后面的报错大赏,要装一个软件libgcc
关于结直肠癌样本分析
S: 忘记前几天是不是在这个群里有人问结肠癌和直肠癌应不应该放在一起分析了 就记得曾老师发出来过这个问题 我昨天特意问了专业的医生 这个是看研究目的的 结肠癌基本用不到放疗 化疗为主 直肠癌的话放疗有一定地位 所以如果不考虑放疗因素 包括很多肿瘤科医生 为了增加样本量 都是把两者放在一起分析 所以就是我们看到的很多文献直接写结直肠癌
terminal下载GDC TCGA数据失败
S: 各位老师中午好,打扰一下,请问我用terminal下载GDC TCGA里的文件失败,和TCGA正在更新有关系吗?
T:多试几次,或者,重新下载一个gdc-client
Linux 命令中英文对照
T:背诵这个表格哦
https://mp.weixin.qq.com/s/iEYSX9EM-y1QKRK7KMZYfA
https://mp.weixin.qq.com/s/fIROGO7zwxyuWAKnkEEUjg
如何系统入门linux
T: https://mp.weixin.qq.com/s/2RqjIWEARgMmk3h_sAYtUw
Linux相关课程
T:
shell中的扩展(Expansions) https://opengers.github.io/linux/linux-shell-brace-parameter-command-pathname-expansion/
bash脚本的参数扩展 (parameter expansion) :https://www.ibm.com/developerworks/cn/linux/l-bash-parameters.html
shell通配符(wildcard):https://cloud.tencent.com/developer/article/1114732
type命令:https://man.linuxde.net/type
字符串操作:https://my.oschina.net/aiguozhe/blog/41557
如果只是生物信息学需要,请不要全部看完,太复杂了,看第2~9章节即可。https://www.bilibili.com/video/av40331948/ 就是到P30即可,视频可能难度超纲,毕竟是程序员的知识点。
其实你应该是学习的是我的生物信息学之linux,视频链接在 https://www.bilibili.com/video/av28813815 学完应该可以完成 LINUX的练习题:
最低要求是完成我的 linux 20题 http://www.bio-info-trainee.com/2900.html
其次完成生物信息学数据格式的习题(blast/blat/fa-fq/sam-bam/vcf/bed/gtf-gff),收集这些格式的说明书。
fasta和fastq格式文件的shell小练习 http://www.bio-info-trainee.com/3575.html
sam和bam格式文件的shell小练习 http://www.bio-info-trainee.com/3578.html
VCF格式文件的shell小练习 http://www.bio-info-trainee.com/3577.html
Linux-清屏
S: 运行了这句代码之后,又清屏了,怎么回到之前
T: ctrl+c
如何判定样本数据可以用于后续分析?
S: 请问各位老师同学,这种PCA图,可以继续做后面的分析吗?
T: 看三图,一个不够,https://mp.weixin.qq.com/s/s-LDvtXj_CzggQZsS1XzkA
Linux 神器之键-Tab
S:判断文件是否存在在当前文件夹,就看是否可以用Tab补齐。
服务器登录
S: 老师 我的Linux的登录账号,只显示直接的用户名 没有了后面的IP和乌班图 这个要怎么设置才能出来呢 我这个办公室电脑 刚安这个软件 安装好了自己就没有?
T: 这是因为只要你连接到服务器里之后,你就是在操作我们的服务器,只要你在任何一个地方把它给弄坏了,你到其他的地方连进来也都是一样的。
md文件打开方式
S: 请问md 格式的文件用什么软件打开?
T: 记事本、typora、Rstudio也行,注意:用typora打开跟记事本打开画风完全不一样噢。
markdown语法
T: https://markdown.com.cn/basic-syntax/headings.html
ll或ls -l查询结果中的“total”数值,是指?
S: ll或ls -l查询结果中的“total”数值,是指这个文件夹下面有2820个文件的意思吗?
T: 该目录下所有文件及其子目录所占用块数(block)的总和。
文件复制和重命名
S: 老师 这个题我比您的答案少了相对路径 但是ls以后目的也达到了 这是歪打正着 还是也是正确的写法呢?
T: 这样也可以的 因为 ./ 代表当前目录,可以省略的
Linux中其他软件安装方式
S: 萌老师,昨天忆苦思甜的部分,我们以后用到的机多吗 现在是不是绝大多数软件都能通过conda下载?
T: 在咱们的课程中是用不到的, 但是建议大家可以去试试看. 其实也不难的. 课上演示的三个软件的安装包我都放在了/home/t_linux下面, 可以cp一份到你目录下, 跟着操作一下试试看~
miniconda异常
S: 为什么会这样呢?
T: 后面的两个错误, 一个是 -u只是选项, 不是命令. conda给你的提示是使用conda -u去update一个已经存在的安装好的miniconda3.
第二个错误是, source的是家目录下的.bashrc,而不是根目录下的,正确的命令是
source ~/.bashrc。你这里的source的那条肯定不是tab补出来的 所以就No such file or directory了
多敲代码,才能学得快
S: 每天这个cd 和软连接 要用无数次 现在知道为什么学的时候不用死记硬背 用的实在是太多了 莫名其妙的就记住了
T: 是的 常用的就很容易记住 那些忘掉的也无所谓,说明不常用~ 需要的时候去查一下就好了
当前的文件夹路径
S: 当前的文件夹 是不是可以不写路径?
T: 当前最好写上 ./ 养成习惯 会少很多出错的概率
检验流程代码-预跑流程
S: 虽然只截取了25000出来 这个不为0的还是很多的 那对于我们新手 以后是不是也可以这样 先截取一部分 把整个流程熟悉了 确认没有错误了 再用整个儿的挂后台跑?
T: 是的,就是给大家传递这样的思想,先用小文件,熟悉流程,掌握方法。
找不到数据
S: 我的airway下面没有这些文件,有什么处理办法吗?find命令找不到fastq_raw25000
T: 去teach文件夹下cp拷贝
180. .bashrc文件问题
S: 老师我好像把bashrc搞崩了 ?
T: 如下操作
(1)/bin/cp /home/t_linux/.bashrc ~ 运行一下这句
(2)刚才的解决方法,可以帮你把基本命令找回来,但是把你的 .bashrc 覆盖掉了,你原先的一些做的一些配置信息会丢失,即截图圈出来部分,这些要重新追加,操作起来稍微复杂,我帮你改回来了。
你重新登录一下,就跟你报错之前一样了。你应该在练习 hisat的原始安装方法,可以再练习一遍,注意添加 PATH 的代码不要出错
S: 是的,我绝对路径是自己打的
T: 嗯,错了改过来就行,这是你干的好事 PATH="/home/biosoft/hisat2-2.1.0/:PATH" ,仔细比较一下和老师的代码有什么不同
S: 你的家目录,用户名,还有 最后 PATH 的 $ 符号,都有问题
cd ~和 cd /home
S: 萌老师,cd ~和 cd /home不是应该一个意思吗。为什么出来的东西不同呢?
T: 在普通的服务器里面确实是一样的,但是我们有经过一些特殊的设置,这个在第5天的课里有提到过。你可以先cd ~之后看看你现在的家目录是在什么位置。不是原生的/home哦,$HOME 才 是你的home,你echo $HOME 看看
Linux 常用软件调用代码
:
讲师的感慨,请相信我们的专业性
T: 首先, 不知道你哪里找的教程, 这个教程可能已经过时了. 或许当时能用它介绍的办法解决这个问题, 但是你自己也尝试了, 没啥用, 该出错还是出错.
其次, 我上课的ppt里写得很明白遇到这样的报错要怎么解决, 那么大的字号还是红色的, 运行一下基本就解决了. 为啥舍近求远不看看现成的内容要去自己找呢[Emm]
你一定要相信, 你们可能遇到的所有问题我们都帮你们铺平了的, 不存在“管杀不管埋”的情况, 不会让你安装这个软件但是用不了还不给解决办法的, 回放听一听, ppt多看一看, 可以减少很多自己去撞墙的时间成本和耐心损耗 [玫瑰]
Linux包安装
S: 用mamba安装的时候会出奇怪的错误?
T: 那你试试用conda安装
如何检测Linux包安装成功
T: 每个软件的帮助文档能不能调用出来
Linux原始数据分析
S:老师为什么说只取有_的 没有_的文件是什么的 比如这个*13 和 *13_1 和 *13_2 是什么关系啊?
T: *13_1 和 *13_2 是 双端测序,多余的那个,是没有成功配对的,直接删除即可,这个是airway这个数据集的研究者们比较辣鸡,它们自己瞎搞,把双端测序在过滤的时候,搞的不匹配了。
airway这个数据集
S: 前面曾老师说airway这个数据集质量不是很好 那正常的是全部应该只有1和2吗 如果换一个数据 应该怎么选择留下哪个来分析呢?
T: 如果是双端测序,就保留1和2,了解相关的测序技术,测序技术不同,reads格式也是差异很大,三代测序技术又是另当别论了。
秘钥
S: 老师,为啥找不到秘钥呀?
T: find ~ -name *openssh
conda软件无法使用
S: 昨天跟着老师建立文件夹,删了几个空文件夹,然后突然自己的服务器突然掉线了,接着就激活不了了。后来自己又source之后,莫名其妙conda又回来了。今天再上Linux就又不见了。
T: 检查环境变量 echo $PATH,知道PATH 变量的作用是啥,怎么正确修改,以及和你安装软件有什么关系不,如果不知道,把这个知识点回顾一下,试着先把 PATH 重复的部分去掉。
我看了一下你的账号,你的 miniconda3 文件夹是有问题的。然后查了一下历史记录,你对miniconda3修改了权限,用 chmod 775 miniconda3/ 把权限改回来就行了。
如何查找某个命名特征的文件
S: 找不到以openssh结尾的文件
T: 你试试把 ./改成~
S: 可以了
GDC数据库数据下载
S: GDC数据库一直登不上,咋办啊?
T: 换网络环境,或者到xena数据库下载
如何查看所有自定义变量
S: 在 Linux 环境里面自定义变量怎么查看?除了 echo $ 显示出来某个特定的自定义变量, 怎么看到你自定义所有的变量啊?
T: https://segmentfault.com/q/1010000007336041
如何在Linux下查看所有的自定义变量呢?
shell脚本运行
S: 上课用的 sh qc.sh 为啥是 sh 不是 bash
T: 运行任务shell 脚本,这两个命令都可以。都是shell的解释器, 略有差别很多的功能dash都是不及bash的 比如touch file{1..10}这样的写法在bash里可以被解释但是dash里就不可以。感兴趣的可以看看dash和bash的差别. (现在咱们使用的sh基本都是dash软连接过来的)。
详见链接:https://www.cnblogs.com/macrored/p/11548347.html linux中的sh、dash、bash的区别。
其实没有必要在意这么偏计算机的内容, 咱们主要还是用计算机来解决生物学的问题. 有些地方即使不太清楚也可以先放一下, 专注在解决生物学问题的方向上来。
mv命令用法
T: mv是用来处理一个文件或者文件夹的,它处理一个真实存在的一个东西,而你现在要处理的其实是一串字符串,这是不一样的。你现在出问题说没有这个文件或文件夹,是因为你把字符串当做一个文件在处理,所以你用move的时候,它就会告诉你没有这样的一个文件或文件夹,因为它只是字符串而已。字符串的话你你不能用mv来处理 。所以它的区别不在于具体是一个文件还是文件夹,而是说你处理的是字符串,而不是具体的实实在在存在的文件。所以他会报错。
&符号用法
S: 昨天课上有几处在句末用了&符号 不是很理解 有印象的比如两处
第一个在生成md5的时候 md5sum FILENAME > FILE.md5 &
还有一个比如说 nohup JOB > JOB.long &
T: 把任务挂到后台运行:nohup & 搭配使用,提交sh任务的时候 ,把任务挂到后台运行,因为实际项目运行一个命令可能要好几个小时,甚至几天。如果只用&当你提交完任务之后,任务在后台运行,这个时候关闭xshell任务会终止,不会继续运行。但假如说你用nohup &那即便是关闭xshell,任务也会在服务器上继续运行。
Linux 文件格式
S: 就是linux里面文件的格式其实都不在意的吗?比如课上有命名fastq.url sample.ID这类的 不是说真的有.url和.ID之类的file吧 就是其实 . 后面写什么都没关系的是么?
T: 是的,这个后缀名主要是让你看到这个文件,能想起里面记录了什么内容,其实它们本质上都是一个文本文件。
因为Linux的黑白命令行, 无法显示颜色深浅,形状这样的肉眼区分。所以使用后缀名看文件,自定义的区分。
不过,虽然说 后缀可以随便来 但是还是有一些默认规则的 通用的 比如.gz。你可以试试看 把一个tar.gz结尾的文件给重命名成不带有tar.gz, 看看能不能解压开. 我做过这个作死操作了, 计算机是能识别的[旺柴] 就怕你自己识别不了。
Linux 一行命令太长,怎么办?
S: 老师,命令如果比较长转行了是不是要加一个\,最后才能运行成功?
T: 建议写到 脚本里面,然后 bash 这个脚本文件。
如何做linux笔记
S: 学习R的时候我们可以用语雀和R markdown这样联合在一起复习记笔记,感觉效率还蛮高的 因为直接能看到运行的代码 而且不想看的地方可以折叠起来 也很方便 但是Linux因为是在服务器上面的 我试了自己的终端缺很多命令 没办法放进Rmarkdown里面 不知道老师们有什么好的推荐吗 还是就只能终端上面截图来做笔记了 感觉效率好低 。
T: 这个问题我之前也发现了,正在尝试自己开发小工具来做这个内容。可能还是不够熟悉,如果足够熟悉的话,不会有这样的问题 因为这些命令敲着敲着就会成为肌肉记忆。
S: 我的经验告诉我,换成自己的数据,自己会跑得更上心,很多参数都得改成适合自己的,会对函数和包理解更深,而且自己总感觉文章快出来,心情也很好。
S: 基础没打好 会报错到烦死
T: 解决报错本来就是学习的过程,现在我们把路都给你趟好了,所以你运行起来没啥问题,等到真正运行自己的数据的时候,还是一样碰到问题的,要有面对报错解决报错的觉悟哦
文件删除
S: 老师,我发现我的目录下有fastq.gz文件,我想删掉,但是rm-r命令说不存在文件,请问这是怎么回事?
T: 不要引号
测序数据结果长度
S: 1. 为什么这个数据都是length=63, 是老师处理过的吗?实际上是会长短不一的吗?
T: 1. 因为这个数据,作者测序的时候,选择的读长就是 63。对于二代测序,以后你可能会遇到读长为100,150的,一般一个原始的fastq文件,读长都比较统一
Linux 测序数据 接头序列
S: 2. Trim-glore 是怎么知道接头序列的啊?是所有sequencer 用的接头都是一样的吗?
T: 2. trim-galore 会自动检测一些常见的接头,即 reads 的前12~13 个碱基是否符合某个接头的序列,接头有多种,并不是只有一种
grep小细节
S: 为什么老师的命令 N就会标出颜色呢 我自己的就一样颜色 看着命令是一模一样的呀?
T: 使用 grep 得到的结果就有颜色,你这里,grep的结果又传递给其他命令了,所以颜色就消失
rmd数据完整性检验
S: 老师你这个rmd中数据完整性检验时候,直接对比的第11列和第4列的数据,不用我们上课时候处理数据那么麻烦,是因为,以前网页下载的数据,这个fastq md5 和fastq_aspera的数据直接是可以拿来用的格式,不需要整理么?
T: 之前下载的是sra数据, sra的简单一些,现在sra的连接ENA数据库不提供了。
原始数据过滤:fastp Vs trim-galore
S: fastp用起来似乎比trim-galore好些?实际用的时候需要在这两者之间选择吗?
T: 选择自己觉得好用的就好了
S: 还是不懂怎么判断 手里的数据应该用trim 还是fastp过滤呢 总不能拿到数据每种过滤方法都要做吧 这种过滤软件是不是也还有其他的?这个过滤会影响到后面的差异分析结果吗?
T: 两个软件都可以,不用纠结,不影响,二选一即可
S: 但是两个方法最后过滤完并不会序列完全一样 纠结的是对最后的结果会有多大影响
T: 没有什么影响的,要是影响大上课就会强调出来的。
json文件
S: 4. fastp的json文件干什么用的?
T: json文件是用来生成html的质控报告用的
不同转录组数据处理流程对生物学意义挖掘的影响
文章是《Impact of RNA-seq data analysis algorithms on gene expression estimation and downstream prediction》,链接:https://www.nature.com/articles/s41598-020-74567-y
T: 其实呢,数据处理的细枝末节,绝大部分都不重要,只需要保证核心是正确的即可。各种流程各种软件参数都有综述,不需要你再比较一次,我们是应用生信,并不是创造生信工具哦~
Linux 测序数据过滤
S: 1. 过滤的时候切到的那种很小的片段,甚至有切一个碱基的,这种到底怎么知道是接头的,而不是正常的mRNA的sequence?
T: 切掉一个碱基的,可能是质量差被切掉
Linux软件 Histc Vs Subjunc
S: Histc 是说就不能 align 那些 两个刚好在两个 exon 的衔接部分的那些 reads 了吗?Subjunc 解决了这个问题?
T: hisat2和subjunc理论上差异并不大哦
fq 和 sam 转换
S: 老师上课有提到一下 fq 和 sam 转换怎么理解?干嘛用?
T: 你可能有把 sam 或 bam 文件转成 fq 文件的需求,就需要从 sam 或者 bam 中提取出 fq 的信息,这有工具可以实现的比如 samtools bam2fq。
但是,这种需求是比较少见的,所以了解一下就好。
正常情况下,我们都是用 fastq 文件比对到参考基因组,得到 sam 或 bam 文件,然后进行下一步分析。
preprocessing RNA 如何检测
S: Salmon用的是cDNA refernece,所以会没有linc RNA之类的count;同样的,那些没有切了intron的preprocessing RNA是不是就count不到了呢?
T: 有没有lincrna 是由我们前面实验提取rna 提取的哪种决定的~普通转录组一般是使用磁珠调取具有poly a 尾的rna。
Linux fastqc软件功能
S: 1. 之前在没有map之前不是做过一个fastQC吗? 不是会显示比如一段基因过度表达(over-represented)吗?类似这种感觉不是map之后再看会更好吗?那样才知道是什么基因过度表达啊?还有其他的一些质控 感觉要mapping之后再看更能理解这个数据啊?但是hisat2之后的那个multiQC就显示了一个align的percentage 这没啥用啊
T: 你从一开始就理解错了哦,fastqc 看不到基因过表达信息,仅仅是对fq文件进行质量评估。
S: 老师,我做trim_galore过滤,做了好几次了,每次运行几个小时 也是这种结果,用jobs查看 一直是running,我用的就是软连的那个文件啊。这么慢么?
T: 展示一下代码
S:
T: 检查一下log日志
S: 我有次开着电脑跑了一晚上 第二天起来还是这个样,每次log日志都这样
T: 嗯,试试不用加--fastqc 参数
S: 不加fastqc可以
T: 嗯,原因是,加了这个参数,就会调用fastqc命令,基于Java,但是你的Java环境有点问题。可以考虑着单独再创建一个conda环境,安装上trim _galore 和fastqc 试试
S: 老师,我新创建了个环境,再运行就可以了,谢谢
文件下载-找错文件
S: 各位老师好,我把下载的基因组用gunzip解压之后为啥好多ATCG从大写变成小写了啊,震惊!
T: 解压并不会改变ATCG的大小写. 你下的这个文件本身就是这样的. 你需要了解一下什么叫sm序列, 即soft masked.
T: 大小写都有自己的意义,这个fa文件的网页路径,有一个readme,里边介绍了字符。
T: 简单讲就是你下错文件啦 删了去下个新的。你下次要是下了标记了rm的文件, 还能看到一大堆的N呢
S: 我就听到下载primary_assembly,逮着一个就下了,处处是细节
Linux 报错特殊字符
S: 老师们求救 我这里出来个u上面两个点的 然后再打|或者$这些字符都不能正常显示了 要怎么变回去呢?
T: 重新运行一下修改配色的两句代码,然后重启。
无法保存变量到文件
S: 我现在目录下只有一个对象ls() -- "N01_DF" 。但是我用saveRDS(N01_DF, file = "r.rds")的时候,报错。Error in saveRDS(N01_DF, file = "r.rds") : error writing to connection。
T: 推测是你的硬盘问题,error writing to connection,我使用你的代码是没有问题的。
S: 这个保存命令没问题,我保存一个小对象,没有问题,是我的硬盘满了 哈
四 R语言学习的那些事儿
duplicate(!x)与!duplicate(x)的区别(x为数值)
T: duplicate(x)重复值第一次出现为F,其余为T。所以,对于x=c(1,2,3,0),duplicate(!x),返回值为FTTF。
批量生成文件名
S: 尝试写了一个函数,把每一列提取出来变成新的CSV,但是在文件名的命名上好像没办法实现自动化?
T: file=的后面应该写引号里加文件名,一个文件名的本质是个字符串,这个字符串可以用paste0来生成。
Rio包的用法
S: 老师 麻烦问一下rio包是不能实现两个excel合并的功能吧?我倒腾了半天,读入是没有问题的 但是合并就是不成功 看了包里函数的帮助 好像也没有是这个功能的
T: 你理解错了,Rio包可以读取含有多个工作簿的excel
多个excel合并问题
T: 涉及到两个问题:
(1)合并数据框用函数:merge (两个数据框,按相同列合并,这一列是独一无二的,作为索引),join,cbind的区别。
(2)文件读取的方法:rio包中的import()读取只有一个工作簿的excel,import_list()可以读取含有多个工作簿的excel生成有两个元素的列表(生成含两个元素的list),两个元素先merge,再和第二个文件数据框合并。
S: 表格里面中英文混杂着会影响这些代码的操作吗 因为读进去以后中文信息都乱码了 所以导致merge就一直报错?
T: 看看设置编码方式能否解决,设置编码方式的方法,看帮助文档自己找。
注意:原始文件不要进行任何修改。
找不到函数
关键词find method for function
搜一搜,找到答案:https://www.jianshu.com/p/afe20ec6256a
引申问题:函数pData()在哪个包:https://www.jianshu.com/p/9b1a1bda4ca5 待认真看
载入了名字空间 ==xx包已经安装并加载
关于镜像设置有效范围
代码设置镜像,重新设置以R project为单位;
R Studio-tools设置镜像,永久有效。
R包安装-特殊字符等中文路径问题
T:见答疑文档Q20,中文用户名是指R包安装,C盘users下边的中文文件夹,R包默认安装在这,不能手动改,可以删除然后新建一个英文的,就可以自动找过去。如果手动改,则需要以管理员身份打开R studio,打开R project,再重新安装R包,改中文路径见Q20。
R包安装网络问题
问题描述:Rstudio安装包,试了又试,一直报错。换了网络环境也不行,https 和 http 也不行,镜像还是不行。那就只有一个原因了,她电脑无法正常联网。微信或者钉钉使用正常,但Rstudio就不行。最后发现,是网络代理的问题,她装了一个叫佛跳墙的 fanqiang 软件,导致网络代理改了
解决办法:windows系统,安装奇怪软件后会有网络的代理设置变化,导致包安装不上,去系统设置和浏览器中,吧代理设置关掉。
数据结构和数据类型的区别
A: 数据结构:vector,matirx,list,data.frame
数据类型:数值型,逻辑型,因子型,字符型
class() 判断类型
关于逻辑值
(1)当NA单独出现时,为逻辑值取值:T F NA ,class(NA)=logical,length(NA)=1,而NULL代表没有,class(NULL)=NULL,length(NULL)=0,二者不是同一类
(2)当NA Vs NULL,NA 可以作为一个元素出现在任何数据结构中,他的数据类型随大流,是缺失值的意思。
在统计中,table和sum的功能
table(is.na(b))
#返回值有T有F,如果只需要T/F的个数,用sum()
sum(is.na(b))
set.seed( )函数用法
set.seed(5)##设定种子
b=rnorm(4);b# 在设定种子的前提下生成b的4个随机数
set.seed(5)##确定种子
a=rnorm(4);a# 在确定种子的前提下生成a的4个随机数
a==b#返回值才为T
文件读取乱码
S: 文件读取乱码从一种形式变成一种形式:从字母形式的乱码 变成了这个菱形加问号的乱码
T:
读取的时候,设置 encoding='UTF-8',不行的话,换个函数 read.csv()。
文件读取常见报错有两种:找不到文件和函数的默认参数设置不符合你的文件。参数设置的特殊要求,需要具体文件具体分析,根据文件的实际情况去找参数,而并非这个函数不能用,也不要去修改源文件。
要去看报错信息,并核验看看是否列名没有目的列数多。
还有就是分步骤解决,比如不要试图用一个读取函数来处理所有文件,相应的需求有相应的函数,或者相应的参数
S: 老师 我又从头理了一下,终于成功了百分之90 ,现在就剩下这个列名奇奇怪怪的,我再想办法怎么把英文后面带的...数字和中文后面带的.x .y的列名去掉就成功了
T: 这个是因为米有重复的列名存在,所以就分了.x .y
S: rio包export还不能直接导出来excel的格式,encoding = "UTF-8"的参数还不能写在export里面,导csv汉字又会乱码,帮助里面让用write.xlsx函数导出,但是rio包里面没有这个函数,就又重新下载安装了write.xlsx函数的包,再用这个函数把文件写出来
T: 纠正一下,export可以导出xls,或许是xlsx
基因预测:circRNA-miRNA-mRNAs
S: 用筛选出来的circ去预测下游miRNA,在通过miRNA预测mRNA。 不知道行不行?
T:可miRNA预测mRNA应该是可以的,有的文章中提到,用miRNA 预测circRNA,然后和用芯片筛选出来的circ RNA取交集。他用的预测数据库叫CircInteractome
文件读取不成功-路径
T: 能不能读取成功, 主要取决于你的文件在不在你的当前目录, 如果不在, 你得指定文件所在的位置. 你新建的Rproj是空的, 里面没有任何文件, 因此你如果要读取不属于你这个新建的Rproj的文件的话, 要么指定文件所在的具体位置, 要么回到之前的Rproj去, 要么把你要的文件复制或者移动到你新建的这个Rproj里来。
单细胞文件读取-方法
S: 各位老师好,我课题有个问题,想咨询一下。我分别导入了72个样本的.rds文件,如P39 <- readRDS("../00data/P39.rds"),再用seurat的FindIntegrationAnchors()函数将其整合,这个地方用list 还是 c呢?我用list这一步没有错误,下一步就报错了,我觉得 应该用
T: library(harmony)
seuratObj <- RunHarmony(sce, "orig.ident")
names(seuratObj@reductions)
seuratObj <- RunUMAP(seuratObj, dims = 1:15,
reduction = "harmony")
建议使用 harmony,你这么多单细胞数据集的整合,harmony会友好很多哦,你只需要指定sce的某一列,需要被整合的那个因素。
如果你一定要 CCA,这个代码即可。
#拆分为12个seurat子对象
sce.all.list <- SplitObject(sce.all, split.by = "orig.ident")
sce.all.list
for (i in 1:length(sce.all.list)) {
print(i)
sce.all.list[[i]] <- NormalizeData(sce.all.list[[i]], verbose = FALSE)
sce.all.list[[i]] <- FindVariableFeatures(sce.all.list[[i]], selection.method = "vst",
nfeatures = 2000, verbose = FALSE)
}
#耗时,1h~2h左右
alldata.anchors <- FindIntegrationAnchors(object.list = sce.all.list, dims = 1:30,
reduction = "cca")
sce.all.int <- IntegrateData(anchorset = alldata.anchors, dims = 1:30, new.assay.name = "CCA")
names(sce.all.int@assays)
S: 如果用seurat的话,FindIntegrationAnchors()使用list()吗?用list()把72个单独的对象,生成一个list列表,对吗?
T: 对
内置数据集
S: 我还想问个问题,昨天练习里用到的mpg文件,可以view,可以根据它画图,可是在工作目录里并没有,请问这个文件在哪里呢?
T: 内置的数据 有点像iris,mpg是在ggplot2 package的内置dataset 这边可以查看 https://vincentarelbundock.github.io/Rdatasets/datasets.html
函数的名称与R包名称一样
S: 各位老师好,我好奇地想问一下这下面的conflicts是表示啥意思呀?
T: (1)函数的名称和其他R包一样,使用的时候会有冲突,使用时指定一下R包,例如:要用 filter函数,就以这样的形式使用 dplyr::filter()。(2)这情况,多出现外部,内部不会打架。而且,tidyverse 和 dplyr 出自于同一个人,不存在冲突的问题。
ggplot2可以画点图的三个函数(区别在于点的位置规则)
A: geom_point() geom_dotplot() geom_jitter()
org.Hs.eg.db R 包安装失败
S: 用biocmanager下载这个包还是报错,我之前好像也是一直装不上这个包
T: 这个包可能是在变化,等等看这个系列最近都有问题。
p.value的值好多都为0?
S: 这是我们自己测序的数据,公司发来的结果,他注释到GO通路之后出现很多P值等于0的,这种应该怎么理解呢?
T: 可能设置接近于0,它的精度不够,就直接把它约等于0了。
S: 这种图画出来很丑哎,曾老师,这样还有办法补救一下吗?
T: 如果有差异基因列表,自己去做:
【先搜索后提问】
搜索我们生信技能树公众号历史教程,自行点击教程学会在技能树[公众号历史教程里面根据关键词查询,https://mp.weixin.qq.com/s/TQqKlNRRbSYPM74D7mflsg,基本上初学者问题都有解决方案!
【搜索完毕告诉我你的关键词,以及发给我你搜索的最佳结果推文】
关键词是,开局50个基因
转录组的生物信息学书籍-单细胞
T:分享一个转录组的生物信息学书籍,关于单细胞的就4个章节
16 Computational Analysis of Single-Cell RNA-Seq
17 Normalization of Single-Cell RNA-Seq
18 Dimensionality Reduction of Single-Cell RNA-Seq
19 Single-Cell RNA Sequencing Analysis: A Step-by-Step,
应该是公开可以无限制下载的,https://link.springer.com/book/10.1007/978-1-0716-1307-8。
题目:从临床信息中提取病人的肿瘤分期数据。
S: 孙老师,麻烦您看一下,这样的循环代码还算合格吗?哪里应当修改?
T:不合格,你写的条件x=="I",永远是TRUE,这里不需要判断,而且是print了,没有保存下来,只是看了看,这个后面是讲过的,用apply实现更无痛。
S: 老师,这是结果
T:正解
R包安装报错:non-zero exit ststus
T: 试一试,搜一搜,即出结果,供参考
(1)随手一搜就有答案:https://blog.csdn.net/tandelin/article/details/87719623
(2)大佬公众号文章,短小精悍值得一看,“要学会say no”:
老师,刚刚下载GEO数据的过程中报错,课堂上说是因为有中文名,我用帮助文档里的这个方法修改路径,会不会影响已经下载的R包呢
R包安装:org.Hs.eg.db
S: 求助老师,这个神奇的org.Hs.eg.db包到底怎样装才对 ?总是装的时候没问题,加载就报错,包还用不了,更新了还是报错?
T:这个包可能是在更新,很多人最近遇到了这个问题,试试安装旧版本。
关于 library("org.Hs.eg.db") 包的报错,问题在于新版本的 RSQLite 存在 bug,解决方法是安装旧版本的 RSQLite:
重启 RStudio
然后运行代码
install.packages("https://cran.r-project.org/src/contrib/Archive/RSQLite/RSQLite_2.2.5.tar.gz",repos = NULL,type = "source")
老师,为什么右下角那个通路的条形图那么宽?
T:这个设置是因为分面函数的默认设置是使每张子图的大小一致,你可以调整一下分面的参数设置。
可视化图片的保存
S:老师,我在电脑上把图展开了,但是导出来怎么还是比例不对呢?
T:导出时,调整一下参数
先搜索后提问
搜索我们生信技能树公众号历史教程,自行点击教程学会在技能树[公众号历史教程里面根据关键词查询,https://mp.weixin.qq.com/s/TQqKlNRRbSYPM74D7mflsg,基本上初学者问题都有解决方案!
【搜索完毕告诉我你的关键词,以及发给我你搜索的最佳结果推文】
很出名的对象,了解一下
GEO中获取表达矩阵的exprs和临床信息的pData是这么来的:https://mp.weixin.qq.com/s/njxzUDU0yOh6uypHiC6RAQ
环境变量
S: 老师,我还没有修改环境变量,这个修改之后会不会让原路径下的R包无法使用呀?
T: 不影响的
下载表达矩阵
S: 下载表达矩阵都下不了了,报错timeout
T: 网络问题,换手机热点试一试
R语言学习合集
T:https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&__biz=MzAxMDkxODM1Ng==&scene=1&album_id=
9373068601655297&count=3#wechat_redirect
开源R语言书籍
在线阅读链接是:http://www.math.pku.edu.cn/teachers/lidf/docs/Rbook/html/_Rbook/index.html
ggplot2_官方练习50题
T: 链接:http://r-statistics.co/Top50-Ggplot2-Visualizations-MasterList-R-Code.html#Animated%20Bubble%20Plot
学R还是学Pathon
S: 还有一个比较 general 的问题 我们这边某些 bioinformatics 的人都是在用 Python 我们主要做单细胞 貌似很多analysis 在 Python 和在 R 里都有对应的包 我只是想问下用 R 和 Python 的优劣 不是说更专业的才用 Python 吧 ?
T: 这是两个门派,都可以实现分析需求,Python 和 R 相爱相恨,我们推荐用R。
准备工作
关于生信入门和数据挖掘两个群的-软件安装一样。
生存分析
S: 小洁老师,做生存分析的时候,应该用什么数据呢?read count,还是FPKM?我发现我在做批量COX的时候,用read count 和FPKM得到的结果不一样?
T: 不要看数量,看质量,至少看看韦恩图或者散点图
S: 按道理,由read count 变为FPKM,表达量大小的排序应该不会变吧?
T: 当然会,read count肯定是错误的呀,文库大小是必须要考虑的因素。
i=0L
S: 老师这个代码为啥带个L 直接0不就行了 我试了一下 结果是一样的 写repeat 变量后面就要带个L?
T: 试一试,搜一搜。整型变量
分面-数据
S: 请教一下,R语言终极练习题的第二题,为什么分面作图的话就需要将扁数据变成长数据,而不分面的情况下作图就不需要呢?
T: 试一试,看写代码, 如果不变 分面的代码要怎么写,下手了自然能明白
S: 老师,这道题我刚开始就在想把扁数据变成长数据,但是后来发现好像因为循环的原因,每个循环内的数据本身就是长数据,所以就可以直接正常作图?另外,分面是按照基因来的,基因应该是作为列,而不是列名,所以分面的时候需要扁变长。不知道我的理解对不对?
T:非常地对
调用pyton的帮助文档
S: 见到三个done了 但还是调用不出来help ?像这个不成功起码告诉我吗需要安装哪两个packages 但是Python是三个done 没有说却什么?
T: python3 --help,搜一搜
提前焦虑
S: 是的 听到课上说不用安装 非常大 怕以后用到 所以先看看能不能和老师的命令出一样的结果 结果真的没搞清楚
T: 怕以后用到…,以后用到了可以现安装啊,不要提前焦虑哦
自主注释
T: 十分以上的文章才必须加上自主注释。而且自主注释和组装参考基因组也不是一回事儿
换个数据,图跑不出来了?
S: 老师,我这个堆叠直方图怎么不堆叠呢?diamonds那个数据运行出来是好的,iris那个不行。
T: 对比一下成功的和失败的代码,找不同。试一试能解决90%问题 ,思考的过程比解决问题本身更重要。
下游分析-异常样本处理
S: 4. 下游这边 比如说看到同组有一个异常样本要怎么办 就是直接剔除吗?
T: 4. 异常样本,比较多的处理方式就是剔除。当然也没有标准答案,有时候是处理和对照标反了,需要检查。
批次效应
S: 对照组的箱线图整体都要比实验组的低或者高 不知道中文怎么说 就是要怎么处理这种batch effect呢?
T: 对于二代测序,不同批次测序,存在batch effect,不同后面R包做差异分析的时候,算法已经考虑到这一点了,一般不用手动去remove batch effect。
对于芯片数据,存在 batch effect ,可以用R包函数,有很多,搜一下
对象类型不可替换
S:请问我这里一直报错object of type 'builtin' is not subsettable是咋回事呢,查了帖子没看懂,来求教老师们?
T: builtin的对象类型不可替换,一般出错原因不明时,一定要尽量往前倒推,找到第一个报错信息,去修正。或者看看你的exp是不是有问题?
画图大小和比例的调整
S: 最近画气泡图,总是很瘦长,怎么解决?15个pathway为纵坐标,enrich-factor取值0--1为横坐标。哪个参数可以设置?或者需要等比例放大数值,再更改标签?
T: 调整一下PDF画布大小width和height参数,或者画图代码的字体
S: 可不可以把x.轴拉长?这个气泡能够整体放大吗?
T: 仔细看看 https://mp.weixin.qq.com/s/1_kTy0yZD9dIlCorsYZVBQ。
T: 最重要的是,要学会自己搜索。
【先搜索后提问】
搜索我们生信技能树公众号历史教程,自行点击教程学会在技能树[公众号历史教程里面根据关键词查询,https://mp.weixin.qq.com/s/TQqKlNRRbSYPM74D7mflsg,基本上初学者问题都有解决方案!
【搜索完毕告诉我你的关键词,以及发给我你搜索的最佳结果推文】
斑马鱼细胞注释
S: 我想问一下就是我们单细胞测序的物种是斑马鱼,如果想进行细胞注释的话,有没有比较简单的方法。我搜了搜,好像目前只有人类和鼠类有相关的细胞图谱。
T: 需要人工手动注释,这个应该是也有几篇文献出来的,基本上的话只能说尽可能参考文献了。好歹他也是模式生物,所以你不用那么着急也不用那么害怕。
R语言中str()的使用
T: 检查数据框中有哪些变量以及变量的类型:https://www.cnblogs.com/geeksongs/p/12426151.html
tibble和data.frame的区别
T: 搜一搜:https://www.jianshu.com/p/060489f74b7c
tibble是data.frame的一种形式,语法和data.frame较为相似,其实大部分功能都与data.frame相似。tibble来自于tidyverse生态系统中的tibble包。
依照官网上说的,tibble与data.frame的最大不同在于两点:1.print;2.子集的索引。
R中 赋值加输出一起执行
T : 加括号,或者两行代码写在一行,用分号隔开。
正则表达式的 符号 .
S: 我想用str_replace_all替换那个点,怎么所有都换了,这里的点怎么感觉和Linux里面正则表达式似的 str_replace_all替换任何字母都行 就是点变成这样?
T: 特殊字符,定义点,得用 "[.]",还可以用\\.
Rmarkdown图床
T: 这是Rmarkdown的那个图床的解决办法:https://www.notion.so/Rmarkdown-481bf296d92d409fb346fded9b18c286
RNA-seq_批次效应
S: 请教曾老师,我下载TGGA的RNA-seq数据,将3个数据集合并,然后要怎么去除批次效应呢?
T: 先搜索,后提问,关键词:批次效应。例如这篇:https://mp.weixin.qq.com/s/rQ4vOckgkzCryd4At2mVpA
如何生成airway包里的示例格式数据和分组信息
S: 老师,有个问题想请教下。
Day4里边我们用的数据是airway这个包里的,那我们怎么自己生成airway包里那种格式的数据啊,是不是要把原始数据上传GEO才会有啊?
T: 转录组测序得到的counts矩阵,如果作者又上传到GEO数据库,那直接下载作者上传的数据即可。如果没有,那就要下载作者上传的 fastq 文件,然后再根据上课讲的转录组数据处理流程,得到 counts 矩阵
S: 谢谢郭老师,我现在已经得到表达定量的矩阵了,怎么才能变成airway包里的那种样子的数据呢。我看自己生成的那个矩阵没有很多比如处理分组啥的信息。
T: 你仔细看原文,以及从 ENA 数据库下载的文件 filereport_read_run_PRJNA...... 文件,里面有说明。
add 参数
S: 复习过程中跑帮助文档代码产生个疑问 log的范围就是0到1 为什么在这段代码里面如果add=F 就是我们正常的log的范围 而如果是add=T 这个范围就变成接近-40到+40了呢 而不是上面曲线的0到1的范围了?
T: 横纵坐标都变了,你看函数帮助文档,关于这个 add 参数的解释。
如何区分差异基因中的lncRNA和mRNA
S: 请问差异分析得出来的差异基因的结果,如果要把它们用ensmbl注释的功能分辨出lncRNA和mRNA,是需要下载人类基因组进行比对吗?还是怎么做的?查了很多资料,还是没有解决,请各位老师指教,谢谢
T: 首先,你的确定你的数据是否有lncRNA和mRNA这两种,一般要看上游的实验,建库的方式。第二,如果有lncRNA,可以用gtf/gff文件中的biotype区分。
GEO_注释方法
S: 我现在在复习GEO那部分的内容,复现的小洁老师讲课一篇文献。作者说的是用这个网站进行注释的,但是只一笔带过了,没有具体说方法
T: annoprobe里的annogene函数可以帮你做
表达矩阵-分组信息
S: 张老师,表达矩阵怎么才能手动添加分组?上课用的数据分组信息都是现成的 ?
T: 分组信息,你仔细看原文,以及从 ENA 数据库下载的文件 filereport_read_run_PRJNA...... 文件,里面有说明
S: 具体分组我知道的,就是后边画图时候一运行group_list这个找不到对象
T: 赋值一下啊
S:原来的分组信息数据类型是因子哎
现在我已经拿到基因表达矩阵,我是知道分组情况的,怎么才能让R知道数据分组
差异基因的多与少
T: 有意思的怀疑:
LogFC调整到0.5之后才勉强有几百个差异基因。这里已经彻底懵逼,甚至用一秒钟时间怀疑了一下小洁老师的代码:)。为了验证我的结果,我搜了一下用这个数据集已经发表的数据挖掘文章,找到了一篇挖掘到3000多个差异基因的文章,结果相差这么多肯定不对劲,这时候我想到了GEO2R这个网页工具,并且下载了差异表达矩阵,再用代码标出上调下调基因,结果得到了跟上面那篇文章一模一样的结果,之后一切顺利,火山图,热图,GO,KEGG。链接:https://www.jianshu.com/p/c01eeec70a91
一个数据最多可以被挖多少次
T: 粗略看了看,起码几十篇数据挖掘文献, 就针对这一个数据集,变着花样各种挖,活脱脱的一个数据挖掘发展史!
https://mp.weixin.qq.com/s/pMVNYn-kMljavQvnhvkS_w
R基础练习
T: 复制粘贴即可运行的代码,值得立马实践哦,检验你的r基础知识
https://mp.weixin.qq.com/s/CisNSe9ZW5HTOJTNKecjqQ
https://mp.weixin.qq.com/s/dMp4YheiEBwoPp-BLwhVVg
文件后缀与文件类型的对应关系
S: 这个文件的后缀不是让我们自己知道是什么文件的吗 但是为什么 我不写上后缀fastq.gz 既不能用zcat查看 做fastqc的时候也不能进行呢 对于计算机来讲 不是应该不管他叫什么 计算机都知道他的后缀是fastq.gz吗?
T: 有的程序是会智能识别后缀的
ncRNA array 的注释怎么找?
S: 像这种ncRNA array,平台有办法注释吗?什么都没有,也没有sequence,是不是这种数据集就需要放弃了?
T: 你没有看全,这里展示的都是control用作对照的探针,还需要再找找其他文件,比如soft文件?
S: 老师,我根据流程换了个表达矩阵跑lasso的时候,出来的这个图取不到值,这个我没搞懂是哪里的问题,表达矩阵都是tumor,并且和meta的顺序也都一致。84个样本,用差异基因的表达矩阵可以画出来,用cox的就变得更奇怪啦
T: 是的,样本太少,不建议再分割,第三张图效果还可以。
WGCNA分析
S: 我有个问题想请教。一般做WGCNA分析时,我看有的人使用差异表达的基因进行分析,有的人使用所有的基因进行分析,还有用25%变化最大的基因,那种方法比较标准,更为常用有意义呢?
T: 参见官方文档:https://horvath.genetics.ucla.edu/html/CoexpressionNetwork/Rpackages/WGCNA/faq.html
如何设定差异显著性阈值
S: 麻烦老师们问一下,我们采用了BH校正,相对应的是adjust p,我们应该是用adjust p去和置信水平0.05比啊。为啥这里还是用未调整的p value呢?
T: 以结果为导向,假如你符合要求的基因非常多,你就校正一下,进一步筛选基因。假如你用矫正之后的阈值发现只剩下两三个基因,你就不要矫正了。虽然不矫正会有假阳性,但是比没有阳性强。
NAN的处理方法
S: 老师想问一下,一般这种表达矩阵中的NAN怎么处理?是GEO上下载的芯片表达矩阵,未经其他处理?
T: 既然一拿到手就是这个样子,那就是垃圾数据,要么处理一下原始数据,要么就换一个数据
为了一个包,学一门语言
S: 老师 最近需要 run 一个 spatial transcriptomics 包 cell2location. 是用 Python 写的。有没有学习 Python 的推荐
T: 用一个软件就需要学一门编程语言,那你会陷入无穷无尽的麻烦,他们的底层逻辑是一样的,如果你确实需要资料也可以给你,py有150g,视频代码
共表达网络
S: 老师有lncrna和mrna能不能做共表达网络呢?有没有什么相关的数据库?
T: 应该是很多数据库,试一试,搜一搜
153. 代码生成的PDF无法打开?
S: 代码文件first.R生成的PDF无法打开?
T: 首先,查看工作目录setwd() ,确认当前生成文件的路径,然后查看工作目录下所有文件dir(),来确认工作目录下是否有想要的PDF文件。确认无误,说明生成文件没有问题。
可能的原因是:多次运行了画图代码,但是没有运行dev.off;或者多次运行dev.off(关掉画板)但是没有正常运行前边的画图代码,导致画图输出异常。
解决办法:
需要关上R Studio重新打开,再重新运行代码。
还可以,多次运行dev.off,直到控制台反馈输出dev.off,再重新运行前边的画图代码,即可。
重启R Studio
154. R包下载
S: R包下载过程时间好像挺长的,这时候电脑能休眠吗?
T: R包安装时不能休眠,可以把电脑进入休眠状态的时间设置长一点,一般不需要太久的,所以还需要做的是:设置镜像和检查网速。
155. kegg有一个物种列表
T: https://www.genome.jp/kegg/catalog/org_list.html;
156. R Studio 中文乱码:(网页搜索即可)https://blog.csdn.net/weixin_30770783/article/details/98501986 https://blog.csdn.net/qq_42128122/article/details/83068280
157. 正则表达式
Q:字符串搜索:“.t.”"t"一样吗?这样出来结果是一样的
A:这涉及到R语言里面的正则表达式,搜一下
158.字符串的分割-特殊字符
Q:老师,我做字符串的分割,为什么总是不对?
A:点是特殊字符哦,需要加上 [],分割的时候 是 [.]
159. 一个公共数据集最多可以被挖掘多少次呢?
https://mp.weixin.qq.com/s/pMVNYn-kMljavQvnhvkS_w;
160. 危险的.bashrc
T: .bashrc(Linux开机后就会加载的个性化设置),运行 cp ~/.bashrc ~/Data/bashrc_bk,备份 .bashrc文件,如果损坏,也容易解决。
修改后需要运行 source ~/.bashrc 个性化设置即生效。
bashrc:这个文件主要保存个人的一些个性化设置,如命令别名、路径等。bash 是一个能解释你输入进终端程序的东西,并且基于你的输入来运行命令。它在一定程度上支持使用脚本来定制功能,这时候就要用到 .bashrc 了。为了加载你的配置,bash 在每次启动时都会加载 .bashrc 文件的内容。每个用户的 home 目录都有这个 shell 脚本。它用来存储并加载你的终端配置和环境变量。终端配置可以包含很多不同的东西,最常见的,.bashrc 文件包含用户想要用的别名。别名允许用户通过更短的名字或替代的名字来指向命令,对于经常在终端下工作的人来说这可是一个省时利器。详见:https://www.cnblogs.com/fanheyan/p/12989329.html。
161. No such file
直接原因是:文件名写错了,或者没有在工作目录下
162. 文件命名
在R语言中,文件的命名最好用英文,否则会出现一些你看不懂得符号代替
163. xena下载的tcga数据如何用于差异分析
S: xena下载的tcga数据取了log的,应该可以用limma做差异分析吧?
T: 需要反log哦~
使用这里面的代码,转录组的上游分析视频以及代码资料在:https://share.weiyun.com/5QwKGxi ;
下游主要是基于counts矩阵的标准分析的代码:https://share.weiyun.com/50hfuLi https://mp.weixin.qq.com/s/ZcOPNzcj1EZhrHPfUZfwyQ
164. 如何检查自己的数据处理结果对不对?
A:抽查,一般样本是对的,那么整个结果也会是对的
165. 学员笔记链接
https://www.yuque.com/docs/share/d484c119-463a-4d25-91fe-c2d7dda7421b?# 《20210409R包》
https://www.yuque.com/docs/share/d429479a-21b4-4b29-be08-04ff0308a27f?# 《20210410文件读写》
166. 如何实现:NA值个数大于这个比例的对应的行删去
S: 老师好,我想问一下manyNAs这个函数在R中找不到,也搜不到对应的R包,有没有同类型的函数可以代替使用?功能大概就是设置一个比例,矩阵中NA值个数大于这个比例的对应的行就删去
T:示例代码:
is.na(NA)
is.na("a")#根据返回值,认识函数is.na()
b=matrix(rnorm(20),nrow = 5);b#生成矩阵b
k=sample(1:20,10,replace = F);b[k]=NA;bk#随机取样10个,是成为下标,将下标k的元素设置为NA,生成新矩阵b
y=function(x){sum(is.na(b[x,]))<=0.5*length(b[x,])}#编写函数,实现目的
167. !5的返回值?(与7一起看)
S: !作用对象是逻辑值,所以涉及到数据类型转换,所有非零数字转换为逻辑值均为TRUE,0=F。
168. 肿瘤转录组数据分组
S: 我想问,对于肿瘤转录组数据来说,可以用转移的和未转移的来分组,然后进行差异分析等后续分析吗?我觉得可以做,但是由于我看过的文献有限,好像没见过这么做的
T: 非常多,搜索文献
169. 字符型数据如何转换成数值型数据
S: 数据我经过了转换和合并之后class是character。用lapply as numeric后,有一部数据还是character。只能手工一列一列的as numeric. 搞了好久也没找出原因 ?
T: xena下载的数据,怎么整理,在tcga-1里面有。
170. Lasso分析
S: 老师,我还有一个疑问 ,lasso的时候从1000个计算的值选最好的值时,我发现这样每次得出的min基因和lse基因,都是不同的,画一次有一次不同,有办法可以每次都取到相同的基因吗?
T: set.seed,一个函数,学他,切割数据时用到的随机种子
171. Rstudio与R包
Q: 我是中文账户,左键安装Rstudio会报错但是用管理员身份运行Rstudio不会报错,安装R包成功(路径是:C:\Program Files\R\R-4.0.2\library这个路径和jimmy视频里的一样;这次是221个R包对吗?)。改了环境变量TEMP,TMP后,没有在新建的文件夹下重新安装R包,但是library成功。这样应该不会有什么问题吧?
A: 提问方式非常标准。安装 R 包 ,library没有报错就可以了,其他的问题不大,如果你担心,可以截图看一下你的环境变量是怎么改的。
172. R 包安装正确操作
T: 将浏览器上的代码复制粘贴到新的R Studio的脚本(script)里,从第一行代码开始,一直点run,逐行运行,不要点太快,留意每一次的运行结果,没有提示error就不用管,遇到error再解决它,看看答疑文档解决方法。如果R包加载失败,则找到安装该包的代码,重新安装,然后再library
173. library文件夹只有30个R包文件(目标221个)
S: 我的library一直只有30个R包,而老师视频里200多个
T: 不影响,因为R包安装在了不同的路径上。静待上课就好
174. 遇到奇怪的报错,怎么都解决不了,怎么办?
T: 重启Rstudio
175. 以前能用的R包现在不能用了
S: seurat安装失败,问题是上周seurat还能用?
T: (1)最新Seurat包要求R是4.0,而目前的R可能是其他版本,需要调整R或者Seurat的版本,建议设置一下Seurat包的版本,不要轻易调整R语言版本。
(2)还有一种可能是依赖包RANN的问题,可能包需要更新。安装包和更新包的方法,都是重新安装包。
这样的探针平台只能自己去注释了吧 我们课上的那个网址 还有曾老师的idmap1和idmap2 都没有这个诡异的GPL平台
有序列,可以自己注释啦
老师们我还有个问题 看云服务器有些会标是境外的 这种是下数据会快一些吗 还是要看配置 也不一定好用
会快一些
萌老师,您好,我在操作是不慎将Biotrainee文件夹删除了,导致现在无法正常安装软件,请问哪里可以复制一份,谢谢!
我看你conda安装的问题,可能是因为你下载的这个conda是有问题的。而且我看你下了两个版本的miniconda, 其中有一个是mac os的,那个不是给Linux用的。你把现在的这两个都删了,然后重新去下载一下就好了
或者你可以直接到home下面去拿一个我准备好的
rsync咋好像不能挂后台 我搞了两次都失败了
因为要输密码,你需要学一下screen,或者tmux,学会了你就无敌了。或者,可以设置公钥密钥 免密拷贝,然后就可以后台