RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

全部问题

Martin Hope
pavlofff
Asked: 2020-03-13 18:45:35 +0000 UTC

他们要求我提供堆栈跟踪 (Stack Trace) 或 logcat (Logcat)。这是什么?

  • 15

我正在开发一个应用程序,但它不工作。屏幕上出现“不幸的是应用程序已停止”消息,但没有任何反应。

问一个问题,他们问我在 logcat 中的堆栈跟踪,但我不知道它是什么以及从哪里获得它?

android
  • 1 个回答
  • 10 Views
Martin Hope
Alexandr_TT
Asked: 2020-03-13 03:06:27 +0000 UTC

按钮 svg 内的变形图标

  • 15

使用平滑变形的主题会很有趣,即在 svg 按钮中将一个图形的轮廓更改为另一个图形的轮廓。
接下来是设计。在初始状态下,该按钮有一个图标 - 左侧有一个黄色星形和“保存”字样

在此处输入图像描述

当您单击按钮时,星号会平滑地变为绿色复选框,并且“保存”字样变为“已保存!”字样。

在此处输入图像描述

很明显,平滑变形是通过将一个图形的节点坐标更改为另一个图形节点的坐标来实现的。我知道,为了实现这一点,必须满足主要条件——两种形状中的锚点数量必须相同。路径(补丁)不应该有中断。

星形图标示例

<svg width="194.6" height="185.1" viewBox="0 0 194.6 185.1">
  <path fill="#FFD41D" d="M97.3,0 127.4,60.9 194.6,70.7 145.9,118.1 157.4,185.1 97.3,153.5 37.2,185.1 48.6,118.1 0,70.7 67.2,60.9"/>
</svg>

复选框图标示例

<svg width="194.6" height="185.1" viewBox="0 0 194.6 185.1"> 
  <path d="M110,58.2 147.3,0 192.1,29 141.7,105.1 118.7,139.8 88.8,185.1 46.1,156.5 0,125 23.5,86.6 
  	71.1,116.7" fill="yellowgreen"/> 
</svg>

javascript
  • 2 个回答
  • 10 Views
Martin Hope
Монте Кристо
Asked: 2020-02-27 07:14:56 +0000 UTC

用 Java 语言解释 if __name__ == "__main__" 代码

  • 15

我是 Python 的新手,并试图通过我所知道的语言——通过 Java 来理解一切。偶然发现if __name__ == "__main__",陷入了昏迷。我阅读了有关该主题的答案,但仍然很难“放下”。在 Java 语言中是否有类似的这些__name__yes ?"__main__"提前致谢。

PS不需要写重复。问题与 Java 没有类似物。不要从肩膀射击。请仔细阅读我的问题。

java
  • 2 个回答
  • 10 Views
Martin Hope
Тимур Баймагамбетов
Asked: 2020-01-20 02:10:03 +0000 UTC

java平台 - 它是什么

  • 15

有一种Java语言。这只是语法。

该语言有一个实现 - 这是一个编译器,可以理解该语言的语法并将其翻译成字节码。

有一个 Java 虚拟机 - 这是一个执行字节码的解释器。据我了解,java因此是跨平台的,因为每个操作系统都有自己的JVM,它可以为这个操作系统翻译字节码。

有一个 Java 开发工具包,它包括:Java 编译器、JVM 以及开发中使用的标准 Java 类和库。JDK 是为开发人员准备的。

有一个 Java 运行时环境——这是 Java 运行时环境。

  • “Java 平台”是什么意思?
  • Scala等其他语言如何在Java平台上运行?其他语言不编译成操作系统应该运行的机器码吗?
  • “Java 运行时环境”JRE 是什么意思?这就是我们所说的Java虚拟机吗?如果JVM和JRE不一样,那有什么区别呢?
java
  • 1 个回答
  • 10 Views
Martin Hope
Viktor Tomilov
Asked: 2020-12-04 13:29:46 +0000 UTC

在生物信息学中加载树木。第 1 部分。精确搜索

  • 15

该主题是作为讨论线程创建的。它提出了几个问题,因此您可以同时回答所有问题和其中一个问题。我给出了一些问题的答案,而不是它是正确的事实。如果有很多兴趣,您可以尝试组织聊天进行讨论。

生物信息学中最常见的任务:在字符串中查找子字符串。在大多数情况下,这是以一种标准方式实现的,不需要大量资源,也不值得详细考虑。但是,在我看来,有一类问题可以通过使用加载的树来加速/简化。
在本主题中,我们将仅考虑精确搜索。

术语解释:

参考:一个长的 DNA 序列,通常包含部分染色体或整个染色体/基因组的转录本。表示(通常)由 A、G、T、C(表示不同的核苷酸)和 N 组成的字符串 - 一个字符,表示任何核苷酸,或不存在确切信息。示例:AAGGCCTCGTCNTTNNGCCC...
模式(或读取):一个短的 DNA 序列,一个包含与上述相同字符的字符串,长度从 1(当然没有意义,但它发生)到几千的合理值。我们主要处理 30 到 300 个字母的长度,但还有其他任务。
回文-互补字符串,即 根据特殊规则倒序(从末尾读取字符串,按规则替换字母:A -> T,C -> G,G -> C,T -> A,N -> N)

