小编cuc*_*bit的帖子

FASTA文件的序列长度

我有以下FASTA文件:

>header1
CGCTCTCTCCATCTCTCTACCCTCTCCCTCTCTCTCGGATAGCTAGCTCTTCTTCCTCCT
TCCTCCGTTTGGATCAGACGAGAGGGTATGTAGTGGTGCACCACGAGTTGGTGAAGC
>header2
GGT
>header3
TTATGAT
Run Code Online (Sandbox Code Playgroud)

我想要的输出:

>header1
117
>header2
3
>header3
7
# 3 sequences, total length 127.
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

awk '/^>/ {print; next; } { seqlen = length($0); print seqlen}' file.fa
Run Code Online (Sandbox Code Playgroud)

我用这段代码得到的输出是:

>header1
60
57
>header2
3
>header3
7
Run Code Online (Sandbox Code Playgroud)

我需要一个小修改来处理多个序列行.

我还需要一种方法来获得总序列和总长度.欢迎任何建议......请在bash或awk中.我知道在Perl/BioPerl中很容易做到这一点,实际上,我有一个脚本可以用这些方式来做.

bash awk fasta

12
推荐指数
1
解决办法
1万
查看次数

在松弛提醒中设置链接

有没有办法/reminder在文本中设置一个链接的slack ?

例子:

/reminder me Hey! Check out the weather in https://www.yr.no/place/Norway/ every weekday
Run Code Online (Sandbox Code Playgroud)

当我尝试在 Slack 上键入此内容时,我收到以下消息:

/提醒我嘿!在https://www.yr.no/place/Norway/每个工作日查看天气不是有效命令。在 Slack 中,所有以“/”字符开头的消息都被解释为命令。

如果您尝试发送消息而不是运行命令,请尝试在“/”前添加一个空格。

slack

7
推荐指数
2
解决办法
3820
查看次数

为什么Java不支持从最终抛出异常时从try/catch中检索异常?

在Java 7中,该功能被添加到(通过getSuppressed())获取从try-with-resources语句的隐式finally块中抛出的异常.

似乎还没有一种方法(我知道)做相反的事情 - 当有一个显式的finally块并抛出异常时,屏蔽抛出的异常和try/catch中的异常.

为什么Java不提供通过类似机制获取这些隐藏/丢失异常的功能getSuppressed()

看起来这个功能的实现与在getSuppressed()链接异常中使用的功能类似,并且所提供的好处非常有用,但它仍然被排除在每个版本之外.

通过类似于的方法调用,程序员可以使用这些屏蔽异常的危险是什么getSuppressed()

(如果这个功能已经存在,请提前道歉,我只是无能为力.)

java exception try-catch-finally

5
推荐指数
1
解决办法
206
查看次数

修改Byobu中的键绑定

我最近安装了byobu终端多路复用器,但发现无法快速通过终端。在Linux中,您可以执行以下操作:Control+Arrows (Left/Right).我想在byobu中找到相同的内容。

我想对其进行配置,以便能够使用Ctrl+LeftCtrl+Right如果可能的话),而不是其他组合。

任何的想法?

我已经尝试过了:如何使用CTRL +箭头使byobu前向单词和后向单词? 但是对我不起作用。Ubuntu 13.10

提前致谢。

byobu

5
推荐指数
1
解决办法
4333
查看次数

如果数组的任何元素与另一个数组匹配,则打印数组哈希的键

我有一个像这样的数组:

my @arr = (5, 76, 1000, 21, 47);
Run Code Online (Sandbox Code Playgroud)

这个哈希:

my %hash = (
      Meta => [1000],
);
Run Code Online (Sandbox Code Playgroud)

如果散列的任何值与数组的任何元素匹配,我想打印该匹配的键值.为此,我使用以下函数,它的工作原理如下:

my ($match) = grep { "@{$hash{$_}}" ~~ @arr } keys %hash;
Run Code Online (Sandbox Code Playgroud)

当我在数组的散列中有多个元素时会出现问题,例如:

my %hash = (
      Meta => [1000, 2],
);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我还想返回键("Meta"),因为值1000在数组中,但我不明白.

perl

4
推荐指数
2
解决办法
116
查看次数

将awk命令存储在bash脚本的变量中

我想存储awk命令在一个变量(命令,而不是结果).我的目标是稍后在脚本中使用该变量,使用不同的输入.例如:

cmd=$(awk '/something/ {if ...} {...} END {...}')
$cmd $input
Run Code Online (Sandbox Code Playgroud)

我试图用$()(就像在例子中)存储命令,也用backticks...但我无法实现它.

我感谢帮助或任何建议:)

awk

3
推荐指数
2
解决办法
1319
查看次数

将列表元素附加到数据框列

我有这个数据框:

       GO.ID Annotated Significant Expected P-value                   Term Ontology
1 GO:0000049         7           0     0.25  1.0000           tRNA binding       MF
2 GO:0000062         4           0     0.14  1.0000 fatty-acyl-CoA binding       MF
Run Code Online (Sandbox Code Playgroud)

我有这个清单:

$`GO:0000049`
[1] "Solyc02g090860.2" "Solyc03g119280.2" "Solyc05g056260.2" "Solyc06g048610.2" "Solyc07g008950.2" "Solyc08g015960.2"
[7] "Solyc10g007060.2"

$`GO:0000062`
[1] "Solyc01g099350.2" "Solyc03g082910.2" "Solyc04g078090.2" "Solyc08g075690.2"
Run Code Online (Sandbox Code Playgroud)

有没有办法将列表的元素打印到数据框的新列?两种结构中的顺序相同,我的意思是,GO.ID 列按列表元素排序。我正在寻找类似 paste bash 命令的东西。

