基因组de novo组装

2024-04-03 22:52
文章标签 基因组 组装 de novo

本文主要是介绍基因组de novo组装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

分以下几个部分:
CLR组装
HIFI组装
ONT组装
二、三代数据矫正
组装结果评估

一、CLR组装

下机数据:
在这里插入图片描述
主要用那个bam文件
软件:wtdbg2
第一步:bam转fasta文件
参考:https://www.jianshu.com/p/03c7eb11102d

# 进行基因组装
wtdbg2 -t 40 -i test.subreads.bam.fasta -fo test -L 5000 # -fo 设置前缀
# 得到一致性序列
wtpoa-cns -t 16 -i test.ctg.lay -fo test.ctg.lay.fa
# 利用三代reads的比对结果对基因组序列进行打磨修正
minimap2 -t 16 -x map-pb -a test.ctg.lay.fa test.subreads.bam.fasta | samtools view -Sb - > test.ctg.lay.map.bam
# -t 16:指定使用16个线程进行并行处理,以加快比对速度。
# -x map-pb:指定比对模式为长读长(PacBio或Oxford Nanopore)数据的比对。
# -a:生成在SAM格式中输出比对的所有辅助信息,包括未比对上的reads。
# test.ctg.lay.fa:表示比对的基因组序列。
# test.subreads.bam.fasta:表示待比对的长读长序列文件,以BAM或FASTA格式存储。
# samtools view:用于查看或转换SAM/BAM/CRAM格式的工具。
# -Sb:指定将输入解释为SAM格式并将其转换为BAM格式。
# -:表示从标准输入读取输入数据。
# >:将输出重定向到文件。
# test.ctg.lay.map.bam:表示输出的BAM文件名。samtools sort test.ctg.lay.map.bam -o test.ctg.lay.map.srt.bam
samtools view test.ctg.lay.map.srt.bam | wtpoa-cns -t 16 -d test.ctg.lay.fa -i - -fo test.ctg.lav.2nd.fa

二、HIFI组装

下机数据:
在这里插入图片描述
软件:HiFiasm 要求数据格式fasta

hifiasm --primary -o test -t 10 test_HiFi.fa 2>test.log
#输入文件格式为: .fa(.gz)或 fq(.gz) -t 设置使用cpu数量
# 得到的.gfa结果能够通过gfa2fasta.py转化成.fasta
# 或者用以下命令:
awk '/^S/(print ">"$2;print $3)' test.bp.p_ctg.gfa > test.bp.p_ctg.fa

三、ONT组装

软件:Canu 这个教程好像不完整,可以去官网:https://github.com/marbl/canu
等我再找找教程

canu -p xxx -d xxx genomeSize=XXm -nanopore-raw oxford.fasta
# -s接一个配置文件
# -p制定输出前缀
# -d指定输出结果目录
# -options显示全部选项参数 
# genomeSize设置一个预估的基因组大小,便于让Canu估计测序深度,单位是K,M,G 
# maxThreads设置最大线程数 
# rawErrorRate设置两个未纠错read之间最大期望差异碱基数 
# correctedErrorRate设置纠错后read之间最大期望差异碱基数 
# minReadLength设置最小使用的reads长度
# minOverlapLength设置Overlap的最小长度

四、二/三代数据纠错

二代数据纠错:

使用pilon包进行二代数据纠错
准备数据:
draft.genome.fa
二代clean data

# 构建索引并比对:
bwa index -p test test.ctg.lav.2nd.fa
bwa mem -t 12 test test_R1.fastq test_R2.fastq | samtools sort -@ 10 -O bam -o align.bam
samtools index -@ 10 align.bam
# 使用pilon进行polish
pilon --genome test.ctg.lav.2nd.fa --frags align_filter.bam --fix snps,indels --output pilon_polished --vcf
# --frags表示输入的是1kb以内的paired-end文库 
# --jumps表示大于1kb以上的mate pair文库 
# --bam则是让软件自己猜测 
# -vcf输出一个vcf文件,包含每个碱基的信息
# --fix pilon将会处理的内容,基本上选snp和indels就够了 
# --variant启发式变异检测 
# 	--minmq用于pilon堆叠的read最低比对质量,默认是0

