我正在尝试设置一个 for 循环来对成对的文件运行一个进程。文件名看起来像这样
36_002_CGATGT_L001_ R1 _005.fastq.gz 36_002_CGATGT_L001_ R2 _005.fastq.gz 36_002_CGATGT_L001_ R1 _002.fastq.gz 36_002_CGATGT_L001_ R2 _002.fastq.gz 62_013_AGTCAA_L001_ R1 _003.fastq.gz 62_013_AGTCAA_L001_ R2 _003.fastq.gz
我需要在以下命令中使用每一对
sickle pe -f 36_002_CGATGT_L001_R1_005.fastq.gz \
-r 36_002_CGATGT_L001_R2_005.fastq.gz\
-o trimmed_36_002_CGATGT_L001_R1_005.fastq.gz\
-p trimmed_36_002_CGATGT_L001_R2_005.fastq.gz\
-s 36_002_CGATGT_L001_singles_005.fastq.gz
Run Code Online (Sandbox Code Playgroud)
首先,我正在尝试:
for n in *R1*; do m='basename $n R2' ; echo $m; done
Run Code Online (Sandbox Code Playgroud)
但显然这种方法不起作用,因为文件名的正面和背面都很重要。我是否需要重命名文件,以便 R1 和 R2 是名称的最后一部分?这会很尴尬但并非不可能
">16RI1_0 M01230:42:000000000-AWMRD:1:1101:15012:1778 1:N:0:0
TATCCGGATTTACTGGGTGTAAAGGGAGCGTAGGCGGCCATGCAAGTCAGAAGTGAAAAC
">16RA2_1 M01230:42:000000000-AWMRD:1:1101:15923:1780 1:N:0:0
TTGTCCGGATTTATTGGGCGTAAAGCGAGCGCAGGCGGTTTCTTAAGTCTGATGTGAAAGC
">0VC3_7 M01230:42:000000000-AWMRD:1:1101:15805:1805 1:N:0:0 TCATGAAGAACTCCGATCGCGAAGGCAAGTGTCCGGGGTGCAACTGACGCTGAGGCTCGAA
">11VI2_15 M01230:42:000000000-AWMRD:1:1101:17657:1817 1:N:0:0
GCGGCTTACTGGACTGTAACTGACGTTGAGGCTCGAAAGCGTGGGGAGCAAACAGGGCTC
Run Code Online (Sandbox Code Playgroud)
您好,我有一个包含此类信息的文件。我想打印所有以“>”开头的行和下一行,但有一个条件,以“>”开头的行应该包含字母V。请帮助我。
在我正在处理的目录中,我有两个扩展名为 的文件.sam
:
PD180425_aligned_minimap.sam
PD180793_aligned_minimap.sam
Run Code Online (Sandbox Code Playgroud)
对于这两个文件中的每一个,我都需要应用如下所示的命令:
samtools view -Sb pattern.sam > pattern.bam
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用xargs
它。我想要做的是在之前捕获前缀_aligned_minimap
并使用它来保存到我的输出。我尝试的是以下内容:
ls *.sam | cut -d "_" -f 1 | xargs -i samtools view -Sb {}_aligned_minimap.sam > {}_aligned_minimap.bam
Run Code Online (Sandbox Code Playgroud)
我希望必须生成 iePD180425_aligned_minimap.bam
和PD180793_aligned_minimap.bam
. 尽管我的命令正在运行,但我在我正在处理的目录中看到该文件{}_aligned_minimap.bam
已生成,这表明我尝试使用 xargs ( PD180425
and PD180793
)捕获的输入不起作用。
我该怎么做呢?
我有一个具有以下结构的文件:
Locus7625186 GO0004866
Locus7625186 GO0010951
Locus7625186 GO0005615
Locus7625186 GO0016021
Locus7360093 GO0004712
Locus7360093 GO0007093
Locus1507198 GO0044212
Locus1507198 GO0045944
Locus1507198 GO0005634
Locus1507198 GO0036464
Locus1507198 GO0046982
Run Code Online (Sandbox Code Playgroud)
我需要将其转换为:
Locus7625186 GO0004866 GO0010951 GO0005615 GO0016021
Locus7360093 GO0004712 GO0007093
Locus1507198 GO0044212 GO0045944 GO0005634 GO0036464 GO0046982
Run Code Online (Sandbox Code Playgroud)
请注意,GOxxxxxxx
共享相同第一列匹配的数量各不相同。
我有一个包含这些字段的输入文件:
ENST00000456328.2 1657 1350.015 0 0
Run Code Online (Sandbox Code Playgroud)
我正在尝试 awk 删除小数点后的数字并按原样打印其余部分
awk -F[.] '{print $1"\t"$2"\t"$3}{next;}'
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为它给出了这样的输出:
ENST00000456328 2 1657 1350 015 0 0
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗。
问候。
我有一个包含此内容的文件:
CHROM_POS
chr10_100009635
chr10_100187980
chr10_100229692
chr10_100267650
chr10_100269675
chr10_100279430
chr10_100285899
Run Code Online (Sandbox Code Playgroud)
我想向此文件添加新内容,例如:
chrX-1, chrX
Run Code Online (Sandbox Code Playgroud)
其中X代表上面的数字 所以应该是
chr10_100285898 chr10_100285899
Run Code Online (Sandbox Code Playgroud) 当第 2 列、第 3 列和第 1 列中的连续单元格相同时,我尝试计算第 9 列中C_R
和的数量。S_R
该文件采用床格式(制表符分隔格式)。原始文件很大,第一列定义了染色体编号。文件的前几行看起来像这样,
chr1 10200 10300 8 10000 10214 100 214 S_R
chr1 10200 10300 8 10009 10233 100 224 S_R
chr1 10200 10300 8 10014 10220 100 206 S_R
chr1 10200 10300 8 10045 10215 100 170 S_R
chr1 10200 10300 8 10068 10209 100 141 S_R
chr1 10200 10300 8 10074 10300 100 226 C_R
chr1 10200 10300 8 10182 10283 100 101 S_R
chr1 10200 10300 8 …
Run Code Online (Sandbox Code Playgroud) 我有一个 fasta 文件,即 test.fasta、pas.fasta、cel.fasta 如下所示
test.fasta
>tile
ATGTC
>259
TGAT
pas.fasta
>ta
ATGCT
cel.fasta
>787
TGTAG
>yog
TGTAT
>In
NNTAG
Run Code Online (Sandbox Code Playgroud)
我需要打印文件名和 fasta 序列总数,如下所示,
test,2
pas,1
cel,3
Run Code Online (Sandbox Code Playgroud)
我使用了以下命令但未能达到我的目的
grep ">" test.fasta | wc -l && ls test.fasta
Run Code Online (Sandbox Code Playgroud)
请帮助我做同样的事情。
提前致谢。
我对生物信息学相当陌生(这是我的第一篇文章!),我希望对困扰我的任务提供一些帮助。
我有一个包含三列的制表符分隔数据表:
AATTCTTGCA 4 [A/T]
AATTCCTTCG 7 [C/T]
AATTCAACAA 2 [T/C]
Run Code Online (Sandbox Code Playgroud)
我想用第三列中的字符串替换第二列指示的位置处的第一列中的字符,以便输出为:
AAT[A/T]CTTGCA
AATTCC[C/T]TCG
A[T/C]TTCAACAA
Run Code Online (Sandbox Code Playgroud)
我现在正在学习各种教程,当我有一些带有sed
/的(失败的)命令时,我会更新我的帖子awk
。
提前致谢!
如何将带有“>”的fasta格式转换为纯文本文件ex。输入:fasta文件
>1M14
GATCGGACTAGCTAA
Run Code Online (Sandbox Code Playgroud)
输出:纯文本文件
GATCGGACGAGCTAA
Run Code Online (Sandbox Code Playgroud) 我有一个包含多行的 .txt 文件,其中提供了氨基酸和残基数据。数据如下所示:
ARG262-Side ASP368-Side 140,83%
ARG95-Side GLU107-Side 103,73%
ARG474-Side VAL468-Main 94,93%
PHE169-Main ALA190-Main 94,63%
THR205-Side ASP203-Side 94,07%
ILE299-Main LYS249-Main 94%
LEU354-Main LYS365-Main 93,6%
ARG346-Side GLU263-Side 93,57%
LEU301-Main ALA247-Main 93,43%
ALA190-Main PHE169-Main 93,37%
SER252-Side ASP296-Side 93,1%
TYR424-Side ASN446-Main 93%
Run Code Online (Sandbox Code Playgroud)
我可以粗略地说,数字表示残基,字母表示氨基酸。因此,在每行的第一个和第二个字段中, 之前的部分-
由氨基酸标识符和残基值组成。我只想打印看到残基值在特定范围内的行,而不管氨基酸如何,也不管第一个或第二个字段是否与标准匹配。
例如,从上面的输入文件中,我想提取仅包含300-425之间的残基的数据。在这种情况下,我的输出应如下所示:
ARG262-Side ASP368-Side 140,83%
LEU354-Main LYS365-Main 93,6%
ARG346-Side GLU263-Side 93,57%
LEU301-Main ALA247-Main 93,43%
TYR424-Side ASN446-Main 93%
Run Code Online (Sandbox Code Playgroud)
我尝试grep
为此使用该命令,但我不是很成功。除了 ,还有其他我可以使用的命令grep
吗?
bioinformatics ×11
awk ×4
shell-script ×3
bash ×2
sed ×2
command-line ×1
filenames ×1
grep ×1
linux ×1
pipe ×1
python ×1
xargs ×1