SEQanswers (
-   Bioinformatics (
-   -   Script Help (

DrD2009 07-14-2011 06:05 PM

Script Help
Hello everyone,

I've been racking my brain trying to create a script to make a certain file, but I have had no success in my attempts.

I have a file like this:


All I want to do is to create a file like the following:

11        GTGAATTGTA
21        ATACGACTCA
31        CTATAGGGCG
41        AATTGGGCCC
51        TCTAGATGCA
61        TGCTCGAGCG
71        GCCGCCAGTG

It should be something relatively easy I'm just really missing. I've been trying it using awk, but have had little luck.

I believe it is basically just this code:

awk '{print NR?????? "\t" $0}'
I'm just not sure what the ??????????? should be. Any help with this would be great. Thanks in advance.

Kennels 07-14-2011 08:56 PM

If it's ok with perl, here's a simple perl one liner:


perl -e ' $pos=1; while(<>) { $line=$_; print "$pos\t$line"; $pos+=10; } ' inputfile.txt > outputfile.txt
replace inputfile.txt with your file containing your reads, and outputfile.txt with a desired output file name.

I'm assuming you want the position of the base at the start of every line. You can replace the '10' in the code if you desire another increment. The delimiter here is a tab (\t).

oiiio 07-15-2011 07:22 AM

I was going to say something very similar to Kennels's answer. If you are going to be doing this kind of thing frequently, Perl is awesome!

cliffbeall 07-15-2011 08:02 AM

Here is the awk:


awk -v N=1 '{print N "\t" $0} {N += 10}'

kwatts59 07-15-2011 08:17 AM

Use MS Excel to open the file, insert a column in the front of the data.
Put 1 in the A1 cell. In cell B1, put the formula =A1+10. Then fill down the column.
Then save the file as a text file, tab delimited.

All times are GMT -8. The time now is 12:05 AM.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.