一个简单的Ajax 配合 perl/cgi 示例

1. 工作流程

  1. 用户操作(如点击按钮)触发前端的 JavaScript 脚本。
  2. JavaScript 使用 AJAX 向服务器发送 HTTP 请求。
  3. Perl/CGI 脚本 在服务器端接收请求,处理数据(如查询数据库)并生成响应。
  4. AJAX 接收服务器返回的数据,更新网页内容而无需刷新整个页面

2. 实现步骤

前端:使用 AJAX 发出请求

使用 JavaScript(通过 XMLHttpRequest 或 Fetch API)发出 AJAX 请求。例如:

JSON 和 restful API 使用

1.JSON模块的使用

use JSON;

#将perl数据转为JSON

my $json = to_json($data);

#将JSON字符串转为perl数据结构

my $decoded = from_json($json_string);

2.数据库交互

use DBI;

my $dbh = DBI->connect("");

my $sth = $dbh->prepare("SELECT sql sentence");

$sth->execute($gene_id);

my $row = $sth->fetchrow_hashref/

print $cgi->header('application/json');

print to_json($row);

SequenceServer3.1.3与自己网站融合

将 SequenceServer 3.1.3 的页面与您自己网站的风格相融合,可以通过以下步骤实现:

1. 修改 HTML 模板

SequenceServer 的前端界面是由 HTML、CSS 和 JavaScript 构成的。要融合到您的网站风格中,可以:

  • 定位 SequenceServer 的 HTML 模板文件(通常位于 sequenceserver/views 目录下)。
  • 修改模板中的结构和样式,使其与您的网站布局一致。例如,添加您的网站头部和底部导航栏,调整内容布局。

2. 自定义 CSS 样式

mysql数据库中备份数据库及更改某个数据库的名称

要将 MySQL 中的数据库名称从 ArtocarpusGD 修改为 IlexGD,可以按照以下步骤操作:

方法一:使用 MySQL 命令行工具

  1. 备份数据库 运行以下命令以备份原有数据库:

    mysqldump -u username -p ArtocarpusGD > ArtocarpusGD_backup.sql

    替换 username 为你的 MySQL 用户名。mysqldump -uroot -p123456 ArtocarpusGD > ArtocarpusGD_backup.sql

  2. 创建新数据库 在 MySQL 命令行中执行以下命令:

    CREATE DATABASE IlexGD;

  3. 导入备份到新数据库 将备份文件导入新创建的数据库:

    mysql -u username -p IlexGD < ArtocarpusGD_backup.sql

GO注释步骤-整合eggnog和interpro的GO结果

# 7. GO 注释
mkdir -p /home/train/13.functional_annotation/07.GO
cd /home/train/13.functional_annotation/07.GO

# 整合eggNOG和InterPro中的GO注释结果
go_from_eggNOG_and_interpro.pl ../04.eggNOG/eggNOG.emapper.annotations ../05.InterPro/interpro.tsv > go.annot
go_reducing_go_number_para.pl /opt/biosoft/go_class/bin/go-basic.obo go.annot 8 > go_reduced.annot
sort go_reduced.annot > go.annot; rm go_reduced.annot
gene_annotation_from_table.pl go.annot > GO.txt

清空docker logs 和 metacyc 网站启动错误

##1.找到日志文件路径

docker inspect <container_id> | grep LogPath
#(输出类似于"LogPath": "/var/lib/docker/containers/<container_id>/<container_id>-json.log",))

##2.清空日志

echo "" > /var/lib/docker/containers/<container_id>/<container_id>-json.log

#或者下面方法

truncate -s 0 /var/lib/docker/containers/<container_id>/<container_id>-json.log
 

#若pathway容器开启后报错 If this server is no longer running, remove /tmp/.X99-lock   and start again.

rm /tmp -rf

docker restart

使用interproscan5.54-87.0进行本地化注释

1.InterproScan 5.54-87.0 配套的Panther为 Panther15.0

Panther下载:https://pantherdb.org/downloads/index.jsp

2.修改interproscan.properties文件

将 binary.getorf.parser.filtersize=8  修改为3

3.

 ./interproscan.sh -t n -i xaa -f XML -d erecta/ -appl Pfam,PANTHER -goterms -iprlookup -cpu 6

4.

 ./interproscan.sh -t p -i xaa.pep.fasta -f TSV,GFF3,JSON -d erecta/ -appl Pfam,PANTHER,cdd,gene3d,superfamily -goterms -iprlookup -cpu 8

eggnog-mapper注释方法

1.打开eggnog网站,点击“浏览文件”,选择要注释的文件,并在下方填写自己的邮箱

2.点击最下方的submit,提交注释申请后,填写的邮箱会收到一封网站发来的邮件

3.打开该邮件,点击“Click to manage your job”,跳转至eggnog页面,点击start开始工作

4.一定时间后会在邮箱中收到注释完成的提醒邮件,点击“Click to manage your job”,及时下载注释结果

其他:提交注释申请前,可在eggnog页面下方的Annotation options的Taxonomic Scope中选择与待注释文件比照的物种,以得到更精确的注释结果

本地blast步骤

# 本地化基因组数据库构建
mkdir /opt/biosoft/ncbi-blast-2.9.0+/db/
cd /opt/biosoft/ncbi-blast-2.9.0+/db/
# 构建核酸数据库
#makeblastdb -in ~/00.incipient_data/data_for_genome_assembling/assemblies_of_Malassezia_sympodialis/Malassezia_sympodialis.genome_V01.fasta -dbtype nucl -title Malassezia_sympodialis_V01.genome -parse_seqids -out #Malassezia_sympodialis_V01.genome -logfile Malassezia_sympodialis_V01.genome.log
# 构建蛋白质数据库

MCscanX做共线性分析

## g. 使用MCScanX进行共线性区块分析
mkdir -p /home/train/14.genome_comparison/g.MCScanX
cd /home/train/14.genome_comparison/g.MCScanX

# 准备2个物种基因组的蛋白质序列文件和GFF文件
ln -s ../a.preparing_data/laame.geneModels.gff3 ./
ln -s ../a.preparing_data/laame.protein.fasta ./
ln -s ../a.preparing_data/laame.genome.fasta ./
ln -s ../a.preparing_data/plost.geneModels.gff3 .
ln -s ../a.preparing_data/plost.protein.fasta .
ln -s ../a.preparing_data/plost.genome.fasta ./

Pages

Subscribe to 我们的生信博客-QFNU RSS