1122生信技能树 致敬卖萌哥
016 创建独立环境
Conda想要安装软件,需要经过安装Conda、conda添加频道、conda创建独立的环境(所有装在base里的包在整个小环境都能使用,为避免占内存避免串用方便管理,所以建议设置独立的环境),最后才是软件安装
环境创建部分主要包括:
conda create -n rnaseq(创建名为rnaseq的小环境)
conda activate rnaseq (启动名为rnaseq的小环境)
conda deactivate(退出这个小环境)
conda env list或 conda info --env(用于查看存在的小环境)----对于环境的启动与退出可以观察命令提示符的首个字符,看看是否是环境名,若是,则表明环境启动;若不是,则表明退出环境。
conda remove-n rnaseq --all(删除已创建的小环境及安装的包.这个删除不用rm,用remove)
conda create -n Python2 利用conda创建一个名为Python2的环境
conda create -n Py2 --clonePython2 创建一个名为Py2的环境替代Python2(克隆--复制内部东西但是可以更改名字)
conda remove -n Py2 -all利用conda删除一个名为Py2的环境(先克隆,再删,方能完成重命名)
017 如何安装软件
首先你得装什么软件(可以参考师兄师姐以及发表文章装的啥)
如转录组常用软件(质量控制fastqc multiqc等 比对定量 bwa hista2等 无参组装Trinity等 等)
哪些软件可以用conda装呢? (三种查询方法 法1:anaconda与bioconda网站查询法2:conda search *** 服务器或者终端上装(比较慢) 3.百度搜索---关键词+conda )
注意光标变成全绿才表明可以输入(别傻傻的在这上面浪费时间)
cat ~/.condarc(查看conda频道)注意默认里频道设置为清华镜像,这样快(不是在国外)
如何去除默认设置呢?vim ~/.condarc (删除的目的是让其不去默认里照)
安装方式可以查询相应网站。conda install -e bioconda fastqc(用第三百度的方式搜索不好搜,用bioconda与anaconda的网址吧。 https://bioconda.github.io/ https://anaconda.org/search(利用anaconda的网页去找会更方便些))
注意安装软件一定要在自身相应的小环境中安装。(方便管理与不占资源),运行项目最好也在相应小环境
总结----关于软件安装
去哪装(三个方法:主要用卖萌哥老师提供的anaconda search网址去搜,比较方便)
安装在哪(安装在相应项目的小环境中)
安装软件过程:
[if !supportLists]1. [endif]看看有哪些可以安装的版本conda search fastqc
[if !supportLists]2. [endif]安装指定版本的软件conda install fastqc=0.11.7
[if !supportLists]3. [endif]添加-y参数跳过确认步骤(即我确信我装) conda install -y fastqc=0.11.7
查看安装了啥软件
[if !supportLists]1. [endif]conda list
[if !supportLists]2. [endif]查看复合正则表达式的软件conda list fastqc*
[if !supportLists]3. [endif]查看指定环境的软件conda list -n rnaseq(查看列表软件在名为rnaseq的环境里)
删除安装的软件
[if !supportLists]1. [endif]conda remove fastqc
[if !supportLists]2. [endif]Conda remove -n rnaseq fastqc (删除名为rnaseq环境下的fastqc,加了-y参数的话可以直接删除)
升级软件
[if !supportLists]1. [endif]conda update fastqc
[if !supportLists]2. [endif]conda update conda (升级conda本身,只要不影响使用,建议先不用升级,4.8之前可以升级,因为4.8之后conda有一些改变)
[if !supportLists]3. [endif]conda install python=2.7 (指定降级为旧版本,有趣)
018 conda安装报错解决(卖萌哥老师真的贴心)
[if !supportLists]1. [endif]htp000网络问题
[if !supportLists]2. [endif]conda小环境不用额外添加channel,默认设置的所有小环境都能用。但是可以进行小环境的个性化设置,不同小环境利用不同的channel。
[if !supportLists]3. [endif]怎么删除频道,方法有二
法-:先查看频道 cat ~/.condarcvim ~/.condarc(删除(家目录下的点condarc文件,点代表隐藏文件-注意)启动,启动之后需要利用光标选定需要删除的频道,同时按两下d进行删除),输入wd退出。
法二:直接删除整个频道,然后一个一个加进去
[if !supportLists]4. [endif]在小环境安装的软件只能用于小环境,退出小环境便不能使用了。可以在小环境里加小环境。
[if !supportLists]5. [endif]利用conda要激活conda,退出要conda deactivate ,进入小环境
[if !supportLists]6. [endif]调用Xmaneger不行
[if !supportLists]7. [endif]Pip(影像组学的软件安装)报错可能式版本问题;mamba安装之后可以加快conda的运行
019 conda的进阶技巧
mamba的使用
版本控制和迁移
本地安装
一些零散的奇怪知识
用mamba软件安装丝般顺滑(它并没有把conda完全重新写了一遍,而是重构了一些过程,比如安装过程,其能更好的处理系统与软件的环境配置问题以及下载速度问题),并且增加了一些功能。)
安装mamba(基于mamba的优秀属性,安装于base可以适用于所有小环境,并且老师已明确说不影响运行----装在base的包如果不明确是否有不良影响,不能安装该包在base之下)
在base下安装mamba:首先得激活base环境: conda activate base
接着利用conda安装mamba:conda install mamba
除启动环境外(conda activate rnaseq),所有conda命令都可以用mamba来代替。***
安装软件:mamba install fastqc (注意mamba可以多线程安装软件)
搜索软件:mamba search fastqc
Mamba repoquery search fastqc 这个速度更快。
mamba进阶小技巧
mamba可以很方便的查看安装的软件之间的依赖关系
我依赖谁:mamba repoquery depends -t samtools
谁依赖我:mamba repoquery whoneeds -t python(-t代表以树状的形式呈现出来)
版本控制与迁移
解决两个问题:
[if !supportLists]1. [endif]发文章时提供版本号
[if !supportLists]2. [endif]更换服务器,分享的时候保持软件版本不变
方法1:用conda list的export功能
基本用法conda list (查看当前环境所安装的软件)
进阶用法:
导出环境中安装的包的列表
conda list -n rnaseq --export > conda_rnaseq_list.txt(写txt的原因时因为容易在其他地方打开, > 输出到txt文件中)
软件名=版本号=build
安装导出的信息
conda create -n rna -file conda_rnaseq_list.txt
方法二:用conda env的export功能导出
导出想要的环境conda env export -n rnaseq > rnaseq.yml
根据导出的yml文件创造环境conda env create -f rnaseq.yml
根据导出的yml文件更新环境conda env update -f rnaseq.yml
yml文件提供的信息更全面。
本地安装:适用于1.网络实在不行的朋友 2.不联外网的大型超算平台
偷懒小技巧:巧用alias(别名),写个备忘录,这种技巧后期一定要常用,但前期一定要多敲键盘形成肌肉记忆。警告~/.bashrc文件非常重要,最好把~/.bashrc先备份一份。
嫌弃每次输入:conda activate rnaseq 太麻烦?
先备份一下~/.bashrc cp ~/.bashrc ~/.bashrc
在~/.bashrc中写入
echo “alias rna =’conda activate rnaseq’ ”>> ~/.bashrc
echo “alias deact=’conda deactivate rnaseq’ ”>> ~/.bashrc
重新加载以下~./bashrc
source ~/.bashrc
清除掉下载了但是没有用的包
conda clean -i (由清华镜像转北外镜像)删除之前的环境参数 tip:更换镜像的时候记得先运行这条。
conda clean -p 虽然读写了但是没安装的隐藏包会被清掉,包括软链接的包也会被清除
conda clean -t
conda clean -a
如何用conda将软件安装到指定位置?
先创建biosoft文件夹
mkdir biosoft
在里面创建一个samtools文件夹
cd biosoft
mkdir sametools
适用-p参数指定安装位置(-p指定的位置为绝对路径)
Conda install -p ~/biosoft/samtools samtools
如何按照位置启动小环境
直接指定到安装的位置即可
Conda env list (先看看小环境分别在什么位置)
Conda activate 小环境对应的位置(复制粘贴即可)
为特殊环境设置特殊频道(我这个环境只想用这个频道。)
conda config --env --add channels genomedk
conda -V(查看conda版本号)
进入rnaseq小环境,conda config --env --add genomedk(设置其小环境)
cat ~/.condarc(查看频道-镜像)
conda config --show channels (多了一个default默认频道-genomedk)
conda deactivate(但是退出之后,再show就没有了)
condaconfig --show channels (没有是默认使用这个频道了吗,思考下?)
020报错大赏
[if !supportLists]1. [endif]网络问题:htp000(网络不稳定或者没有联网)
解决方案:1.确保网络链接 2.多运行几次 3.删掉~/.bashrc里的default频道 4.使用mamba(mamba是真的秀,网络联网都可以)
[if !supportLists]2. [endif]一致再Solving environment(一直转转,然后后期显示failed)?
一个奇怪的解决方法:把镜像的https换成http
[if !supportLists]3. [endif]未下载完全特征是从开始安装到选择安装位置一切正常,但是到开始安装之后报错
解决方案:重新下载一个完整的安装包即可。md5sum mismatch
[if !supportLists]4. [endif]mamba只不过是重构了conda一部分的功能,下载主要取决于服务器,用的流量与网速其实是非常低的,他们是通过指令的方式去发挥作用。
[if !supportLists]5. [endif]为什么不用soure加载miniconda3影响也不大。其实一开始应该都会加载的
[if !supportLists]6. [endif]conda安装或者软件安装时,一定要按照命令的顺序进行,否则大概率会出错的,因为系统/服务器是按命令执行的。
[if !supportLists]7. [endif]本地下载可能存在套娃的情况,因为可能存在让你下完a,然后下载bcd等的情况。
[if !supportLists]8. [endif]质量控制中,fastqc:查看质量,不对不好的数据进行过滤,相当于一个report
[if !supportLists]9. [endif]Multiqc:一个文件会生成一个fastqc的结果,100个文件则会生成100个,multiqc可以把fastqc文件整合到一个文件中去,方便查看
[if !supportLists]10. [endif]fastp、trimomatic、cutadapt、trim_galore主要发挥过滤低质量的序列与剪掉接头,卖萌哥一般用Fastp,那是国内大佬用C语言写的,运行速度快,trimomatic需要手工加上接头,而fastp比较智能,无需手动添加,对新手比较友好。cutadapt直接切接头的,trim_galore貌似能够调用fastp与trimomatic。
[if !supportLists]11. [endif]比较定量中,主要用bowtie与bowtie2 STAR是用于比对的,比较消耗内存。无参转录组:trinity。 比对没有一个金标准,其是否需要考虑有无可变剪接以及是否需要其分开比对。最好是从自身感兴趣的文献学习人家用什么软件,并可以自己多比对一下软件用法。TPM与FPKM(利用RSEM直接指定,然后就可以得到TPM与FPKM,不需要自身写脚本,13年写的,并且不断在更新。)conda可以安装GCC,conda可以直接安装GCC.
[if !supportLists]12. [endif]Docker比较好用于迁移和组装