显示fasta/fastq/sam/vcf文件,带有彩色dna/rna碱基和质量分数(`dnacol`)或带有彩色氨基酸编码(`pcol`)的蛋白质序列

dnacol的Python项目详细描述


彩色DNA/RNA碱基、蛋白质氨基酸编码和最终输出的质量分数

关于

这是一个python脚本,用于给终端中的dna、rna和蛋白质序列上色。 如果使用dnacol调用,它将从stdin或文件中读取行并将 它能找到DNA/RNA。此外,它还可以对颜色进行编码。 fastq/sam文件中的质量分数。 如果使用pcol调用,它将替换编码为氨基酸一个字母代码的彩色蛋白质序列。

屏幕截图

https://raw.githubusercontent.com/koelling/dnacol/master/screenshots_v0.4.png

格式特定颜色

默认情况下,dnacol将查找一个或多个dna/rna字母的所有字符串并为其上色,然后 pcol将为20个标准氨基酸字母的所有字符串上色。 但是,它们也可以识别一些标准文件格式并应用更多 目标色。当读取文件时,这些格式将 根据文件扩展名自动识别。阅读时 从stdin,dnacolpcol将尝试根据数据标识格式 本身(用于fastq/sam/vcf文件)。格式也可以使用 --format选项。

  • sam格式(--format=sam,在文件名为 以.sam结尾,或找到与sam格式匹配的行)
    • 忽略标题,将seq列涂为dna,qual列涂为 质量分数
  • fastq格式(--format=fastq,在文件名为 以.fastq.fq结尾,或者前四行与fastq匹配 格式)
    • 将每个读数的第二行涂成DNA
    • 将每次阅读的第四行涂成质量分数
  • VCF格式(^{TT13}$,在文件名为 以.vcf结尾,或找到VCF标题行)
    • 忽略注释,只将ref和alt列着色
  • fasta格式(--format=fasta,在文件名为 以.fasta.fa)结尾
    • 忽略序列标识符

彩色地图

该脚本支持不同的颜色映射,为序列的每个可能字母指定颜色。 它们显示在dnacol --help中。当使用dnacol调用时,默认情况下脚本将使用dna_brgycolormap, 而pcol将使用proteincolormap。您可以使用配置文件更改dnacolcolormap(见下文)。

选项

-w, --wide
    wide output (add spaces around each base)
-f FORMAT, --format FORMAT
    file format (auto|text|sam|vcf|fastq|fasta)

配置

可以用yaml格式创建名为/etc/dnacol~/.dnacol的配置文件来更改此脚本的行为。 目前,唯一可用的设置是用于DNA序列的彩色地图。 有关可用颜色映射的示例,请参见dnacol --help

要使用gbyr而不是brgycolormap,请设置dna_colormap选项,如下所示:

dna_colormap: gbyr

下载/安装

要安装,请使用pip

pip install dnacol

如果系统范围的目录不可写,您可以使用以下命令安装到主目录:

pip install dnacol --user

或者,您可以克隆这个git 存储库并使用提供的setup.py脚本。

git clone https://github.com/koelling/dnacol.git
cd dnacol && python setup.py install

dnacol已经用Python2.7、Python3.5和3.6进行了测试。

示例

#read gzipped file
dnacol examples/phix.fa.gz | head

#pipe from stdin
head examples/reads.txt | dnacol --wide

#use `pcol` for protein sequences
pcol examples/hras.fa

#use `less -R` to display colors in less
dnacol examples/phix.fa.gz | less -R

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

推荐PyPI第三方库


热门话题
具有未知数量条件的java If语句   java如何在Spark中使用两个“条件”进行过滤?   雅加达ee为ColdFusion提供的最佳Java ee服务器   java如何在jersey的MessageBodyWriter方法中获取writeTo中的anotations值?   java从脚本文件调用jar文件中的函数   java在执行insert语句后,如何获得id值为的语句?   在OS X上设置OpenCV Java绑定   java使用for循环遍历数组x。以字符串形式返回x的元素,其中每个元素由一个空格分隔   ApacheiClientBuilder为Algolia Java创建的APIClient是线程安全的吗?   java在DFS/BFS算法中获取邻居时避免内存分配?   java使用AES/CBC/PKCS5P加密大文件(2GB)   允许保存/加载列布局的Java DB网格组件   队列大小为1的java Spring调度   跑步带有Java参数的exe   java正则表达式将所有“<”和“>”标记替换为“&lt;”及“&gt;”在<<![CDATA]>标签?   java何时同步变量?