Advertisement

linux提取基因名称和序列,一种批量提取基因组基因信息并翻译比对分析序列的方法与流程...

阅读量:

技术特征:

一种基于基因组转录本信息批量提取与翻译比对分析的方法,在其核心优势在于能够通过一套包含六个 Perl 脚本程序的系统流程,在已知物种的转录本 ID 或基因 ID 的基础上结合基因组 CDS 文件、蛋白文件、GFF 文件以及染色体 FASTA 文件数据信息实现目标转录本或基因在基因组定位、长度测定以及正反义链结构特征的信息采集工作;随后在染色体 FASTA 文件上提取相应的 CDS 序列或基因序列,在基因组蛋白文件上获取该转录本对应的蛋白序列;最后针对所需 CDS 序列进行翻译运算或者直接采用获取到的蛋白序列,并通过 Linux 系统提供的工具完成蛋白质序列的多序列比对任务。

2.根据权利要求1所述的方法,其特征在于,包括如下步骤:

创建工作目录work_dir,并将某物种特定转录本ID相关的文本信息标记为数据集A。其中数据集A的具体名称定义为'xxx1'格式,并位于current working directory work_dir中执行预处理脚本perlscript1.pl并传递参数'xxx1'。预处理完成后,在current working directory work_dir中生成名为res_gene_id的结果文档。值得注意的是,在执行上述预处理脚本时,默认情况下参数'xxx1'已放置于包含该脚本(script1.pl)的工作目录内,并且会自动生成一个临时结果文档用于后续处理过程中的中间计算结果收集与管理。完成预处理后删除所有临时运算产生的中间结果文档,并将最终输出结果保存到名为'xxx3'specific location。

当上述步骤直接呈现某一物种基因id时,则标记该基因id文件为数据集b,并将其命名为"xxx3号数据集"。

将该物种基因组gff文件命名为c数据集。其名称为"xxx2"。通过执行perlscript2.plxxx2xxx3命令于当前工作目录中获得res_geneinfo。

本研究中,'res_geneinfo'文件被描述为基于该物种基因ID文件提取出的基因组信息文件,命名为数据集d;在此操作中,'xxx2'和'xxx3'被放置于包含脚本'script2.pl'的当前工作目录work_dir中,并停止访问或释放相关资源。

将strawberryperl软件中的bioperl模块进行安装,并将该物种基因组cds的数据以fasta格式存储于数据集e中。其中数据集e采用名称"xxx4"。通过执行名为"perlscript3.plxxx1"的命令来处理这些数据,并在当前工作目录work_dir下生成结果文件名res_cds_seq,并保存于当前的工作目录work_dir中;

该物种对应的基因转录本ID文件提取所得的CDS序列被编码为Fasta格式形成的数据集g;
当前工作目录work_dir中包含有执行脚本perlscript3.plxxx1所需的辅助程序xxx4;
并已关闭所有相关操作所需的资源。

记该物种基因组染色体的Fasta格式文件为数据集f,并将其命名为'xxx5';随后执行预设脚本'perlscript4.plres_geneinfo';操作后将在工作目录work_dir中生成结果文件'res_gene_seq';

该物种的基因序列数据集(记为h)是由其对应的基因ID列表所对应的染色体信息中提取生成的Fasta格式基因序列文件;在执行perlscript4.pl程序以获取基因信息的过程中,“xxx5”已被放置于包含有script4.pl脚本的当前工作目录中,并终止了所有相关的进程。

按照预设路径$work_dir组织资源,并通过执行名为perlscript5.pl的任务来完成数据处理流程。该操作将生成以下六个fastq格式文件:pro_1st.fa、pro_2nd.fa、pro_3rd.fa以及三个rc版本的fastq文件:pro_rc_1st.fa、pro_rc_2nd.fa和pro_rc_3rdafa;最后还会创建一个对照组faile pro_last

指代