三代数据纠错:

软件:racon

##第一轮
minimap2 -t 20 pilon_polished.fasta test.subreads.bam.fasta > round1.paf
racon -t 20 test.subreads.bam.fasta round1.paf pilon_polished.fasta > round1.fasta 
##第二轮
minimap2 -t 20 round1.fasta test.subreads.bam.fasta > round2.paf
racon -t 20 test.subreads.bam.fasta round2.paf round1.fasta > round2.fasta 
##第三轮
minimap2 -t 20 round2.fasta test.subreads.bam.fasta > round3.paf
racon -t 20 test.subreads.bam.fasta round3.paf round2.fasta > round3.fasta

五、组装结果评估

使用TBtools评估组装结果,简单评估初步组装的基因组大小、contigN50和contig数量
使用软件中的fasta Stats功能

六、Hi-C数据挂载、染色体级别基因组的组装

下机数据:基于二代测序技术得到的二代双端测序数据。与一般二代测序数据不同的是,建库方式不同,测到的数据为特定位置的序列。

在这里插入图片描述
Hi-C挂载一般分为三步:
(1) Hi-C数据比对到contig级别基因组上
(2) 基于比对结果进行contig的聚类、排序,形成supper scaffold级别基因组
(3) 基于scaffold级别基因组和对应位置信息进行手动校正,得到校正后的染色体级别基因组

挂载:使用Juicer软件

# Step 1:为基因组建立索引 
bwa index genome.fa
# Step 2: 根据基因组构建酶切位点文件
python 路径/generate_site_positions.py MboI train 路径/train.fasta
# MboI是酶的名字
# Step 3: 获取每条contig的长度信息
awk 'BEGIN{OFS="\t"}{print $1, $NF}' train_MboI.txt > genome.chrom.sizes
# Step 4: 运行juicer
juicer.sh -D juicer -d juicer -s MboI -g train -z train.fasta -y train_MboI.txt -p genome.chrom.sizes -t 12
# 生成merged_nodups.txt作为下一步3D-DNA的输入文件之一
# Step 5: 挂载
run-asm-pipeline.sh -r 0 ref.fasta merged_nodups.txt &> 3d.log &
# -r 设置的是3d-DNA进行几轮调整的意思

结果可视化:
将上一步的reference.rawchrom.assembly、reference.rawchrom.hic导入juicebox中可视化,然后校正。 导出矫正后的reference.rawchrom.review.assembly文件。
再次运行3d-DNA:

3d-dna-master/run-asm-pipeline-post-review.sh -r reference.rawchrom.review.assembly ref.fasta aligned/merged_nodups.txt &> 3d.log & 

路径/3d-dna-master/run-asm-pipeline-post-review.sh -r reference.rawchrom.review.assembly 路径 /ref.fasta aligned/merged_nodups.txt &> 3d.log &
最后会得到新的reference.FINAL.assembly、reference.FINAL.fasta就是最终的结果。
挂载率:已经挂载到染色体上的序列的总长度/基因组大小

七、组装结果的评估

使用TBtools和BUSCO对组装结果评估
BUSCO评估基因组组装完整度

# Step1. 下载对应的BUSCO数据库 
# https://busco-data.ezlab.org/v5/data/lineages/
# Step2. 使用BUSCO进行评估
run_BUSCO.py -i [组装的文件.fasta] -l [数据库文件夹] -o [输出文件名] -m [评估模式] [其他一些选项]

使用minimap2对序列一致性进行评估:

# Step1. 使用minimap2比对回组装的基因组
minimap2 -ax map-pb genome.fasta HiFi.bam.fasta -t 24 > aln.sam
# Step2. 基于比对结果统计reads的比对率、基因组的覆盖度以及深度 
samtools view -bS aln.sam > aln.bam
samtools sort aln.bam -o minimap.merged.bam --output-fmt BAM 
samtools flagstat minimap.merged.bam > minimap.merged.bam.flagstat 
samtools depth -aa minimap.merged.bam > depth.info

