error "mismatched tag" at line 1287 character 2
" }
      


    

OUTPUT BUFFER:

#!/usr/local/bin/tclsh package require WS::Client # NCBI Web Services # operation : eInfo : retrieve info on databases # Db list : # 'pubmed', # 'protein', # 'nucleotide', # 'nuccore', # 'nucgss', # 'nucest', # 'structure', # 'genome', # 'books', # 'cancerchromosomes', # 'cdd', # 'gap', # 'domains', # 'gene', # 'genomeprj', # 'gensat', # 'geo', # 'gds', # 'homologene', # 'journals', # 'mesh', # 'ncbisearch', # 'nlmcatalog', # 'omia', # 'omim', # 'pmc', # 'popset', # 'probe', # 'proteinclusters', # 'pcassay', # 'pccompound', # 'pcsubstance', # 'snp', # 'taxonomy', # 'toolkit', # 'unigene', # 'unists' proc main_db {} { set ret [::WS::Client::GetAndParseWsdl "http://eutils.ncbi.nlm.nih.gov/soap/v2.0/eutils.wsdl"] puts "WSDL successfully fetched and parsed" puts "" foreach k [dict keys $ret] { puts "\n$k" if {$k eq "operation" || $k eq "types"} { foreach {o v} [dict get $ret $k] { puts " $o = $v" } } elseif {$k eq "operList"} { foreach v [dict get $ret $k] { puts " $v" } } else { puts " [dict get $ret $k]" } } puts "\n####\n# Bank Info\n" set ddb [::WS::Client::DoCall eUtilsService run_eInfo [list db protein]] foreach k [dict keys $ddb] { puts "\n$k :" foreach {c v} [dict get $ddb $k] { puts "\t$c $v" } } puts "\n#######\n# Search : get GID\n" set ft [::WS::Client::DoCall eUtilsService run_eSearch [list db protein term XP_002295841]] foreach k [dict keys $ft] { puts "\t$k : [dict get $ft $k]" if {$k eq "IdList"} { set li [dict get $ft $k] foreach {c v} $li { lappend LID $v } } } set LID [lsort -unique $LID] puts "\n-------\nIDs : $LID\n-------\n" puts "\n########\n# Summary :\n" set sm [::WS::Client::DoCall eUtilsService run_eSummary [list db protein id $LID]] foreach k [dict keys $ft] { puts "\t$k : [dict get $ft $k]" } return $LID } proc main_seq {id} { set ret [::WS::Client::GetAndParseWsdl "http://eutils.ncbi.nlm.nih.gov/soap/v2.0/efetch_seq.wsdl"] puts "WSDL successfully fetched and parsed" puts "" foreach k [dict keys $ret] { puts "\n$k" if {$k eq "operation" || $k eq "types"} { foreach {o v} [dict get $ret $k] { puts " $o = $v" } } elseif {$k eq "operList"} { foreach v [dict get $ret $k] { puts " $v" } } else { puts " [dict get $ret $k]" } } puts "\nFetch : retrieve seq" set ft [::WS::Client::DoCall eFetchSequenceService run_eFetch [list db protein id $id]] foreach k [dict keys $ft] { puts "\t$k : [dict get $ft $k]" if {$k eq "IdList"} { set li [dict get $ft $k] foreach {c v} $li { lappend LID $v } } } set LID [lsort -unique $LID] puts "\n-------\nIDs : $LID\n-------\n" puts "\nSummary :" set sm [::WS::Client::DoCall eUtilsService run_eSummary [list db protein id $LID]] foreach k [dict keys $ft] { puts "\t$k : [dict get $ft $k]" } return } set id [main_db] puts "\n#########\n# id = $id\n#########\n" main_seq $id