若通过下载获取该物种基因组蛋白的 FASTA 格式文件,则可将其命名为 p 数据集;其名称为 "xxx6";随后执行 "perlscript6.plxxx1" 命令;于当前的工作目录中生成 "res_pro_seq" 文件;

指(reference_res_pro_seq)文件是基于该物种基因转录本ID列表提取的基因蛋白质序列 FASTA 文件,并标记为数据集 q。在运行 Perl 脚本 'perlscript6.plxxx1' 时, 所述 'xxx6' 已放置于包含脚本 'script6.pl' 的当前工作目录 work_dir 下, 并确保不再处理相关文件。

在指定目录work_dir中执行'muscle-inpro_lastafa-outpro_last.out'命令;若上一步骤已完成,则依次执行'muscle-inres_pro_seq-outres_pro_seq.out'命令;这些操作将在当前工作目录中生成多重序列对比的结果文件

本段文字指出,在使用MUSCLE软件处理输入序列时(具体包括将'pro_last.out'标记为数据集r),其生成的结果输出文档分别命名为'pro_last.out'和'res_pro_seq.out'。此外,请确保关闭所有与这些运算相关的程序窗口。

3.根据权利要求2所述的方法其实质是:在步骤(1)中如何获取"res_gene_id"文件则采用了以下方法来编程实现。

通过while循环机制对该‘xxx1’文件执行逐行扫描操作,在每一行内容中执行模式匹配操作。提取以bn开头且在‘.’符号前的基因标识符,并将其存储于变量$gene_id中。打印提取到的基因id列表,并将其保存至该文件。生成的结果文件名为‘res_gene_id’;并将处理后生成的结果保存在当前工作目录work_dir中的指定位置;释放或关闭所有未处理完毕的临时文件。

  1. Based on the method described in claim 2, its key feature lies in step (2), where the script "script2.pl" obtains the "res_geneinfo" file through programming based on the following approach:

将res_gene_id文件导入到数组@name_can中,并对以下操作进行设置:首先打开物种基因组gff格式文件'xxx2';随后启动一个while循环依次处理并分割该gff格式文件内容。通过模式匹配识别标记为'mrna'类型的行数据,并提取这些行中的基因ID信息存入变量'id_tmp'。接着启动一个for循环遍历数组@name_can中的每一项内容:当发现变量'id_tmp'与当前处理项中的基因ID相吻合时,则计算出该对应基因的起始和终止位点之间的距离长度,并将其存储于$genelen变量中。最后将获取的所有相关数据按照要求格式进行整合输出至同一个结果文档中,并命名为'res_geneinfo'后保存于当前工作目录work_dir文件夹内。

  1. 根据权利要求2所指方法而言,在步骤(3)中所涉及脚本即"script3.pl"文件在获取"res_cds_seq"文件这一操作上采取了如下方式进行编程实现:

通过bio::seqio模块和while循环将供试基因组cds文件"xxx4"逐一导入哈希%hash中,并打开供试转录本id文件"xxx1"。随后通过while循环对"xxx1"进行逐行遍历处理。当发现某一行转录本id对应的哈希值hash{line}时,则删除该哈希值中的最后一个"*"号,并记录相应的转录本id及其对应的cds序列;最后将这些信息按照fasta格式输出至同一个结果文件中,并将其保存至当前工作目录work_dir中的特定位置。如果不存在上述对应的哈希值,则在屏幕上显示转录本id未找到提示信息并关闭所有相关操作后的临时文件。

6.基于权利要求2所描述的方法,其核心在于:在步骤4中使用的脚本为'script4.pl',用于获取'res_gene_seq'文件的方法是通过以下程序实现的

通过bio::seqio库中的函数以及while循环机制对样本物种染色体基因组文件“xxx5”进行逐条读取,并将其数据存储至哈希变量%hash中。随后打开结果信息文件“res_geneinfo”,并利用while循环机制对该文件进行逐行处理。在此过程中,采用nextif语句筛选出以字母g开头的行并删除后进行文件分割操作。接着通过substr函数根据记录中的起始位置、终止位置及基因长度等字段获取相应的基因序列,并将其存储于变量seq_tmp中;如果检测到当前基因的方向标记为反义链(-),则对该序列进行反向互补计算并更新变量seq_tmp的内容;最后完成所有提取到的基因序列按照其id进行排序后生成Fasta格式的结果文件,并命名为“res_gene_seq.fna”存放在当前工作目录work_dir下。

