Meta genomics Covid review

Metagenomic analysis reveals oropharyngeal microbiota alterations in patients with COVID-19

哈工大省医

宏基因组分析揭示了新冠病人口腔微生物的改变。

31 covid-19,29 flu,28 normal 三组对照。

宏基因组数据先区分出metagenomics,和COVID-19,reads,然后mapping to covid-19 reference.

组装出whole genome 看看snp,哪些位点是否有变异?

virus discovery?

看鉴别出是哪种virus

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7441049/

鉴定出的COVID-19 样本:定的标准是什么?

讨论:

meta对疾病的恶化,和预后的影响。

[]metaquast 提供reference

[]prokka参数 --kingdom 中Bacteria 和Viruses的区别

########################################################

用contig跟coronavirus reference做blast,

找到所有的coronavirus的contig,并画图:

cd /USB/metagenomics/analysis/my_project/blastn_coronavirus_result

python  gather_blastn_contig.py /USB/metagenomics/analysis/my_project/blastn_coronavirus_result /USB/metagenomics/analysis/my_project/megahit_result >all_sample.coronavirus.contigs.fa

下一步用mega或什么对齐软件画个树看看。

保留这个结果,并且验证跟kraken2的结果的一致性:

#######################################################

braken build database

/USB/tools/Bracken-2.6.2/bracken-build -d /USB/meta_genomics_pipeline/database/kraken2_database -t 32 -l 250

#######################################################

troubleshooting for kraken2 results

Question:kraken2的结果中有48% unclassified,并且没有找到virus相关的任何比例。

Loading database information... done.

275881 sequences (55.16 Mbp) processed in 10.696s (1547.6 Kseq/m, 309.44 Mbp/m).

  142595 sequences classified (51.69%)

  133286 sequences unclassified (48.31%)

解决:在kraken2构建完成的database中seqid2taxid.map文件里面没有找到virus的序列,故此推断在构建时没有把virus包含进去,因为重新使用kraken2-build 构建数据库。Note:重新构建数据库前必须要删掉原来的seqid2taxid.map,taxo.k2d,hash.k2d,opts.k2d四个文件,

第二次:after rebuild the database,重新跑kraken2:

$ /USB/meta_genomics_pipeline/bin/kraken2 --db /USB/meta_genomics_pipeline/database/kraken2_database  --threads 50  --report /USB/metagenomics/analysis/my_project/kraken2_result/houmaohu.kraken2.report --use-names --output /USB/metagenomics/analysis/my_project/kraken2_result/houmaohu.kraken2.output /USB/metagenomics/analysis/my_project/kneaddata_result/houmaohu.kneaddata.fastq

Loading database information... done.

275881 sequences (55.16 Mbp) processed in 3.922s (4221.0 Kseq/m, 843.98 Mbp/m).

  174591 sequences classified (63.28%)

  101290 sequences unclassified (36.72%)

finally we found Covid-19 in kraken2 result. yeah. but still 36.72% of sequences are unclassified. we doubt that they are human related sequencing .

从第二次的结果中能够找到virus结果了,但是仍然有36%是unclassified,验证是否是human genome,发现不是。

验证方法如下:

使用bowtie2 将用于kraken2的fastq跟hg19 reference比对,发现比对率为0.说明该fastq已经不含有human genome了。那么怀疑是其它fungi,plasmid,等数据库,为了验证,

需要下载其他数据库,并重新使用kraken2-build 构建index。

第三次更新数据库之后

$ /USB/meta_genomics_pipeline/bin/kraken2 --db /USB/meta_genomics_pipeline/database/kraken2_database  --threads 32  --report /USB/metagenomics/analysis/my_project/kraken2_result/houmaohu.kraken2.report --use-names --output /USB/metagenomics/analysis/my_project/kraken2_result/houmaohu.kraken2.output /USB/metagenomics/analysis/my_project/kneaddata_result/houmaohu.kneaddata.fastq 2>/USB/metagenomics/analysis/my_project/kraken2_result/houmaohu.kraken2.log

