Hi all,
I am writing a perl script that uses eLink to eFetch (NCBI Eutilities), from eLink to eFetch the script works if I use a list of id’s at $params{id} ‘ ‘;
But I want the script to read each file from my home directory and outputs the result of each file with an extension separately into my home directory.
And also in some cases there is a whole genome sequence, from which I need to retrieve the coordinates of starting point and the ending point of the sequences into a separate file.
Can anyone help me, how can I proceed further with this script?
#!/usr/bin/perl # ELink (batch) - EFetch use strict; use NCBI_PowerScripting; my (%params, %links); my @db = qw(protein nucleotide, gene); my $link; my $dir ='/home/'; opendir (DIR,$dir)or die $!; while (my $file = readdir (DIR)) { next unless (-f "$dir/$file"); next unless ($file =~m/\. gi$/); my @data; open (MYFILE,$file) or die "cannot open $file:$!"; open (OUT,">$file.data") or die "cannot open $file:$!"; #ELink $params{db} = $db[0]; $params{id} = ''; %links = elink_batch_to($db[1], %params); #EFetch foreach $link (keys %links) { %params = extract_links($link, %links); $params{outfile} = $link . '.dat'; $params{retmode} = 'text'; if ($link =~ /nuccore/) { $params{rettype} = 'fasta'; } efetch_batch(%params); print nuccore; }
20090719 Janitored by Corion: Added formatting, code tags, as per Writeup Formatting Tips
In reply to perl - loop by annymous
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |