计算核苷酸序列中的小kmer频率。
seekr的Python项目详细描述
参见kr
根据kmer频率找出核苷酸序列的群体。
安装
要使用此库,您的计算机上必须有python3.x。
一旦有了python,请运行:
$ pip install seekr
这将使命令行工具和python模块都可用。
OSX和水蟒
如果您运行的是osx和anaconda,那么几个依赖项的兼容就存在一个已知的问题。您应该可以通过运行:
$ MACOSX_DEPLOYMENT_TARGET=10.14 pip install seekr
我们正在努力尽快解决此问题。
用法
您可以在命令行中使用seekr,也可以将其用作python模块。
这个包被分解成一组工具,每个工具执行一个任务。
在命令行中,所有函数都将以seekr\u
开头。
例如,可以使用seekr_kmer_counts
按n
列生成m
行的规范化kmer计数矩阵,
其中,m
是fasta文件中的文本数,n
是4^kmer。
然后seekr_pearson
可用于计算序列的所有成对组合的相关性。
要查看所有工具和一些示例,请运行:
$ seekr
快速启动
要为名为example.fa
的小.fa文件中的每个文本获取社区的.csv文件,
(其中rnas已被规范化为来自gencode的一组规范化转录本,
我们将运行:
$ seekr_download_gencode lncRNA
$ seekr_canonical_gencode v29_lncRNA.fa v29-01.fa # Name may change with GENCODE updates.
$ seekr_norm_vectors v29-01.fa
$ seekr_kmer_counts example.fa -o 6mers.csv -mv mean.npy -sv std.npy
$ seekr_pearson 6mers.csv 6mers.csv -o example_vs_self.csv
$ seekr_graph example_vs_self.csv 0.13 -g example_vs_self.gml -c communities.csv
$ cat example_vs_self.csv
此快速启动过程在文件communities.csv
旁边生成许多其他文件。
请参阅下面的内容,了解沿途生成的其他文件。
注意:
- 命令行中没有某些高级用法,需要导入模块。
- 我们将使用
example.fa
作为一个小样本集, 如果您想下载该文件并继续操作。 - gencode是一个高质量的人和鼠标lncrna注释源。
fasta文件可以在这里找到。
- 在下面的示例中,我们将泛指
gencode.fa
。 根据需要,可以使用任何足够大的fasta文件。
- 在下面的示例中,我们将泛指
帮助
对于参数和标志的完整文档,可以不带任何参数运行任何命令。 例如:
$ seekr_kmer_counts
如果您只是想开始,这里有一些示例。
命令行示例
请参见下载
如果你想浏览fasta文件选项,浏览gencode是很好的选择。 但是如果你知道你想要什么,你可以从命令行下载。 此工具在远程群集上也很有用。
要将最新版本的所有人工抄本下载到fasta文件中,请运行:
$ seekr_download_gencode all
gencode还存储鼠标序列。您可以使用--species
标志选择鼠标:
$ seekr_download_gencode all -s mouse
为了实验的一致性,你我想坚持gencode的特定版本。要从M5版本的鼠标中获取LNCRNAs,请使用--release
:
$ seekr_download_gencode lncRNA -s mouse -r M5
最后,如果不希望脚本自动解压缩文件,可以使用--zip压缩fasta文件:
$ seekr_download_gencode all -z
参见规范代码
gencode fasta文件为每个基因组位点提供多个转录本。 为了减少这些异构体引起的kmer冗余, 我们可以筛选以"01"结尾的文本, 如序列标题所示:
$ pip install seekr
0
seekr_kmer_计数
让我们制作一个小型的计数文件。 我们将设置几个标志:
--kmer 2
因此我们只有16 kmer--outfile out_counts.csv
。 此文件将包含log2转换后的每kb kmer计数的z分数。
$ pip install seekr
1
您还可以看到这个命令的输出 这里
如果我们想避免标准化,可以通过设置--no-log2
,--uncentered
和--unstandardized
标志来生成每KB的kmer计数:
$ pip install seekr
2
同样,如果我们想要一个更紧凑、更高效的numpy文件,
我们可以添加--binary
和--remove_label
标志:
$ pip install seekr
3
注意:此numpy文件是二进制文件,因此您无法直接查看它。
如果我们还删除--kmer 2
选项,会发生什么?
$ pip install seekr
4
代码运行,但我们收到警告。 那是因为我们正在规范化4096列kmer。 这些国民党人中的大多数从未出现在我们的5个国家中的任何一个。 这必然导致除以0。 如果我们使用一组大得多的序列, 这一行也行:
$ pip install seekr
5
但如果你只对特定的序列感兴趣,你该怎么办?
见kr_范数向量
在少量rna中寻找重要kmer的有效方法是 数一数他们的国民党人,但是把他们的数字标准化为 从一组较大的转录本产生的标准差向量。 我们可以生成这些向量一次,然后在多个较小的集合上使用它们 感兴趣的RNA。要生成矢量,请运行:
$ pip install seekr
6
如果运行ls
,则应在目录中看到mean.npy
和std.npy
。
要指定这些输出文件的路径,
使用--mean_vector
和--std_vector
标志:
$ pip install seekr
7
现在,我们可以使用这些载体来分析我们感兴趣的rna:
$ pip install seekr
8
见皮尔逊
要查找kmer计数配置文件之间的pearson相关性,请运行seekr_pearson
。
运行程序和选项类似于seekr_kmers_counts
。
seekr_pearson
的输入文件始终是
一次或多次运行kmer\u counts
。
默认设置接受两个CSV文件并输出第三个CSV文件。
$ pip install seekr
9
除了-o
标志之外,唯一的其他选项控制二进制与纯文本输入和输出。
如果有二进制输入文件(即.npy文件),
并且还需要二进制输出文件,可以使用--binary_input
和--binary_output
标志:
$ MACOSX_DEPLOYMENT_TARGET=10.14 pip install seekr
0
如果我们想比较两个文件之间的计数 (例如,小鼠和人类之间的rnas) 这也是可能的:
$ MACOSX_DEPLOYMENT_TARGET=10.14 pip install seekr
1
请参见图表
我们可以将seekr_pearson的结果视为一个邻接矩阵,并使用它查找带有louvain算法或莱顿算法
默认设置接受CSV文件和阈值。 这个csv文件应该是seekr_u pearson或其他邻接矩阵的产物。 阈值是下面的值从图中删除哪些边。 agml包含图形的文件,将生成社区。
$ MACOSX_DEPLOYMENT_TARGET=10.14 pip install seekr
2
numpy文件也是有效的输入:
$ MACOSX_DEPLOYMENT_TARGET=10.14 pip install seekr
3
gml文件是纯文本的,因此如果需要可以查看它们。 但是它们包含了描述这个图的所有信息。 通常你只想知道什么样的记录本属于哪个社区。 要获取CSV文件到社区的映射文本,请运行:
$ MACOSX_DEPLOYMENT_TARGET=10.14 pip install seekr
4
邻接矩阵的阈值依赖于实验。
因为一个合理的默认值很难预测,所以它是一个必需的参数。
例如,如果您使用的是k=5
,那么增加阈值(例如到.3)可能是有意义的。
seekr_pearson_发行版
可以运行来建议阈值的值。
类似地,社区查找算法允许您使用其分辨率参数(gamma)控制社区大小。
测试范围从.1到5是合理的,其中从1到3的值在我们的经验中是最有用的。
$ MACOSX_DEPLOYMENT_TARGET=10.14 pip install seekr
5
第三个可调参数是找到的社区数量的上限。 最后,由于社区发现是部分随机的, 通过设置种子值,可以使结果可重复:
$ MACOSX_DEPLOYMENT_TARGET=10.14 pip install seekr
6
参见通用导航系统
理解我们"随机"的期望通常是有用的。
一种关于kmers和rna序列的"随机"思考方法,
是考虑如果核苷酸或kmer的内容是保守的,但洗牌会发生什么。
seekr_gen_rand_rnas
提供了一种保存但随机移动kmer的方法。
例如,要保存二核苷酸含量,请运行:
$ MACOSX_DEPLOYMENT_TARGET=10.14 pip install seekr
7
--kmer
标志设置kmer的大小,
而--seed
标志确保您可以重现生成的序列。
我们现在可以用新的示例文件.fa
重复我们的实验。
模块示例
对于更大或更具体的工作负载,最好使用seekr
模块。
在本例中,我们将计算两个示例fasta文件之间的相似性,
(例如,xist和一组我们认为可能与xist相似的rnas)
使用来自人类gencode集的规范化向量。
我们将使用从3到6的所有Kmer,并用唯一的标签标记文本。
$ MACOSX_DEPLOYMENT_TARGET=10.14 pip install seekr
8
每个循环将向磁盘写入六个文件:
mean{k}mers.npy
:gencode人类lncrna的平均向量。 保存后,不需要再次运行代码的第一部分。std{k}mers.npy
:gencode人类lncrna的标准偏差向量。{k}mers\u xist.npy
:xist的规范化kmer配置文件。{k}mers\u lncs.npy
:其他感兴趣的lncr的标准化kmer配置文件。xist与lncs{k}mers.npy
:xist与其他lncrna之间所有成对比较的皮尔逊r值。xist与lncs{k}mers.csv
:成对比较的标记纯文本版本。
问题
任何建议、问题或问题都可以指向 Github问题页
引文
如果您使用此作品,请引用:
$ MACOSX_DEPLOYMENT_TARGET=10.14 pip install seekr
9