Loading database information... done.

275881 sequences (55.16 Mbp) processed in 9.124s (1814.2 Kseq/m, 362.74 Mbp/m).

  174783 sequences classified (63.35%)

  101098 sequences unclassified (36.65%)

still 36.65% unclassified

那么这些序列是什么呢?输出来看看吧,重新用kraken2 输出unclassified reads。在ncbi上

发现还是virus和一些bacteria,那下载nt库试试看吧。

kraken2-build --download-library nt --db ./

######################################################################

kraken2 report explaination: here

######################################################################

'a' : all taxonomic levels

'k' : kingdoms

'p' : phyla only

'c' : classes only

'o' : orders only

'f' : families only

'g' : genera only

's' : species only

######################################################################

记录cornonavirus的相关信息:

单独的cov-reference放在:/USB/meta_genomics_pipeline/database/SARS-CoV-2-reference

NCBI名称:

>NC_045512.2 Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1, complete genome

长度:29903bp

######################################################################

添加contig注释功能:目的:鉴定组装出来的contig都是什么物种。目标:能够找到target物种。用于后续的分析。

思路:基于kraken2使用的bacteria,virus,fungi,archaea,等6个数据库的fasta文件,重新构建blastn 所需index,然后使用blastn 将sample组装好的contigalign到该数据库上。使用in-house脚本统计并整理每个contig的物种信息,并汇总。

1)构建数据库:

cd /USB/meta_genomics_pipeline/database/blastn_dbs

cat ../kraken2_database/library/*/library.fna > my_kraken_cat6dbs_20210726.fna

makeblastdb  -parse_seqids  -dbtype  nucl  -in  my_kraken_cat6dbs_20210726.fna

2)mapping 添加到main pipeline中,做一个测试:

blastn -db /USB/meta_genomics_pipeline/database/blastn_dbs/my_kraken_cat6dbs_20210726.fna -query /USB/metagenomics/analysis/my_project/megahit_result/houmaohu/houmaohu.megahit.final.contigs.fa -out ./sample01.corona.out -outfmt 7 -num_threads 30 -subject_besthit

3)写脚本统计每条contig都是什么物种(besthit)

输入文件1:contig文件,

输入文件2:blast out 文件,cat 所有blast out文件到一个文件中,

输入文件3:blast 时用到的reference文件中就有id,叫做seqid2taxid.6abfpuv.map

输出文件1:contig fasta

思路二:

无需cat 6个database,直接分别比对,这样节省时间,提高运算速度,只是一个组装文件会得到6个比对结果,再用脚本整理到一起

1)那么对6个database分别构建blastn index

2)分别比对6次

3)统计结果

ls /USB/meta_genomics_pipeline/database/kraken2_database/library/*/library.fna |while read line;do name=`ls $line|awk -F '/' '{print$(NF-1)}'`;echo "makeblastdb  -parse_seqids  -dbtype  nucl  -in $line -out ./$name ";done |sh

有个数据库出错了,检查blastn的报错,并重新构建blast index,

######################################################################

遗留问题:

[]下一步用mega或什么对齐软件画个树看看。

[x]rebuild kraken2 database (running)

[x]rerun kraken2 to check ratio after 2 was done

[x]rerun blastn when finished build reference index.

[x]kraken2 结果画图,不画了,krona的图就够了。

[x]处理结果统计脚本,完成,将fasta文件用于galaxy展示。

[x]检查blast index 的错误,重跑blast

######################################################################

使用krona画物种分类图:

注意:kraken2.output中第三列为taxa_id,so do not using --use-names when using kraken2.

le ./houmaohu.kraken2.output |cut -f 2,3 >houmaohu.kraken.krona

ktImportTaxonomy houmaohu.kraken.krona -o houmaohu.taxonomy.krona.html

