专栏首页生信技能树linux系统环境变量一文就够

linux系统环境变量一文就够

Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。 通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。 环境变量是全局的,设置好的环境变量可以被所有当前用户所运行的程序所使用。 用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。

环境变量有很多,需要重点理解的就是PATH,很多时候大家看到教程某些软件的使用,比如

mkdir -p  ~/tmp/chrX_Y/hg19/cd  ~/tmp/chrX_Y/hg19/#conda install -c bioconda bwa#conda install -c bioconda samtoolswget  http://hgdownload.cse.ucsc.edu/goldenPath/hg19/chromosomes/chrX.fa.gz; wget  http://hgdownload.cse.ucsc.edu/goldenPath/hg19/chromosomes/chrY.fa.gz; gunzip chrX.fa.gzgunzip chrY.fa.gzwget https://github.com/jmzeng1314/my-perl/blob/master/2.chrX-chrY/simulate.pl~/biosoft/bwa/bwa-0.7.15/bwa index chrX.faperl simulate.pl chrY.fa~/biosoft/bwa/bwa-0.7.15/bwa mem -t 5 -M chrX.fa read*.fa >read.samsamtools view -bS read.sam >read.bamsamtools flagstat read.bamsamtools sort -@ 5 -o read.sorted.bam  read.bamsamtools view -h -F4  -q 5 read.sorted.bam |samtools view -bS |samtools rmdup -  read.filter.rmdup.bamsamtools index read.filter.rmdup.bamsamtools mpileup -ugf ~/tmp/chrX_Y/hg19/chrX.fa  read.filter.rmdup.bam  |bcftools call -vmO z -o read.bcftools.vcf.gz

bwa软件就没有添加到环境变量,所以需要用全路径,指明使用电脑里面什么地方的bwa软件来做数据分析,而samtools我已经添加到环境变量了,所以可以直接调用。 而为什么没有把bwa添加到环境变量,是因为我的安装方式的问题,我的安装代码如下:

## Download and install BWAcd ~/biosoftmkdir bwa &&  cd bwa#http://sourceforge.net/projects/bio-bwa/files/wget https://sourceforge.net/projects/bio-bwa/files/bwa-0.7.15.tar.bz2 tar xvfj bwa-0.7.15.tar.bz2 # x extracts, v is verbose (details of what it is doing), f skips prompting for each individual file, and j tells it to unzip .bz2 filescd bwa-0.7.15make#export PATH=$PATH:/path/to/bwa-0.7.15 # Add bwa to your PATH by editing ~/.bashrc file (or .bash_profile or .profile file)# /path/to/ is an placeholder. Replace with real path to BWA on your machine#source ~/.bashrc

可以看到我的bwa安装在 ~/biosoft/bwa/bwa-0.7.15/ 目录,而且我并不想把它添加到环境变量。 假如我使用的是 conda install -c bioconda bwa 那么这个bwa软件就会被自动添加到环境变量,因为conda会帮我管理好所以软件。

而把安装好的软件添加到环境变量的方法有:

第一种方法

export PATH=/usr/local/webserver/mysql/bin:$PATH  ## 先添加echo $PATH        ### 再查看

上述方法的PATH 在终端关闭后就会消失。所以还是建议通过编辑/etc/profile来改PATH,也可以修改家目录下的.bashrc(即:~/.bashrc)。只不过通常情况下普通用户都是修改自己目录下的 .bashrc文件。

第二种方法

vim /etc/profile在最后,添加:export PATH="/usr/local/webserver/mysql/bin:$PATH"保存,退出,然后运行:           source /etc/profile,不报错则成功。

当然,还有很多其它的环境变量,如下:

