Module - convKit

convKit是DNA、RNA和蛋白质序列相互转换的数据包,双序列比对的工具也暂时存放于此。

0. 导入

from biofkit.seqKit import convKit

1. Function - readFasta

读取fasta文件,并转化为一个字典。序列标记为键,序列为值。

def readFasta(fastaFilePath: str) -> dict[str, str]:
    """读取FASTA文件。

    参数:
        fastaFilePath (str): FASTA文件的路径。

    输出:
        dict[str, str]: 字典,序列标记为键,序列为值。

2. Function - dna2Rna

转录DNA为RNA序列。即把T换成U。

def dna2Rna(dnaSeq: str) -> str:
    """转录DNA序列为RNA序列。
    
    参数:
        dnaSeq (str): DNA序列,大小写不重要。

    输出:
        str: RNA序列,全为大写。

3. Function - rna2Dna

反转录RNA为DNA序列,即把U换成T。

def rna2Dna(rnaSeq: str) -> str:
    """反转录RNA序列为DNA序列。
    
    参数: 
        rnaSeq (str): RNA序列,大小写不重要。

    输出:
        str: DNA序列,全为大写。
    """

4. Function - dna2Pro

有义链DNA序列直接翻译为蛋白质序列。可以控制翻译的起点和终点。

def dna2Pro(dnaSeq: str, start: int = 0, end: int = -1) -> str:
    """翻译DNA序列为蛋白质序列。

    参数:
        dnaSeq (str): DNA序列,大小写不重要。
        start (int): 翻译起点。
        end (int): 翻译终点。

    输出:
        str: 蛋白质序列。所有字母都为大写。
    """

5. Function - rna2Pro

RNA序列翻译为蛋白质。可以控制翻译的起点和终点。

def rna2Pro(rnaSeq: str, start: int = 0, end: int = -1) -> str:
    """翻译RNA序列为蛋白质序列。
    
    参数:
        rnaSeq (str): RNA序列。大小写不重要。
        start (int): 翻译的起点。
        end (int): 翻译的终点。

    输出:
        str: 蛋白质序列。所有的字母都为大写。
    """

6. Function - pairwiseDnaAlign

DNA双序列比对,结果会直接输出在命令行。

def pairwiseDnaAlign(fasta: str, seqA: str = 'ACGT', seqB: 'ACGTA', matrix: str = 'unitary', gapOpen: float = -10, gapExtend: float = 0.5, consoleWidth: int = 50) -> None:
    """DNA双序列比对。

    参数:
        fasta (str): 有两条序列的FASTA文件。
        seqA (str): 如果没有给出FASTA文件,可以直接给出序列。
        seqB (str): 如果没有给出FASTA文件,可以将另一条序列给出。
        matrix (str): 打分矩阵,可以从内置的'unitary'、'blast'和'tt' (替换-颠换矩阵)。
        gapOpen (float): 开启gap的罚分。
        gapExtend (float): 延伸gap的罚分。
        consoleWidth (int): 终端的长度,决定一行显示多长序列。
    """

7. Function - pairwiseProtAlign

蛋白质双序列比对,结果会直接输出在命令行。

def pairwiseProtAlign(fasta: str = '', seqA: str = 'ACGT', seqB: str = 'ACGTT', matrix: str = 'unitary', gapOpen: float = -10, gapExtend: float = -0.5, consoleWidth: int = 50) -> None:
    """蛋白质双序列比对。

    参数:
        fasta (str): 有两条序列的FASTA文件。
        seqA (str): 如果没有给出FASTA文件,可以直接给出序列。
        seqB (str): 如果没有给出FASTA文件,可以将另一条序列给出。
        matrix (str): 打分矩阵,可以从内置的'unitary'、'pam250'和'blosum62'。
        gapOpen (float): 开启gap的罚分。
        gapExtend (float): 延伸gap的罚分。
        consoleWidth (int): 终端的长度,决定一行显示多长序列。