biostar handbook(一)分析环境和数据可重复

简介: biostarhandbook(一)分析环境和数据可重复2017/10/18/11:00第一版本笔记,主要更新了生物信息要用那些基本技能和电脑配置简单说明,以及如何在虚拟机器上安装bioconda2017/10/18/12:30第二版笔记,增加虚拟机配置2017/10/18/13:05 第三版笔记,增加文件结构2017/10/19/10:30 第四版笔记, 增加如何用xshell连接虚拟机内部系统2017/10/20/08:09 第五版笔记,增加线下辅导部分。

biostarhandbook(一)分析环境和数据可重复

2017/10/18/11:00第一版本笔记,主要更新了生物信息要用那些基本技能和电脑配置简单说明,以及如何在虚拟机器上安装bioconda
2017/10/18/12:30第二版笔记,增加虚拟机配置
2017/10/18/13:05 第三版笔记,增加文件结构
2017/10/19/10:30 第四版笔记, 增加如何用xshell连接虚拟机内部系统
2017/10/20/08:09 第五版笔记,增加线下辅导部分。

生物信息的基本技能

  1. 数据管理: 也就是你如何获取所需数据,以及如何存放管理这些数据。尤其是后期数据越来越多的时候,混乱的管理会导致极大的效率降低和不可重复的结果产生。
  2. 初步数据分析: 就是利用不同软件把格式A转换称格式B,其中如果缺少必要的工具,你还得自己写工具。这就是为什么你要学Linux和脚本语言
  3. 数据解释: 软件只会给你一堆数据,如何赋予数据意义,这就是涉及到统计,生物等多学科的交叉。

如何解决所有问题

这个问题对于初学者而言,非常重要,当然我觉得更加重要的问题是:

如何发现自己真正的问题。

是的,大部分人是意识不到自己到底有什么问题,我遇到的最多的提问就是给我发了一张截图,期望我能像福尔摩斯一样根据一些小小的线索推测背后的原因。

我当然有这个能力,毕竟我是自学过来的,但是我不会去推测。我不能动你要动的脑子,既浪费我的时间,也浪费我的时间。

因此,搞不清楚如何提问才是初学者的最大的问题。因此先去买一本《如何提问》读几遍。

搞生信要什么样的电脑

Biostar handbook的前几周课程可以现在虚拟机上面运行,主要是熟悉Linux操作和部署工作环境。

由于之前安装Docker需要安装Hyper-V,所以演示基于微软的Hyper-V, VirtualBox和VM也可用。

先去清华大学开源软件镜像站下载Ubuntu的安装ISO文件

img_3ad5f6b2bc34ba31a6d49d6a44b4bace.png

然后查看百度经验Hyper-v 上安装ubuntu 15.04

重点是:选择合适内存大小(>4G)和虚拟机文件存放位置。第一代还是第二代虚拟机影响不大,后续要么在硬盘上装Linux要么就用Windows。
关于网络设置原理推荐看这篇文章:http://wangchunhai.blog.51cto.com/225186/561836/

后续实际分析的时候则是需要一台小型服务器,或者是一台高性能的PC,这部分根据组里的经费,配置越高越好。内存至少16G起步,64G比较合适,128G大部分的处理再也不是你的问题了。

如何配置你的电脑

以下操作都在虚拟机中完成,避免因为不熟练祸害到真实世界。

后续的数据分析主要熟悉多种多样的软件,因此第一个问题就是如何运行软件。

  • 二进制包可以直接运行,(需要设置环境变量)
  • 源代码需要编译(有难度)
  • java, python, perl用来解释下载的对应代码

当然初学者我推荐用conda(Linux),或homebrew(Mac OS).因此只要如下三步

  1. 打开虚拟机
  2. 安装conda,并且加载bioconda
  3. 安装软件

打开虚拟机

打开虚拟机之后,请尽量用 ctrl+alt+F1~F6切换到这如下这种黑乎乎的界面,后续我们的操作尽量去便面用到图形界面。

