kmer的python程序,km算法 python

本文目录一览:

python如何运行程序

安装并配置完成之后,我们就可以编写第一个python程序。学过其他语言的兄弟姐妹们,都知道语言的入门程序就是hello world。那么,我们这里也以hello world来抛砖引玉,打开python学习的大门。

python运行有两种方式,一种是在python交互式命令行下运行;另一种是使用文本编辑器,在命令行中直接运行。

注意:以上两种运行方式,都是以CPython解释器来编译运行的。当然也可以将python代码写入到eclipse中,使用JPython解释器运行,需要自己配置环境。(推荐学习:Python视频教程)

一、命令行与交互式命令行

首先要搞清楚这个命令行的概念。

1.命令行

定义:出现类似“C:\”,则是在Windows提供的命令行模式

进入模式的方式:Windows中,直接win+r键进入

2.交互式命令行

定义:出现“”,则是python的交互式命令行

进入模式的方式:Windows命令行中输入python即可

二、交互式命令行中运行python代码

cmd窗口中,输入python后,进入python交互式命令行。直接输入代码:

print ‘hello world!’

python-23.png

可以看到界面上运行结果,表示运行成功!

在Python的交互式命令行写程序,好处是一下就能得到结果,坏处是没法保存,下次还想运行的时候,还得再敲一遍。

所以,实际开发的时候,我们总是使用一个文本编辑器来写代码,写完了,保存为一个文件,这样,程序就可以反复运行了。

三、命令行运行python代码

1.python代码编写及保存

我们将“hello world!”程序用文本编辑器写出来,保存下来,并命名,这里我们命名为hello.py,保存到F:\workspace。

命名时,要注意:

1)文件要以.py结尾,其他都不可以

2)文件名只能是英文字母、数字和下划线的组合。

文本编辑器推荐:Notepad++、Sublime Text

2.python代码运行

在命令行模式中,输入python F:\workspace\hello.py,即可运行成功。

运行时,要注意:

1)python文件存储路径是相对路径,运行时,一定要说明python文件的存储路径,

当然,用Python开发程序,完全可以一边在文本编辑器里写代码,一边开一个交互式命令窗口,在写代码的过程中,把部分代码粘到命令行去验证,事半功倍!

Python|运行程序的4种方式

第一种:第一种就是最直观的方式了。将python或pycharm应用程序打开编程即可。

第二种:用windows徽标+R再输入cmd打开命令行,然后键入python进入python环境,即可在命令行下编程。

第三种:点击windows徽标,再输入IDLE即可打开python进行编程。

第四种:选择任意编辑器比如记事本用编程语法写程序,再将文件保存并将文件格式改为后缀为.py,然后在文件所在位置处用shift+鼠标右键打开此位置的命令行,最后输入python再空格一下而后输入处理好的文件名即可运行里面的程序。

关于Python|运行程序的4种方式,青藤小编就和您分享到这里了。如果您对python编程有浓厚的兴趣,希望这篇文章可以为您提供帮助。如果您还想了解更多关于python编程的技巧及素材等内容,可以点击本站的其他文章进行学习。

以上是小编为大家分享的关于Python|运行程序的4种方式的相关内容,更多信息可以关注环球青藤分享更多干货

python-第二课-用IDLE编写程序

1.使用IDLE运行python程序

IDLE全称“Integrated Development and Learning Environment”,是python的集成开发和学习环境。它被打包为python包装的可选部分,当安装好python以后,IDLE就自动安装好了,不需要另外去安装。使用IDLE运行python程序方法如下:

2.实例:用IDLE编写第一个python程序

(1)运行IDLE开发环境。

python如何将给的碱基序列切成长度为4的kmer

# 定义方法

def get_list(seq,n):

    “””

    Parameters:

    ———

        seq: string

        n : integer

    “””

    result = []

    for i in range(len(seq)-n+1):

        result.append(seq[i:i+n])

    return result

# 示例

seq = “ATCGCGTAAAGC”

get_list(seq,4)

# [‘ATCG’, ‘TCGC’, ‘CGCG’, ‘GCGT’, ‘CGTA’, ‘GTAA’, ‘TAAA’, ‘AAAG’, ‘AAGC’]

get_list(seq,3)

# [‘ATC’, ‘TCG’, ‘CGC’, ‘GCG’, ‘CGT’, ‘GTA’, ‘TAA’, ‘AAA’, ‘AAG’, ‘AGC’]

如何用Python构造hash表解决DNA k-mer问题

思路:

1、首先采用命A=0,C=1,G=2,T=3. 就相当于4进制数字,然后采用karp-Rabin算法转换成唯一十进制数字。由于用此算法的哈希函数为:hash(value)=value*(4^(k-q-1));

value是该字符对应的值,k是kmer长度,q是此字符在字符串的位置范围在[0-(q-1)]。然后把一个kmer里面所有字符的hash值求和就行了。

2、那么很容易看出来,对于连续的下害常愤端莅得缝全俯户一个Kmer,就有推理公式了 hashNew=addValue+(hashOld-deleteValue*(4^(k-1)))*4; hashNew就是往右平移一个字符的kmer hash值,hashOld就是平移之前的值,addValue就是平移后右边多的一个字符,deleteValue就是平移后左边少的一个字符。这样整个hash表建立的时间复杂度约为O(m+k),m是整个文本长度。

3、由于kmer长度如果过长,其hash值过大,会造成内存不够溢出的现象,所以kmer内部定死为10 。那么问题就来了,如何应对不同的kmer值。分三种情况。

第一种:q10

这种可以将kmer以10为单位,将hash表中对应值取出,然后对结果进行分析,这边分析方法为建立两个数组一个二维数组unionName储存位置关系,一个一维数组unionScore,计数用。 思路就是首先第一轮初始化unionName[Name][Pos]全部赋值Pos 并初始化unionScore,然后再第二轮匹配如果unionName[Name][Pos-cycle]=Pos-1则将其赋值为当前Pos,cycle为当前循环次数。并将当前循环数存入unionScore[NAME]中。最后当unionScore[NAME]值也就是循环数为k-1,即我们需要的交集了。

第二种:q=10

直接求出hash值,取出相应的值即可。

第三种:q10

可以用前缀种子+后缀种子交集产生。

前缀种子:在字符串后面补字符直到长度等于K,这个很容易看出来 最小是全补A,最大是全补T,然后将最小值到最大值之间的hash值即为所求。

后缀种子:后缀种子和前缀种子不同就是在字符串左边补齐字符。所以此时需要进行变换。只要对前置种子产生的值变化下就行了。(preValue-minValue)*(4^(K-q))+hash(p) 。其中preValue就是对应的前置种子的hash值,minValue就是前置种子中最小值也就是全补A的情况,hash(p)就是字符串长度为p时候的hash值。

交集就是先求后缀种子所有的值,再加上 前缀种子中起始位置在[0-(k-1)]中的值。

原创文章,作者:FQDG,如若转载,请注明出处:https://www.506064.com/n/144869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
FQDGFQDG
上一篇 2024-10-26 11:53
下一篇 2024-10-26 11:53

相关推荐

  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29

发表回复

登录后才能评论