八、重复序列注释

重复序列广泛存在于真核生物基因组中,这些重复序列或集中成簇,或分散在基因之间。根据分布特点把重复序列分为散在重复序列(Interspersed repeats)和串联重复序列(Tandem repeats)。真核生物基因 组存在大量重复序列,重复序列会导致BLAST结果出现假阳性,增加基因结构注释的计算压力甚至影响预测正 确性。因此,在基因结构注释前会对基因组进行重复序列屏蔽(mask)。
在这里插入图片描述
分析流程:
在这里插入图片描述

串联重复注释

使用的软件:GMATA、TRF

# GMATA:
perl gmat.pl -i 路径/genome.fa
perl ssrfig.pl -i 路径/genome.fa.ssr.sat2
perl ssr2gff3.pl -i 路径/genome.fa.ssr 
#得在GMATA路径下调用脚本,否则会报错,无法找到其他需要调用的脚本。生成的结果文件会出现在第一 步提供的序列文件所在目录。
# 第三步会生成结果文件:fPagMaj_v.1.0.genome.fasta.ssr.gff3
# TRF:
TRF:trf xxx.genome.fa 2 7 7 80 10 50 2000 -d -h 
#生成结果文件xxx.genome.fasta.2.7.7.80.10.50.2000.dat
# 转成gff3格式:
python 路径/TRF2GFF-master/TRF2GFF.py -d xxx.genome.fasta.2.7.7.80.10.50.2000.dat -o xxx.genome.fasta.2.7.7.80.10.50.2000.gff3 # 查一下这一步Python版本

基于tandem repeats的注释结果对基因组文件进行soft masked(将碱基由大写字母转换为小写字母)

bedtools maskfasta -soft -fi genome.fa -bed 路径/xxx.genome.fa.ssr.gff3 -fo xxx.genome.soft.masked.fa
bedtools maskfasta -soft -fi genome.soft.fa -bed 路径/genome.fa.2.7.7.80.10.50.2000.dat.gff -fo genome.soft.masked2.fa

散在重复注释

# RepeatMasker软件
RepeatMasker -gff -nolow -no_is -norna -pa 24 -lib RepeatMasker/Libraries/RepeatMasker.lib genome.soft.masked2.fa
# 生成genome.soft.masked2.fa.out.gff文件
# LTR_FINDER软件
perl LTR_FINDER_parallel-master/LTR_FINDER_parallel -seq genome.soft.masked2.fa -threads 40

九、编码基因预测

编码基因预测:可以产生具有生物学功能的蛋白的基因。一般包括启动子,转录起始, 5’UTR,起始密码子,外显子, 内含子,终止密码子, 3’UTR, poly-A等结构。

基于转录组预测

IsoSeq(三代全长转录组)组装

# Step 1 Circular Consensus Sequence calling
nohup ccs m64165_210720_132918.subreads.bam muscle.ccs.bam --min-rq 0.9 -j 48 > ccs.log 2>&1 &
# Step 2 Primer removal and demultiplexing
nohup lima muscle.ccs.bam primer.fasta muscle.f1.bam --isoseq --peek-guess -j 12 > lima.log 2>&1 &
# Step 3 Refine
nohup isoseq3 refine muscle.f1.NEB_5p--NEB_Clontech_3p.bam primer.fasta muscle.flnc.bam > isoseq3.log 2>&1 &
# Step 3b Merge SMRT Cells # 这一步没懂
ls 
/home/gaodong/Sparidae/speceis_raw_data/Pagrus_major/new_version/isoseq/muscle_3/all/FISO21H002064_1 A/muscle.flnc.bam
# Step 4 - Clustering /home/gaodong/Sparidae/speceis_raw_data/Pagrus_major/new_version/isoseq/spleen/all/FISO21H002066_1A/ spleen.flnc.bam > flnc.fofn
nohup isoseq3 cluster flnc.fofn clustered.bam --verbose --use-qvs > cluster.log 2>&1 & 
# 这一步得到结果:clustered.hq.fasta.gz

