这可能是一个非常简单的问题,但我希望有人能够为我提供快速高效的答案......我试图将染色体数据输入到数据库中有些改变格式。该数据目前看起来像:Python:通过多列值解析数据
chrom = chr1
txStart = 134212702
exonCount = 8
exonStarts = 134212702,134221529,134222782,134224273,134224707,134226534,134227135,134227897,
exonEnds= 134213049,134221650,134222806,134224425,134224773,134226654,134227268,134229870,
我创建了所有上述数据,包括启动子,外显子和内含子的位置信息的数据库。每组数据(来自单行的数据,如上面的样本)将对应于单个转录本。我将启动子定义为txStart(例如134212702) - 2000.每个转录子都有一组外显子,如外显子数所指定的(ex.8)。较大转录本中每个外显子的开始和结束由exonStarts和exonEnds列表中的匹配值指定。例如,在这种情况下,第一外显子将范围从134212702到134213049.内含子位于外显子之间,使得第一外显子会从134213050到134221528.我成功地做到了这一点做的:
PromoterStart = int(TxStart) - 2000
PromoterEnd = int(TxStart) -1
ExonStart = map(int, ExonStart[:-1].split(","))
ExonEnd = map(int, ExonEnd[:-1].split(","))
i = 0
while i < int(ExonCount):
ExonCount = i +1
if i != int(ExonCount) -1:
IntronStart[i] = ExonEnd[i] +1
IntronEnd[i] = ExonStart[i+1] -1
i += 1
使用这种方法然后我将所有数据插入数据库以供以后比较。现在我想重新使用从TxStart -2000到TxStart + 2000的启动子定义重新进行此分析。然而,似乎使用此代码在外显子和启动子之间存在大量重叠并且仅将启动子改变为= int (TxStart)+2000,显着降低了我的下游分析速度。我想找到一种方法,以便如果某个区域被认为是从txStart -2000到txStart +2000的启动子,则该区域不会被视为外显子区域。
我看了你的问题两次,我害怕被删除我不知道你在问什么。 :-(你能否在没有所有遗传学(?)专业词汇的情况下重新构成模糊你想达到的目标? – Christoph
是的,它是遗传的东西,但我真的不明白你想达到什么目的,我认为我们需要知道你的数据库格式是什么,因为我认为你试图包含前一个基因的数据???你能否围绕你的问题的确切核心重新提出这个问题 – RickyA
@RickyA:我试图重新解释和澄清我的问题。的数据对应于单个基因/转录本,并包含我需要的所有信息用于分析。更具体地说,我正在查看更大区域的几个较小部分。 – user2165857