img_bc9223d1dcf473c6aa00ce1cd8ae1ec6.png
image.png

第一: 图形界面操作在虚拟机下感觉会卡
第二: 图形界面不是Linux所必须
第三: 服务器也是黑乎乎

确保ping -c 3 baidu.com的结果如下:

img_c9b2cf3fa119ccadf26165517c22441c.png
image.png

这一步是保证网络畅通。之后我们需要配置Ubuntu的包管理镜像,采用国内快速的镜像源, 偷懒的做法是在设置中的软件和更新里面点点鼠标自动选择最快的服务器。

img_72ccd15c1d72f0f86dcd1d6764db8e88.png

之后你软件会进行自动地一些更新。但是最优雅的方法就是,用如下的命令。

# 不要复制,请确保自己选择合适的镜像
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt-get update
sudo apt-get upgrade

后续的操作我们都不会继续用到虚拟机的图形界面了,图形太耗资源了

如何优雅的使用虚拟机

微软的Hyper-V的联网方式有:外部,内部和专用三种。。

img_925d9e92efbae242b97f97ce47ad52fc.png
Hyper-V的联网方式

其中外部就是说安装的虚拟机和宿主机处在同一个网络下,你需要为他配置好IP地址,你可以通过ifconfig获取目前的IP.

img_76a13da691d07f9ca3cd895e71a5f5f3.png
IP地址

随后,我们就可用利用xshell,进行连接。

Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。

首先看看宿主机能否ping通虚拟机中Linux。

img_d4bea53cb8b8f088190497119031f72b.png
连接检查

其次ping通之后,还要在Ubuntu中安装openssh-server这样才能保证用户能够访问主机

sudo apt-get install openssh-server
# check
ps -e | grep ssh
img_e0ff04d7ab76e5b742c788690bd71070.png
ssh服务

用xshell访问虚拟机,

img_649889c1900caabcc33d366384312f05.png
连接虚拟机

在xshell下使用biostar handbook提供的终端配置

wget http://data.biostarhandbook.com/install/bash_profile.txt
cat bash_profile.txt >> ~/.bash_profile
wget http://data.biostarhandbook.com/install/bashrc.txt
cat bashrc.txt >> ~/.bashrc
source ~/.bash_profile

以上便是系统配置部分。

下载conda

conda,我使用的清华镜像源的miniconda, 这个时候就只能用ctrl+shift+F7切换会图形界面,然后以之前获取Ubuntu下载链接的相同方式获取miniconda. 如果清华镜像源搞不定,还有中科大,阿里,163等多个镜像源等着你,不要在一棵树上吊死

img_a034abb62bbf3716096fc3828df3fe20.png
mkdir src
cd src
# 下载镜像
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-4.3.27-Linux-x86_64.sh
# 安装
bash Miniconda3-4.3.27-Linux-x86_64.sh
# 后续就不断的yes就行了。
# 配置
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

注意: 经常有人提问,访问清华镜像源出现404或503等错误,不知道如何解决。我目前的建议就是,自己去https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/ 手动下载安装包,然后在miniconda3进行解压缩。
conda install指令做的事情无非也就是先去下载,然后解压缩,只不过核心在于自动解决依赖关系,手动解压缩需要自己解决依赖关系。(我感觉这样说也很难懂)

后续我们的工作都会在conda提供的工作环境中进行

conda create -y --name bioinfo python=2
source activate bioinfo

source适用于启动工具环境的,请查阅source的工作原理。

安装课程所需要的所有软件

curl http://data.biostarhandbook.com/install/conda.txt | xargs conda install -y
img_f8016f29e64ede3f1e22ec7a94540fe2.png

文件结构:强迫症的解药,所有人的良方

实不相瞒,如何设计一个优秀的文件结构是一个很乏味,但是对非常重要的工作,所以我建议你先去读读一篇发在plot上的论文A Quick Guide to Organizing Computational Biology Projects.

然后再看看别人的经验之谈My research workflow, based on Github

