UseGalaxy.cn生信云平台文本文件操作手册

文本文件是生物信息学中应用非常广泛的文本格式,甚至可以说是最重要的文件格式,比如常见的测序下机数据Fastq、参考基因组保存格式Fasta、比对文件SAM,以及突变列表VCF,它们都是文本文件。熟练地进行文本文件的处理,对于生信数据分析来说非常重要。比如为特定程序准备相应的输入文件,或者从结果文件中提取需要的信息。

文本文件的操作贯穿生信数据处理的始终,甚至有人开玩笑说,搞生信分析,就是进行各种文件格式的转换。有时候确实可以这么说,因为现在有许多软件/包都写得非常完善了,只需要准备好相应的输入文件,一行代码即可完成分析。

可以说,善于文本文件的处理,生信数据分析就站在了一个非常高的起点。UseGalaxy.cn平台有非常强大的文本数据处理功能,本文就来系统地介绍这些文本处理工具的用法。

测试数据

  • Libraries > Table data: heatmap_test.tsv,一个模拟的 RNA-seq 表达量矩阵数据。

1. 文本操纵(Text Manipulation)

选择开始的多少行

工具:Text Manipulation > Select first lines from a dataset

目标:选择前10行

操作:

  • Select first: 11 (因为文件有表头,所以这里设置为前11行)

  • from: heatmap_test.tsv

结果:

a3f1c396a72817afbc9ba9fb2986543c.png

选择结尾的多少行

工具: Text Manipulation > Select last lines from a dataset

目标: 选择结尾的10行

操作:

  • Select last: 10

  • from: heatmap_test.tsv

  • Dataset has a header: Yes

结果:

9ca90261f5d060c9ebebea4f42f6b12b.png

随机选择多少行

工具: Text Manipulation > Select random lines from a file

目标: 随机选择5行

操作:

  • Randomly select: 5

  • from: heatmap_test.tsv

结果:

8b05872f942b88ae6b594769aeadf3c5.png

删除开始的多少行

工具: Text Manipulation > Remove beginning of a file

目标: 删除表头

操作:

  • Remove first: 1

  • from: heatmap_test.tsv

结果:

f8d39b5594a2e164288190363586c7cb.png

选择列

工具: Text Manipulation > Cut columns from a table

目标: 选择第1,2,5列

操作:

  • Cut columns: c1,c2,c5

  • from: heatmap_test.tsv

结果:

d2c2e8de424e05952f3e0bdb5de55d97.png

增加列到一个数据表

工具: Text Manipulation > Add column to an existing dataset

目标: 在最后一列增加一个+号

操作:

  • Add this value:+

  • to Dataset: Remove beginning on data 1

  • Iterate?: NO

结果:

ba0b7b508f6fca0de3f467d901b41f8f.png

目标: 在最后一列增加从1开始不断迭代的编号

操作:

  • Add this value:1

  • to Dataset: Remove beginning on data 1

  • Iterate?: YES

结果:

fc2e8dfae95fbbf3bc2563426300b8fd.png

纵向合并多个文件

工具: Text Manipulation > Concatenate datasets tail-to-head

目标: 合并两个文件

操作:

  • Concatenate Dataset: Select first on data 1

  • Dataset: Select last on data 1

结果:

b866e0adc60682e685d78383ae566630.png

横向合并两个文件

工具: Text Manipulation > Paste two files side by side

目标: 并排粘贴两个文件

操作:

  • Paste: Cut on data 1

  • and: Cut on data 1

  • Delimit by: TAB

结果:

d6a2aa76a8744a186787028fcda3dfc9.png

2. 过滤和排序(Filter and Sort)

根据正则表达式匹配行

工具: Filter and Sort > Select lines that match an expression

目标: 筛选出前面纵向合并的文件中的表头

操作:

  • Select lines from: Concatenate datasets on data 4 and data 2

  • that: Matching

  • the pattern: Test1

结果:

0fd774ad70a2152b8439666e73c9efbb.png

目标: 筛选出前面纵向合并的文件中不是表头的行

操作:

  • Select lines from: Concatenate datasets on data 4 and data 2

  • that: NOT Matching

  • the pattern: Test1

结果:

f2c39ea6422dd285fa4680a3e40f8477.png

依据某一列过滤数据

工具: Filter and Sort > Filter data on any column using simple expressions

目标: 筛选第2列(即样本Test1所在列)值大于1的行

操作:

  • Filter:heatmap_test.tsv

  • With following condition: c2 > 1

  • Number of header lines to skip: 1

结果:

f4430b2027b07c803973dd9acacd9362.png

排序数据

工具: Filter and Sort > Sort data in ascending or descending order

目标: 根据表达矩阵的第2列,降序排列行

操作:

  • Sort Dataset: heatmap_test.tsv

  • on column: Column 2

  • with flavor: Numerical sort

  • everything in: Descending order

  • Number of header lines to skip: 1

结果:

ecaca7187fc16cea8626211ae016181e.png

3. 连接、提取和分组(Join, Subtract and Group)

依据特定列连接两个数据表

工具: Text Manipulation > Cut columns

目标: 选择文件前3列

操作:

  • Cut columns: c1,c2, c3

  • From: Select first on data 1

工具: Join, Subtract and Group > Join two Datasets side by side on a specified field

目标: 连接两个数据表

操作:

  • Join: Cut on data 2

  • using column: Column: 1

  • with: heatmap_test.tsv

  • and column: Column: 1

结果:

d963368c515af0c79ab4edb313592301.png

比较两个数据表找出相同或不同的行

工具: Join, Subtract and Group > Compare two Datasets to find common or distinct rows

目标: 查找表1中,某一列的值出现在表2中某一列的行

操作:

  • Compare:Select random lines on data 1

  • Using column: Column: 1

  • against:heatmap_test.tsv

  • and column:Column: 1

  • To find: Matching rows of 1st dataset

结果:

b9b71e8f6a396863fc06058e87def281.png

目标: 查找表1中,某一列的值没有出现在表2中某一列的行

操作:

  • Compare:Select random lines on data 1

  • Using column: Column: 1

  • against:heatmap_test.tsv

  • and column:Column: 1

  • To find: Non Matching rows of 1st dataset

结果:

因为表1所有的行,都在表2中,因此结果为空。

友情提示

使用问题请加入Galaxy中国交流群: 925694514(QQ群,免费加入),或者关注公众号:简说基因。

00be329530bb972f974f27960db5bfab.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值