小编use*_*899的帖子

Perl输出的列数太多

我有一个相关标记结果表和一个疾病标记表.两个文件都有标题.

这是相关标记表的样子:

  snps_BCG24 gene_BCG24 statistic_BCG24 pvalue_BCG24    FDR_BCG24 beta_BCG24                 pair SharedOrUnique_BCG24 PercentileRank_BCG24 chr       cM   hg19pos    Diseasegene
rs11203184  C21orf128       -9.425704 4.008530e-12 2.501741e-05 -0.9199033 rs11203184_C21orf128      SharedSignalMO7         1.484874e-06  21  63.4452  43526430 notDiseasegene
rs11203184      C2CD2        2.290434 2.684575e-02 8.559484e-01  0.3114964     rs11203184_C2CD2    UniqueSignalBCG24         2.906046e-01  21  63.4452  43526430 notDiseasegene
Run Code Online (Sandbox Code Playgroud)

这就是疾病标记表的样子:

Chr  hg19Pos  hg18Pos       rsID           SNPname               hg19UCSC               hg18UCSC startLoc   endLoc
1  1247494  1237357    rs12103  var_chr1_1247494   chr1:1247494-1247494   chr1:1237357-1237357  1147494  1347494
1  2502780  2492640  rs6667605  var_chr1_2502780   chr1:2502780-2502780   
Run Code Online (Sandbox Code Playgroud)

如果相关标记和疾病标记位于同一染色体上(分别是相关的第9列= =疾病列0),那么我想检查我的相关标记的位置(相关表中的第11列)是否属于开始和疾病标志物的最终位置(疾病表中的第7列和第8列).

如果我的相关标记在该距离内,我想标记该关联标记"inLocus",否则,留空.结果输出将是具有两个制表符分隔列的文件:1)每个关联标记的名称与关联标记表2)的顺序相同inLocus或相关标记表中每个标记的空白状态.

我为此编写了一个perl脚本,但它不输出两列(一列用于关联的标记名称,另一列用于轨迹状态),而是输出一列,其中包含标记名称和不同数量的列"inLocus"- 而且并非总是相同列数.我不知道哪个标记确实存在"inLocus",因为每个输出列有时会有不同的状态.我需要在代码中更改什么才能使列表中的每个标记都获得明确的inLocus …

lookup perl match

2
推荐指数
1
解决办法
85
查看次数

标签 统计

lookup ×1

match ×1

perl ×1