这个内容在后续数据模块才会强调,但是目前比较重要的是

  • 请把源代码放到 ~/src
  • 请把二进制文件放到 ~/bin
  • 请把参考基因组如下方式存放
genome
├── 物种名
│   ├── 版本号
│   │   ├── readme.txt
│   │   ├── Annotation # 存放注释
│   │   │   ├── Ahalleri_264_v1.1.annotation_info.txt
│   │   │── BLAST #存放BLAST
│   │   │── HISTA2 # 存放HISAT2的索引
│   │   │── BWA # 存放BWA的索引
│   │   │── Sequence # 存放基因组FASTA文件

这部分的重点:

  • 如何使用虚拟机,将来是如何在电脑上安装Linux
  • 如何运行命令
  • 环境变量
  • conda的使用,以及conda的工作环境
  • 规划文件结构

给自己打个广告, 上海地区提供线下biostar handbook课程辅导,收费是100元/小时,有需求可以简信我。
有些问题只能线下才能更好地解决。总觉得这样卖时间还是便宜了。

目录
相关文章
WRF模式案例运行初体验--飓风示例全过程记录
本文主要记录一下首次学习WRF并运行官网案例的全过程。
WRF模式案例运行初体验--飓风示例全过程记录
|
3天前
|
SQL JavaScript 前端开发
阿萨聊测试 ZAP4:如何用ZAP 做Fuzz测试?
阿萨聊测试 ZAP4:如何用ZAP 做Fuzz测试?
阿萨聊测试 ZAP4:如何用ZAP 做Fuzz测试?
|
编解码 Shell Linux
使用GFS数据驱动WRF模式场--2层嵌套 全过程学习记录
使用GFS数据驱动WRF模式场--2层嵌套 全过程学习记录
使用GFS数据驱动WRF模式场--2层嵌套 全过程学习记录
|
安全 Shell API
蜻蜓:GitLab结合fortify实现自动化代码扫描实践
在甲方做安全的同学可能会有一项代码审计的工作,通常需要从gitlab把代码拉取下来,然后使用代码审计工具进行扫描,然后对结果进行人工确认; 在这个流程中需要做的事情比较繁琐,比如说gitlab如何配置token、如何自动化把代码拉取到本地、如何调用fortify实现批量扫描等诸多繁琐问题。 本篇文章以甲方安全代码安全建设为主线,分享如何让代码审计工具自动化扫描gitlab仓库里的代码。并且提供了一个便捷的实验环境供大家测试。
499 0
蜻蜓:GitLab结合fortify实现自动化代码扫描实践
|
机器学习/深度学习 Ubuntu Linux
Atlas 200 DK开发者套件基于CANN的垃圾分类实验踩坑指南
Atlas 200 DK开发者套件基于CANN的垃圾分类实验踩坑指南
Atlas 200 DK开发者套件基于CANN的垃圾分类实验踩坑指南
|
设计模式 编译器 Go
Go 软件设计之道:1 对不同类型的数据进行分组 #私藏项目实操分享#
Go 软件设计之道:1 对不同类型的数据进行分组 #私藏项目实操分享#
148 0
Go 软件设计之道:1 对不同类型的数据进行分组 #私藏项目实操分享#
|
Web App开发 算法 测试技术
[雪峰磁针石博客]MD5值重复文件多进程检查工具check_md5.py - 性能测试工具开发
MD5简介 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992)。
|
数据建模
biostar handbook(十一)|基因组变异的表示形式
VCF文件格式 在biostar handbook(十)|如何进行变异检测部分我们最后以VCF格式存放找到的变异。尽管大部分情况下,我们都不需要直接和VCF文件打交道,通常就是将其作为输入提供给后续的分析。
1545 0
|
数据可视化
biostar handbook|如何模拟测序结果
为了评价一个工具的性能,通常我们都需要先模拟一批数据。这样相当于有了参考答案,才能检查工具的实际表现情况。因此对于我们而言,面对一个新的功能,可以先用模拟的数据测试下不同工具的优缺点。
1630 0