小编rua*_*akh的帖子

解释手册中的段落

我正在尝试运行一些生物信息学软件(TE Displayer),但它根本不起作用.我认为问题可能在于软件如何识别FASTA标头.从文档中可以看出这一点.

标题行中的序列标识符采用"\ w(1,10)\ d(2,9)"的模式,表示"单词字符(1-10)后跟数字(2-9)",因此请尽量避免标题行中的非标识符短语(例如"Build04").例如标题行"> OrganismX Accession AC000282,build0.4"很好,但不是"> OrganismX Contig WX000282,Build04".因此,"> Oryza sativa Chromosome11"也会很好,因为"Chromosome11"将被识别为标识符.

有人可以解释"\ w(1,10)\ d(2,9)"的确切用法我理解为总共最多12个字符的任何单词但它必须以两位数结尾.所以我不明白Build0.4如何正常,而Build04不是很好.

干杯!

regex bioinformatics fasta

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

在Java中的这个例子中无法理解通配符泛型?

在阅读这篇文章时,我被困在这里.我从链接中粘贴了这个.我不明白为什么List<Number>List<? extends Number>不能在这里使用的推理.

public void doStuff( List<Integer> list ) {     
    list.add(1);
    // do stuff
    list.get(0);    
}

We can generalize this one step further by generalizing the generic parameter:

public void doStuff( List<? super Integer> list ) {     
    list.add(1);
    // do stuff
    list.get(0);    
}
Run Code Online (Sandbox Code Playgroud)

有些读者可能会问为什么更直观的List <Number>不能在这里使用.实际上,我们可以尝试将方法定义为采用List <Number>或List <?扩展Number>,但是第一个定义将排除传入实际ArrayList <Integer>的可能性,而第二个定义将禁止add()方法(因为有人可能会传入ArrayList <Float>,并且会找到调用doStuff后,在Floats之间的整数).

java generics arraylist

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

为什么“\b”在查找的正则表达式模式中不起作用?

find在 Mac OS X 10.9 中使用该命令,我尝试过这样的命令:

$ touch "a gre a"
$ find -E . -iregex ".*\bgre\b.*"
Run Code Online (Sandbox Code Playgroud)

看起来find不会返回这个名为a gre a.. 的文件。有没有人对此有想法?谢谢!

regex unix macos find

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

在shell脚本中删除文件中certan行的第一个字符

这里我想删除某些行文件的第一个字符。例如:

>cat file1.txt
10081551
10081599
10082234
10082259
20081134
20081159
30082232
10087721
Run Code Online (Sandbox Code Playgroud)

从第 3 行到第 7 行删除第一个字符sed命令或任何其他字符,输出将是:

>cat file1.txt
10081551
10081599
0082234
0082259
0081134
0081159
0082232
10087721
Run Code Online (Sandbox Code Playgroud)

linux bash shell sed

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

每次出现大写字母后跟数字后加下划线

在bash我想要替换

 H+O2=O+OH
Run Code Online (Sandbox Code Playgroud)

H+O_2=O+OH
Run Code Online (Sandbox Code Playgroud)

我用awk和sed尝试了无数的东西但到目前为止没有任何工作.问题是我不知道如何保存字符串,然后只需添加_而不是替换O2.谢谢!

bash

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

这两个Bash命令有什么区别?

这两个Bash命令有什么区别?:

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)

curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered | bash
Run Code Online (Sandbox Code Playgroud)

第一个命令给了我这个提示:

Are you really sure you want to do this ? (y/N) ?
Run Code Online (Sandbox Code Playgroud)

但第二个没有.

bash

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

具有顶点权重和边缘权重的最小Spanninjg树

我在解决有关最小生成树的问题时遇到了一些麻烦。因此,图中的每个节点都是一个城市,并且可能具有连接两个节点的权重边,这就是在两个城市之间修建道路的成本。问题基本上是告诉人们修路的最低成本,并使所有城市都以某种方式连接。我可以通过使用Prim或kruskal算法轻松解决此最大问题的子问题。

现在最棘手的部分是:每个城市(节点)都可以有一个机场,而每个机场都有一次成本(如果您决定建造)。如果两个城市都有机场,则可以使用机场在两个城市之间旅行。现在,我必须计算建造道路和机场的最低成本,以使所有城市都连接起来,但是我很难用网络的其余部分来表示与机场的连接。有人可以帮我吗?也许我对使用MST是完全错误的?

我想出的唯一解决方案是:对于每个有机场的城市,我都会将该城市与另一个有机场的城市连接起来。另外,如果建造两个机场的成本较低,那么建造道路的成本也应考虑在内。我运行kruskal是为了获得最便宜的边缘,但是如果kruskal选择“机场”边缘,我会将其添加到生成树中,然后将这两个机场的成本设为0(如果它们以前没有建造过)。我相信,通过在运行kruskal时进行动态权重更改,我正在破坏获得最低成本的想法。

algorithm graph minimum-spanning-tree

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

java:生成一个不在矩形内的随机点

我有很多矩形,我试图生成一个不在任何一个内部的随机点.我创建了一个方法来执行此操作,但似乎这导致我的应用程序冻结,因为它必须在生成有效点之前经过大量的点:

public Point getLegalPoint() {
           Random generator = new Random();
           Point point;
           boolean okPoint = true;
           do {
                   point = new Point(generator.nextInt(975), generator.nextInt(650));
                   for (int i = 0; i < buildingViews.size(); i++) {
                           if (buildingViews.get(i).getBuilding().getRectangle()
                                           .contains(point)) {
                                   okPoint = false;
                                   break;
                           }

                   }
           } while (okPoint == false);
           return point;
   }
Run Code Online (Sandbox Code Playgroud)

有什么我做错了,或者有更有效的方法来做它,以便它不会冻结我的应用程序?

java point awt

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

Windows和Linux文本文件处理麻烦

好吧,这是一个奇怪的跨平台的事情,我正在经历文本文件.假设我有一个非常简单地读取文本文件的程序

// reading a text file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main () {
  string line;
  ifstream myfile ("example.txt");
  if (myfile.is_open())
  {
    while ( myfile.good() )
    {
      getline (myfile,line);
      if (line == "BEGIN")
        cout << line << endl;
    }
    myfile.close();
  }

  else cout << "Unable to open file"; 

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

所以这会读取一个文本文件并在遇到BEGIN时吐出正在读取的行.这是我正在阅读的文本文件:

HEADER
BEGIN
X 2
Y 2
Z 1
END
Run Code Online (Sandbox Code Playgroud)

Windows成功吐出BEGIN一次,因为它遇到了一次.Linux没有吐出任何东西.我在这里缺少一些基本的东西吗?

c++ linux ubuntu text-files

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

警告:条件的长度 &gt; 1 并且只会使用第一个元素

似乎在我的方差计算中na.rm=Tapply函数内:

poolvarcheck=((7037*(apply(yes, 2, var, na.rm=T)))+(5394*(apply(no,2,var,na.rm=T))))/12431

导致此警告消息:

"在 if (na.rm) "na.or.complete" else "everything" 中:条件长度 > 1 并且只使用第一个元素"

我环顾四周,这似乎主要适用于循环或 if 子句,但我想知道 1)这是否会影响我的结果以及如何影响,以及 2)是否有办法避免警告。

warnings r

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