首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用R选择具有相同基本名称的文件

使用R选择具有相同基本名称的文件
EN

Stack Overflow用户
提问于 2018-06-06 23:27:46
回答 1查看 479关注 0票数 0

是否可以从目录中的所有文件中选择具有相同基本名称(uniq)的文件。我已经能够从目录中获得所有文件的列表。

代码语言:javascript
运行
复制
fastq.files <- list.files(path = rawdatapath, pattern = c("(.fastq.gz|.fq.gz|.fastq|.fq)$"), full.names = TRUE)
fastq.files

目录中的文件如下所示:

代码语言:javascript
运行
复制
t1_R1.fq
t1_R2.fq
t2_R1.fq
t2_R1.fq

这里的uniq基本名称是t1和t2

下面给出的是bash等效项。

代码语言:javascript
运行
复制
#Shell Script:

#!bin/bash

for i in $(ls *.fastq | rev | cut -c 14- | rev | uniq)

do 

bowtie2 --very-sensitive -p16 --rg-id ${i} -x cprefseqs -1 ${i}_R1_001.fastq -2 ${i}_R2_001.fastq  -S $i.sam

done
EN

回答 1

Stack Overflow用户

发布于 2018-06-07 03:04:11

如果您所有文件都具有相同的格式,则可以使用lapplystrsplit来获取所有唯一的基本名称

代码语言:javascript
运行
复制
x <- file.names()
 [1] "t1_R1.fq" "t1_R2.fq" "t2_R1.fq" "t2_R1.fq"

#splits each string into a list using "_" as a delimiter and returns the first element
f <- lapply(strsplit(x, "_"), "[", 1)

f <- unique(unlist(f))
 [1] "t1" "t2"

res <- lapply(f, function(x) list.files(pattern=x))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50724158

复制
相关文章

相似问题

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