我的数据有层次关系。让我们想象一下人类的染色体。我们有24条染色体,每条染色体都是双链的(即+/-),在每条链上我们有多个区域。让我们假设不同链和染色体上的区域是独立的。目前我存储的所有区域如下:
List<List<List<Region>>> regions;
第一个列表表示染色体,第二个列表表示链,第三个列表表示区域。
出于我的处理目的,需要对这些列表进行各种插入/删除操作,以及大量的顺序和随机访问。由于可能有大量的区域(数十亿),因此在速度和内存消耗方面的效率至关重要。人类的染色体数目是24条,只有2条,因此: 24 x 2 x 1E+9是regi
我有一个文本文件chunk_names.txt,如下所示:
chr1_12334_64321
chr1_134435_77474
chr10_463252_74754
chr10_54265_423435
chr13_5464565_547644567
这是一个例子,但所有的染色体表示(1.22,X和Y)。所有条目都采用相同的格式chr{1..22, X or Y}_*string of numbers*__*string of numbers*。
我想将这些分割成每个染色体文件,例如,启动chr10的所有块都被放入一个名为chr10.txt的文件中
在Linux中,我尝试过:
for
您好,我有一个关于在python中链接子进程的输入和输出的问题。我试图通过跳过一个步骤的输出来简化程序,将其传递给另一个子进程,而不是将其输出到文件中。然后打开另一个进程在该文件上运行。
例如,第一个过程使用SAMTOOLS从一个大的bam文件中输出一个特定的染色体。所以..。bigfile.bam被读入并输出染色体22.bam
下一个子过程使用BEDTOOLS将染色体22.bam转换为染色体22.bed,因此...染色体22.bam被读入并输出染色体22.bed
我想要做的是将第一个进程的stdout传递给第二个进程,这样就不需要中间文件了。
到目前为止我有这个..。
for x in 1,
人有22条染色体,2条性染色体X和Y。
我想从‘chr3 1’,‘chr3 2’,'chr3‘中生成这些染色体名.‘chrX 22’,'chrX‘和'chrY’,只输入染色体数目,X和Y。
# Input the data here
number_of_chr = 22,'X','Y'
for x in range(number_of_chr[0]):
print('chr'+str(x+1))
从代码中,我可以生成'chr1‘到’chr1 22‘,但是如何生成'chrX’和chrY‘并将它们附加