text: user1414: I have a sequence file and want to count consecutive character "N", with the tandem's position of occurrence and its length. Say I have a file named mySequence.fasta like this:
  >sequence-1 
  ATCGCTAGCATNNNNNNNNNNNNNNCTAGCATCATGCNNNNNNATACGCATCACANNNNNNNNNCgcatATCAC
  
  and anticipated output should be like this:
  Position 12 N 15
  Position 38 N 6
  Position 56 N 9
  
  Kindly help me to solve this by awk or sed providing my file name mySequence.fasta
  
  user939: I couldn't come up with a one liner but have a two liner instead...
  To get the start positions of the N repeat:
  grep N mySeq.fasta | grep -b -o N | awk -F: '{print $1}' |awk '$1!=p+1{print $1}{p=$1}'
  12
  38
  56
  
  To get the length of the repeats:
  grep N mySeq.fasta | awk -F '[^N]+' '{for (i=1; i<=NF; i++) if ($i != "") print length($i)}' 
  14
  6
  9
  
  With thanks to stack overflow.
  
original_text: 1414: <p>I have a sequence file and want to count consecutive character "N", with the tandem's position of occurrence and its length. Say I have a file named <code>mySequence.fasta</code> like this:</p>
  
  <pre><code>&gt;sequence-1 
  ATCGCTAGCATNNNNNNNNNNNNNNCTAGCATCATGCNNNNNNATACGCATCACANNNNNNNNNCgcatATCAC
  </code></pre>
  
  <p>and anticipated output should be like this:</p>
  
  <pre><code>Position 12 N 15
  Position 38 N 6
  Position 56 N 9
  </code></pre>
  
  <p>Kindly help me to solve this by <code>awk</code> or <code>sed</code> providing my file name <code>mySequence.fasta</code></p>
   939: <p>I couldn't come up with a one liner but have a two liner instead...</p>
  
  <p>To get the start positions of the N repeat:</p>
  
  <pre><code>grep N mySeq.fasta | grep -b -o N | awk -F: '{print $1}' |awk '$1!=p+1{print $1}{p=$1}'
  12
  38
  56
  </code></pre>
  
  <p>To get the length of the repeats:</p>
  
  <pre><code>grep N mySeq.fasta | awk -F '[^N]+' '{for (i=1; i&lt;=NF; i++) if ($i != "") print length($i)}' 
  14
  6
  9
  </code></pre>
  
  <p>With thanks to stack overflow.</p>
  