转录本去冗余

nohup cd-hit-est -i 路径/clustered.hq.fasta.gz -o transcripts.fasta -c 0.99 -T <Num> -G 0 -aL 0.90 -AL 100 -aS 0.99 -AS 30 > cd-hit.log 2>&1 &

PASA预测

# 基于转录组进行基因预测
seqclean 路径/transcripts.fasta -c 40
nohup perl Launch_PASA_pipeline.pl -c PASApipeline.v2.4.1/pasa_conf/alignAssembly.config -C -R -g genome.fasta -t transcripts.fasta.clean -T -u transcripts.fasta --ALIGNERS blat --CPU 40
#  --ALIGNERS blat 这里选blat就行,gmap容易报错
# alignAssembly.config 记得配置这个文件,百度查一下就ok
# transcripts.fasta 的seqclean会生成transcripts.fasta.cln, 所以,transcripts.fasta transcripts.fasta.cln和transcripts.fasta.clean 必须在同一个目录下。
# 生成文件中有sqlite.pasa_assemblies.gff3后缀的文件

使用TranDecoder在上一步基础上预测ORF

PASApipeline.v2.4.1/scripts/pasa_asmbls_to_training_set.dbi -pasa_transcripts_fasta test.sqlite.assemblies.fasta -pasa_transcripts_gff3 test.sqlite.pasa_assemblies.gff3
TransDecoder.LongOrfs -t test.sqlite.assemblies.fasta
TransDecoder.Predict -t test.sqlite.assemblies.fasta
transdecoder/util/cdna_alignment_orf_to_genome_orf.pl test.sqlite.assemblies.fasta.transdecoder.gff3 test.sqlite.pasa_assemblies.gff3 test.sqlite.assemblies.fasta > test.sqlite.assemblies.fasta.transdecoder.genome.gff3
transdecoder/util/gff3_file_to_bed.pl test.sqlite.assemblies.fasta.transdecoder.genome.gff3 > test.sqlite.assemblies.fasta.transdecoder.genome.bed

基于同源序列预测

选亲缘关系比较近的物种的蛋白序列

exonerate -q 同源蛋白序列.pep -t genome.fasta --model protein2genome --querytype protein --targettype dna --showvulgar no --softmaskquery yes --softmasktarget yes --minintron 20 -- maxintron 10000 --showalignment no --showtargetgff yes --showcigar no --geneseed 250 --score 250 --bestn 0 --verbose 0 > test.exonerate.gff

如果有多个物种,就分别做,做完cat合并就ok

从头预测

基于转录组预测结果
用运行完TranDecoder生成的结果,有5‘ 3’阅读框那个gff文件
软件:Augustus

