hifiasm大概是目前为止支持PacBio HiFi数据组装的所有软件中表现最优异的软件了。它不但能输出primary assembly result,还能分别组装出单倍体(haplotype)基因组的组装结果。
今天的分享就从hifiasm的组装开始,其他的组装软件之后也会介绍到。
hifiasm的安装也非常简单,conda一条命令就可以了
conda install hifiasm
把命令写到一个名为run_hifiasm.sh的脚本里
vim run_hifiasm.sh
只要填入最基本的
hifiasm \
-o test.hifisam \
-t 24 \
/path/to/PacBio/test1.hifi_reads.fastq.gz \
/path/to/PacBio/test2.hifi_reads.fastq.gz \
/path/to/PacBio/test3.hifi_reads.fastq.gz
用nohup挂在后台运行就可以啦。
nohup bash run_hifiasm.sh &
输出结果如下:
test.hifisam.ovlp.source.bin
test.hifisam.ovlp.reverse.bin
test.hifisam.ec.bin
test.hifisam.bp.r_utg.noseq.gfa
test.hifisam.bp.r_utg.lowQ.bed
test.hifisam.bp.r_utg.gfa
test.hifisam.bp.p_utg.noseq.gfa
test.hifisam.bp.p_utg.lowQ.bed
test.hifisam.bp.p_utg.gfa
test.hifisam.bp.p_ctg.noseq.gfa
test.hifisam.bp.p_ctg.lowQ.bed
★ test.hifisam.bp.p_ctg.gfa
test.hifisam.bp.hap2.p_ctg.noseq.gfa
test.hifisam.bp.hap2.p_ctg.lowQ.bed
★ test.hifisam.bp.hap2.p_ctg.gfa
test.hifisam.bp.hap1.p_ctg.noseq.gfa
test.hifisam.bp.hap1.p_ctg.lowQ.bed
★ test.hifisam.bp.hap1.p_ctg.gfa
上面打了五角星★的三个文件是后续重点关注的文件。根据
https://hifiasm.readthedocs.io/en/latest/interpreting-output.html的描述:
Hifiasm generates the following assembly graphs only with HiFi reads in default:
prefix.bp.p_ctg.gfa: assembly graph of primary contigs.
prefix.bp.hap1.p_ctg.gfa: partially phased contig graph of haplotype1.
prefix.bp.hap2.p_ctg.gfa: partially phased contig graph of haplotype2.
如果你有HiC数据(测基因组的话大概率会有HiC数据的吧?)可以尝试基于HiC的证据的分型,primary的结果不会有什么变化,但是haplotype的结果会有提高。
hifiasm \
-o test.hifisam_hic \
-t 24 \
--h1 /path/to/HiC/1_R1.fastq.gz --h2 /path/to/HiC/1_R2.fastq.gz \
/path/to/PacBio/test1.hifi_reads.fastq.gz \
/path/to/PacBio/test2.hifi_reads.fastq.gz \
/path/to/PacBio/test3.hifi_reads.fastq.gz
用gfatools或者自己写个脚本把gfa格式的文件转换成fasta就得到最终的组装结果啦。
参考自:https://github.com/linsalrob/EdwardsLab/blob/master/bin/gfa2fasta.sh
(假设命名为gfa2fasta.sh)
#!/usr/bin/env bash
if [ -z $1 ]; then
echo "Usage: $0 <gfa file> > <fasta file>"
exit $E_BADARGS
fi
awk -v id=$1 '/^S/{print ">"id"_"$2"\n"$3}' $1
运行:
bash gfa2fasta.sh test.hifisam.bp.hap1.p_ctg.gfa > test.hifisam.bp.hap1.p_ctg.fasta
先用conda安装gfatools
conda install gfatools
接下来也写一个如上的脚本方便使用(假设命名为gfa2fa.sh)
#!/usr/bin/env bash
if [ -z $1 ]; then
echo "$0 <gfa file>"
echo "It will generate the fasta file like ${1%.*}.fasta"
exit $E_BADARGS
fi
gfatools gfa2fa ${1} > ${1%.*}.fasta
使用起来就很简单啦:
bash gfa2fa.sh test.hifisam.bp.hap1.p_ctg.gfa
Hifiasm does not need polishing tools like pilon or racon, either.
引用自:
(https://hifiasm.readthedocs.io/en/latest/index.html)
我正在尝试在iOS上以编程方式创建一个xlsx文件。由于xlsx文件的内部数据基本上存储在单独的xml文件中,我尝试重新创建xlsx结构及其所有文件和子目录,将它们压缩成一个zip文件并将其扩展名设置为xlsx。我使用GDataXML解析器/编写器来创建所有必需的xml文件。但是,我得到的文件不能作为xlsx文件打开。即使我从有效的xlsx文件中提取所有数据,通过从原始xml文件复制数据并手动压缩它们来手动创建所有xml文件,我也无法重新创建有效的xlsx文件。问题是:xlsx真的只是一个包含xml文件的存档吗?如果我不能将xml文件压缩成zip文件并将其扩展名设置为xlsx,我该如何
让我们从背景说起。我需要为ODBC命令设置一串属性:SQLConfigDataSource(hwndParent,ODBC_ADD_DSN,sDriver,wcAttrs);属性必须以严格的方式格式化才能工作:LPCWSTRwcAttrs=L"DSN=NiceDB\0DBQ=C:\\Users\\who\\AppData\\Local\\NiceApp\\niceDB.accdb\0";以这种方式进行硬编码是可行的,但实际上我需要动态设置accdb文件(DBQ)的路径。问题是分隔字符串中的属性所需的空字符,而我主要使用wcscat_s的string-fu技能失败了,因为空字符会使它后面
我有兴趣在Windows上进行最少的汇编编程。没有GUI,只有一个普通的旧.exe程序,它将向控制台打印一些字符。为了查看是否可以在Windows上简单地编译和运行程序集,我尝试了以下操作:测试.s:ret命令行:gcctest.s我得到了以下错误:Infunction'main':undefinedreferenceto'WinMain'所以问题是我如何将一个简单的无用汇编程序编译为Windows可执行文件?我需要在每个程序中定义WinMain吗?它是gcc的标志吗?我真的不在乎我使用哪个汇编器,但是如果有人知道这对于gcc(gas)是否相同或不同,masm和其他汇编程序,那也很好。
我正在使用Aforge.net框架来进行图像处理工作。我添加了“AForge.Video.FFMPEG.dll”作为我项目的引用。我正在使用VS2012和32位构建目标。构建时我得到System.IO.FileNotFoundExceptionwasunhandledHResult=-2147024770Message=Couldnotloadfileorassembly'AForge.Video.FFMPEG.dll'oroneofitsdependencies.Thespecifiedmodulecouldnotbefound.Source=VideoReadereFileName
是否可以将lambda表达式作为IL字节流传递给辅助AppDomain,然后使用DynamicMethod将其组装回去以便调用它?一开始我不太确定这是正确的方法,所以这是我问这个问题的(详细)原因...在我的应用程序中,有很多情况需要加载几个程序集进行反射,这样我才能确定接下来要对它们做什么。问题部分是我需要能够在完成反射后卸载程序集。这意味着我需要使用另一个AppDomain加载它们.现在,我的大多数案例都有点相似,只是不完全相似。例如,有时我需要返回一个简单的确认,有时我需要从程序集中序列化资源流,有时我需要进行一两次回调。所以我最终写了同样的半复杂的临时文件AppDomain一遍
CPUAMDRyzen55600G主板映泰B550M-SILVER内存玖合忆界32GB(2×16GB)DDR432001固态硬盘铭瑄电竞之心M.2(1TB)机箱积至黑骑士(标准版)电源积至权利游戏460WS散热器利民AX120RSE组装电脑怎么搭配更合适这些点很重要看过你就懂了http://www.adiannao.cn/duCPUIntel酷睿i39100F1主板梅捷SY-狂龙B360M内存金士顿骇客神条FURY8GBDDR42400(HX424C15FB/8)硬盘西部数据蓝盘1TB7200转64MBSATA3(WD10EZEX)固态硬盘台电极光A800(480GB)显卡影驰GeForceG
运行命令-mvnclean-Dmaven.test.skip=truepackage-X我收到以下错误。[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-jar-plugin:3.1.2:jar(default-jar)onprojectmy-module-one:ErrorassemblingJAR:CouldnotcreatemodularJARfile.TheJDKjartoolexitedwith1->[Help1]org.apache.maven.lifecycle.LifecycleExecutionExcep
当给定一串字母A、C、G或T时,我被分配了一个查找基因的问题,例如ATGCTCCTCTTGATTTTTTTATGTGTAGCCATGCACACACACACATAAGA。一个基因以ATG开始,以TAA、TAG或TGA结束(该基因不包括两个端点)。该基因由字母的三联体组成,因此它的长度是三的倍数,并且这些三联体都不能是上面列出的开始/结束三联体。因此,对于上面的字符串,其中的基因是CTCTCT和CACACACACACA。事实上,我的正则表达式适用于该特定字符串。到目前为止,这是我所拥有的(我对自己能走到这一步感到非常满意):(?但是,如果在另一个结果中存在ATG和末端三元组,并且未与该结果
我在这里问了一个相关问题JOOQclassgenerationandgradle在那个问题中,我试图找到进行多阶段构建的最佳方法,包括在中间步骤中生成类。我已经采用了选项二的方法,现在发现自己陷入了僵局。我有以下build.gradle文件applyplugin:'java'applyplugin:'eclipse'sourceSets{bootstrapgenerated{compileClasspath+=bootstrap.output}main{compileClasspath+=bootstrap.outputcompileClasspath+=generated.outpu
欢迎点击上方蓝色”宏基因组”关注我们!宏基因组/微生物组是当今世界科研最热门的研究领域之一,为加强宏基因组学技术和成果交流传播,推动全球华人微生物组领域发展,中科院青年科研人员创立“宏基因组”公众号,联合海内外同行共同打造本领域纯干货技术及思想交流平台。公众号每日推送,工作日分享宏基因组领域最新成果、科研思路、实验和分析技术,理论过硬实战强;周末科普和生活专栏,轻松读文看片涨姿势。目前分享3100+篇原创文章,15万+小伙伴在这里一起交流学习,累计阅读超3500万+。公众号合作创办了宏基因组学、微生物组和生物信息高起点新刊“iMeta”,由威立、肠菌分会和本领域数百位华人科学家合作出版的开放获