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

news2024/10/6 20:31:58

文本文件是生物信息学中应用非常广泛的文本格式,甚至可以说是最重要的文件格式,比如常见的测序下机数据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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1187018.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

facebook分享-错误记录

无法拉起分享 "code":30000,"msg":"fail:API_ERROR: API_ERROR" 1.确认facebook的app_id是否一致 2.确认是否在app_id应用的白名单里,注册meta开发者,然后把主页的user_id给管理员加 A ContentProvider for this app was…

响应式生活常识新闻博客资讯网站模板源码带后台

模板信息: 模板编号:30483 模板编码:UTF8 模板分类:博客、文章、资讯、其他 适合行业:博客类企业 模板介绍: 本模板自带eyoucms内核,无需再下载eyou系统,原创设计、手工书写DIVCSS&a…

Pandas - 数据转换

数据转换一班包括一列数据转换为多列数据,行列转换,DataFrame转换为字典、DataFrame转换为列表和DataFrame转换为元组等。 1.一列数据转换为多列数据 如原始地址数据为:“广东省 深圳市 罗湖区 xxxx”, 此时如果我们需要按照省来…

解密网易数帆DataOps“三剑客”:从数据开发治理、指标中台到ChatBI

大数据产业创新服务媒体 ——聚焦数据 改变商业 近日,以“数智聚力,共赴新程”为主题的2023网易数字大会在杭州召开。在这次大会上,数据猿采访了网易副总裁、网易数帆总经理汪源,网易数帆大数据产品线总经理余利华,对…

centos7部署Canal与Canal集成使用

1、简介 canal [kə’nl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费 早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigge…

项目实战:中央控制器实现(2)-优化Controller,将共性动作抽取到中央控制器

1、FruitController FruitController已经和Web没有关系了,和Web容器解耦,可以脱离Web容器做单元测试 package com.csdn.fruit.controller; import com.csdn.fruit.dto.PageInfo; import com.csdn.fruit.dto.PageQueryParam; import com.csdn.fruit.dto.R…

Linux C基础(7)

1、二维数组 1.1 概念 本质:元素为一堆数组的数组(数组的数组)数组的特点:(1)数据类型相同 (2)地址连续 1.2 定义 数组:存储类型 数据类型 数组名[元素个数]二维数组&…

TinyEngine 开源低代码引擎首次直播答疑QA合集

前言 10月27日晚8点,OpenTiny 社区开启了 TinyEngine 开源低代码引擎首次答疑直播,本次直播我们通过收集开发者诉求,精心策划和组织了内容,希望提供给大家最明确和清晰的答疑方式。这是 TinyEngine 低代码引擎直播计划的开端&…

什么是数字化管理?产业园区如何进行数字化管理?

工业园区的数字化管理涉及利用技术和数据驱动的工具来优化工业园区环境中的运营、提高效率并改进决策流程。它通常包括使用各种数字技术和数据分析技术来监视、控制和增强公园运营的各个方面。 以下是工业园区数字化管理的一些关键方面以及如何实施: 1.数据收集和…

vue3怎么获取el-form的元素节点

在元素中使用ref设置名称 在ts中通过从element-plus引入formInstance,设置formRef同名名称字段来获取el-form节点

酷开科技持续推动智能投影行业创新发展

近年来,投影仪逐渐成为年轻人追捧的家居时尚单品。据国际数据公司(IDC)报告显示,2022年中国投影机市场总出货量505万台,超80%为家用投影仪。相比于电视,投影仪外观小巧、屏幕大小可调节,无论是卧…

C#中基于.NET6的动态编译技术

前几天要解决动态计算问题,尝试着使用了不同的方法。问题是给定一个包含计算的字符串,在程序运行中得到计算结果,当时考虑了动态编译,在网上查了一些资料完成了这项功能,可是基于不同的.NET平台使用的编程代码相差比较…

sparksql明明插入了但是表里数据是null

现象 将数据插入表的时候,表里的数据是null 代码 原因 建表语句的时候detail字段的类型写成了bigint,而要插入的数据类型是string,所以把建表语句的字段类型改了然后sql文件重跑就解决了

动态轮换住宅代理是什么?为何需要使用它?

随着越来越多的企业完善网络活动,IP代理的重要性变得显而易见。代理可确保顺利、安全且不受限制地访问互联网的大量资源。在不同类型的代理中,轮换代理脱颖而出,那么他哪里有别于其他IP代理呢? 一、什么是动态轮换代理&#xff1f…

Navicat的使用--mysql

表关系 数据库的操作,表字段的设计,一般都由于图形化界面工具Navicat完成。 而表中数据的增删改查,需要熟悉sql语句。 一对一 一对一:一个A对应一个B,一个B对应一个A 将A或B任意一张表的主键设置为外键 一对多 一…

高性能网络编程 - The C10M problem

文章目录 Pre概述回顾C10K实现C10M的挑战思路总结 Pre 高性能网络编程 - The C10K problem 以及 网络编程技术角度的解决思路 概述 在接下来的10年里,因为IPv6协议下每个服务器的潜在连接数都是数以百万级的,单机服务器处理数百万的并发连接&#xff0…

SpringDataJpa(一)

一、JPA概述 1.1 ORM概述 ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直…

【自然语言处理】利用python创建简单的聊天系统

一,实现原理 代码设计了一个简单的客户端-服务器聊天应用程序,建立了两个脚本文件(.py文件),其中有一个客户端和一个服务器端。客户端和服务器之间通过网络连接进行通信,客户端发送消息,服务器端接收消息并…

工业相机基本知识理解:帧率、带宽(数据接口)、图像数据格式

1、帧率:Frame Per Second,单位fps,每秒采集的图像数量 2、带宽:一般单位用Gbps,每秒能传输的Gbit数据量 Gige:千兆网,带宽1Gbps USB3.0:带宽5Gbps,一般U3V工业相机用到3…

Redis笔记 Redis主从同步

文章目录 Redis主从搭建主从架构主从数据同步原理全量同步增量同步repl_backlog原理 主从同步优化小结 Redis主从 搭建主从架构 单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。 主从数据…