根据权利要求2所描述的方法而言,其实现途径体现在:在第(5)步中,针对获取'pro_last.fa'这一文件资源,采用如下的编程手段进行处理

第一步:将20种氨基酸的所有64种密码子详细编码并以特定哈希结构存储到变量%genetic_code中;随后读取包含待译DNA序列的FASTA格式文件,并利用bio::seqio模块精确解析该序列;

首先依次读取输入文件中的dna序列数据,并通过while循环进行逐条处理。对于每个获取到的原始序列片段:

  1. 使用uc函数将每个字母转换为大写形式;
  2. 运用reverse函数结合正则表达式tr///提取该片段的反向互补序列;
  3. 利用存储在genetic_code哈希表中的密码子简表(%genetic_code),从原始序列起始位置的第一、二和三位密码子开始逐步解码;
  4. 以三个连续的密码子为一个单位块进行翻译操作。
    解码完成后:
  5. 将翻译得到的蛋白质编码及其对应的id分别保存到pro_1st.fa、pro_2nd.fa和pro_3rd.fa等三个fastq格式文件中;
  6. 同时对计算得到的反向互补序列也执行同样的翻译操作,并将结果保存至pro_rc_1st.fa、pro_rc_2nd.fa和pro_rc_3rd.fa等文件;
  7. 所有生成的蛋白质编码结果及其对应的id被组织到work_dir目录下的六个新文件中;
  8. 最后关闭所有相关的临时文件指针。

第三步的操作如下:首先使用stat函数依次统计六个待处理的结果数据的大小,并将这些统计结果存储在数组@array_size中;接着构建一个哈希表%hash_size%,其中以每个文件名作为键存储对应的数据大小信息;然后对数组@array_size中的元素按照降序排列后生成新数组@array_sort;之后取出排序后的第一个元素array_sort[0]及其对应的哈希表中的value字段(即其对应的data size)并将其存储于变量file_biggest中;最后打开并利用bio::seqio模块嵌套while循环结构将该变量对应的内容逐行读取并输出至目标路径下的fastq格式结果存储目录,并确保所有相关资源能够正确释放

根据权利要求2所描述的方法论,在步骤(6)中,“script6.pl”脚本文件在生成“res_pro_seq”文件的过程中采用了以下方式:该脚本文件通过编程实现获取该特定文件的功能。

借助生物信息学库中的SeqIO模块配合while循环结构对目标基因组蛋白质文件'xxx6'进行逐条读取操作,并依次打开供试转录本ID文件'xxx1'进行数据处理操作;在处理过程中使用while循环对'xxx1'中的每一行数据进行逐一读取并分析;当检测到当前处理行次中存在以该转录本ID为键对应的蛋白质序列记录时(即hash{line}存在),则对该记录进行尾部'*'号的删除操作,并将完整的转录本ID及其对应的蛋白质序列按照FASTA格式保存至最终结果文件中(命名为res_pro_seq);如果未找到对应记录,则在控制台输出提示信息并将无结果记录的最终文件保存至当前工作目录下的work_dir文件夹中;最后释放所有打开的资源并关闭程序流程

根据权利要求1至7中所述的方法,其中一项关键步骤为:步骤(1)中,所涉及的两个待测物种均为已完成全基因组测序的物种。

根据权利要求1至7所描述的方法,在此基础之上具有以下特征:所述待测基因组序列可通过下载公开的全基因组注释gff文件、cds序列、染色体序列以及蛋白质序列等信息进行获取,并非必须依赖于全基因组测序而可经其他途径取得相关资料

全部评论 (0)

还没有任何评论哟~