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元/小时,有需求可以简信我。
有些问题只能线下才能更好地解决。总觉得这样卖时间还是便宜了。

目录
相关文章
|
7月前
|
机器学习/深度学习 资源调度 数据可视化
UCB Data100:数据科学的原理和技巧:第十六章到第十八章
UCB Data100:数据科学的原理和技巧:第十六章到第十八章
124 0
WRF模式案例运行初体验--飓风示例全过程记录
本文主要记录一下首次学习WRF并运行官网案例的全过程。
WRF模式案例运行初体验--飓风示例全过程记录
|
3月前
|
Go 开发工具 git
CF+hugo部署要点随记
本文介绍了使用Hugo搭建静态博客的方法,Hugo是一款用Go语言编写的静态站点生成器。文中详细描述了在Windows环境下安装Go、Git和Hugo的步骤,并提供了快速启动指南。此外,还介绍了如何通过Git子模块引入主题,以及如何在本地创建和编辑文章。最后,给出了常用Markdown语法示例,帮助用户轻松撰写博客内容。
101 5
|
7月前
|
机器学习/深度学习 资源调度 算法
UCB Data100:数据科学的原理和技巧:第二十一章到第二十六章
UCB Data100:数据科学的原理和技巧:第二十一章到第二十六章
118 0
|
7月前
|
SQL 存储 资源调度
UCB Data100:数据科学的原理和技巧:第十九章到第二十章
UCB Data100:数据科学的原理和技巧:第十九章到第二十章
90 0
|
Linux API Python
wrf模式学习记录--使用ERA5数据驱动WRF模式三层嵌套:数据下载以及模式处理
wrf模式学习记录--使用ERA5数据驱动WRF模式三层嵌套:数据下载以及模式处理
wrf模式学习记录--使用ERA5数据驱动WRF模式三层嵌套:数据下载以及模式处理
|
存储 算法 数据可视化
|
存储 数据挖掘 Shell
GATK 软件分析流程
GATK 软件分析流程由阿里云和 Broad Institute 合作提供。Broad Institute 提供的 GATK 流程最佳实践用 工作流定义语言(WDL) 编写,通过批量计算集成的 Cromwell 工作流引擎解析执行。用户将为作业运行时实际消耗的计算和存储资源付费,不需要支付资源之外的附加费用。 Broad Institute GATK 网站和论坛为 GATK 工具和 WDL 提供了更完整的背景信息,文档和支持。 如果需要执行用 WDL 编写的通用工作流程,请参考 cromwell 工作流引擎和 WDL 支持的 APP 。
1859 0
GATK 软件分析流程
|
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)。

相关实验场景

更多