美文网首页生物信息学
2017年12月12日~2018年1月21日学到的软件和方法的总

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

作者: 热爱大自然的小和尚 | 来源:发表于2018-01-22 16:55 被阅读470次

    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 分出来的文件块的前缀

    相关文章

      网友评论

        本文标题:2017年12月12日~2018年1月21日学到的软件和方法的总

        本文链接:https://www.haomeiwen.com/subject/dlokaxtx.html