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): 终端的长度,决定一行显示多长序列。