首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重命名和编辑ChiP-seq bed文件

重命名和编辑ChiP-seq bed文件
EN

Stack Overflow用户
提问于 2017-01-20 04:25:07
回答 1查看 123关注 0票数 1

我有大约80个包含前3列的bed文件(例如: X2_example.bed,其中X2是基因名称),我想添加第四列带有基因名称的文件并重命名该文件(附加的示例: X2_example_edited.bed,Y2_example_edited.bed等..),然后将这些文件合并在一起创建1个bed文件。

我可以使用基因名称添加第四列,并使用代码以不同的名称保存文件

代码语言:javascript
复制
 sed 's/$/\tX2/' < X2_example.bed  > X2_example_edited.bed

这是生成的bed文件

代码语言:javascript
复制
chr17   42276210    42276219    X2
chr17   42297938    42297947    X2
chr17   42276210    42276219    X2
chr17   42297938    42297947    X2

但我必须为每个bed文件分别执行此操作。这有一种方法,我可以从文件的名称中提取基因名称(例如,X2_example.bed中的X2 ),然后将其添加到床文件的第4列,并将其另存为X2_example_edited.bed。

我可以从文件名echo "X2_example.bed" | awk -F'[_.]' '{print $1}中提取出基因名称

然而,由于我有太多的文件,我正在寻找一种方法来生成一个循环来自动化这一点。

此外,我需要合并所有生成的床文件,我可以这样做

代码语言:javascript
复制
cat *_edited.bed >output.bed

但是,我有一个错误(见附件示例: output.bed),第一个文件的最后一行和下一个文件的第一行在同一行上。

代码语言:javascript
复制
chr3    18467066    18467075    Y2
chr17   42276210    42276219    X2

我知道这一定是一件非常基础的事情,但我对这种分析还是个新手,知识有限。提前感谢

EN

回答 1

Stack Overflow用户

发布于 2017-01-20 05:24:13

您可以尝试使用awk

代码语言:javascript
复制
for file in *.bed; do 
    awk '{split(FILENAME,a,"_"); print $0, a[1]}' "$file" 
done > output.bed.all
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41751043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档