SRA ToolKit(v 3.1.1)安装和使用(Bioinformatics tools-032)

news2024/9/28 9:19:14
01 检索数据

run就是数据,如SRR26717485

SRA 档案数据通过 SRA 加载过程进行标准化,并由 SRA 工具包用于读取和生成如 FASTQ、SAM 等格式。默认的工具包配置使其能够通过登录号查找和检索 SRA 运行数据。

现在,公共 SRA 文件可以通过 GCP 和 AWS 云平台以及 NCBI 访问。在云端访问大多数数据需要用户在云服务提供商处拥有账户。用户的账户将因云计算或将数据复制到指定的云服务区域外而产生费用。三个地址都可以,一般选AWS快一点稳定。NCBI亦可。

点击https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos3/sra-pub-run-36/SRR026/26717/SRR26717485/SRR26717485.1

 即可下载到本地。

02 NCBI下载数据
wget -c -t 0 -O path/SRR1482463.sra  https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR26717485/SRR26717485
#-c -t 配合使用可以防止下载数据的过程中链接中断的问题,-O则可以指定下载路径和文件名

wget https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR26717485/SRR26717485
# 或者
curl -O https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR26717485/SRR26717485
# 或者有了 ID List
while read line; do 
wget https://sra-pub-run-odp.s3.amazonaws.com/sra/${line}/${line}; 
done < list_of_ids

下载完之后拆分

下载之后是SRA格式,是二进制文件,这时候就要用到SRAToolKIT
~/sratoolkit/bin/fastq-dump  --split-files SRR390728
#-I 生成两个fastq文件(--split-files),其中包含“ .1”和“ .2”读取对(-I),用于配对端数据

拆分完转化为fa文件,推荐seqkit安装与使用 v2.5.1(生物信息学工具-003)

seqtk安装与使用-seqtk-1.4(bioinfomatics tools-012)

1 linux下直接: sed -n '1~4s/^@/>/p;2~4p' in.fastq > out.fasta
2 perl:  perl -ne 'y/@/>/;print($_.<>)&&<>&&<>' your_file.fastq > output_file.fasta
3 seqtk包下载(bioconda):seqtk seq -A input_file.fastq > output_file.fasta

太慢了,有没有提速方式?有的,sra-tools !

03 参考
https://github.com/ncbi/sra-tools        #官网
https://github.com/ncbi/sra-tools/wiki  #txt
https://edwards.sdsu.edu/research/fastq-dump/   #note
04 SRAtoolkit安装
mkdir ~/SRAToolkit    #先建立一个放工具的文件夹
cd ~/SRAToolkit
wget -c https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/3.1.1/sratoolkit.3.1.1-centos_linux64.tar.gz

tar xzvf sratoolkit.3.1.1-centos_linux64.tar.gz

##配置环境

echo 'export PATH=$PATH:$HOME/SRAToolkit/sratoolkit.3.1.1-centos_linux64/bin ' >> ~/.bashrc
source ~/.bashrc


或者conda一步安装
conda install bioconda::sra-tools
05 使用
5.1 下载文件
prefetch SRR26717485  #一个
prefetch --option-file sraid.txt   #多个
5.2 拆分双端测序文件
`fastq-dump` 是一个用于从 NCBI 的序列读取档案(SRA)下载测序读取的工具。这些序列读取将以 FASTQ 文件的形式下载。FASTQ 文件的格式取决于使用的 `fastq-dump` 选项。

使用 `fastq-dump` 从 SRA 下载读取
在这个例子中,我们希望为一个 mate-pair 库下载 FASTQ 读取。


fastq-dump --gzip --skip-technical --readids --read-filter pass --dumpbase --split-3 --clip --outdir path/to/reads/ SRR_ID


在这个命令中:

- `--gzip`:使用 gzip 压缩输出。Gzip 压缩的读取可以直接被 bowtie2 读取。
- `--skip-technical`:仅导出生物学读取,跳过技术读取。
- `--readids` 或 `-I`:在 spot ID 后附加读取 ID,格式为 `accession.spot.readid`。使用此标志后,一条序列将附加 ID `.1`,另一条序列附加 ID `.2`。如果不使用此选项,配对读取将具有相同的 ID。
- `--read-filter pass`:仅返回通过过滤的读取(不含 Ns)。
- `--dumpbase` 或 `-B`:使用碱基空间格式化序列(默认用于除 SOLiD 之外的其他平台)。包括此选项是为了避免使用颜色空间(其中碱基对用数字表示)。
- `--split-3`:将读取拆分为左端和右端。如果左端没有匹配的右端,或右端没有匹配的左端,它们将被放入一个文件中。
- `--clip` 或 `-W`:SRA 中的一些序列包含需要移除的标签。此选项将移除这些序列。
- `--outdir` 或 `-O`:(可选)输出目录,默认是当前工作目录。
- `SRR_ID`:这是从 SRA 下载的运行 ID。该 ID 以 “SRR” 开头,后跟大约七位数字(例如 SRA1234567)。