Step1,创建训练集
# 选1000个 作为训练集
gff2gbSmallDNA.pl 转录组预测结果.transdecoder.gff3 test.genome.soft.masked4.fasta 1000 test.gene.raw.gb
# 统计文件中有多少个基因
grep 'LOCUS' test.gene.raw.gb | wc -l
# 创建初始化的物种HMM文件
new_species.pl --species=for_bad_genes_removing --AUGUSTUS_CONFIG_PATH=路径/miniconda3/envs/bamtools/config
# 尝试训练,捕捉错误
etraining --species=for_bad_genes_removing --stopCodonExcludedFromCDS=false test.gene.raw.gb 2>train.err 
cat train.err | perl -pe 's/.*in sequence (\S+): .*/$1/' > badgenes.lst
filterGenes.pl badgenes.lst test.gene.raw.gb > test.gene.gb
# Step2,获取测试集和训练集
randomSplit.pl test.gene.gb 400 # 这个400要小于文件中基因数
new_species.pl --species=train_test --AUGUSTUS_CONFIG_PATH=路径/miniconda3/envs/bamtools/config #这一步生成的目录是:路径/miniconda3/envs/bamtools/config/species/train_test
etraining --species=train_test test.gene.gb.train > train.1.out 
augustus --species=train_test test.gene.gb.test > test.1.out
# 再次测试
randomSplit.pl test.gene.gb.train 300 # 小于前面的400
optimize_augustus.pl --species=train_test --rounds=5 --cpus=10 --kfold=10 test.gene.gb.train.test --onlytrain=test.gene.gb.train.train > optimize.out
etraining --species=train_test test.gene.gb.train > train.2.out
augustus --species=train_test test.gene.gb.test > test.2.out
# 正式预测基因结构:
augustus --species=train_test --AUGUSTUS_CONFIG_PATH=路径/miniconda3/envs/bamtools/config --uniqueGeneId=true --noInFrameStop=true --gff3=on --strand=both test.genome.soft.masked4.fasta > 路径/test.genome.soft.masked4.fasta.out
##这样会很慢。最好的办法是,先将基因组按照染色体数目分割,unanchored的分在一起,一共25个文件。 然后使用augustus.parallel.pl 进行预测。
nohup perl augustus.parallel.pl file.txt > augustus.parallel.log 2>&1 &

整合结果

软件:EVM

Step1 前期预测结果格式统一
# 转换Augustus结果的格式并验证(从头预测): 
EVidenceModeler-1.1.1/EvmUtils/misc/augustus_GFF3_to_EVM_GFF3.pl 路径/test.genome.masked4.augustus.gff3 > test.genome.masked4.augustus.evm.input.gff3
EVidenceModeler-1.1.1/EvmUtils/gff3_gene_prediction_file_validator.pl test.genome.masked4.augustus.evm.input.gff3
# 转换Exonerate结果的格式(同源预测): 
EVidenceModeler-1.1.1/EvmUtils/misc/Exonerate_to_evm_gff3.pl fPagMaj.genoma.masked4.exonerate.gff > fPagMaj.genoma.masked4.exonerate.gff3
# PASA的结果可以直接通过验证。

配置EVM权重文件,三代转录本预测最可信,其次同源预测,最后从头预测
在这里插入图片描述
整合:

# Step 2 分割基因组和注释文件
EVidenceModeler-1.1.1/EvmUtils/partition_EVM_inputs.pl --genome xxx.genome.soft.masked4.fasta --gene_predictions 路径/augustus/test.genome.masked4.augustus.evm.input.gff3 --protein_alignments 路径/exonerate/test.genoma.masked4.exonerate.gff3 --transcript_alignments 路径/PASA/test.assemblies.fasta.transdecoder.genome.gff3 --segmentSize 1000000 --overlapSize 100000 --partition_listing partitions_list.out
# Step 3 生成EVM命令
路径/EVidenceModeler-1.1.1/EvmUtils/write_EVM_commands.pl --genome test.genome.soft.masked4.fasta --weights weights.txt --gene_predictions 路径/augustus/test.genome.masked4.augustus.evm.input.gff3 --protein_alignments 路径/exonerate/test.genoma.masked4.exonerate.gff3 --transcript_alignments 路径/PASA/test.assemblies.fasta.transdecoder.genome.gff3 --output_file_name evm.out -- partitions partitions_list.out > commands.list
# Step 4 并行运算EVM
parallel --jobs 40 < commands.list
# Step 5 合并并行结果 
EVidenceModeler-1.1.1/EvmUtils/recombine_EVM_partial_outputs.pl --partitions partitions_list.out --output_file_name evm.out EVidenceModeler-1.1.1/EvmUtils/convert_EVM_outputs_to_GFF3.pl --partitions partitions_list.out --output evm.out --genome test.genome.soft.masked4.fasta
# Step 6 结果转换成gff3
find . -regex ".*evm.out.gff3" -exec cat {} \; > EVM.all.gff3
# 使用PASA结果对EVM整合结果进行校正和添加UTR区域 
PASApipeline.v2.4.1/scripts/Load_Current_Gene_Annotations.dbi -c 路径/PASApipeline.v2.4.1/pasa_conf/alignAssembly.config -g 路径/test.genome.soft.masked4.fasta - P ../EVM/EVM.all.gff3
nohup 路径/PASApipeline.v2.4.1/Launch_PASA_pipeline.pl -c 路径 /PASApipeline.v2.4.1/pasa_conf/annotationCompare.config -g 路径/test.genome.soft.masked4.fasta -t transcripts.fasta.clean -A -L --annots 路径/EVM/EVM.all.gff3 -- CPU <Num> > pasa_update.log 2>&1 &

