使用低深度长读取的结构变量调用者

nanovar的Python项目详细描述


使用低深度长读序列的NanoVar结构变量调用者

Build StatusPyPI pyversionsPyPI versionsCondaGithub releasePyPI license

NanoVar是一种基因组结构变异(SV)调用者,利用低深度长读测序,如 牛津纳米孔技术公司(ONT)。它的特点是仅使用4倍深度就具有高精度和高速度的特征 纯合性SVs的测序和杂合SVs的8x深度测序。NanoVar降低了测序成本和计算需求 这使得它与大型队列SV关联研究或常规临床SV调查相兼容。在

基本功能

  • 在APHS和APSV中执行单通道快速发现和最小读取映射。在
  • 使用长序列读取精确地描述SVs(高SV召回率和模拟数据集的精确度,整体F1 得分>0.9)
  • 描述了六类支持向量机,包括新的序列插入、删除、反转、串联复制、序列 转位和易位。在
  • 需要4x和8x测序深度分别检测纯合和杂合子SVs。在
  • 快速的计算速度(使用24个CPU线程绘制和分析12 GigaBase数据集(4倍)需要3小时)
  • 近似SV基因型

入门

快速运行

nanovar [Options] -t 24 -f hg38 sample.fq/sample.bam ref.fa working_dir 
ParameterArgumentComment
^{}num_threadsIndicate number of CPU threads to use
^{} (Optional)gap_file (Optional)Choose built-in gap BED file or specify own file to exclude gap regions in the reference genome. Built-in gap files include: hg19, hg38 and mm10
-sample.fq/sample.bamInput long-read FASTA/FASTQ file or mapped BAM file
-ref.faInput reference genome in FASTA format
-working_dirSpecify working directory

输出

^{tb2}$

有关详细信息,请参见wiki。在

操作系统:

  • Linux(x86_64架构,在Ubuntu 14.04、16.04、18.04中测试)

安装:

安装NanoVar有三种方法:

选项1:Conda(推荐)

^{pr2}$

选项2:Pip(参见下面的依赖项)

# Installing from PyPI requires own installation of dependencies, see below
pip install nanovar

选项3:GitHub(参见下面的依赖项)

# Installing from GitHub requires own installation of dependencies, see below
git clone https://github.com/cytham/nanovar.git 
cd nanovar 
pip install .

安装依赖项

  • 床上工具>;=2.26.0
  • 工具3.0>
  • 最小值2>;=2.17
  • makeblastdb和windowmasker
  • hs爆破

请确保每个可执行的二进制文件都在路径中。在

1。bedtools

请访问here获取安装说明。在

2。samtools

请访问here获取安装说明。在

3。minimap2

请访问here获取安装说明。在

4。makeblastdbwindowmasker
# Download NCBI-BLAST v2.3.0+ from NCBI FTP server
wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.3.0/ncbi-blast-2.3.0+-x64-linux.tar.gz

# Extract tar.gz
tar zxf ncbi-blast-2.3.0+-x64-linux.tar.gz

# Copy makeblastdb and windowmasker binaries to PATH (e.g. ~/bin)
cp ncbi-blast-2.3.0+/bin/makeblastdb ~/bin && cp ncbi-blast-2.3.0+/bin/windowmasker ~/bin
5。hs blastn
# Download and compile
git clone https://github.com/chenying2016/queries.git
cd queries/hs-blastn-src/
make

# Copy hs-blastn binary to path (e.g. ~/bin)
cp hs-blastn ~/bin

文件

有关详细信息,请参见wiki。在

版本控制

CHANGELOG

引文

如果您使用NanoVar,请引用:

Tham,CY.,Tirado Magallanes,R.,Goh,Y.等人,《纳米变种:使用低深度纳米孔测序对患者基因组结构变体的精确表征》。基因组生物学。21,56(2020年)。https://doi.org/10.1186/s13059-020-01968-7

作者

许可证

此项目是在GNU通用公共许可证下授权的-有关详细信息,请参阅LICENSE.txt。在

手稿中使用的模拟数据集和脚本

手稿中使用的SV模拟数据集可以下载here。用于模拟数据集生成和工具性能比较的脚本可用here。在

尽管NanoVar提供了一个通用模型和阈值评分,但是构建一个定制的神经网络模型所需的指令是可用的here。在

局限性

  • 大的均聚物或低复杂度DNA区域的碱基调用不准确可能导致缺失SVs的错误判断。我们建议使用最新的ONT-basecaller,如Guppy,以尽量减少这种可能性。在

  • 对于BND-SVs,NanoVar无法计算新邻接处SV反向读取(正常读取)的实际数量 远处有两个断头。它目前尚不清楚小说中的邻接关系是由两者还是两者之一衍生而来 断头,在平衡和不平衡变量的情况下,因此不可能知道断端的位置 考虑计算正常读数。目前,NanoVar通过以下两种方法中的最小计数来近似正常读取计数 断头位置。虽然这有助于捕获不平衡的BNDs,但它可能会导致一些误报。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javaelk:如何在Kibana中按异常类对stacktrace进行分组   java两个组件使用MigLayout相互重叠   java Hibernate标准获取关联实体的列表,而不是父实体的列表   从Java关闭另一个应用程序,但不是由当前Java应用程序启动   java使用OGNL获取参数   java如何在SSLEngine中启用密码TLS\U DHE\U RSA\U和\U AES\U 256\U GCM\U SHA384   在Java中有效地比较两个列表<Object[]>   java杀死挂起的线程   在java中从指定模式前后的字符串中提取子字符串   存储整数的java HashMap替代方案   java如何使用LibGDX加载特定于语言的资产?   java如何使用JSON响应从维基百科读取结构化数据   java无法连接到Spark Master:原因是:[已解除关联]   java如何配置Elastic beanstalk classic负载平衡器以使用CLI终止HTTPS   java筛网中的奥斯汀大于int   java PircBot在每个用户上迭代一组命令   java将带有Jackson的hashmap编组为XML的错误结构   testng中的java设置testfailure给出了正回报   java如何在IntelliJ中正确配置Eclipse项目?