2017年12月12日~2018年1月21日学到的软件和方法的总结

Bioinformatics


Blast

  1. 我在Linux Mint中进行数据分析,使用linuxbrew和conda安装生物软件,用brew install blast和conda install blast安装了好多次,都会报错,完全没法用,后来从Blast的FTP网站下载的预编译版本就用的好好的。看来有时还是得自己手动下载安装分析软件才行。
  2. 使用本地版的Blast主要分三步:安装,构建本地数据库(makeblastdb)和blastn/x/p等等
  3. makeblastdb 时最好带上-parse_seqids和-hash_index这两个参数
  4. 核苷酸比对到核苷酸数据库的常用代码:blastn -db nt -query nt.fasta -out result.out -remote,此外还有-task参数可选,主要有三种模式:
    • mega-blast 比较较近源物种时使用
    • blastn 比较亲缘关系较远的物种时使用
    • dc-megablast 比较亲缘关系很远的物种时使用
  5. 其他重要的软件:diamondblatFAST(fastal,fastdb)
  6. 其他重要的参考资料:Wei Shen's Note
  7. E值的公式:
    • k和lambda与数据库和算法有关
    • m 代表query长度
    • n 代表数据库大小
    • s 代表序列同源性(越大越好)

通常认为E小于10^-5就是对应S值比较可靠的结果了。
在一个数据库中E=0.001时,如果有1000条序列和querry相比对的S值比现在这个S值高,那么当E为10^-6时就只有一条序列(subject)的S值比目前这个S值更高了。

E存在的问题

  • m过小时,因为S值偏小,得到的E会偏大
  • 两序列的同源性高,但是有较大的Gap时,这是会有S值偏低的情况,可以通过调整Gap scores改善S值
  • 有些序列的非功能区有较低的随机性,可以造成较高的同源性。

E的总结

  • E适合有一定长度,且复杂度不能太低的序列
  • E < 10^-5时,两序列有较高的同源性
  • E < 10^-6时,两序列同源性很高,无需再次确认

Diamond

  • -d
  • -q
  • -o
  • -f
  • -k
  • -e
  • -subject-cover

fasta 格式编辑软件

  1. fasta_formatter 可以用于调整fasta的格式
  2. bbmap的reformat.sh可以用于fasta和fastq的格式转换和多行与单行格式的互换
  3. idba_ud de fq2fa 可以做简单的fq到fa的格式转换,加上--merge可以实现interleaved功能,加上--filter可以实现去除包含N的功能
  4. bedtools getfasta可以根据gff和bed文件提取FASTA序列

vsearch软件使用

  • 参数介绍:
    1. --iddef 指代计算序列间相似度的方式,我目前用1,仅仅考虑比对上区域的identity
    2. --id 指代相似度的阈值
    3. --masout 把cluster放到一个fasta文件中,每个cluster都包含其多序列比对和一条consensus
    4. --clustr-fast filename
    5. --cluster-smallmem 和下一个参数配合使用,可以自定义初始排序由使用者自定义
    6. --usersort 在cluster中,排序时很重要的,因为cluster一半用的时懒惰算法,在第一次遇见一个全新的序列时就为它开辟一个新的cluster,后面每一条序列都只和前面已经检索过的序列进行比较(我还不是很确定,所以还得再看看usearch的原理)
    7. --threads 指定所用的cpu数目
    8. --cluster string 将每个cluster分开保存,并加上由string参数指定的前缀
    9. --strand both 分析正向和反向序列
    • 注意 :指定输出的参数只选一个!上述加粗的参数用于设置输出格式

FAST使用

  • 在将3.1GB的数据集(fastq)比对到156.6MB的database时,使用1min40s完成单核运算的步骤,当使用22个cpu核心计算剩余数据时,耗时5min20s,总物理时间7min

IGV

[to do]

  • 这是一个可视化variant calling的软件

GATK

[to do]

Trimmomatic 质控软件使用

  1. Hiseq和Miseq系列多用Truseq3的接头
  2. 现在的质量标准都是Phred33,用-phred33指定,没有指定时会自动判断,但是:the prior is phred64
  3. Palindrom模式的接头文件设置
    • >Prefix /1 代表P5端的接头,使用Neb建库试剂盒时,为尿嘧啶U3端的碱基
    • >Prefix /2 代表P7端的接头,使用Neb建库试剂盒时,是尿嘧啶U5端的碱基
  4. ILLIMINACLIP:adapter.fa:最大允许去接头操作时的错配数目(2):Palindrom去接头时的最低scores,关于score的计算方式见下文(引自Trimmomatic manual):

Each matching base increases the alignment score by 0.6, while each mismatch reduces the alignment score by Q/10. By considering the quality of the base calls, mismatches caused by read errors have less impact. A perfect match of a 12 base sequence will score just over 7, while 25 bases are needed to score 15. As such we recommend values of between 7 - 15 as the threshold value for simple alignment mode

  1. LEADING:网上有些人错误理解这个参数了,这个参数设置的是序列5端最低可以接受质量,TRAILING类似,指定3端的相应参数
  2. CROP:指序列最大长度,超过部分从3端截掉,HEADCROP指无论如何都要从5端去掉的碱基数目
  3. AVGQUAL:指序列平均质量值的阈值

idba_ud

  1. --mink 指定最小的kmer值
  2. --maxk 指定最大的kmer值
  3. --step 指定kmer每一步增加的值

简单易用的小代码

echo your.fasta | rev | tr ATGC TACG
grep -c '^>' 可以用于计数fasta序列数目

cutadapt

[to do]

  • 这是一个多才多艺的质控软件,有空再学

bioawk