十、ncRNA注释

rRNA注释
tRNA注释
snRNA注释
非编码RNA指不被翻译成蛋白质的RNA,这些RNA虽不被翻译成蛋白质,但是具有重要的生物学功能。
rRNA(核糖体RNA):与蛋白质结合形成核糖体,其功能是作为mRNA的支架,提供mRNA翻译成蛋白质的 场所。
tRNA(转运RNA):携带氨基酸进入核糖体,使之在mRNA指导下合成蛋白质。
snRNA(小核RNA):将mRNA降解或抑制其翻译,具有沉默基因的功能。
miRNA(MicroRNA):主要参与RNA前体的加工过程,是RNA剪切体的主要成分。

rRNA注释:RNAmmer

# 下载RNAmmer后将其解压缩,注意提前创建目录,将压缩文件放入,解压缩。
# 配置路径:
perl -p -i -e 's/(my \$INSTALL_PATH).*/$1 = \"\/private_software\/rnammer_1.2\";/' /private_software/rnammer_1.2/rnammer
# 配置hmmsearch路径:##rnammer 一定要用hmmer2.3版本,后边已经更换。
perl -p -i -e 's/^(\s+\$HMMSEARCH_BINARY).*/$1 = \"\/private_software\/hmmer- 3.3.2\/src\/hmmsearch\";/'/private_software/rnammer_1.2/rnammer
# 运行:
nohup 路径/rnammer-1.2/rnammer -multi -S euk -gff rRNA.predict.gff -h rRNA.predict.report -xml rRNA.predict.xml -f rRNA.predict.fasta 路径/xxx.genome.soft.masked4.fasta > rnammer.log 2>&1 &

tRNA注释:tRNAscan-SE

##先安装好Infernal,不然没法正常运行,而且,默认去/usr/local/bin 下去找infernal的cmsearch,cmscan。 如果使用conda装的,还需要构建软连接。
nohup tRNAscan-SE -o tRNA.out -f tRNA.ss -m tRNA.stats 路径/xxx.genome.soft.masked4.fasta > tRNAscan.log 2>&1 &

snRNA

# 首先,下载Rfam的fa数据,和cm数据。从中基于关键词,将各个RF*.fa 中的snRNA提取出来。构建对应的 blast的检索库。然后基于此进行blastn比对
nohup blastn -outfmt 6 -evalue 1 -num_alignments 10000 -db 路径/snRNA/snRNA -query 路径 /xxx.genome.soft.masked4.fasta -out xxx.genome.soft.masked.4.snRNA.blast.out > blastn.log 2>&1 &
# 基于比对结果,过滤,然后用TBtools将各个RF*中的snRNA分开保存。 再利用infernal的cmsearch对上述结果进行验证,得到最后的snRNA注释结果:
cmsearch 路径/cm_files/RF00001.cm xxx.snRNA.RF00001.fa > xxx.RF00001.cmsearch

十一、基因组功能注释

Nr,Swiss-prot和TrEmBL数据库的注释
KEGG数据库的注释
GO数据库的注释
基因功能的注释依赖于上一步的基因预测,根据预测结果从基因组上提取翻译后的蛋白序列和主流的数据库进 行比对,完成功能注释。 常用数据库有以下几种:NR,KEGG,Uniprot(Swiss-Prot, TrEMBL),GO。

Nr,Swiss-prot和TrEmBL数据库的注释

