踩坑日誌 | kingfisher 公共測序數據 SRA/Fastq 下載神器!

2022-02-01 生信藥丸
導言

    前幾天看到基因課的東哥提了一下kingfisher,一個看起來就是極度便利的公共測序數據下載工具。我非常感興趣,但也確實沒時間折騰,於是繼續丟給師弟去看看(事實上,他肯定也有類似需求....)。結果如下,感覺不錯。幫大夥踩坑測試,與大夥分享。- CJ - 陳程傑

寫在前面

    一般在進行公共測序數據挖掘的時候,需要從公共資料庫中(SRA、ENA、DDBJ等)下載自己所需的測序數據。下載數據時,往往會遇到網速限制或下載連結不可用等因素,當某個資料庫的目標數據下載不來時,可以去其他公共資料庫下載,因為這三者的數據是共享的。

    問題來了,手動在不同的資料庫中檢索與下載目標數據確實較為繁瑣。這時可以試試使用Kingfisher來自動下載數據。

Kingfisher簡介

    Kingfisher是一個高通量測序數據下載工具,用戶提供Run accessions或者BioProject accessions,即可在ENA、SRA、Amazon AWS以及Google Cloud等資料庫中下載目標數據。Kingfisher會嘗試從一系列的數據源進行數據下載,直到某個源能夠work。

    此外,還能根據用戶的需求將下載數據直接輸出為SRA、Fastq、Fasta或Gzip等格式,非常方便,不需要自己再對SRA數據通過fasterq-dump進行拆分轉換。

Kingfisher安裝與使用

安裝

conda create -c conda-forge -c bioconda -n kingfisher pigz python extern curl sra-tools pandas requests aria2conda activate kingfisherpip install bird_tool_utils'>='0.2.17git clone https://github.com/wwood/kingfisher-downloadcd kingfisher-download/binexport PATH=$PWD:$PATHkingfisher -h

下載數據

注意:如果只想下載某個確定的SRA數據,則使用-r參數,提供SRR Number即可,如 SRR12042866 ;若是想批量下載某個BioProject中的所有數據,則可以使用-p參數,提供BioProject Number,如PRJNA640275或SRP267791。

kingfisher get -r SRP267791 -m ena-ascp ena-ftp prefetch aws-http#-r Run number(s) to download/extract e.g. ERR1739691#-p BioProject IDs number(s) to download/extract from e.g. PRJNA621514 or SRP260223# -m ena-ascp、ena-ftp、prefetch、aws-http、aws-cp、gcp-cp# --download-threads 線程數

數據下載源介紹(-m參數)

ena-ascp,調用Aspera從ENA中下載.fastq.gz數據
ena-ftp,調用curl從ENA中下載.fastq.gz數據
prefetch,調用prefetch從NCBI SRA資料庫中下載SRA數據,然後默認使用fasterq-dump對其進行拆分轉換
aws-http,調用aria2c從AWS Open Data Program中下載SRA數據,然後默認使用fasterq-dump對其進行拆分轉換
也就是說,如果是用的ENA源 直接下載的就是fastq,如果用的SRA或其他,那就是下載SRA數據  然後kingfisher再自動調用fasterq-dump轉換成fastq

SRA格式轉換成fastq格式,調用fasterq-dump

kingfisher extract --sra SRR1574780.sra -t 20 -f fastq.gz#-f,指定轉換輸出的文件格式,支持fastq,fastq.gz,fasta,fasta.gz#-t,指定線程數

寫在最後(by-CJ)

Emmm,按照我的習慣,公眾號推文上來一定是三段式:

    1.寫在前面 - 主要寫為啥搞這個

    2.內容

    3.寫在後面 - 主要是隨意抒發感悟,可能與推文相關,常常與推文主題無關

李博士的這個稿件少了最後一段,於是我來補充一下。昨天在朋友圈推過一遍,希望大夥有時間有機會可以投稿生信相關的稿件,也可以投稿與TBtools相關的。稿件原創歸屬於公眾號,作者名字仍然是你。同時你一定能拿到稿酬,RMB100起步。一周內閱讀過萬補到1000,達10萬+直接補到 RMB10000(當然,10萬+在生信/植物學領域基本不可能,尤其是在這個公眾號)。

