NCBI测序原始数据上传

具体操作可以参照这篇博客,这里只补充几点。

1、申请登录号顺序

建议首先申请Biosample号,再申请BioProject号,最后申请SRA号。在第二步的过程中只需要填写第一个Biosample号就可以了。也可以先申请BioProject号,Biosample号先空着,再申请Biosample号,然后在填表中”bioproject_accession”填上申请的BioProject号就可以了。

2、填表的疑问

遇到最多的问题就是sample_name通不过,按照参考中的方法在最后添加一列“replicate”,然后填上对应的replicate描述就可以了。在填写“collection_date”时也应注意要使用标准日期格式,如“2021-07-01”,不能把月份和日期前面的0省略。“geo_loc_name”这栏填写上传样品基因型的位置,国家要采用标准的国家名称,后面跟冒号和省份,也可以不加。

在填写”SRA_metadata_acc”表时,”library_ID”可以自己编一个,不能重复,”title” 填写样品描述信息,可以采用如以下格式“RNA-Seq of organism: cultivar tissue”,“design_description”可以填写实验设计时的信息,如”control,replication 1″,”Treatment,replication 1″。

3、测序原始数据上传

建议使用Aspera上传,特别是数据量比较大时。可以参考这篇文章的方法,不过需要特别注意的最好上传文件夹,里面包含了所有需要上传的测序文件,不然是上传到根目录了,不能显示,费半天劲白传了。可以参考我的这个代码。”samples_dir”为包含测序文件的文件夹,“root_link”为NCBI提供的链接,点“Aspera Command-Line upload”右边的加号就会出现,一般是邮箱加密钥。一般是上传完成后10分钟才会看到结果。

nohup ~/.aspera/connect/bin/ascp -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -QT -l100m -k1 -d ~/data/transcriptome/samples/fleshed/samples_dir subasp@upload.ncbi.nlm.nih.gov:uploads/root_link &

Galaxy介绍

galaxy是一个很好的生信云平台,云平台也是今后的趋势,毕竟在本地安装各种各样的软件实在是太折腾人了。网址:https://usegalaxy.org/ 。 如果想用的话可以看官方操作说明。简单的操作可以看这篇博客。

admixture的安装