我已经尝试lapply将列表导出到文件中。然后write.table使用数据帧,然后paste在 bash 中命令。但我想知道是否有办法在 R 中完成这种工作。

是的,我是 R 世界的新手。

编辑:

这是我想要的输出:

       GO.ID Annotated Significant Expected P-value                   Term Ontology           Gene_ID
1 GO:0000049         7           0     0.25  1.0000           tRNA binding …
Run Code Online (Sandbox Code Playgroud)

r

3
推荐指数
1
解决办法
4363
查看次数

对参与两个参数的哈希进行排序

我有以下格式的密钥哈希:

scaffold_902_159
scaffold_2_1980420
scaffold_2_10
scaffold_10_402
Run Code Online (Sandbox Code Playgroud)

我想打印出以下列格式排序的哈希:

scaffold_2_10
scaffold_2_1980420
scaffold_10_402
scaffold_902_159
Run Code Online (Sandbox Code Playgroud)

所以首先我必须以数字方式订购第一个号码,然后参加最后一个号码.我不希望正则表达式搜索"scaffold_",因为这可能会有所不同.我的意思是,我可以使用其他格式的哈希,例如" blablabla_NUMBER_NUMBER,或blablablaNUMBER_NUMBER ".键_NUMBER的最后一部分是唯一永久的部分.

我有这个代码,但只能按数字排序第一个数字:

my @keys = sort {
          my ($aa) = $a =~ /(\d+)/;
          my ($bb) = $b =~ /(\d+)/;
          $aa <=> $bb;
        } keys %hash;
foreach my $key (@keys) {
   print $key;
}
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

sorting perl perl-module

3
推荐指数
1
解决办法
75
查看次数

将值设置为未定义的变量

我正在尝试将默认值设置为某些变量.我知道怎么做但我想使用子程序完成这项任务,我遇到了问题.

我有这三个变量:$t, $insize, $libtype. 这是一个简单的函数,如果它们未定义,则为它们设置默认值:

sub SetUnlessDefined {
   my $t = 1 if !( defined $t );
   my $insize = 300 if !( defined $insize );
   my $libtype = 0 if !( defined $libtype );
   return( $t, $insize, $libtype );
}
Run Code Online (Sandbox Code Playgroud)

我执行这样的功能:

( $t, $insize, $libtype ) = SetUnlessDefined( $t, $insize, $libtype );
Run Code Online (Sandbox Code Playgroud)

如果我的所有变量都未定义,则该函数运行正常,但如果我有任何值的值,则它无效.

有人可以建议我一个解决方案?或者是一种检查变量是否已定义以及是否未设置值的正确方法?

提前致谢

perl

2
推荐指数
1
解决办法
230
查看次数

使用perl变量执行系统

我想在perl脚本中执行bash命令.我知道怎么做,但是当我尝试将命令保存在变量中然后执行它时...我有问题.

这完全符合我的perl脚本:

system("samtools", "sort", $file, "01_sorted.SNP");
Run Code Online (Sandbox Code Playgroud)

这不起作用,我想知道为什么,以及如何解决......:

my $cmd = "samtools sort $file 01_sorted.SNP";
print "$cmd\n";  # Prints the correct command BUT...
system($cmd);
Run Code Online (Sandbox Code Playgroud)

错误:

open: No such file or directory
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,谢谢!

perl system

1
推荐指数
1
解决办法
3018
查看次数

将一个大字符串拆分为子字符串

我有这个文件:

>first
GTGAAGTGCGGCACCCCGTAGGTCAGACAAGGCGGTCACGCCGCATCCGACATCCAACGCCCGAGCCGGTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACC
>second
CGGTAAT
Run Code Online (Sandbox Code Playgroud)

我的预期输出是这样的:

>first
GTGAAGTGCGGCACCCCGTAGGTCAGACAAGGCGGTCACGCCGCATCCGACATCCAACGC
CCCGAGCCGGTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAACC
>second
CGGTAAT
Run Code Online (Sandbox Code Playgroud)

说明:如果(行以'>'开头)打印​​; 否则,如果字符串的长度大于60,则将字符串拆分为60的子字符串.

我的想法在awk中是这样的,但也欢迎bash解决方案:

gawk '/^>/ {print;next;} {len=length; if(len>60){DO SOMETHING HERE (LOOP?)} else {print}}'
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感谢!谢谢

string bash awk

0
推荐指数
1
解决办法
115
查看次数

使用索引将字符串拆分为多个子字符串

我有这个字符串和哈希:

输入数据:

my $string = 'GATGCAGTTAGGCGTAGCAGAGTGAGACGACGACGATATTAGGACCCGGTAAGGCACAATATAGC';
my %coord_colors = (
  10 => "red",
  48 => "orange",
  60 => "purple",
);
Run Code Online (Sandbox Code Playgroud)

我想要做的是在每个散列键位置"打开"字符串,并插入键值.查看所需的输出以了解我正在尝试解释的内容:

期望的输出:

GATGCAGTTAredGGCGTAGCAGAGTGAGACGACGACGATATTAGGACCCGorangeGTAAGGCACAATpurpleATAGC
Run Code Online (Sandbox Code Playgroud)

我知道substr和split函数是如何实现的,但我并没有激发如何"同时"分割几个部分的字符串,然后引入另一个字符串,最后加入.我已经考虑过做一个循环,并在添加第一个位置的同时改变位置,但我想知道找出这个任务的最佳方法.

perl

-6
推荐指数
1
解决办法
63
查看次数

标签 统计

perl ×5

awk ×3

bash ×2

byobu ×1

exception ×1

fasta ×1

java ×1

perl-module ×1

r ×1

slack ×1

sorting ×1

string ×1

system ×1

try-catch-finally ×1