如果你寫的是 TBtools 相關教程投稿,那麼你可以有兩種方式:

直接投稿,稿酬如上

寫在自己的公眾號上,直接聯繫我轉載目前有3.4w用戶關注,主要群體是生命科學領域,生信方向,植物學方向,園藝方向,相信可以較好的給老鐵帶一下流量

相關焦點

  • Prometheus使用總結:我踩過的那些坑
    當然,這當中也免不了踩過一些坑,下面就總結一下。假如你沒有用過 Prometheus,建議先看一遍官方文檔:https://prometheus.io/docs/introduction/overview/。Prometheus 作為一個基於指標(Metric)的監控系統,在設計上就放棄了一部分數據準確性:放棄一點準確性得到的是更高的可靠性,這裡的可靠性體現為架構簡單、數據簡單、運維簡單。
  • 踩坑|NVIDIA驅動安裝
    我也不知道伺服器具體有哪些毛病,不如先跑一個複雜點的代碼踩踩坑,比如我這個是pytorch下,利用多個GPU並行的圖形識別訓練程序。基本上通過跑這個程序,可以排查出伺服器的大部分問題。cuda和cudnn的安裝也是個麻煩事,這裡就先不寫了,放到明天吧。本文主要寫重新安裝NVIDIA驅動。
  • 數據挖掘:聊聊那些年你我踩過的「坑」
    今天就來談一談數據挖掘中常常被我們忽略的小問題(踩過的坑)。讓我們從下面這張圖開始吧! 圖一 從現實世界到模型世界(圖片來自網絡) 咳咳注意,本篇不是八卦文,在這裡我們要正經地討論一些小case。如圖所示,我們以左圖代表現實世界,右圖代表模型世界——對,數據挖掘的世界。
  • 高通量測序原始數據中,adapter序列的去除及cutadapt使用介紹
    adapter是在高通量測序過程中,我們在未知片段兩端加入的已知片段,它緊緊連接在未知片段的兩端。測得的數據中為什麼會有adapter序列?因為在測序過程中未知片段的長短是不確定的,當我們的測序長度長於未知片段的時候,就會測到某一端的adapter序列。如下圖中,如果我們的未知片段(灰色點部分)長度為85bp,我們設定的read1測100bp,這個時候就會測到15bp的5』端adapter,即右側的紅色部分。
  • 什麼,wget下載很慢?試試看多線程的mwget命令
    前面我們提到過,參考:使用ebi資料庫直接下載fastq測序數據 , 偶爾會遇到spera提示:ascp: failed to authenticate, exiting. 以及Session Stop (Error: failed to authenticate),其實這個是無解的, 所以只能說放棄 aspera高速下載了,反正就兩三個樣品,直接wget也行。
  • 經驗 | 在C++平臺上部署PyTorch模型流程+踩坑實錄
    指定數據類型1)屬性,大部分的成員數據類型可以根據值來推斷,空的列表/字典則需要預先指定from typing import Dictclass MyModule(torch.nn.Module): my_dict: Dict[str, int] def __init__(self): super
  • 一文掌握二代測序NGS!
    二代測序中的barcode簡單來說,barcode就是NGS測序中每個樣品的身份標籤。為什麼要有身份標籤呢?以華大智造新發布的MGISEQ-2000機型為例,FCL晶片有支持4條流道(lane),單張晶片的最高數據產量能達到540 Gb/run,因此單條lane的測序數據量就能達到135 G。
  • PyG的使用及踩坑
    PyG包含了一些常用的圖深度學習公共數據集,如Planetoid數據集(Cora、Citeseer、Pubmed)一些來自於http://graphkernels.cs.tu-dortmund.de常用的圖神經網絡分類數據集QM7、QM93D點雲數據集,如FAUST、ModelNet10等接下來拿ENZYMES數據集(包含600
  • 模型部署翻車記:PyTorch轉onnx踩坑實錄
    在深度學習模型部署時,從pytorch轉換onnx的過程中,踩了一些坑。本文總結了這些踩坑記錄,希望可以幫助其他人。首先,簡單說明一下pytorch轉onnx的意義。接下來通過幾個實例程序,介紹pytorch轉換onnx的過程中遇到的坑。1.  opencv裡的深度學習模塊不支持3維池化層起初,我在微信公眾號裡看到一篇文章《使用Python和YOLO檢測車牌》。
  • 三種長片段測序方法對比
    採用15 ug DNA 構建30Kb以上的文庫用於PacBio測序,並將該文庫用sequel I測序8個SMRT cell,得到317萬條subreads,總數據量為65.2Gb,N50為35.9Kb。
  • 圖解三代測序(SMRT Sequencing)
    接下來,我們看看它如何巧妙地完成這樣的高質量三代測序。邊合成邊測序,與前文我們說的 Illumina 的基本測序原理一樣。1、構建測序複合物測序複合物:聚合酶,測序模板,測序引物SMRT 測序有如下兩種測序模式:1、Circular Consensus Sequencing (CCS)說這種測序模型前,就不得不提三代測序最大的缺點:鹼基讀取不準,錯誤率在12.5%,也就是說,每讀取八個鹼基,就會讀錯一個。
  • 我又踩坑了!如何為 HttpClient 請求設置 Content-Type 標頭?
    入坑下面是構造 HttpClient{req.AuthString()}",new StringContent(req.ReqPayload.ToString(),Encoding.UTF8) );平臺日誌顯示,收到的請求 payload:{\"token\":\"AA2917B0-C23D-40AB-A43A
  • virtualbox centos7 nat+host-only方式聯網踩坑總結
    VirtualBox中有4種網絡連接方式:先來一張圖,通過這張圖就很容易看出這4種方式的區別:2.1、NATNAT:Network Address Translation,網絡地址轉換NAT模式是最簡單的實現虛擬機上網的方式,你可以這樣理解:Guest訪問網絡的所有數據都是由主機提供的
  • 全基因組測序(Whole Genome Sequencing, WGS)學習筆記
    全基因組測序,顧名思義,即是對生物體整個基因組序列進行測序,可以獲得完整的基因組信息。而全外顯子測序(Whole Exome Sequencing, WES)僅是對外顯子區域的測序。相比全基因組測序,外顯子測序更為簡便,測序成本相比也會更低,測序後數據的分析也更為簡單。另外如果僅關注已知的基因,可以更依賴於靶向測序。
  • 下載神器 - IDM
    IDM 全名Internet Download Manager 是一款國外的多線程下載神器(簡稱IDM),Internet Download Manager 支持多媒體下載、自動捕獲連結、自動識別文件名、靜默下載、批量下載、計劃下載任務、站點抓取、隊列等等是一款國外的老牌下載工具。
  • 掃盲帖:轉錄組測序的Counts值,RPM,RPKM,FPKM,TPM介紹
    測序深度的影響:不同樣本中,樣本的測序深度越高,同一基因被測到的次數越多,比對到該基因的reads就越多。RNA-seq是通過NGS技術來檢測基因表達量的測序方法,在衡量基因表達量方面,若是單純以比對到參考基因的Reads個數(我們通常稱之為Count值)來衡量基因的表達量,在統計上是非常不合理的,所以需要一種方法進以橫向比較。
  • NAS怎麼物盡其用 | 5種下載方法,超乎你想像
    玩群暉的老司機們都會把群暉做成下載器,而下載器是門學問,是門上秋名山飆車的學問。搞下載和飆車、打王者一樣,是分段位的,看過「青銅、白銀、黃金、鉑金、鑽石、星耀、王者」這麼多段位之後,我的心態都已經轉換了七八次了。
  • 下載神器,IDM的奇妙使用教程
    之前給大家介紹了IDM這一下載神器,當時也只是提供了安裝教程,時間很長,想必也失效了。