由于admixture软件下载(http://software.genetics.ucla.edu/admixture/download.html )地址打不开了,所以admixture无法从原网址下,尝试使用了

conda install admixture

还是不行,最后想到admixture是生物信息软件,应该用专用的生物类的conda下载,试了下,果然OK。

conda install -c bioconda admixture

SnpEff安装和使用中的问题

SnpEff 软件通过基因组序列和注释文件对VCF文件中的SNP/InDel信息进行注释的软件,即主要解释了SNP/InDel是否能够对编码蛋白基因造成影响。关于snpEff使用和安装的文章很多了(如SnpEff使用方法SnpEFF注释vcf-笔记),我这里就不再列出了,主要晒晒我在安装和使用过程中踩过的坑。

一、版本下载的问题。在这个页面有所有snpEff的版本,第一次我下了排在最前面的snpEff_v4_5covid19_core.zip,后面在安装数据库时,发现所有常见物种的数据库都安装不了,后面看到这个包的前缀才知道是covid19版本的,只有covid19的库,想重新下一个,怎奈下载速度实在是太慢,只能放弃了。用这个版本自建了个库,发现可以用。所以下载包时要注意。

二、建库。

我使用的是NCBI中的拟南芥参考数据库建的库,先是用的基因组序列和gtf文件,用的下面代码。

java -jar ~/snpEff/snpEff.jar build -c ~/snpEff/snpEff.config -gtf22 -v AT_10

但是当使用的时候出现了下列错误:

java.lang.RuntimeException: java.lang.RuntimeException: File not found on the server. Make sure the database name is correct.

也没找到是什么原因,后来想想NCBI注释文件一直使用的gff3的文件,参考数据库中所带的gft文件可能不太对。所以就换了gff3的注释文件重新建库,果然可以了。

java -jar ~/snpEff/snpEff.jar build -c ~/snpEff/snpEff.config -gff -v AT_10

最后运行分析程序就可以了。

java -Xmx10G -jar ~/snpEff/snpEff.jar eff -c ~/snpEff/snpEff.config AT_10 positive.vcf > positive.snp.eff.vcf

对于结果解读可以参考这篇文章(SnpEff结果解读)。

CIRCOS快速安装

因要画圈图来展现测序获得的SNP的密度和质量,打算用用这个原来见过无数次但都没有用过的circos(听说非常强大)。

其实官网上已经给出了详细的安装教程,没有必要重复列出,这里主要说一下需要注意的问题。先简要说一下安装的顺序。

1、下载 circos (建议去官网下载)。

2、解压circos-current.tgz, 进入到解压后的文件,打开bin这个文件夹,运行

> circos -modules
ok       1.26 Carp
ok       0.37 Clone
ok       2.50 Config::General
ok       3.33 Cwd
ok      2.145 Data::Dumper
ok       2.52 Digest::MD5
ok       2.76 File::Basename
ok       3.33 File::Spec::Functions
ok       0.22 File::Temp
ok       1.49 FindBin
ok       0.39 Font::TTF::Font
ok       2.43 GD
ok        0.2 GD::Polyline
ok       2.37 Getopt::Long
ok       1.14 IO::File
ok       0.33 List::MoreUtils
ok       1.38 List::Util
ok       0.01 Math::Bezier
ok       1.59 Math::BigFloat
ok       0.06 Math::Round
ok       0.08 Math::VecStat
ok    1.01_02 Memoize
ok       1.13 POSIX
ok       0.95 Params::Validate
ok       1.36 Pod::Usage
ok       1.03 Readonly
ok 2010010201 Regexp::Common
ok       2.49 SVG
ok       1.16 Set::IntSpan
ok     1.6607 Statistics::Basic
ok       2.30 Storable
ok       1.11 Sys::Hostname
ok       2.02 Text::Balanced
ok       0.53 Text::Format
ok     1.9725 Time::HiRes

确定每个模块都ok,对于标记为missing的模块,使用cpan安装。GD模块安装不上的话接着看下一步。

3、安装GD

建议使用yum install 安装,附带的库也会一起安装,不然还要一下一个的下载源代码去安装,如ncurses, zlib,PNG,ttf ,libmcrypt,JPEG6libxml2,Fontconfig 非常麻烦。如果没有yum权限那就没有办法了,乖乖的一个一个安吧。

>yum -y install gd-devel.x86_64

4、安装好上面的GD库后,再返回再用cpan安装GD模块。

5、进入到circos的安装目录的example文件夹中,运行事例文件。

> ./run

在Jupyter中配置使用Julia语言

最近了解到Julia是种非常好用的语言,打算学习一下,在 coursera上找到了相应的课程,但是是写在Jupyter中的,只能安装 IJulia 插件,按照要求先是在Julia终端(安装Julia的过程很简单,这里就不介绍了)输入

using Pkg
Pkg.add("IJulia")
结果出现了好像包不能编译的情况如ZMQ,”build ZMQ”出现了下面的错误:
(v1.1) pkg> build ZMQ
  Building ZMQ → `~/.julia/packages/ZMQ/ABGOx/deps/build.log`
┌ Error: Error building `ZMQ`: 
│ ┌ Warning: platform_key() is deprecated, use platform_key_abi() from now on
│ │   caller = ip:0x0
│ └ @ Core :-1
│ ┌ Warning: Could not extract the platform key of https://github.com/JuliaInterop/ZMQBuilder/releases/download/v4.2.5+6/ZMQ.x86_64-apple-darwin14.tar.gz; continuing...
│ └ @ BinaryProvider ~/.julia/packages/BinaryProvider/TcAwt/src/Prefix.jl:185
│ [ Info: Downloading https://github.com/JuliaInterop/ZMQBuilder/releases/download/v4.2.5+6/ZMQ.x86_64-apple-darwin14.tar.gz to /Users/davidbuchaca1/.julia/packages/ZMQ/ABGOx/deps/usr/downloads/ZMQ.x86_64-apple-darwin14.tar.gz...
│ ERROR: LoadError: Could not download https://github.com/JuliaInterop/ZMQBuilder/releases/download/v4.2.5+6/ZMQ.x86_64-apple-darwin14.tar.gz to /Users/davidbuchaca1/.julia/packages/ZMQ/ABGOx/deps/usr/downloads/ZMQ.x86_64-apple-darwin14.tar.gz:
│ ErrorException("")
│ Stacktrace:
│  [1] error(::String) at ./error.jl:33
│  [2] #download#89(::Bool, ::Function, ::String, ::String) at /Users/davidbuchaca1/.julia/packages/BinaryProvider/TcAwt/src/PlatformEngines.jl:498
│  [3] #download at ./none:0 [inlined]
│  [4] #download_verify#90(::Bool, ::Bool, ::Bool, ::Function, ::String, ::String, ::String) at /Users/davidbuchaca1/.julia/packages/BinaryProvider/TcAwt/src/PlatformEngines.jl:567
│  [5] #download_verify at ./none:0 [inlined]
│  [6] #install#129(::Prefix, ::String, ::Bool, ::Bool, ::Bool, ::Function, ::String, ::String) at /Users/davidbuchaca1/.julia/packages/BinaryProvider/TcAwt/src/Prefix.jl:314
│  [7] (::getfield(BinaryProvider, Symbol("#kw##install")))(::NamedTuple{(:prefix, :force, :verbose),Tuple{Prefix,Bool,Bool}}, ::typeof(install), ::String, ::String) at ./none:0
│  [8] top-level scope at /Users/davidbuchaca1/.julia/packages/ZMQ/ABGOx/deps/build.jl:44
│  [9] include at ./boot.jl:326 [inlined]
│  [10] include_relative(::Module, ::String) at ./loading.jl:1038
│  [11] include(::Module, ::String) at ./sysimg.jl:29
│  [12] include(::String) at ./client.jl:403
│  [13] top-level scope at none:0
│ in expression starting at /Users/davidbuchaca1/.julia/packages/ZMQ/ABGOx/deps/build.jl:40
│ [22:31:24] dyld: Library not loaded: @rpath/libssl.1.0.0.dylib
│ [22:31:24]   Referenced from: /Users/davidbuchaca1/anaconda3/lib/libssh2.1.dylib
│ [22:31:24]   Reason: image not found
└ @ Pkg.Operations /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:1075
整整折腾了太半天都没解决,如修改logo文件,切换到管理员权限,重装Julia等等都行不通,包括官网上的方法也不行,最后在CSDN中糖王大王中的一篇文章中找到了方法,原来是要先安装C库,而且只需要安装“MbedTLS”就可全部解决,包括IJulia都安装好了。具体思路就是先用“julia> rm(joinpath(homedir(), “.julia”, “registries”); recursive=true)”删除掉旧的registries,再导入”Pkg”,”julia> import Pkg”,最后安装”MbedTLS”,”julia> Pkg.build(“MbedTLS”)”,三步全部搞定。

如果还是出现上述的问题,可能还需要装一个windows更新Windows Management Framework

Download Windows Management Framework 5.1 from Official Microsoft

安装完成后”using IJulia”,因为电脑原来安装Anaconda3时已经安装了Jupter Notebook了,所以这时只需要打开Jupter Notebook,在首页右上角的”New”下拉菜单上就可以找到新安装的”julia”,打开就可以运行代码了。不需要在Julia终端运行“notebook()”。
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.2.0 (2019-08-20)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

(v1.2) pkg> add ZMQ
  Updating registry at `C:\Users\kejunjun\.julia\registries\General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
 Resolving package versions...
  Updating `C:\Users\kejunjun\.julia\environments\v1.2\Project.toml`
 [no changes]
  Updating `C:\Users\kejunjun\.julia\environments\v1.2\Manifest.toml`
 [no changes]
julia>  rm(joinpath(homedir(), ".julia", "registries"); recursive=true)
julia> import Pkg
julia> Pkg.build("MbedTLS")
   Cloning default registries into `C:\Users\kejunjun\.julia`
   Cloning registry from "https://github.com/JuliaRegistries/General.git"
     Added registry `General` to `C:\Users\kejunjun\.julia\registries\General`
 Installed Lazy ──────────────────────────────────── v0.14.0
 Installed FixedPointNumbers ────────── v0.6.1
 Installed Conda ────────────────────────────────── v1.3.0
 Installed FunctionalCollections ── v0.5.0
 Installed Distances ────────────────────────── v0.8.2
 Installed Traceur ────────────────────────────── v0.3.0
 Installed BinaryProvider ──────────────── v0.5.6
 Installed WebIO ────────────────────────────────── v0.8.11
 Installed Requires ──────────────────────────── v0.5.2
 Installed StringDistances ────────────── v0.4.0
 Installed CodeTracking ──────────────────── v0.5.8
 Installed Hiccup ──────────────────────────────── v0.2.2
 Installed Tokenize ──────────────────────────── v0.5.6
 Installed OrderedCollections ──────── v1.1.0
 Installed MbedTLS ────────────────────────────── v0.7.0
 Installed TreeViews ────────────────────────── v0.3.0
 Installed SoftGlobalScope ────────────── v1.0.10
 Installed Juno ──────────────────────────────────── v0.7.2
 Installed Pidfile ────────────────────────────── v1.1.0
 Installed CodeTools ────────────────────────── v0.6.4
 Installed VersionParsing ──────────────── v1.1.3
 Installed URIParser ────────────────────────── v0.4.0
 Installed JSON ──────────────────────────────────── v0.21.0
 Installed Colors ──────────────────────────────── v0.9.6
 Installed Widgets ────────────────────────────── v0.6.2
 Installed LNR ────────────────────────────────────── v0.2.0
 Installed Atom ──────────────────────────────────── v0.10.1
 Installed ColorTypes ──────────────────────── v0.8.0
 Installed WebSockets ──────────────────────── v1.5.2
 Installed IniFile ────────────────────────────── v0.5.0
 Installed HTTP ──────────────────────────────────── v0.8.6
 Installed DataStructures ──────────────── v0.17.1
 Installed Media ────────────────────────────────── v0.5.0
 Installed ZMQ ────────────────────────────────────── v1.0.0
 Installed JuliaInterpreter ──────────── v0.7.3
 Installed MacroTools ──────────────────────── v0.5.1
 Installed Compat ──────────────────────────────── v2.1.0
 Installed Reexport ──────────────────────────── v0.2.0
 Installed Cassette ──────────────────────────── v0.2.6
 Installed DocSeeker ────────────────────────── v0.3.0
 Installed Parsers ────────────────────────────── v0.3.7
 Installed Observables ────────────────────── v0.2.3
 Installed CSTParser ────────────────────────── v0.6.2
 Installed AssetRegistry ────────────────── v0.1.0
 Installed JuliaFormatter ──────────────── v0.1.13
 Installed IJulia ──────────────────────────────── v1.20.0
  Building MbedTLS →→ `C:\Users\kejunjun\.julia\packages\MbedTLS\a1JFn\deps\buil
d.log`
  Building WebIO ────→→ `C:\Users\kejunjun\.julia\packages\WebIO\2mZPb\deps\buil
d.log`
  Building Conda ────→→ `C:\Users\kejunjun\.julia\packages\Conda\kLXeC\deps\buil
d.log`
  Building ZMQ ────────→→ `C:\Users\kejunjun\.julia\packages\ZMQ\ABGOx\deps\buil
d.log`
  Building IJulia ──→→ `C:\Users\kejunjun\.julia\packages\IJulia\fRegO\deps\buil
d.log`
  Building MbedTLS →→ `C:\Users\kejunjun\.julia\packages\MbedTLS\a1JFn\deps\buil
d.log`
false

julia> using IJulia
[ Info: Precompiling IJulia [7073ff75-c697-5162-941a-fcdaad2a7d2a]