我有一个用短字符串(@pos)填充的数组,还有一个更大的数组(@exome)。我想在第二个数组中搜索与第一个数组中的字符串匹配的内容。目标是打印@exome中所有匹配的行
我正在使用perl,这就是我到目前为止所掌握的
#!/usr/bin/perl
use strict; use warnings;
my $pos = $ARGV[0];
my $exome = $ARGV[1];
open (F, "$pos") || die "Could not open $pos: $!\n";
my @pos = <F>;
close F;
open
我试图对一些超长文件进行排序,我有一些关于同一行基因的信息,但我希望它们出现在多条线上,就像这样:
Gene1 A, B, C
Gene2 A
Gene3 A, B
但我想要的是
Gene1 A
Gene1 B
Gene1 C
Gene2 A
Gene3 A
Gene3 B
我可以很容易地用sed或tr替换逗号,但我不知道如何将基因名从第一列中删除。
有小费吗?
我有一些字符串的python列表。我还有一个文本文件(比方说X),其中每一行都有一个单词标记,在此之后,每个字符都由一个空格分隔。每一行的浮点数都是恒定的。
我的目标是只获取与列表中的字符串对应的行,并将其保存为文本文件。如果文件X中没有列表中的任何字符串,那么相应的浮点数应该是随机的,介于-1和1之间。
玩具例子:
list = ['the','in','red']
档案X:
in 0.5 -0.1 -0.6
good 0.2 0.4 -0.3
on 0.4 0.6 0.6
the 0.01
所以我有一个文本文件,它可能有一个制表符作为字段分隔符(分隔符),也可能有一个空格作为字段分隔符。我想检查该文本文件是否是表的,否则我将对该文件进行其他操作。我用的是bash脚本。所以,我对纯bash、sed、awk、grep等任何东西都是开放的(注意:它们都是GNU)。所以我在想这样一个结构:
if [if delimiter is tab]; then
#do soemthing
elif [if delimiter is space]; then
#do something else
fi
有什么建议吗?如果需要进一步解释,请告诉我。谢谢!
下面是关于文本文件的更新的说明
我有14000多个fasta文件,我只想保留包含5个序列的文件。我知道我可以使用下面的bash命令来获取一个fasta文件中的序列数:
grep -c "^>" filename.fasta
因此,我的方法是将每个文件中的文件名和序列计数写到一个文本文件中,然后我可以使用它来隔离我想要的序列。要在这么多文件上运行grep命令,我使用的是subprocess.call:
import subprocess
import os
with open("five_seqs.txt", "w") as f:
for file in os.
我有一个选项卡分隔的多列文件,其中第19列如下所示:
gaA
gGg
Att
gtC
gGa
gcC
ccG
cTc
.
.
.
and so on
我只想使用grep大写字符,所以我使用了:
cut -f19 1.table | grep -e '[[:upper:]]' -o
产出如下:
A
G
A
C
G
C
G
T
.
.
.
and so on
但我不想在grep之前使用剪裁。我现在有两个问题:
有没有办法使grep从第19栏而不是使用削减?或者grep中是否有任何选项或参数来指定列?
我想把grep结果输出作为一个新列放在1.table文件中吗?或者如何在1.tab
我正在尝试编写一个正则表达式,以匹配由逗号和可选空格分隔的非常长的数字列表。它不能匹配单个整数。数字列表大约有7000字节长,两边都有文本。
12345 => don't match
12345,23456,34567,45678 => match
12345, 23456, 34567, 45678 => match
我当前的正则表达式(?<!\.)(([0-9]+,)+[0-9]+)(?!\.)导致堆栈溢出。到目前为止,我已经尝试过的几个是:
([0-9,]+) => doesn't match with optional spaces
((\