使用pandas和sqldf并获得一个nondescrip

2024-05-23 17:52:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我决定使用Pandas来进行一些数据分析,并使用使用使用sqlite3语法的组合sqldf库。问题是我遇到了一个无法形容的错误。但我假设我的sql语法不清楚。在

错误:

Error on sql  SELECT u.chromosome, u.transcript_affected, u.ensembl_gene_id, u.gene_name ,u.strand, s.transcript_affected, s.ensembl_gene_id, s.gene_name FROM utr_file u INNER JOIN ssm_file s ON u.chromosome= s.chromosome AND u.strand = s.chromosome_strand WHERE s.chromosome_start BETWEEN u.start AND u.end ORDER BY u.chromosome;

SQL行(也在上面的错误中):

^{pr2}$

目标: 我试图确定ssm_文件中的突变(按位置)在utr_文件中匹配的位置(在开始和结束之间)。我还需要先按染色体和链匹配。在

示例utr文件:

  chromosome     start       end                              gene_name strand  
0       chr1  67208778  67210768    NM_032291_utr3_24_0_chr1_67208779_f   +
1       chr1  48998526  48999844     NM_032785_utr3_0_0_chr1_48998527_r   -
2       chr1  16785385  16786584     NM_018090_utr3_7_0_chr1_16785386_f   +
3       chr1  33585783  33585995    NM_052998_utr3_11_0_chr1_33585784_f   +
4       chr1  16785385  16786584  NM_001145278_utr3_7_0_chr1_16785386_f   +

示例ssm_文件:

  chromosome  chromosome_start  chromosome_strand transcript_affected  \
0       chr1         100951090                  +     ENSG00000079335   
1       chr1         100951090                  +     ENSG00000079335   
2       chr1         100951090                  +     ENSG00000079335   
3       chr1         100951090                  +     ENSG00000079335   
4       chr1         100951090                  +     ENSG00000079335   

   ensembl_gene_id gene_name  
0  ENST00000544534    CDC14A  
1  ENST00000542213    CDC14A  
2  ENST00000370125    CDC14A  
3  ENST00000361544    CDC14A  
4  ENST00000336454    CDC14A

Tags: 文件name错误starttranscriptchr1genenm
1条回答
网友
1楼 · 发布于 2024-05-23 17:52:22

看起来你有一些列位置问题。我没有安装Pandas,但是这个查询对在sqlite中创建的临时表有效:

SELECT u.chromosome, u.gene_name ,u.strand, s.transcript_affected, 
s.ensembl_gene_id, s.gene_name FROM utr_file u INNER JOIN ssm_file s ON u.chromosome=
s.chromosome AND u.strand = s.chromosome_strand
WHERE s.chromosome_start BETWEEN u.start AND u.end ORDER BY u.chromosome;

我已经从select中删除了u.ensembl_gene_id和u.transcript_受影响,因为这些列只出现在ssm_文件中。在

相关问题 更多 >