python - 拷贝数文件格式问题(需要修改结构)
问题描述
我有一个特殊格式的文件 .cns,这是一个用于分析拷贝数的分段文件。它是一个文本文件,看起来像这样(第一行加上标题):
head -1 copynumber.cns
染色体,开始,结束,基因,log2 chr1,13402,861395,"LOC102725121,DDX11L1,OR4F5,LOC100133331,LOC100132062,LOC100132287,LOC100133331,LINC00115,SAMD11",-0.28067
我们将其转换为 .csv,以便我们可以通过制表符将其分隔(但效果不佳)。.cns 由逗号分隔,但基因是由引号分隔的单个字符串。我希望这很有用。我需要的输出是这样的:
基因日志2
LOC102725121 -0.28067
DDX11L1 -0.28067
OR4F5 -0.28067
PIK3CA 0.35475
NRAS 3.35475
第一步是用逗号分隔所有内容,然后转置列?最后打印包含在由引号分隔的字符串中的每个基因的 de log2 值。如果你能用 R 或 python 脚本帮助我,那会很有帮助。也许 awk 也可以。我正在使用 LInux UBuntu V16.04 我不确定我是否清楚,让我知道这是否有用。谢谢!
解决方案
希望以下 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]))
推荐阅读
- sql - 不能使用 LOOP PostgreSQL
- terraform - Github Actions 和 git clone 问题
- java - 如何连接两个webelement,对其进行迭代并从连接的Xpath中获取文本
- python - 如何使用 python 对我的文件(高分)进行排序?
- python - 有没有办法在 Django 的 settings.py 中创建第二个 LOGIN_REDIRECT_URL?
- java - 软键盘不出现
- python - Pandas lambda 函数无法识别 NaN
- sql - 在 SQL Server 的不同数据库和表中查找用户信息
- numpy - Numpy/Scipy:用相同的设计矩阵求解几个最小二乘
- node.js - 在nodejs中使用区域语言从客户端获取数据