基因组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数据库:搜寻已知蛋白质和预测蛋白质之间的相关关系的系统,包括蛋白质之间的物理作用和间接的 功能相关性。基于染色体临近,系统进化谱,基因融合和基因芯片数据等计算基因或蛋白的共表达。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

kali 渗透工具 - mestaploit

永恒之蓝漏洞的小知识&#xff1a; 黑客通过改造 永恒之蓝 制作 wannacry 制作病毒入侵高校内网。 mestaploit 攻击永恒之蓝流程&#xff1a; 使用模块 msfconsole配置required 模块参数运行&#xff0c;开始监听主机 msfconsole 主要模块 - 选择使用模块 search ms17_01…

VSCode 插件 Template String Converter

1. 插件介绍 点击安装 Template String Converter 插件 Template String Converter 翻译后&#xff1a;模板字符串转换器。 插件作用&#xff1a;当 JavaScript 字符串中键入 ${ 时自动将引号转为反引号&#xff0c;当删除 ${ 时自动将反引号转为普通引号 功能示例&#xff…

【T5中的激活函数】GLU Variants Improve Transformer

【mT5中的激活函数】GLU Variants Improve Transformer 论文信息 阅读评价 Abstract Introduction Gated Linear Units (GLU) and Variants Experiments on Text-to-Text Transfer Transformer (T5) Conclusion 论文信息 名称内容论文标题GLU Variants Improve Transfo…

【保姆级介绍Oracle】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

DeepWalk论文翻译

DeepWalk论文翻译 DeepWalk: Online Learning of Social Representations DeepWalk&#xff1a;社会表征的在线学习 ABSTRACT 我们提出了 DeepWalk&#xff0c;一种学习网络中顶点潜在表示的新方法。这些潜在表示在连续向量空间中对社会关系进行编码&#xff0c;很容易被统…

蓝桥杯第十五届抱佛脚(九)动态规划

蓝桥杯第十五届抱佛脚&#xff08;九&#xff09;动态规划 基本概念 动态规划(Dynamic Programming, DP)是一种用于解决复杂问题的优化算法设计技术。它将原问题分解为若干相互重叠的子问题,通过记录子问题的解,避免重复计算,从而大大减少了计算量。 动态规划典型的应用场景…

Python | SLP | EOF | 去除季节趋势

EOF & PC 前言 在计算EOF&#xff08;经验正交函数&#xff09;之前去除季节循环是为了消除数据中的季节变化的影响&#xff0c;使得EOF能够更好地捕捉数据中的空间变化模式。如果不去除季节循环&#xff0c;季节性信号可能会在EOF中占据较大的比例&#xff0c;从而影响对其…

【Greenplum】GP库 too many clients already错误,重启失败问题解决方案

问题描述&#xff1a; 连接数满了后&#xff0c;导致 gp库无法连接了&#xff0c;通过登录服务器&#xff0c;使用gpadmin用户进行重启操作&#xff0c;也报too many clients already&#xff0c;无法重启。 采用 psql -d postgres -U gpadmin 连接库&#xff0c;也报too man…

C语言----数据在内存中的存储

文章目录 前言1.整数在内存中的存储2.大小端字节序和字节序判断2.1 什么是大小端&#xff1f;2.2 练习 3.浮点数在内存中的存储3.1.引子3.2.浮点数的存储3.2.2 浮点数取的过程 前言 下面给大家介绍一下数据在内存中的存储&#xff0c;这个是一个了解c语言内部的知识点&#xf…

element-ui breadcrumb 组件源码分享

今日简单分享 breadcrumb 组件的源码实现&#xff0c;主要从以下三个方面&#xff1a; 1、breadcrumb 组件页面结构 2、breadcrumb 组件属性 3、breadcrumb 组件 slot 一、breadcrumb 组件页面结构 二、breadcrumb 组件属性 2.1 separator 属性&#xff0c;分隔符&#xff…

Golang | Leetcode Golang题解之第10题正则表达式匹配

