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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot内容协商

1.基于请求头 Accept: application/json Accept: application/xml Accept: application/xxx 自定义数据 发的请求头的数据类型 期望返回的数据类型 2.通过请求参数 例如 /football?formatjson 一般respondbody 默认以json方式进行返回 如何请求同一个接口,可以…

DAIR-V2X-V 3D检测数据集 转为Kitti格式 | 可视化

本文分享在DAIR-V2X-V数据集中,将标签转为Kitti格式,并可视化3D检测效果。 一、将标签转为Kitti格式 DAIR-V2X包括不同类型的数据集: DAIR-V2X-IDAIR-V2X-VDAIR-V2X-CV2X-Seq-SPDV2X-Seq-TFDDAIR-V2X-C-Example: google_drive_linkV2X-Seq-…

ASP.NETCore6开启文件服务允许通过url访问附件(图片)

需求背景 最近在做一个工作台的文件上传下载功能,主要想实现上传图片之后,可以通过url直接访问。由于url直接访问文件不安全,所以需要手动开启文件服务。 配置 文件路径如下,其中Files是存放文件的目录: 那么&…

深度学习入门-基于Python的理论与实现摘要记录

基本是《深度学习入门-基于Python的理论与实现》的复制粘贴,以作为日后的检索和查询使用 感知机 感知机接收多个输入信号,输出一个信号。 感知机原理 感知机接收多个输入信号,输出一个信号。 图2-1是一个接收两个输入信号的感知机的例子。…

【单目测距】单目相机测距(三)

文章目录 一、前言二、测距代码2.1、地面有坡度2.2、python代码2.2.1、旋转矩阵转角度2.2.2、角度转旋转矩阵2.2.3、三维旋转原理 (Rotation 原理)2.2.4、完整代码 2.3、c 代码 一、前言 上篇博客【单目测距】单目相机测距(二) 有讲到当相机不是理想状态…

Linux CentOS 8(HTTPS的配置与管理)

Linux CentOS 8(HTTPS的配置与管理) 目录 一、HTTPS 介绍二、SSL 证书的介绍三、实验配置 一、HTTPS 介绍 HTTPS 在 HTTP 的基础下加入 SSL,SSL 是“Secure Sockets Layer”的缩写,中文为“安全套接层”。因此 HTTPS 是以安全为目…

Qt 二维码生成与识别

1.简介 QZXing是一个基于Qt框架的二维码解码库,它是对ZXing(Zebra Crossing)开源项目的一个Qt封装。ZXing是一个功能强大的开源二维码解码库,支持多种类型的码,包括QR码、DataMatrix码、Aztec码等。 QZXing提供了一个…

【C++】一文简练总结【多态】及其底层原理&具体应用(21)

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 一.多态的概念二.多态的实现1&#xff…

SSM项目与Redis整合以及Redis注解式开发以及Redis击穿穿透雪崩

目录 前言 一、SSM项目整合Redis 1.导入pom依赖 2.Spring-redis相关配置 3.Spring上下文配置 二、redis注解式缓存 1.Cacheable 注解 2.CachePut 注解 3.CacheEvict 注解 三、redis击穿、穿透、雪崩 1. 缓存击穿 2. 缓存穿透 3. 缓存雪崩 前言 当将SSM项目与Red…

NSSCTF逆向题解

[SWPUCTF 2021 新生赛]简简单单的逻辑 直接把key打印出来,然后整理一下result,让key和result进行异或 key[242,168,247,147,87,203,51,248,17,69,162,120,196,150,193,154,145,8] data[0xbc,0xfb,0xa4,0xd0,0x03,0x8d,0x48,0xbd,0x4b,0x00,0xf8,0x27,0x…

uniapp中picker 获取时间组件如何把年月日改成年月日默认时分秒为00:00:00

如图所示,uniapp中picker组件的日期格式为: 但后端要 2023-11-08 00:00:00格式 如何从2023-11-08转化为 2023-11-08 00:00:00:👇 const date new Date(e.detail.value);//"2023-11-17" date.setHours(0, 0, 0); // 2…

docker部署MinIo

部署单个的MinIo 要在Docker中安装Minio,您可以按照以下步骤进行操作: 使用Docker命令拉取Minio镜像: docker pull minio/minio创建一个用于存储数据的本地目录。例如: mkdir -p /minio/path/to/data运行Minio容器&#xff1a…

[Linux/UOS]同一解决方案下的控制台程序依赖SO库的方法

该方法是基于VS2019的远程调试Linux的方案,使用的是UOS系统,本文不会去详述如何远程调试Linux和如何新建解决方案中的.so项目和.out项目 只关注于如何令.out项目依赖.so,并成功调用运行 以一个如上图结构的解决方案为例子,SysInfo…

合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(一)

基于ARM语音识别的智能家居系统 我们接下来带大家完成基于语音识别的智能家居系统嵌入式项目实战,使用到stm32开发板,讯飞的离线语音识别,我们在此之前,我们先学习一些Linux系统的基本操作。 。 一、Linux简介 在嵌入式开发中&am…

Linux开发工具的使用(vim、gcc/g++ 、make/makefile)

文章目录 一 :vim1:vim基本概念2:vim的常用三种模式3:vim三种模式的相互转换4:vim命令模式下的命令集- 移动光标-删除文字-剪切/删除-复制-替换-撤销和恢复-跳转至指定行 5:vim底行模式下的命令集 二:gcc/g1:gcc/g的作用2:gcc/g的语法3:预处理4:编译5:汇编6:链接7:函…

数字通信和fpga概述——杜勇版本学习笔记

1数字通信处理流程 脉冲调制是每个数字通信系统中间必不可少的环节,通常是使用升余弦滚降滤波器来实现。 超外差接收机原理是利用本地产生的振荡波与输入信号混频,将输入信号频率变换为某个预先确定的频率的方法。超外差原理最早是由E.H.阿姆斯特朗于1…

【理解链表指针赋值】链表中cur->next = cur->next->next->next与cur =cur->next->next的区别

最近在做链表的题目的时候,对于所定义的cur链表指针产生了一些疑惑,查阅资料后整理一下我的理解: /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(n…

React中组件之间如何通信?

一、是什么 我们将组件间通信可以拆分为两个词: 组件通信 回顾Vue系列的文章,组件是vue中最强大的功能之一,同样组件化是React的核心思想 相比vue,React的组件更加灵活和多样,按照不同的方式可以分成很多类型的组件…

SQL注入漏洞 其他注入

文章目录 宽字节注入案例 HTTP头部注入Cookie注入base64User-Agent注入Referer 注入 SQL注入读写文件条件1.是否拥有读写权限2.文件路径3.secure_file_priv 读取文件写入文件 SQLMap安装sqlmapkail 源安装仓库克隆 参数简介快速入门;SQLmap(常规&#xf…

Vim编辑器学习

B站学习vim指令链接 1:vim下有两种模式,一种是命令模式,一种是编辑模式 2:命令到编辑模式,按键盘i,编辑到命令格式按Esc 3::wq 保存并退出 :wq code.c保存并把文件命名为…