副本编号文件格式问题(需要修改结构)

时间:2018-06-26 17:17:21

标签: python r format

我有一个特殊格式的.cns文件,它是用于分析副本数的分段文件。这是一个文本文件,看起来像这样(第一行加上标题):

head -1 copynumber.cns

染色体,开始,结束,基因,log2 chr1,13402,861395,“ LOC102725121,DDX11L1,OR4F5,LOC100133331,LOC100132062,LOC100132287,LOC100133331,LINC00115,SAMD11”,-0.28067

我们将其转换为.csv,因此可以通过制表符将其分开(但效果不佳)。 .cns以逗号分隔,但基因是由引号分隔的单个字符串。我希望这是有用的。我需要的输出是这样的:

基因log2

LOC102725121 -0.28067

DDX11L1 -0.28067

OR4F5 -0.28067

PIK3CA 0.35475

NRAS 3.35475

第一个步骤是用逗号分隔所有内容,然后转置列?最后为该字符串中包含的每个用引号引起来的基因打印de log2值。如果您可以用R或python脚本帮助我,那将会有很大帮助。也许awk也可以。 我正在使用LInux UBuntu V16.04 我不确定自己是否很清楚,请告诉我这是否有用。 谢谢!

1 个答案:

答案 0 :(得分:1)

希望以下Python代码有帮助

import csv

list1 = []
with open('copynumber.cns','r') as file:
    exampleReader = csv.reader(file)
    for row in exampleReader:
        list1.append(row)

for row in list1:
    strings = row[3].split(',')   # Get fourth column in CSV, i.e. gene column, and split on occurrance of comma
    for string in strings:  # Loop through each string
        print(string + ' ' + str(row[4]))