题目&#xff1a; 题解&#xff1a; func isMatch(s string, p string) bool {m, n : len(s), len(p)matches : func(i, j int) bool {if i 0 {return false}if p[j-1] . {return true}return s[i-1] p[j-1]}f : make([][]bool, m 1)for i : 0; i < len(f); i {f[i] m…

python--IO流和字符流的写入写出

1.IO流&#xff1a;&#xff08;input output stream&#xff09; python的IO流只有一个函数&#xff1a;open函数 属性不用带括号&#xff1b;方法通通要带括号 输入输出流&#xff1a;狭义上来说&#xff0c;指的就是内存数据和磁盘这种可以永久 存储数据的设备 IO流 IO流…

[C#]OpenCvSharp使用HoughCircles霍夫圆检测算法找出圆位置并计数

【效果展示】 原图&#xff1a; 找出位置&#xff1a; 【测试环境】 vs2019,netframework4.7.2,opencvsharp4.8.0 【函数用法】 cv2提供了一种圆检测的方法&#xff1a;HoughCircles。该函数的返回结果与参数设置有很大的关系。 检测的图像时9枚钱币&#xff0c;分别使用了…

Codeforces Round 931 (Div. 2) ---- E. Weird LCM Operations ---- 题解

E. Weird LCM Operations&#xff1a; 题目大意&#xff1a; 思路解析&#xff1a; 这是一道构造题&#xff0c;那么观察这个构造有啥性质&#xff0c;观察到最多操作次数为 n/6 5&#xff0c;然后每次操作需要选择三个数&#xff0c;如果每次操作的三个数都不和之前的重复的…

算法-最值问题

#include<iostream> using namespace std; int main() {int a[7];//上午上课时间int b[7];//下午上课时间int c[7];//一天总上课时间for (int i 0; i < 7; i) {cin >> a[i] >> b[i];c[i] a[i] b[i];}int max c[0];//max记录最长时间int index -1;//索…

解决 VSCode 编辑器点击【在集成终端中打开】出现新的弹框

1、问题描述 在 VSCode 的项目下&#xff0c;鼠标右键&#xff0c;点击【在集成终端中打开】&#xff0c;出现新的一个弹框。新版的 VSCode 会有这个问题&#xff0c;一般来说我们都希望终端是在 VSCode 的控制台中打开的&#xff0c;那么如何关闭这个弹框呢&#xff1f; 2、解…

震惊!!原来阻塞队列消息队列这样理解会更简单!!!

震惊!!原来阻塞队列&&消息队列这样理解会更简单!!! 一:阻塞队列二:消息队列2.1:生产者消费者模型2.1.1:解耦合:2.1.2:削峰填谷: 三:消息队列代码3.1.13.1.2:3.1.3:生产慢,消费快,消费阻塞3.1.3:生产快,消费慢,生产阻塞 二级目录二级目录 一:阻塞队列 阻塞队列:先进先出…

能耗监测管理系统与技术方案

能耗监测管理系统是目前能源管理中重要的技术手段&#xff0c;它通过集成现代监测技术和信息技术&#xff0c;实现对能源消耗的实时监控、数据分析和决策支持&#xff0c;帮助企业或机构实现能源的高效管理和节能降耗。本篇文章将从能耗监测管理系统的组成、关键技术、应用领域…

数据库重点知识(个人整理笔记)

目录 1. 索引是什么&#xff1f; 1.1. 索引的基本原理 2. 索引有哪些优缺点&#xff1f; 3. MySQL有哪几种索引类型&#xff1f; 4. mysql聚簇和非聚簇索引的区别 5. 非聚簇索引一定会回表查询吗&#xff1f; 6. 讲一讲前缀索引&#xff1f; 7. 为什么索引结构默认使用B…

[技术闲聊]我对电路设计的理解(三)

终于可以独立做项目了&#xff0c;是不是很激动&#xff0c;是不是为自己骄傲和自豪&#xff0c;应该的&#xff0c;奋斗那么久不就是为了站在山巅看看四周的风景嘛&#xff01; 虽说山外还有山&#xff0c;但是此刻就在脚下的山巅上&#xff0c;怡然自得都是不过分的&#xff…