PATH:        决定了shell将到哪些目录中寻找命令或程序ROOTPATH:     这个变量的功能和PATH相同,但它只罗列出超级用户(root)键入命令时所需检查的目录。HOME:        当前用户主目录USER:         查看当前的用户LOGNAME:     查看当前用户的登录名。UID:         当前用户的识别字,取值是由数位构成的字串。SHELL:       是指当前用户用的是哪种Shell。TERM :       终端的类型。PWD           当前工作目录的绝对路径名,该变量的取值随cd命令的使用而变化。MAIL:        是指当前用户的邮件存放目录。HISTSIZE:    是指保存历史命令记录的条数HOSTNAME:    是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。PS1:         是基本提示符,对于root用户是#,对于普通用户是$,也可以使用一些更复杂的值。PS2:         是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,My NewPrompt :) ”。# PS1=" Hello,My NewPrompt :) "IFS:         输入域分隔符。当shell读取输入时,用来分隔单词的一组字符,它们通常是空格、制表符和换行符。

大部分并不需要背诵,我们要学会的其实是搜索技巧,碰到陌生的知识点,用于搜索。

当然, 对很多不希望太纠结的朋友,选择conda就足够了。

利用conda布署生物信息分析环境

其实Windows系统也是有环境变量的,只是很多朋友选择性的忽视掉了,因为Windows操作系统是界面版本的,所以只需要右键点击我的电脑进行属性,选择高级设置里面的环境变量即可。(好久没有用Windows,可能说的不太对,希望你自己去搜搜,尤其是你需要安装java等工具,可能会与环境变量打交道)

马哥linux视频里面有详细讲解这些细节问题,如果你看文字版本不能迅速理解,在生信技能树的公众号后台回复 马哥 可以拿到系列视频,推荐自行观看视频

本文分享自微信公众号 - 生信技能树(biotrainee),作者:jimmy

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【直播】我的基因组70:比对文件并不能完美的还原出测序文件

    前面我们说到过可以用软件或者自己写脚本从已经比对到参考基因组的sam/bam格式文件提取出原始的测序fastq文件。 但是我在IGV里面检查bam文件的时候发现...

    生信技能树
  • 七步走纯R代码通过数据挖掘复现一篇实验文章(第1到6步)

    提高数据清洗的能力,将会很大程度的提高你做分析数据的速度,可能有的人还是习惯用Excel来清洗数据,但是我建议能用代码的尽量用代码解决,数据清洗思路也很重要,一...

    生信技能树
  • 没有自己的服务器如何学习生物数据分析(上篇)

    编者注:完整文章首发于作者博客 http://huboqiang.cn/ 在这篇文章中,作者利用大数据平台 IBM data science 对生信技能树...

    生信技能树
  • R语言高级数据结构data.table

    对于data.frame大家应该很熟悉,它可以存储不同数据类型的向量数据。今天给大家介绍一个升级版的data.frame,其不仅可以存储不同数据类型还可以进行多...

    一粒沙
  • 教程-Spark安装与环境配置

    Spark是一种通用的大数据计算框架,是基于RDD(弹性分布式数据集)的一种计算模型。那到底是什么,可能还不是太理解,通俗讲就是可以分布式处理大量极数据的,将大...

    张俊红
  • Intel-analytics三大深度学习开源库: DL应用直接用于Spark或Hadoop集群

    【新智元导读】本文带来Github上账号为intel-analytics发布的三大深度学习库的介绍。 BigDL 什么是BigDL? BigDL是一个基于Apa...

    新智元
  • 使用R语言下载TCGA数据库癌症基因表达数据小例子

    上面遇到的问题今天找到了解决办法:可以使用SummarizedExperiment包中的函数assay()函数将表达矩阵提取出来;colData()函数好像是获...

    用户7010445
  • 解决Python找不到ssl模块问题 No module named _ssl

    用户7081581
  • notification通知栏

    https://blog.csdn.net/fzkf9225/article/details/81119780

    平凡的学生族
  • SQLMAPAPI-一个被遗忘的API接口《第一章:初识SQLMAP API和命令行中调用》

    最近在写一款漏洞检测软件的时候,发现对于SQL注入的一些判断还有测试不是很精准,于是乎我就想到了本文的一个主角,SQLMAPAPI,这个API是SQLMAP官...

    Gcow安全团队

扫码关注云+社区

领取腾讯云代金券