使用pacbio isoseq reads获得非冗余单倍型特异转录亚型的管道。

IsoCon的Python项目详细描述


isocon
==


isocon作为一个python包分发,在linux/osx上受支持,python v>;=2.7、3.4-3.6、3.5-dev和3.6-dev[![构建状态](https://travis-ci.org/ksahlin/isocon.svg?branch=master)(https://travis ci.org/ksahlin/isocon)




isocon是一个工具,用于从*iso seq*读取的*目标*测序中导出*完成的转录本*。输入可以是一组fasta格式的全长非嵌合体读取和作为bam文件的ccs基本调用值,也可以是ccs调用方提供的ccs读取及其质量值的fastq文件。由于底层的对齐方法,isocon只能在目标iso seq数据集上运行---运行时不针对非目标排序进行缩放。输出是一组预测的转录本。isocon可以按如下方式运行:isocon pipeline-fl-reads<;flnc.fasta>;-outfolder<;/path/to/output>;-ccs<;/path/to/filename.ccs.bam>;
````
isocon pipeline-fl-reads<;flnc.fastq>;-outfolder<;/path/to/output>;
```


predicted transcripts可在文件**/path/to/output/final_candidates.fa**中找到。在/path/to/output/not_converged.fa中找到无法更正或群集的读取。

*可以在非目标iso seq数据集上运行isocon吗?[见此处](https://github.com/ksahlin/isocon/issues/2)。
*我的数据集如何影响运行时?[请参见此处](https://github.com/ksahlin/isocon/issues/3)


从github获取源代码](从github下载源代码)
*[依赖项](依赖项)
*[用法]
*[管道](管道)
*[输出](输出)
*[获取候选项](获取候选项)
*[状态筛选](状态筛选)
*[参数](参数)
*[信用](信用)
*[许可证](许可证)



本节假设您已经安装了"python"(v2.7或>;=3.4)和"pip"的最新版本,大多数python版本都应该包含该版本。如果没有"pip",则可以[从这里]轻松安装(https://pip.pypa.io/en/stable/installing/)并使用"pip install--upgrade pip"进行升级。

使用"python"和"pip",创建一个"requirements.txt"文件,其中的内容从[此文件](https://github.com/ksahlin/isocon/blob/master/requirements.txt)中复制。然后,输入terminal

```
pip install--requirement requirements.txt isocon
```

this should install isocon.通过正确安装**isocon**,您应该能够发出命令'isocon pipeline'来查看用户说明。您还应该能够在此[小数据集]上运行isocon(https://github.com/ksahlin/isocon/tree/master/test/data)。只需下载测试数据集并运行:

```
isocon pipeline-fl庀reads[path/simulated庀pacbio庀reads.fa]-outfolder[output path]
````

`pip'将自动为您安装依赖项。isocon是用python 2.7、3.4-3.6在linux系统上使用[travis]构建的(https://travis ci.org/)。有关最新主分支的自定义安装,请参阅下面的内容。


括号中的版本是建议的,因为isocon没有使用这些库的早期版本进行测试。但是,isocon也可以使用这些库的早期版本。
*[edlib](https://github.com/martinsos/edlib"edlib的主页"),有关安装,请参见[link](https://github.com/martinsos/edlib/tree/master/bindings/python"安装"(>;=v1.1.2)
*[networkx](https://networkx.github.io/)(>;=v1.10)
*[parasail](https://github.com/jeffdaily/parasail python)
*[pysam](http://pysam.readthedocs.io/en/latest/installation.html)(>;=v0.11)



安装了这些依赖项。运行

``sh
git克隆https://github.com/ksahlin/isocon.git
cd isocon
./isocon
```



----

isocon的算法包括两个主要阶段:错误纠正步骤和统计测试步骤。isocon可以使用"isocon pipeline"一次性运行这两个步骤,或者它只能使用"isocon get_candidates"和"isocon stat_filter"分别运行校正或统计测试步骤。预处理和测试最多的方法是使用整个管道"isocon pipeline",但其他两个设置在特定情况下可以派上用场。例如,如果不关心精度,只运行"isocon get_candidates"将提供更多的序列,而且速度也会更快,而对于一组已经构造好的候选对象,可以只使用使用不同参数的"isocon stat_filter",以防止重新运行纠错步骤。



\pipeline

isocon接受两个输入文件:(1)全长非嵌合(flnc)ccs的fasta文件读取和(2)包含预测基本呼叫质量值的ccs读取的bam文件。包含flnc的fasta文件可以从pacbios iso seq pipeline[豆腐](https://github.com/pacificbiosciences/isoseq_sa3nup/wiki)获取,bam文件是在上运行一致调用方algorthm[ccs](https://github.com/pacificbiosciences/unanimity/blob/master/doc/pbccs.md)的输出。iso seq读取(ccs接受bam文件,因此如果您有bax文件,请使用[bax2bam]转换它们(https://github.com/pacificbiosciences/unanimity/blob/master/doc/pbccs.md input))。然后,isocon可以运行为

```
isocon pipeline-fl-reads<;flnc.fasta>;-outfolder<;/path/to/output>;[--ccs<;/path/to/filename.ccs.bam>;]
```

isoon还支持仅将fasta读取文件作为输入。如果没有"-ccs"中的基本通话质量值,isocon将使用经验估计的错误模型。如果在ccs基本调用算法之后,从使用illumina reads的错误更正中更改了读取,则仅将flnc fasta文件作为输入的功能非常有用。**但是,如果ccs读取没有经过任何额外更正,我们强烈建议向isocon提供ccs质量值。**

-outfolder<;/path/to/output>;
```

如果只有一个或两个读取来自一个转录本,这与其他读取完全不同(exon difference),它将被输出到"not_converged.fa"文件中。此文件可能包含其他错误的ccs读取,如chimeras。输出还包含一个"cluster_info.tsv"文件,该文件显示在"final_candidates.fa"中为每个读操作分配给哪个候选项。

输出是fasta文件中的聚合候选者。

```
isocon get懔candidates-fl懔reads<;flnc.fasta>;-outfolder<;/path/to/output>;
````

stat懔filter

isocon pipeline-fl懔reads<;flnc.fasta>;-outfolder<;/path/to/output>;-candidate s<;candidate嫒transcripts.fa>;[--ccs<;/path/to/filename.ccs.bam>;]
````
请注意,"candidate嫒transcripts.fa"不一定来自isocon的错误纠正算法。例如,这可以是一组已经验证的transcri希望在ccs中看到它们是否发生的pts,或者它们可以是illumina(或以其他方式)修正的ccs读取。




\管道
[-h]-fl_reads fl_reads-outfolder outfolder[--ccs ccs]
[--nr_cores nr_cores][--verbose]
[--neighbor_search_depth neighbor_search_depth]
[--min_exon_diff min_exon_diff]
[--min_candidate min_candiff]
[--p_value_threshold p_value_threshold]
[--min_test_ratio min_test_ratio]
[--max_phred_q_trusted max_phred_q_trusted]
[--ignore_ends_len][--cleanup]
[--prefilter_candidates]

可选参数:
-h,--帮助显示此帮助消息并退出带有ccs序列预测的ccs-ccs-bam/sam文件。
--nr-cores nr-cores要使用的核心数。[默认值=16]
--详细这将打印有关NT工作流的更多信息,并提供相似网络图等。
--邻居搜索深度邻居搜索深度
搜索中成对对齐的最大数目矩阵
以找到最近的邻居。[默认值=2**32]
--两个
neigbors之间的最小consequential base pair差异,以便移除边。如果大于此值,则可能是外显子差异。[默认值=20]
--min_candidate_support min_candidate_support
统计测试中包含的收敛到相同序列的所需最小读取数。[默认值
2]
--p_-value_-threshold p_-value_-threshold
统计测试的阈值,过滤低于此阈值的所有内容。[默认值=0.01]
--最小测试比率最小测试比率
如果候选C的读取数大于
<;最小测试比率>;相对于
参考T(计算为测试比率=C/T,
因为c可能是非常显著的[默认值=
5]
--max-phred-q-u-trusted max-phred-q-u-trusted
最大phred-quality-score-trusted(t),线性地
重新映射质量分数区间[0,93]--gt;[0,t]。
质量分数可能有一些不确定性,因为t是根据一致呼叫者算法估计的。
--忽略结束忽略结束数。如果两个候选者
相同(除了此大小的末端),则它们将
折叠,并选择最长的公共子串来表示它们。在统计测试步骤中,基于忽略此
大小的端点,找到最近的
邻居。同样,这种尺寸的Indels"悬挂"端将不进行测试。[默认值15]。
--清除删除
输出文件夹中除logfile.txt、
candidates_converged.fa和final_candidates.fa之外的所有内容。[默认值=假]
--预筛选候选项
筛选候选项如果它们对由它们组成的候选转录本中的任何
基对不一致,这会减少运行时间在真正的候选人身上没有显著的损失。[默认值=false]

必需参数:
-fl庀reads fl庀reads fast<;a/q>;file pacbio reads of insert.
-outfolder outfolder outfolder.
```

credits
-------

Kristofer Sahlin*、Marta Tomaszkiewicz*、Kateryna D.Makova™、Paul Medvedev™(2018年)"ISOCON:从ISO Seq数据中破译高度相似的多基因家族转录本",Biorxiv[链接](https://www.biorxiv.org/content/early/2018/01/10/246066)。


许可证
----




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

推荐PyPI第三方库


热门话题
java如何在数据库中插入行时自动发送电子邮件?   从进程输出读取的Java问题   java质疑StyledDocument和JTextPane之间的关系,以及接口的正确使用   java错误getPlayer(args[0]);   java如何使Spring引导在重新打包的WAR中包含清单文件?   Java中的除法与模   java使用2d数组和JfreeChart制作散点图   java扩展SonarQube FindBugs插件和自定义FindBugs插件   javaspring:hibernate+ehcache   具有不正确的equals和HashCode实现的java HashMap   java Jaspersoft报告网。旧金山。jasperreports。发动机例外:net。旧金山。jasperreports。发动机填满JRepressionEvalException:计算表达式时出错   java如果输入与其变量不匹配,如何添加错误   在java中使用简单数组[]实现队列   无法启动上下文路径/hsx上的java FAIL应用程序