对于航班的分析,我们将考虑人类第8条染色体作为参考(A:43333530,C:29030173,G:29103787,T:43300646,N:370500条,总共145138636个字母)。为简单起见,读取长度为 100 个字母。

马上我会告诉我我将在 Delphi 上编写代码。总的来说,我不在乎 - Delphi、c++、c# 或 java,但 Delphi 对我来说更熟悉。

问题 1. 创建树形结构。类或链表。

2个树实现选项:

班级

  type
    AGTCIndex = (A, C, G, T);
  TTrie = class
     fAmI: integer; // кто я - на всякий случай
     fParent: TTrie; // ссылка на родительский узел
     fChildren:array[AGTCIndex] of TTrie; // ссылка на узлы потомков
     fCount: array of longint; // для адресации 145 миллионов хватит. Вот если бы работали с геномом секвойи, стоило бы использовать int64 :)
     <...>
   end;

或链表

  type
    AGTCIndex = (A, C, G, T);
    pTrie = ^TTrie;
    TTrie = record
     fAmI: integer; // кто я - на всякий случай
     fParent: pTrie; // ссылка на родительский узел
     fChildren:array[AGTCIndex] of pTrie; // ссылка на узлы потомков
     fCount: array of longint; 
   end;

在我看来,链表更适合我们的任务:内存消耗更少,工作速度更快(我们不要在不必要的调用上浪费时间)。当然,为方便起见,我们将列表包装在一个类中。

问题二、内存消耗

在标准方法中,将花费 145 戈比的内存——这就是一条线需要多少。您可以使用半字节表示(描述及其工作原理)来欺骗和使用 2 倍。

在使用树的情况下,成本将至少为 100 * 145138636 * 16 或至少 230 GB。一切,羊皮得不偿失。可以使用的最大值为 32 GB。我们得出结论,只要参考的长度不超过 1600 万,这种方法是适用的。
原则上,这里也实现了半字节的方法。它甚至可以带来超过 2 倍的收益。但恐怕带来的不便多于好处。如果有其他意见 - 请提出意见。

问题3:精细的搜索性能

在标准方法中,在参考中找到所有包含的模式大约需要 |length(reference)*ln(length(pattern)|。如果并行化,那么内核每增加一倍大约要快 1.6 倍。

在使用树的情况下,根据我的计算,只有在前额上至少需要 O(100 * 长度)才能进行构造。使用阅读框可以减少到 O(30*length)。并行方法还将内核每增加一倍,该过程就会加快 1.6 倍。

总的来说,我们有:创建一棵树比使用标准方法搜索一个模式要多花大约 500 到 1000 倍的时间。但是,由于在已经形成的树中搜索要快得多,而且它允许您并行获取额外的数据,所以我们有: 当引用被重复使用时,创建树的好处是实现的,并且用于不同的模式。评价:至少500次。适用范围:精确映射、仪器数据的流式处理等。

没错,互补搜索存在一个小问题。事实上,我们将不得不从孩子到父母,这会有点慢。

如果主题很有趣,您可以继续进行模糊搜索,这通常更相关和更有趣。

更新 1

创建了一个聊天室

更新 2

**相对于按位表示。大声推理(几乎与树木无关)**

为什么不节省内存和时间,并使用半字节甚至四分之一字节表示?
- 我不确定。我还没有遇到过使用类似方法的单一 GNU 软件(关于付费软件 - 见下文)。所有人都否认兼容性和不愿意为按位工作编写复杂的例程。而最近他们也回答——“内存降价了”。

  • 我对为什么每个人都不使用按位方法的看法:

    1. 兼容性并不是特别重要。毕竟,无损转换:您可以随时转换回来。但!通常,相同的程序不仅用于在 DNA 内进行搜索,还用于在蛋白质序列、基因依赖性等内进行搜索。在那里 - 拉丁字母是不够的。

    2. AGTC 是一个非常特殊的情况。还有甲基化核苷酸、双脱氧核苷酸、“可疑”核苷酸等等。那些。“字母”远不止 4 个字母。因此,例程是“为一切”创建的。

在上面的第一个链接上,我举了一个使用半字节表示的例子,我在 2004 年“开发”了一个完整的基因组 triter(Windows 下的第一个 - 我有点自豪:))是创建于 2006 年。然后内存很少,处理器非常愚蠢。主要思想:A=0001b,C=0010b,G=0100b,T=1000b。然后掩码非常成功地叠加在一次搜索多个选项上:N = 1111b、R(A 或 G)= 0101b、Y(C 或 T)= 1010b 等。在 SSE2 中实现了一个大字(64 或 128 位)的半字节移位,它允许您一次处理多达 32 个字母。
所以,关于这个实现,我怀疑这种方法至少用在一个商业包中:) 但是,我并不感到抱歉,特别是因为这种方法是表面上的。

更新 3

发布了问题的第二部分:生物信息学中的加载树。第 2 部分。模糊搜索

java
  • 4 个回答
  • 10 Views
上一页
下一页

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5