[这个是神器]

  1. 支持sam,bed,gff,vcf和fastx格式
  2. 查看帮助文件非常简单 bioawk -c help

seqtk

  1. seq 格式转换
  2. comp 碱基组成信息
  3. sample 随机取样
  4. subseq 取子集
  5. trimfq

megahit

  1. --kmin
  2. --k-step
  3. -1 -2 -m -t -o --continue
  4. --k-list

NCBI

  1. 关键字得好好学学啊,例如branchiopoda[orgn],就是检索数据的organism那个filed中包含branchiopoda关键字的record

bbmap

[这个是神器]

  • mid=97 mo=300 t=4 sort=t
    这个软件可以直接在geneious中使用

FANse2

这是暨南大学张弓教授团队开发的序列比对软件,使用32bit的mpich2执行并行计算。

  • Maximum read length:限制最大序列长度
  • Maximum error:比对的最大错配数
  • Mask genome:把参考基因组中所有的小写碱基都给屏蔽掉
  • Best position:
  • Min seed length:越短允许越多的error(测序错误),14比较合适
  • Unidirection:关闭之后会mapping正向和反向序列
  • Memory reduction:一个逻辑核心大概使用2GB当然RAM,一般情况可以不用选,选了之后大约降低20%的性能
  • Export all best matches:设置在有多个等质量的比对时,是否输出多个比多结果
  • Ref.Genome:顾名思义,指定参考基因组
  • Dataset:待分析数据集
  • Output:输出文件
  • Parallel:并行核数
  • split reference seg size:把待分析文件分成小块
  • work folder:临时文件存储位置

demultiplex的软件

根据barcode拆分NGS data的软件有很多,可以试试seqtk_demultiplex和fastq_multx

brew

  1. brew cask install 与brew install的安装方式有一点点区别,前者主要暗转GUI软件,并且时预编译好了的,软件安装仅仅执行下载,解压和添加到PATH的过程,而后者会有编译和安装的过程,建议使用者先用brew cask安装,因为一般来说这样的安装在卸载时可以很干净
  2. brew options formula 可以查看带安装软件有什么可选参数,比如安装mrbayes时,就可以看到可以指定mpi和BEAGLE参数
  3. homebrew/science 不再被建议使用了,大家可以tap brewsci/bio和brewsci/science这两个formula集合

cpan

  • 这是一个Perl程序的名字,让使用者可以从CPAN上下载、安装、更新以及管理在CPAN上的Perl程序

值得一看的资源

  1. Bioinformatics & machine learning Yue Zheng
  2. 宏基因组上机操作手册
  3. metagene

日常生活


windows与Mac共享文件

  1. windows访问Mac:打开我的电脑,映射网络驱动器,输入Mac的IP地址即可
  2. Mac访问windows:command + K,输入smb://IP,随后输入用户名和密码

linux shell

  1. grep技巧
    • grep -w 仅仅匹配完整的单词(模式字符串左右都需要包含空格)
    • grep --color=auto 高亮匹配
    • -i 忽略大小写
    • -e 可以指定多个匹配样式
    • -f 利用文件中的模式进行匹配
    • --include
    • --exclude
    • --exclude-from
    • -B 返回匹配上面的多行
    • -A 返回匹配下面的多行
    • -l 返回包含匹配的文件名
  1. less技巧

    • 空格代表前进
    • b 代表后退
    • g 会到开始处
    • G 去到末尾
    • q退出
  2. ls技巧

    • -F /代表文件夹,*代表程序
    • -d 屏蔽文件夹内部信息
    • -r 最新的文件或文件夹放在最下面
  3. tr 技巧

    • tr 'a-z' 'A-Z' 小写转大写
  4. uniq 技巧

    • uniq -c 计数每个字符串出现的次数
  5. qsub 计算机集群任务配置文件

    • -I nodes=4:ppn=20,walltime=4:00:00,mem=150G
    • -o fastalrun (the output dir)
    • -N (the name of this process)
    • $PBS_O_WORKDIR (the dir where this process was upload)
    • -d (the working directory)
    • -q (the priority level of this process)
  6. tmux to do

  7. Top 技巧(linux mint)
    t 查看cpu view,m 查看memory view,f/F调整fileds,z:颜色,b:加粗,u/U选择带查看的用户,n显示进程数目

  8. sort 技巧
    -u
    -t 指定间隔符号

  9. nohup 服务器操作小帮手

  • nohup command > log 2>&1 &
  • 上述代码可以让你在exit登出或者是意外掉线后,远程服务器上的程序继续稳稳当当的运行,但是tmux可以做到更强大,唯一的问题就是需要服务器安装了tmux才行,然而我们大多数时候都没有办法sudo,不可以安装软件
  1. zip和unzip

    • zip -r file.zip file/
    • unzip -t 测试文件是否完整
  2. tar

    • tar -xf file.tar.gz
    • tar -zxvf file.tar.gz
    • tar -tf file.tar.gz
      -tar -ztvf file.tar.gz
      f 参数需要放在最后,即靠近待处理文件,t参数可以用于检视压缩文件所包含的内容,但是不解压
  3. sed

    1. sed '2,5d' 删除第2~5行
    2. sed -n '5,7p' 打印出第5~7行的内容
    3. sed '/^$/d' 删除空白行
  4. 基本概念:

    • 使用export的变量是环境变量,没有使用export的是自定义变量
  5. scp 文件传输工具

  6. split

    • -a 后缀长度
    • -l 行数
    • file 待分解文件
    • prefix 分出来的文件块的前缀
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,519评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,842评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,544评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,742评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,646评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,027评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,513评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,169评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,324评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,268评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,299评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,996评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,591评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,667评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,911评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,288评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,871评论 2 341