Linux命令把excel转换为tsv或者csv

论文附件给的格式一般是excel格式,用R读取特别慢,于是找有没有命令行下的工具,将excel转换成tsv格式,方便下一步处理。

找到了xlsx2csv这个工具,详见 https://github.com/dilshod/xlsx2csv

安装也非常简单,直接用pip安装就行

pip install xlsx2csv

一个命令即可完成转换工作

xlsx2csv -d tab ***.xlsx

如果不加-d tab则默认是csv格式。

还可以批量转,假设某个目录下有很多excel文件

xlsx2csv /path/to/input/dir /path/to/output/dir

还可以在python脚本里面import,挺好用的,安利。

免疫系统介绍(转载)

全文来自https://www.cellsignal.cn/science-resources/overview-of-immunology

免疫系统

免疫系统由主要功能为检测、应答和消除病原体及转化细胞的组织、细胞和分子组成。

天然与适应性免疫应答

免疫系统有两种主要组分:1) 天然免疫系统和 2) 适应性免疫系统。天然免疫系统是第一道防线,可通过生殖细胞系编码的模式识别受体来检测病原体,但不会有记忆,并且可迅速应答(几分钟到几小时内)。适应性免疫系统应答缓慢(几天以上),使用会在发育过程中经历多次基因重排的抗原特异性受体,并且会形成免疫记忆 — 从最初的损害中“吸取教训”,使身体准备好以防止在将来暴露在类似的有害物质下。胞外液中的大分子,或特异性免疫细胞的激活会诱发这两种免疫应答。这些应答分别称为体液免疫和细胞介导的免疫。

在细胞介导的免疫应答的保护下,免疫细胞主要根据应答是天然的还是适应性的来进行分层。天然免疫系统主要包含吞噬细胞(例如嗜中性粒细胞、巨噬细胞)、自然杀伤细胞、嗜碱性粒细胞和其他靶向危险入侵微生物的细胞。适应性免疫系统的细胞为 T 细胞和 B 细胞。自然杀伤 (NK) T 细胞同时具有天然和适应性免疫细胞的特点。此外,对于大多数对免疫系统没有特异性的其他细胞类型,可能会以细胞浆受体和信号转导及效应分子(例如 RIG-I、STING 和 NLR 家族的成员)的形式带有固有的天然免疫功能。我们进一步回顾会发现,这两种系统的细胞来自于造血干细胞的不同髓样和淋巴样细胞系。

免疫系统组分

成熟免疫细胞从所谓的造血干细胞分化而来。这些是在骨髓、外周血和胎盘中发现的多能性未分化祖细胞。这些造血干细胞可分化成常见的髓样祖细胞或常见的淋巴样祖细胞。

淋巴样细胞

常见淋巴样祖细胞可分化成为四种可通过细胞表面受体表达来区分的主要淋巴细胞群:T 细胞、B 细胞、自然杀伤 (NK) 细胞及 NK-T 细胞。

T 细胞

T 细胞在细胞介导的免疫方面发挥关键作用。这些细胞可以根据 CD3 T 细胞信号转导链的表达来检测。

T 细胞来自于最初从骨髓中的造血干细胞发育而成的淋巴样祖细胞。一旦淋巴样祖细胞定向发育成为 T 细胞,就会从骨髓迁移到胸腺(因此称为 T 细胞)。胸腺提供合适的微环境,T 细胞在这里发育成为不同亚型,具体取决于在细胞表面上表达的特异性受体。早期成熟 T 细胞或胸腺细胞缺乏 CD4 和 CD8 受体,因此称为双阴性 (DN) 细胞。随后,DN 细胞经历会编码 α- 和 β- T 细胞受体 (TCR) 的基因重排和基因突变,这从细胞系定向通路开始,一直向下,最终产生对独特抗原有特异性亲和力的 T 细胞受体。

R 报错 Error protect() protection stack overflow

用Rstudio跑程序的时候报错:

1
Error: protect(): protection stack overflow

大部分解决方案是在代码中设置options(expressions = 5e5),但不能解决。其实是在执行R代码是遇到防护堆叠上溢的error,但实际上服务器的内存很大,我们增加指针保护堆栈大小就行,但是要先把R程序准备成脚本,用Rscript运行的时候添加–max-ppsize选项。例如

1
2
3
Rscript --max-ppsize=500000 test.R

# The command-line option --max-ppsize controls the maximum size of the pointer protection stack. This defaults to 50000, but can be increased to allow deep recursion or large and complicated calculations to be done. Note that parts of the garbage collection process goes through the full reserved pointer protection stack and hence becomes slower when the size is increased. Currently the maximum value accepted is 500000.

顺便学习下R的内存控制,mark一下

用exceRpt定量miRNA、piRNA、tRNA

关于miRNA的定量工具其实有很多,有人用STAR或者bowtie比对,然后自己定量。我喜欢打包的解决方案,避免造轮子,我经常用的是miRDeep2。朋友问piRNAR如何定量,是否可以用exceRpt。于是和他一起研究了下exceRpt,发现exceRpt对miRNA的定量基本上与miRDeep2的结果一致,感觉exceRpt靠谱。

exceRpt目地址:http://github.gersteinlab.org/exceRpt/

主要思想是先去掉无关的reads,比如45S, 5S,rRNA等,然后同时比对genome, miRNA(mirBase),tRNA( gtRNAdb), piRNA( piRNABank),longRNA(gencode), circRNA(circBase),看reads和哪种类型的的RNA最接近,然后定量。

wget下载整个网站或页面

碰到一个很有意思的tutorial,想保存下来线下看。 命令如下 1 wget --mirror --convert-links --adjust-extension --page-requisites --no-parent https://site-to-download.com --mirror 递归下载 --no-parent 不下载父目录,避免把整个网站下载下来 --convert-links 该命令使链接