set cmd "select db1.$source,db1.$target from $bank as db1, NCBI_TAXID as db2 where db1.$source in ('[join $Lacc ',']') and db2.id='$taxid' and db1.acc = db2.acc"
set cmd "select db1.$source,db3.acc from $bank as db1, NCBI_TAXID as db2, ACC2ACC as db3 where db1.$source in ('[join $Lacc ',']') and db2.id='$taxid' and db1.acc = db2.acc and db1.acc = db3.acc"
set cmd "select db1.id,db3.id from $BankSource as db1, ACC2ACC as db2, $BankTarget as db3 where db1.id in ('[join $Lacc ',']') and db1.acc = db2.acc and db2.id = db3.acc"
set cmd "select db1.id, db2.id from $BankSource as db1, $BankTarget as db2, NCBI_TAXID as db3 where db1.id in ('[join $Lacc ',']') and db3.id = '$taxid' and db1.acc = db2.acc and db1.acc = db3.acc"
set cmd "select db1.id, db2.id from $BankSource as db1, $BankTarget as db2, NCBI_TAXID as db3, ACC2ACC as db4 where db1.id in ('[join $Lacc ',']') and db3.id = '$taxid' and db1.acc = db2.acc and db1.acc = db3.acc and db1.acc = db4.id"
return $cmd
}
proc AttachIDMappingBank {bank} {
set fdb [file join [idmHome] SQLDBS ${bank}.sql]
$::db eval {attach database $fdb as $bank}
return
}
proc OldIDMappingRequest {} {
if {0} {
puts "bank = $bank"
set db [DbIDMappingSQL $bank open]
if {! $jointure} {
if {$taxid eq ""} {
if {! $checkDashAcc} {
set cmd "select $source,$target from $bank where $source in ('[join $Lacc ',']')"
} else {
set fdb [file join [idmHome] SQLDBS ACC2ACC.sql]
$db eval {attach database $fdb as ACC2ACC}
#lulu
set cmd "select db1.$source,db2.acc from $bank as db1, ACC2ACC as db2 where db1.$source in ('[join $Lacc ',']') and db1.acc = db2.id"
}
} else {
# taxid = 1
set fdb [file join [idmHome] SQLDBS NCBI_TAXID.sql]
$db eval {attach database $fdb as NCBI_TAXID}
if {! $checkDashAcc} {
set cmd "select db1.$source,db1.$target from $bank as db1, NCBI_TAXID as db2 where db1.$source in ('[join $Lacc ',']') and db2.id='$taxid' and db1.acc = db2.acc"
} else {
# checkDashAcc = 1
set fdb [file join [idmHome] SQLDBS ACC2ACC.sql]
$db eval {attach database $fdb as ACC2ACC}
set cmd "select db1.$source,db3.acc from $bank as db1, NCBI_TAXID as db2, ACC2ACC as db3 where db1.$source in ('[join $Lacc ',']') and db2.id='$taxid' and db1.acc = db2.acc and db1.acc = db3.acc"
} ; # fin checkDashAcc
} ; # fin taxid
} else {
# jointure = 1
set fdb [file join [idmHome] SQLDBS ${to}.sql]
$db eval {attach database $fdb as $to}
if {$taxid eq ""} {
if {! $checkDashAcc} {
set cmd "select db1.id, db2.id from $from as db1, $to as db2 where db1.id in ('[join $Lacc ',']') and db1.acc = db2.acc"
} else {
set fdb [file join [idmHome] SQLDBS ACC2ACC.sql]
$db eval {attach database $fdb as ACC2ACC}
set cmd "select db1.id,db3.id from $from as db1, ACC2ACC as db2, $to as db3 where db1.id in ('[join $Lacc ',']') and db1.acc = db2.acc and db2.id = db3.acc"
} ; # checkDashAcc
} else {
# taxid = 1
if {! $checkDashAcc} {
# lulu
set fdb [file join [idmHome] SQLDBS NCBI_TAXID.sql]
$db eval {attach database $fdb as NCBI_TAXID}
set cmd "select db1.id, db2.id from $from as db1, $to as db2, NCBI_TAXID as db3 where db1.id in ('[join $Lacc ',']') and db3.id = '$taxid' and db1.acc = db2.acc and db1.acc = db3.acc"
set cmd "select $source,$target from $bank where $source in ('[join $Lacc ',']')"
} else {
set fdb [file join [idmHome] SQLDBS NCBI_TAXID.sql]
$db eval {attach database $fdb as NCBI_TAXID}
set cmd "select db1.$source,db1.$target from $bank as db1, NCBI_TAXID as db2 where db1.$source in ('[join $Lacc ',']') and db2.id='$taxid' and db1.acc = db2.acc"
}
#
# on tient compte des access avec '-' que si :
# banque Dassh vess PAS dash
# id <-> accDash ::: acc <-> id
#
# dans autres cas, accDash pas grave
if {$from in [ListOfDBsWithDashAccess] && $to ni [ListOfDBsWithDashAccess]} {
set checkDashAcc 1
} else {
set db [DbIDMappingSQL $from open]
set fdb [file join [idmHome] SQLDBS ${to}.sql]
$db eval {attach database $fdb as $to}
if {$taxid ne ""}{
set fdb [file join [idmHome] SQLDBS NCBI_TAXID.sql]
$db eval {attach database $fdb as NCBI_TAXID}
set cmd "select db1.id, db2.id from $from as db1, $to as db2, NCBI_TAXID as db3 where db1.id in ('[join $Lacc ',']') and db3.id = '$taxid' and db1.acc = db2.acc and db3.acc = db2.acc"
} else {
set cmd "select db1.id, db2.id from $from as db1, $to as db2 where db1.id in ('[join $Lacc ',']') and db1.acc = db2.acc"
}
set checkDashAcc 0
}
set Lout [$db eval $cmd]
$db close
# create SQL request
set Lout [CreateIDMappingSQLRequest $Lacc $bank $from $to $source $target $taxid]