[ WARNING ] Too many query IDs to store in chart; storing supplemental files in 'taxonomy.krona.html.files'.

会报一个warning,但不影响html上的图

done

######################################################################

验证kneaddata之后的reads是否还有hg19.genome.

$ bowtie2  -p 20 -x /USB/meta_genomics_pipeline/database/kneaddata_database/hg37dec_v0.1 -U ../kneaddata_result/houmaohu.kneaddata.fastq -S houmaohu_r1_bowtie.fw.sam --nofw --local

275881 reads; of these:

  275881 (100.00%) were unpaired; of these:

    275870 (100.00%) aligned 0 times

    1 (0.00%) aligned exactly 1 time

    10 (0.00%) aligned >1 times

0.00% overall alignment rate

(prokka_env) ceid 15:08:09 /USB/metagenomics/analysis/my_project/test_kneaddata_2hg19

$ bowtie2  -p 20 -x /USB/meta_genomics_pipeline/database/kneaddata_database/hg37dec_v0.1 -U /USB/metagenomics/analysis/my_project/fastqc_result/houmaohu.raw.fastq.gz -S houmaohu_raw_bowtie.fw.sam --nofw --local

488767 reads; of these:

  488767 (100.00%) were unpaired; of these:

    474782 (97.14%) aligned 0 times

    3171 (0.65%) aligned exactly 1 time

    10814 (2.21%) aligned >1 times

2.86% overall alignment rate

1)原始fastq中就只有2.8%的human reads,

2)kneaddata后没有human reads,证明kneaddata会去除humanreads

3)那么问题来了,kraken2记过中37% no hit是什么?是什么?是什么?

############################################################################

看VIP工具文章,写思路,出结果。

############################################################################

data from paper:

https://www.nature.com/articles/srep23774/tables/2

补充数据分析,新增PE数据,适配流程。

seqkit fx2tab -lg UniVec_Core_library.fixed.fna |cut -f 1,4,5|head -1

python /USB/meta_genomics_pipeline/bin/blastout2contig_annotation.py -c /USB/metagenomics_analysis/analysis/my_project/megahit_result/houmaohu/houmaohu.megahit.final.contigs.fa -b /USB/metagenomics_analysis/analysis/my_project/blastn_result/houmaohu/houmaohu.cat.all.blast.out -m /USB/meta_genomics_pipeline/database/blastn_dbs/seqid2taxid.6abfpuv.map -o /USB/metagenomics_analysis/analysis/my_project/blastn_result/houmaohu.annotated.final.contigs.fa

contig_name  annotation  ref_name    ref_gc    contig_len    contig_gc Genome_coverage

k141_259        Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1, complete genome    29903  37.97  7433    39.63  24.857%

个性化分析:

提取所有样本中的target 物种的组装结果序列,并检查N50,N90等,看看全长多少,能不能画进化树之类的,或者后续snp分析。

################################################

method for phylogeny:

conda create -n phylo blast mafft raxml iqtree bedtools

conda activate phylo

mafft --auto all.coronavirus.with.ref.fa > all.coronavirus.with.ref.out

raxmlHPC -s all.coronavirus.with.ref.out -m GTRGAMMA -n coronavirus_tree -p 12345

# or

iqtree -s all.coronavirus.with.ref.out

cat all.coronavirus.with.ref.out.treefile

paste treefile to https://itol.embl.de/upload.cgi

图不直观,应该用gene,

用contig 注释出gene,在用gene作图。

补充:

1)Genome Coverage (%)  ,contig长度与reference长度的比例,在已有的脚本上修改。

2)Total reads  (过滤kneaddata后的fastq的reads,)

3)Number of reads (%) 统计比对上每个contig后的reads,咋统计?

评估每种virus的结果。

参数修正:

megahit --min-len-contig 1000

blastn -evalue 10

reference:

https://genomics.sschmeier.com/ngs-orthology/index.html

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

推荐阅读更多精彩内容