计算核苷酸序列中的小kmer频率。

seekr的Python项目详细描述


参见kr

构建状态构建状态

根据kmer频率找出核苷酸序列的群体。

可在seekr.org找到一个门户网站

安装

要使用此库,您的计算机上必须有python3.x。

一旦有了python,请运行:

$ pip install seekr

这将使命令行工具和python模块都可用。

OSX和水蟒

如果您运行的是osx和anaconda,那么几个依赖项的兼容就存在一个已知的问题。您应该可以通过运行:

$ MACOSX_DEPLOYMENT_TARGET=10.14 pip install seekr

我们正在努力尽快解决此问题。

用法

您可以在命令行中使用seekr,也可以将其用作python模块。 这个包被分解成一组工具,每个工具执行一个任务。 在命令行中,所有函数都将以seekr\u开头。 例如,可以使用seekr_kmer_countsn列生成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.npystd.npy

要指定这些输出文件的路径, 使用--mean_vector--std_vector标志:

$ pip install seekr
7

现在,我们可以使用这些载体来分析我们感兴趣的rna:

$ pip install seekr
8

见皮尔逊

要查找kmer计数配置文件之间的pearson相关性,请运行seekr_pearson。 运行程序和选项类似于seekr_kmers_countsseekr_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

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

推荐PyPI第三方库


热门话题
java如何运行数据库。在MongoDB中使用授权进行评估   java如何使用set和get方法来请求和检索程序的用户输入?   使用css在javafx中调整java stackpane的大小   java如何将字符串转换为整数并将其添加到arrayList   安卓中所有东西的java按钮   java最终变量在没有任何=语句的情况下被更改   java在GWT中绘制线图?   java如何在Spring Boot中访问请求参数(JSON对象)   java Spring和多个与单个路径变量匹配的控制器   java在将hbaseclient与Google Cloud Bigtable一起使用时出错   java Android:在textview中的复合可绘制图像上添加文本   java cassandra和R连接错误   JAVAlang.ClassNotFoundException:javax。servlet。jsp。塔格特。标签   当与long相乘时,一个数字的输出是如何变化的?