问题标签 [genome]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 比较未排序数据的快速算法
我有数据需要保持在输入的确切序列(基因组测序)中,我想搜索大约 10 亿个节点,每个节点约有 18 个成员来定位模式。
显然,对于这么大的数据集,速度是一个问题,实际上我目前没有任何数据可以用作离散键,因为搜索的基础是定位和隔离(但不是删除)重复项。
我正在寻找一种可以在相对较短的时间内遍历数据以定位这些模式和相似性的算法,并且我可以计算出正则表达式进行比较,但我不确定如何获得更快的搜索比 O(n)。
任何帮助,将不胜感激。
谢谢
c++ - 跳过 59GB fastq 文件的前半部分来处理后半部分:逐行读取,还是 fgetpos?
我有 2 ~59GB 的“.fastq”格式的文本文件。fastq 文件是从测序仪读取的基因组学文件。每 4 行是一个新的读取,但这些行的大小是可变的。
文件大小大约为 59GB,大约有 211M 读取——这意味着,给或取,大约 211M*4 = 844M 行。我正在使用的程序 Bowtie 目前能够执行以下选项:
“--跳过 105M --qupto 105M”
这本质上意味着“跳过前 105M 读取,只处理下一个 105M 读取”。通过这种方式,您可以分解文件的处理。问题是,它跳过的方式非常慢。它只是像往常一样读取前 105M 读取,但不处理它们。然后,一旦达到给出的读取值,它就会开始比较。
我想知道我是否可以使用 C/C++ 的 fsetpos 之类的东西将位置设置为文件的中间[或任何地方],我意识到这可能会将我放在一行中间的某个位置,然后从那里找到开始第一次完整读取开始处理,而不是等待它读取大约 422M 行,直到它到达它需要去的地方。有没有人有在这么大的文件上做 fsetpos 的经验,并且知道性能是否比它目前的表现更好?
谢谢——尼克
mouse - 有人知道包含 cds、tss 和启动子的鼠标 gtf 吗?
我正在寻找一个鼠标 gtf 与袖扣一起运行,其中包含有关发起人、cds 和 tss 的数据。到目前为止,我只能找到一个带有基因和异构体数据的 gtf。
谢谢。
sed - 如果行文件 1 中的数字介于文件 2 中的行中的两个数字之间,则合并来自两个文件的特定行
我正在寻找几个小时(实际上已经两天),但我还找不到我的问题的答案。我已经尝试过 Sed 和 Awk,但我无法正确设置参数。
本质上,这就是我正在寻找的
对于 file_1 中的每一行
IF [file_1 中 colum2 中的值]等于 [file_2 中某行
中第
4列中的值]
或等于 [file_2 中某行中第 5 列中的值] 或介于
[第 4 列和第 4列中的值]值 file_2 中某行的第 5 列]
THAN将 file_2某行的第 3、6
和 7列添加到 file_1 的第 3、4 和 5 列
注意:需要比较的值是 INT,列 3、6 和 7 中的值(只需要复制)是 STRING
这是上下文,但可能没有必要阅读:
我有两个包含基因组数据的文件,我想以特定方式合并它们(列是制表符分隔的)
- 第一个文件包含变体(只有感兴趣的 SNP),有效地,只有第二列是相关的。此列是数字列表(该变体在染色体上的位置)
- 我有一个包含以下数据的结构注释文件:
- 第 4 列是特定结构的开始位置,第 5 列是结束位置。
- 第 3、7 和 9 列包含描述特定结构(基因名称等)的信息。
我想用注释文件中的数据注释第一个文件中的变体。因此,如果变体文件第 2 列中的数字等于第 4 列或第 5 列或在特定行中的这些值之间,则需要添加注释中该特定行的第 3、7 和 9 列。
样本文件 1
样本文件 2
示例输出文件
1
awk - 用于确定本地数据点密度 (AWK) 的滑动窗口
我认为我的问题并不完全清楚。所以,是时候用另一种方法来解释我的追求了。
- 我有一个包含大约 27,500 个数据点的数据文件。每个数据点在第一列中都有一个介于 0 和 46041637 之间的唯一整数,在第 2 - 6 列中有描述。
- 我想知道整数如何分布在 46M 的可能性中。例如,有多少(以及哪些)数据点在 1-1000 范围内,有多少在 1001-2000 之间等等,直到达到 46M。
- 在前面的示例中,将创建大约 46K (46M/1000) 个较小的数据集(或 bin)。一些 bin 将包含多个数据点,而其中很多根本不包含任何数据点。
- 在上面的示例中,bin 的大小/长度(我称之为 windowssize)是 1000。我还不知道最适合我的目的的 windowssize 是多少,所以,我希望能够有一个脚本有一个“可调”的窗口大小。
- 此外,示例 1-1000, 1001, 2001, [...] 显然没有在 bin 中显示任何重叠。然而,这意味着我失去了很多“敏感性”,因此失去了知识/信息。所以我希望能够创建重叠的窗口/箱。例如,1-1000,501-1500、1501-2500、2001-3000。这些箱有 500 个重叠。我将能够设置箱之间的重叠量。
- 我想将每个 bin 写入自己的文件,即使 bin 不包含任何数据点。
这是我之前给出的解释,显然不是很好
使用 AWK 我试图在整数列表上“滑动窗口”。如果我拆分这个数据集,每个(可能重叠的)bin 中会有多少个数据点?我喜欢设置 binsize(或 windowssize)并在 bin 之间重叠。这种方法使我能够了解本地数据点的密度。--> 我有一点 AWK 经验,有人告诉我 AWK 应该能够胜任这项工作,我更喜欢使用 AWK。但是,我也对其他想法持开放态度(例如 Python)。
- 我有一个数据文件,其中包含大约 27,500 个介于 0 和 46041637(4600 万)之间的整数以及每个数据点的描述。
- 因为我想了解“改变”分辨率的效果,所以我想在不同的窗口大小和各个窗口之间的重叠情况下玩一点。
- 我喜欢将每个“窗口”的所有内容写入一个单独的文件,并根据“windows-startpoint”命名文件。
我准备了一些示例文件,附在下面。但是,为了更容易理解这里是另一个非常非常简化的示例:
示例输入文件
具有不同窗口大小和重叠的示例输出文件
非常感谢您的帮助!
我最初的问题几乎没有调整,因为我需要的计算时间比我预期的要多。
是否有可能不是将特定窗口中的所有记录写入其自己的文件,而是将每个窗口的“统计信息”写入表中的一行?对于统计数据,我的意思是特定窗口包含多少条记录以及每种类型有多少条记录。应用到上面的示例中,它看起来像这样:
bioinformatics - Bowtie 背后的算法或要求?
BOWTIE将测试读数映射到参考基因组。
基本上这是一个字符串比较。
参考字符串可以是由 ACT 和 G 组合而成的一百万个碱基对,也是测试读取,
现在将测试称为匹配、突变、SPM 不匹配、雪茄等的标准是什么
我从一个角度思考,如果我必须用我喜欢的语言写我的 BOWTIE,我需要遵循的测试阅读、参考基因组比较规则是什么。
python - 在 python 中对 BED/Interval 文件中的每一行进行相同的更改
我有一个 BED 间隔文件,我正在尝试使用 Galaxy 在线工具处理它。目前,文件中的每一行都以一个数字(代表染色体编号)开头。为了正确上传,我需要每行以“chr”开头,然后是数字。因此,例如以“2L”开头的行,我需要进行更改,以便它们以“chr2L”开头,并对以数字开头的所有其他行执行相同操作(不仅仅是 2L,还有许多不同的数字)。我在想如果我可以在每一行的开头添加一个“chr”而不影响其他列,那会很棒,但我不知道该怎么做(对python来说很新)你能帮我吗出去?
谢谢。
workflow - 如何缩短基因组序列以确保我的工作流程正常运行?
我是来自德国海德堡大学的莫里茨。
对于我的学士论文,我有 20 个肝细胞癌患者的大型 (25-30 GB) 基因组文件 (.txt.gz)。我在我的 Ubuntu 服务器上安装了 Bpipe,我必须尝试几种方法。
包括的步骤是:
- 针对 hg19.fasta 的对齐(BWA(转换 sai 和 sam))
- 变换 (samtols)
- 重复数据删除
我遇到的问题是,为了尝试我的 bpipe 工作流程,我必须占用 30 GB 的整个序列并从头开始。这需要很多时间。所以我的问题是:
如何缩短一个文件?
在哪里可以找到可用于测试管道的短序列?
java - 编写一个 GUI 来操作 Python 程序中的变量,然后运行该程序
所以我有一个我正在处理的 gui ( http://pastebin.com/0fPLHyHw ),我想用 Python 操作一个我不太了解的程序 ( http://pastebin.com/uruxJXLx )。但基本上我想让 GUI 选择输入文件(例如 .fasta 或 .fa 文件,通常作为测序基因组出现的文件),然后选择我希望它通过哪个 DNA 基序运行程序文件打开(从 Python 程序的索引),然后通过该文件运行程序,搜索该主题并显示通过正常运行 Python 程序显示的输出。
问题是,我对 Python 一无所知,所以我真的不知道如何将这个 Python 程序集成到 java 中。
但基本上我不知道如何将其他文件集成到这个 Java 程序中。
有什么帮助吗?
bioinformatics - Bowtie 和 Sam 格式对齐文件的转换
我需要我的对齐文件都采用 bowtie 和 samtools 格式,以便稍后在我的管道中将它们输入到不同的程序中。有什么方法可以将 sam 对齐文件转换为 bowtie 对齐文件,反之亦然?
另一种方法是进行两次对齐,并让 bowtie 程序在每种情况下以不同的格式输出它。但是,这会浪费太多时间。