可以替代 `--split-3` 使用的其他选项:

- `--split-files`:将 FASTQ 读取拆分为两个文件:一个文件包含 mate 1(..._1),另一个文件包含 mate 2(..._2)。此选项不会将无匹配对的序列放入第三个文件。
- `--split-spot`:将 FASTQ 读取拆分为一个文件中的两部分(mate 1 和 mate 2)。`--split-spot` 将生成一种 8 行的 fastq 格式,其中前向序列在前,反向序列在后(参见 [链接](https://www.biostars.org/p/178586/#258378))。
#单线程
fastq-dump --gzip -O $PWD --split-3 *.sra

# --gzip :输出gz格式压缩文件,节省空间,稍微多费点时间
# -O ${directory} :设置输出的文件间路径,outdirectory改为相应路径
# --split-3 :不知道sra是单端还是双端,默认使用--split-3

#多线程
fasterq-dump  -p -e 24 --split-3 -O ${outdirectory} SRR1XXX.sra

#-p 可以显示进程
#-e 24 使用24个线程
# fasterq-dump不能使用压缩命令
06 常用命令行
# 下载 sra 格式文件
prefetch SRR26717485

# 转换为fastq格式
fastq-dump --split-files SRR26717485
## 或者直接
fastq-dump --split-3 SRR26717485     #most缺省模式fastq-dump --split-3 XXX


#循环
for sra file in ~/public/sra/*; do
fastq-dump --split-files --origfmt --gzip ${sra};
done
07 参考文献

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2089086.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[WCT系列(四):BLASTSyncEngine

WCT系列&#xff08;一&#xff09;&#xff1a;WindowContainerTransaction类详解 WCT系列&#xff08;二&#xff09;&#xff1a;SyncTransactionQueue类详解 WCT系列&#xff08;三&#xff09;&#xff1a;WindowOrganizerController WCT系列&#xff08;四&#xff09;&a…

分治,CF 768B. Code For 1

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 https://codeforces.com/problemset/problem/768/B 二、解题报告 1、思路…

python-读取word中的内容

doc Document(rD:\xxxx\xxxx\xxx.docx) #读取word中所有内容 for p in doc.paragraphs print(p,p.text) #读取指定段落中的所有run(文字块) for run in doc.paragraphs[1].runs: print(run,run.text) #读取word中所有表格内容 for 表格 in doc.tables: print(表格) for 行 in …

什么是家庭全光组网和企业全光组网,两者有什么区别?

家庭全光组网和企业全光组网虽然都是基于光纤技术来实现高速网络连接&#xff0c;但它们在应用场景、规模、需求和技术细节上存在一些差异。 家庭全光组网 目标用户&#xff1a;面向个人家庭用户。 规模&#xff1a;一般为单个住宅内的网络覆盖&#xff0c;或者小范围内的多个房…

零基础泛微二开指南

前言 在泛微系统上开发一个自定义post接口 准备 首先准备工作要做好&#xff0c;安装一个泛微&#xff0c;之后所有的操作要在泛微的安装目录操作 参考官网安装&#xff0c;挺麻烦的&#xff1b; IDEA 1、直接新建项目 new ->Project from Existing Sources.直接打开泛…

uniapp微信小程序page-container导致滚动失效/向下偏移,返回上一页/左滑取消返回上一页

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 前提&#xff1a; 使用uniapp来做的微信小程序 有两级tab页面 要求手机的两边往中间滑时 要求&#xff08;调用手机的物理返回按钮--有震动感&#xff09; 返回上一页。具体如下图箭头所示&#xf…

数据防泄漏软件10款超好用推荐|2024数据防泄漏软件排名

在2024年&#xff0c;数据防泄漏软件市场涌现了多款优秀的产品&#xff0c;它们通过不同的技术手段和策略&#xff0c;为企业提供全面的数据安全保护。以下是10款超好用的数据防泄漏软件推荐及简要排名。 1.安企神 特点&#xff1a;专为企业设计的数据安全防护工具&#xff0c…

【零知识证明】MiMC哈希函数电路

1 哈希电路 哈希函数电路实现&#xff1a; pragma circom 2.0.0;// y (x k c) ^ 5 // 输入信号x, k &#xff0c;常量c // base x k c // base2 base * base // base4 base2 * base2 // base5 base *base4 // 输出 ytemplate MIMC5(){signal input x;signal input k…

使用Aqua进行WebUI测试(Pytest)——介绍篇

一、在创建时选择Selenium with Pytest 如果选择的是Selenium&#xff0c;则只能选择Java类语言 选择selenium with Pytest&#xff0c;则可以选择Python类语言 Environment 其中的【Environment】可选New 和 Existing New &#xff1a;选择这个选项意味着你希望工具为你创…

【Go函数详解】二、参数传递、变长参数与多返回值

文章目录 一、传递参数1. 按值传参2. 引用传参2.1 特殊情况2.1.1 切片slice2.1.2 字典map 二、变长参数1. 基本定义和传值1.1 基本定义1.2 传值1.2.1 普通传值1.2.2 传递切片 2. 任意类型的变长参数&#xff08;泛型&#xff09; 三、多返回值1. 命名返回值 一、传递参数 1. 按…

破解电商数据分析难题,优化运营策略的秘诀

在电商行业中&#xff0c;数据分析是不可或缺的一部分。它能帮助商家精准掌握市场动态&#xff0c;优化运营策略&#xff0c;从而提升销售业绩。然而&#xff0c;面对大量复杂的数据&#xff0c;许多电商运营者往往不知道从哪里开始分析。那么&#xff0c;电商运营究竟如何有效…

优可测白光干涉仪助力红外探测行业发展——晶圆衬底检测

从18世纪红外线被发现&#xff0c;到19世纪红外探测器的发明。至今&#xff0c;随着工艺更新迭代&#xff0c;红外探测器朝着多波段、大面阵、高分辨率、低成本量产快速发展。 今天&#xff0c;小优博士带您探索红外探测的奥秘。 一、红外线是什么 红外光是一种电磁波&#x…

【 OpenHarmony 系统应用源码解析 】-- Launcher 初体验

前言 最近因为业务需要&#xff0c;需要做一款 UI 定制的鸿蒙 Launcher&#xff0c;于是就开始了「找到代码」、「研究代码」、「魔改代码」的套路流程&#xff0c;仅以此文章作为知识备份和技术探讨所用&#xff0c;也希望能给其他小伙伴提供一些源码的解析思路&#xff0c;方…

移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——8.stackqueuepriority_queue(模拟实现)

1.stack 可通过模板使用其他类来建立stack&#xff08;如vector&#xff0c;list&#xff09; #include<vector>namespace zone {template<class T,class container> //两个模板参数class stack{public:void push(const T& x){it.push_back(x); //使用it的p…

【Linux】命令简介------迅速掌握Linux命令

目录 Linux 命令 &#x1f354; ls命令 &#x1f354; cd 和 pwd命令 &#x1f354; 相对路径和绝对路径 &#x1f354; 文件/文件夹的创建以及文件内容的浏览 &#x1f354; 文件的复制,移动和删除 &#x1f354; 文件的查找 &#x1f354; grep 和管道 &#x1f354…

Windows11安装SqlLite、Navicat Premium 15连接SqlLite、Springboot集成SqlLite

一、Windows11安装SqlLite 1、下载安装包 地址&#xff1a;SQLite Download Page 2、压缩包解压 3、配置系统环境变量 4、验证安装是否成功 打开命令提示符&#xff0c;输入 sqlite3 5、创建数据库文件 新建文件重命名为你想要的数据库名称&#xff0c;文件后缀改为.db 二、…

【微信小程序】如何触发按钮事件,例如调起微信客服

需求 实现一个如下图的效果, 点击客服按钮, 调起微信客服功能, 需要和button组合使用 效果图 实现思路 客服只能通过button按钮调起, 所以我们需要写一个button按钮, open-type“contact”, 然后把它隐藏起来。给客服图标加一个label, 设置for“btnId”, 这样点击图片就会触…

微服务即时通讯系统环境搭建(客户端)

微服务即时通讯系统环境搭建(客户端) 前言 今天开始&#xff0c;我们要开一个新坑&#xff0c;我们将它称作微服务即时通讯系统。说到即时通讯系统&#xff0c;大家肯定能想到如同“微信”这样的app。那么没错&#xff0c;这次这个项目就会像微信一样&#xff0c;当然功能肯定…

Linux(CentOS8)系统安装mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

一、下载获取 mysql安装包&#xff1b; MySQL :: Download MySQL Community Server (Archived Versions) 二、安装步骤 1、切换到安装目录下&#xff0c;并解压 tar -zxvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz 2.移动解压后的文件并且重命名为mysql mv mysql-8.0.26…

Mybatis:基础巩固-DCL

目录 一、概述二、用户管理2.1 查询用户2.2 创建用户2.3 修改用户密码2.4 删除用户 三、权限控制3.1 查询权限3.2 赋予权限3.3 撤销权限 一、概述 DCL数据控制语言&#xff0c;用来管理数据库用户、控制数据库的访问和权限。简单来说就是可以让哪些用户可以访问哪些数据库。 二…