Maybe because FS is set to '\t' and there appear to be no TABs in your second sample file, so the fields will not match. And you are setting the index to the entire record, save the first character. which is probably not what you want (you probably meant to use $1 here, but that would not be a sure way to do it either, because in the FASTA format the identifier is allowed to contain spaces). And the FASTA file is word wrapped, so you need to take out the newlines and not use getline to get only the second line ....
The best way to do that is is to use ">" as a record separator and use "\n" as the field separator. By setting OFS as the empty string, and assigning a value to one of the fields, all newlines will be replaced by empty strings, so this will effectively remove the word wrap. And the sequence will become one continuous string, which will make it suitable for substring selection.
Using your file order, we would get something like this.
If we read the files the other way around, then it becomes more memory efficient:
Last edited by Scrutinizer; 08-05-2015 at 04:52 AM..
I have this tar file which has files of (.ksh, .ini &.sql) and their hard and soft links.
Later when the original files and their directories are deleted (or rather lost as in a system crash), I have this tar file as the only source to restore all of them.
In such a case when I do,
tar... (4 Replies)
Hi all,
I have a data file from which i would like to extract only certain fields, which are not adjacent to each other. Following is the format of data file (data.txt) that i have, which has about 6 fields delimited by "|"
HARRIS|23|IT|PROGRAMMER|CHICAGO|EMP
JOHN|35|IT|JAVA|NY|CON... (2 Replies)
I need to extract the character before the last "|" in the following lines, which are 'N' and 'U'. The last "|" shouldn't be extracted. Also the no.s of "|" may vary in a line, but I need only the character before the last one.
... (5 Replies)
Hello,
I need your help to extract text from following:
./sherg_fyd_rur:blkabl="R23.21_BL2008_0122_1"
./serge_a75:rlwual="/main/r23.21=26-Mar-2008.05:00:20UTC@R11.31_BL2008_0325"
./serge_a75:blkabl="R23.21_BL2008_0325"
./sherg_proto_npiv:bkguals="R23.21_BL2008_0302 I80_11.31_LR"
I... (11 Replies)
Hi,
Can you help me on this two problems?
how can i get :
from input: /ect/exp/hom/bin ==> output: exp
and
from input: aex1234 =====>output: ex
thanks, (1 Reply)
Hi everyone,
I have a large text file containing DNA sequences in fasta format as follows:
>someseq
GAACTTGAGATCCGGGGAGCAGTGGATCTC
CACCAGCGGCCAGAACTGGTGCACCTCCAG
GCCAGCCTCGTCCTGCGTGTC
>another seq
GGCATTTTTGTGTAATTTTTGGCTGGATGAGGT
GACATTTTCATTACTACCATTTTGGAGTACA
>seq3450... (4 Replies)
Hi all,
I have a file like this
ID 3BP5L_HUMAN Reviewed; 393 AA.
AC Q7L8J4; Q96FI5; Q9BQH8; Q9C0E3;
DT 05-FEB-2008, integrated into UniProtKB/Swiss-Prot.
DT 05-JUL-2004, sequence version 1.
DT 05-SEP-2012, entry version 71.
FT COILED 59 140 ... (1 Reply)
I am trying to extract a time from the below string in perl but not able to get the time properly
I just want to extract the time from the above line I am using the below syntax
x=~ /(.*) (\d+)\:(\d+)\:(\d+),(.*)\.com/
$time = $2 . ':' . $3 . ':' . $4;
print $time
Can... (1 Reply)
Hello, here I am posting my query again with modified data input files.
see my query is :
i have two input files file1 and file2.
file1 is smalldata.fasta
>gi|546671471|gb|AWWX01449637.1| Bubalus bubalis breed Mediterranean WGS:AWWX01:contig449636, whole genome shotgun sequence... (20 Replies)
Discussion started by: harpreetmanku04
20 Replies
LEARN ABOUT DEBIAN
bio::asn1::sequence::indexer
Bio::ASN1::Sequence::Indexer(3pm) User Contributed Perl Documentation Bio::ASN1::Sequence::Indexer(3pm)NAME
Bio::ASN1::Sequence::Indexer - Indexes NCBI Sequence files.
SYNOPSIS
use Bio::ASN1::Sequence::Indexer;
# creating & using the index is just a few lines
my $inx = Bio::ASN1::Sequence::Indexer->new(
-filename => 'seq.idx',
-write_flag => 'WRITE'); # needed for make_index call, but if opening
# existing index file, don't set write flag!
$inx->make_index('seq1.asn', 'seq2.asn');
my $seq = $inx->fetch('AF093062'); # Bio::Seq obj for Sequence (doesn't work yet)
# alternatively, if one prefers just a data structure instead of objects
$seq = $inx->fetch_hash('AF093062'); # a hash produced by Bio::ASN1::Sequence
# that contains all data in the Sequence record
PREREQUISITE
Bio::ASN1::Sequence, Bioperl and all dependencies therein.
INSTALLATION
Same as Bio::ASN1::EntrezGene
DESCRIPTION
Bio::ASN1::Sequence::Indexer is a Perl Indexer for NCBI Sequence genome databases. It processes an ASN.1-formatted Sequence record and
stores the file position for each record in a way compliant with Bioperl standard (in fact its a subclass of Bioperl's index objects).
Note that this module does not parse record, because it needs to run fast and grab only the gene ids. For parsing record, use
Bio::ASN1::Sequence.
As with Bio::ASN1::Sequence, this module is best thought of as beta version - it works, but is not fully tested.
SEE ALSO
Please check out perldoc for Bio::ASN1::EntrezGene for more info.
AUTHOR
Dr. Mingyi Liu <mingyi.liu@gpc-biotech.com>
COPYRIGHT
The Bio::ASN1::EntrezGene module and its related modules and scripts are copyright (c) 2005 Mingyi Liu, GPC Biotech AG and Altana Research
Institute. All rights reserved. I created these modules when working on a collaboration project between these two companies. Therefore a
special thanks for the two companies to allow the release of the code into public domain.
You may use and distribute them under the terms of the Perl itself or GPL (<http://www.gnu.org/copyleft/gpl.html>).
CITATION
Liu, M and Grigoriev, A(2005) "Fast Parsers for Entrez Gene" Bioinformatics. In press
OPERATION SYSTEMS SUPPORTED
Any OS that Perl & Bioperl run on.
METHODS
fetch
Parameters: $geneid - id for the Sequence record to be retrieved
Example: my $hash = $indexer->fetch(10); # get Sequence #10
Function: fetch the data for the given Sequence id.
Returns: A Bio::Seq object produced by Bio::SeqIO::sequence
Notes: Bio::SeqIO::sequence does not exist and probably won't
exist for a while! So call fetch_hash instead
fetch_hash
Parameters: $seqid - id for the Sequence record to be retrieved
Example: my $hash = $indexer->fetch_hash('AF093062');
Function: fetch a hash produced by Bio::ASN1::Sequence for given id
Returns: A data structure containing all data items from the Sequence
record.
Notes: Alternative to fetch()
_file_handle
Title : _file_handle
Usage : $fh = $index->_file_handle( INT )
Function: Returns an open filehandle for the file
index INT. On opening a new filehandle it
caches it in the @{$index->_filehandle} array.
If the requested filehandle is already open,
it simply returns it from the array.
Example : $fist_file_indexed = $index->_file_handle( 0 );
Returns : ref to a filehandle
Args : INT
Notes : This function is copied from Bio::Index::Abstract. Once that module
changes file handle code like I do below to fit perl 5.005_03, this
sub would be removed from this module
perl v5.14.2 2005-05-04 Bio::ASN1::Sequence::Indexer(3pm)