nohup diamond makedb --threads 180 --in nr.fa --db NR_2023_07_23 & # diamond建库
nohup diamond blastp --db 路径/nr_prot.dmnd -q test.clean.protein.fasta -p 48 --min-score 100 --id 50 -b 12 --outfmt 6 --out test.genome.nr.out > nr.log 2>&1 &
nohup diamond blastp --db 路径/swissprot_index.dmnd -q test.clean.protein.fasta -p 48 -- min-score 100 --id 50 --outfmt 6 --out test.genome.swissprot.out > swissorot.log 2>&1 & # 选结果文件中evalue(倒数第二列)在0.001以下的
nohup diamond blastp --db 路径/uniprot_trembl_2021_8_22.dmnd -q test.clean.protein.fasta - p 48 --min-score 100 --id 50 --outfmt 6 --out test.genome.trembl.out > trembl.log 2>&1 &

参考这里:https://blog.csdn.net/m0_53945548/article/details/133872288 这里有详细解读
test.clean.protein.fasta 蛋白文件使用gffread从基因组提取,参考链接:https://www.jianshu.com/p/e668795a3390

序列比对软件:blast、diamond、blat diamond作为一个和BLAST具有相似功能的软件,具有以下特点:
• 比BLAST快500到20,000倍
• 长序列的移框联配分析(frameshift alignment) • 资源消耗小,普通台式机和笔记本都能运行
• 输出格式多样

KEGG数据库注释

构建本地KEGG数据库,使用diamond进行注释。(据说很麻烦)

基于KofamKOALA:
两个教程:
https://zhuanlan.zhihu.com/p/375740435
https://www.jianshu.com/p/b24d34b8f3ac

GO数据库注释

要下载interproscan数据库?

nohup 路径/interproscan/interproscan-5.53-87.0/interproscan.sh -i xxx.clean.protein.fasta -dp -f tsv > interproscan.log 2>&1 &

教程在这:https://www.jianshu.com/p/2651a2e0cf3d

其他数据库注释

COG直系同源蛋白数据库:NCBI开发的用于同源蛋白注释的数据库。
KOG数据库:KOG(Clusters of orthologous groups for eukaryotic complete genomes)真核生
物蛋白相邻类的聚簇。构成每个KOG的蛋白都是被假定来自一个祖先蛋白,要么是orthologs,要么是 paralogs。orthologs是指来自不同物种的由垂直家系(物种形成)进化而来的蛋白,并且保留与原始蛋白 相同的功能;paralogs是指在一定物种中来源于基因复制的蛋白,可能会进化成新的与原来有关的功能。
eggNOG数据库:eggNOG(evolutionary genealogy of genes:non-supervised orthologous groups)由EMBL创建,是对NCBI的COG数据库的拓展,提供了不同分类水平蛋白的直系同源分组 (Orthologous Groups,OG),包括真核生物,原核生物,病毒的信息。拓展了COG的分类,采用无监 督聚类算法在全基因组范围内推导基因功能,更适合谱系特征基因的分析。
string数据库:搜寻已知蛋白质和预测蛋白质之间的相关关系的系统,包括蛋白质之间的物理作用和间接的 功能相关性。基于染色体临近,系统进化谱,基因融合和基因芯片数据等计算基因或蛋白的共表达。

这篇关于基因组de novo组装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/874186

相关文章

简化基因组的测序方法

RAD-Seq(restriction site-associated DNA sequencing)最开始指的是2008年发表在PLOS ONE上“Rapid SNP discovery and genetic mapping using sequenced RAD markers"提出的方法,目前该文章的引用已经达到1200+,现在指代的是一系列基于限制性内切酶的测序技术。同样在概念上被引申的

初步组装的杂合基因组如何去冗余

redundans的目标是辅助杂合基因组的组装,输入文件可以是组装的contig,测序文库以及额外的参考基因组,最后用于搭建出scaffold级别的纯合基因组组装结果。包括如下几个步骤: 从头组装: 它会调用Platanus、SSPACE3进行组装去冗余: 从最初组装中去除冗余的序列scaffolding: 利用双端测序将contig进行搭接gap closing: 即填补scaffold中的N

「BioNano系列」光学图谱混合组装应该怎么做?

评估从头组装结果 Bionano从头组装出光学图谱CMAP可以和参考序列的CMAP进行比对,通过Access上可视化检查参考基因组的组装质量,比较两者间的不同。 这里所用的CMAP图谱来自于一篇发表在NC的拟南芥的基因组文章(原本计划用他们的bnx文件介绍从头组装,但是通讯作者根本不搭理我), 光学图谱的下载方式为: wget https://submit.ncbi.nlm.nih.gov

「BioNano系列」如何从头组装出一个Bionano图谱

官方并没有一个很详细的文档描述Bionano的从头组装流程的具体过程,所以我只能根据自己实际项目进行介绍: 流程 AutoNoise + SplitBNX: 这一步会将bnx和参考的cmap文件进行比对,估算出噪声系数,然后把bnx进行拆分便与后续比对Pairwse: 这一步进行molecules之间的两两比较,寻找overlap, 结果存放在"align"文件夹下Asse

「杂谈」Nanopore组装的拟南芥基因组效果如何?

使用的数据来自于一篇发在NC的拟南芥的基因组文章,文章用了minimap/miniasm 进行组装,然后用racon和Pilon进行polish, 最后拼接处62 contigs 且N50 = 12.3 Mb。 wget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR217/003/ERR2173373/ERR2173373.fastq.gzseqkit seqk

StringTie在注释基因组时的注意事项

在利用RNA-seq注释基因组时,有一个问题就是,我将不同组织来源的转录组数据和参考基因组比对之后,那下一步是1)先将这三个比对结果进行合并,然后用StringTie进行预测,还是2)用StringTie分别进行预测,然后用StringTie的merge模式进行合并? 这个问题的提出,是我采取第二种方式时,发现合并后的基因数减少,觉得哪里不太对劲,于是用IGV检查了不同分析策略的结果, 结论如

NECAT: Nanopore数据的高效组装工具

NECAT是肖传乐老师团队开发的一个针对Nanopore数据组装的软件,目前该工具尚未发表,除了https://github.com/xiaochuanle/NECAT有软件的介绍外,暂时没有中文资料介绍NECAT的使用。 太长不看的结论: Nanopore的组装推荐用下NECAT。组装之后是先用MEDAKA做一遍三代polish,然后用NextPolish默认参数做二代polish。 这篇将

「文献」杂合基因组的策略思路

「文献」杂合基因组的策略思路 文献出处: Sequencing a Juglans regia × J. microcarpa hybrid yields high-quality genome assemblies of parental specie 文章的亮点在于通过对一个F1子代进行三代测序,之后利用BioNano组装出两个亲本的光学图谱,最后根据光学图谱从F1中拆分出两套单倍型。

「基因组组装」三代组装多少深度比较合适

文章 一句话总结,组装深度建议高于30X,N50建议高于11Kb,否则会出现严重的片段化。 最初参加三代组装培训的时候,课程老师建议Canu使用所有数据进行组装会比较好。因为我组装基因组比较小,计算成本低,所以大部分的时候我都是用100X左右的数据进行纠错加组装。但是最近组装的时候,却发现如果我使用所有数据,最后结果会有更多的错误组装。这种错误可以用一个成语进行概括,“三人成虎

2024.06.23【读书笔记】丨生物信息学与功能基因组学(第十七章 人类基因组 第四部分)【AI测试版】

第四部分:人类基因组的伦理、法律和社会问题(ELSI) 摘要: 本部分探讨了人类基因组计划所引发的伦理、法律和社会问题(ELSI),这些问题涉及基因信息的所有权、隐私权、基因歧视以及基因技术在社会中的运用等方面。 学习目标: 理解人类基因组计划实施过程中所引发的ELSI问题。掌握基因信息的伦理学考量,包括隐私保护和数据共享。学习基因技术在医疗、法律和社会层面的应用及其带来的挑战。 正文