Skip to content
Snippets Groups Projects
Commit cfe8e79a authored by Julien Cornut's avatar Julien Cornut
Browse files

Automatic Update

parent 71f68fd0
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags:
# Notebook refact of Process.py
%% Cell type:markdown id: tags:
<p style="background-color:#B0E0E6; color:#000000;padding:5px">
This Notebook is used to process fastq files, turning them into exploitable wig files.
<br><br>
Only Python3 is available here.
<br><br>
An automatic back up it set up every 10 minutes, using crontab and git.
<br><br>
A "source" file is written to pass environnement variable to each bash magic cells.
<br><br>
If you want to make any changes, please comment the corresponding line, or convert the cell in RAW format using the menu.
<br><br>
You can also duplicate the Notebook if you need heavy changes.
<br><br>
Please don't touch the 0-Raw/ directory files.
</p>
%% Cell type:markdown id: tags:
<p style="background-color:#FFAAAA; color:#000000;padding:5px">
Copy the content of this template cell to make your comments more obvious and clear in the notebook.
</p>
%% Cell type:code id: tags:
``` python
%%bash
# Binaries are installed with Anaconda's package manager (Continuum Analytics)
# Print version of binaries
echo
echo -e "Version of Cutadapt \t : $(cutadapt --version)"
echo -e "Version of Bowtie \t : $(bowtie --version | head -n 1 | tail -c 6)"
```
%% Output
Version of Cutadapt : 1.9.1
Version of Bowtie : 1.1.2
%% Cell type:markdown id: tags:
## User manual
* Use ctrl+enter to run the focused cell
* Double click a cell to change it's content
* Use cell->run all to run all cells
* Use the "+" button to add a cell
* If you need to comment a cell, use drop menu to convert it to Raw NB Convert cell
* Use the scissor button to delete a cell
* Don't forget to save your work
* Use this notebook by simply cut/paste the filename of the file you need to process into the fname variable in the cell below
* Availables files are listed under the first Python cell
* Depending on the size, the notebook will take a long time to process it
* Use the magic "%%bash" and newline to start a bash interpreted cell
* If you get an "notebook has changed" message, use the RELOAD button, I'm probably working on it !
%% Cell type:markdown id: tags:
Import necessary libraries
%% Cell type:code id: tags:
``` python
# This lib is needed to parse fastq easily
from Bio import SeqIO
# Prettify arrays
from pprint import pprint
# This lib is used to avoid using a bash magic cell to copy a file
from shutil import copyfile
# Used to... list directory
from os import listdir, path
# Check the time taken by a function to run
import datetime
# Enter/Uncomment here the name of the file you want to process
fname = "testing"
# fname = "Undetermined_lane7_pair1"
# fname = "flowcell261_lane8_pair1_CAGATC"
# fname = "flowcell261_lane8_pair1_TGACCA"
# fname = "flowcell362_lane4_pair1_ACAGTG"
# fname = "flowcell362_lane4_pair1_ACTTGA"
# fname = "flowcell362_lane4_pair1_CAGATC"
# fname = "flowcell362_lane4_pair1_TGACCA"
# fname = "flowcell362_lane4_pair1_Undetermined"
# fname = "flowcell384_lane7_pair1_ACAGTG"
# fname = "flowcell384_lane7_pair1_ACTTGA"
# fname = "flowcell384_lane7_pair1_CAGATC"
# fname = "flowcell384_lane7_pair1_GATCAG"
# fname = "flowcell384_lane7_pair1_TGACCA"
# Print available files in 0-Raws/ directory
print("\nAvailable files :\n")
fn = {n.split('.')[0] for n in listdir("0-Raws/")} # Basename
wn = {n for n in listdir("7-WIGs/")} # P and M files
lst = (n+" \t\t Processsed" \
if (n+".P.wig" and n+".M.wig") in wn \
else n \
for n in sorted(fn))
for l in lst:
print(l)
```
%% Output
Available files :
Undetermined_lane7_pair1
flowcell261_lane8_pair1_CAGATC Processsed
flowcell261_lane8_pair1_TGACCA Processsed
flowcell362_lane4_pair1_ACAGTG Processsed
flowcell362_lane4_pair1_ACTTGA Processsed
flowcell362_lane4_pair1_CAGATC Processsed
flowcell362_lane4_pair1_TGACCA Processsed
flowcell362_lane4_pair1_Undetermined Processsed
flowcell384_lane7_pair1_ACAGTG Processsed
flowcell384_lane7_pair1_ACTTGA Processsed
flowcell384_lane7_pair1_CAGATC Processsed
flowcell384_lane7_pair1_GATCAG Processsed
flowcell384_lane7_pair1_TGACCA Processsed
testing
%% Cell type:markdown id: tags:
## Build working tree
Necessary step if you run this notebook on a local laptop or for the first time. If so, please convert cell in code.
%% Cell type:raw id: tags:
%%bash
mkdir -p 0-Raws
mkdir -p 1-Cutadapted
mkdir -p 2-Gunzipped
mkdir -p 3-Filtered
mkdir -p 4-Bowtied
mkdir -p 5-ncRNA-Removed
mkdir -p 6-Genome-Aligned
mkdir -p 7-WIGs
%% Cell type:markdown id: tags:
## Set up environnement
* Create a source file to share the FILENAME bash environnement variable (bash cells don't keep scope)
* Copy the file we're working on to root of Bioinf dir to work safer
%% Cell type:code id: tags:
``` python
# Build export string used by bash in the "source" file
export_line = "export FILENAME="+fname
# Write a local file ("source") to share env. variable between cells
with open("source","w") as f:
f.write(export_line)
```
%% Cell type:markdown id: tags:
## Copy to root dir
%% Cell type:code id: tags:
``` python
# Copy file from 0-Raws to root dir of notebook to work safer
copyfile("0-Raws/"+fname+".fastq.gz", fname+".fastq.gz")
```
%% Output
'testing.fastq.gz'
%% Cell type:markdown id: tags:
## Check
* File exists
* Is not empty
* Env. var. is set up
* Print first entry of the file
%% Cell type:code id: tags:
``` python
%%bash
source ./source
echo
echo $FILENAME
echo
zmore $FILENAME.fastq.gz | head -n 4
```
%% Output
testing
@SN279:493:C84L3ACXX:4:2309:1272:2215 1:N:0:CAGATC
NGAGGACCGAACCGACTTACGTTCTGTAGGCACCATCAATAGATCGGAAGA
+
#1=DDFFFGGHHHIIJIJIJJFHGHIFGHIGIJIJIGIHJGGHIHIJJIEE
%% Cell type:markdown id: tags:
## Estimate Cutadapt processing time
%% Cell type:code id: tags:
``` python
# Get file size in bytes
fsize = path.getsize(fname+".fastq.gz")
# Takes more or less 1 hour to process 2.45Gib.
bytes_per_second = (2.45*pow(10,9))/3600
# How many seconds for this file
seconds = fsize/bytes_per_second
# Estimated time
h,r = divmod(seconds,3600)
m,s = divmod(r,60)
print("Processing will take approximatively {0:.0f} hour(s) {1:.0f} minute(s) and {2:.0f} second(s)"\
.format(h,m,s))
```
%% Output
Processing will take approximatively 0 hour(s) 0 minute(s) and 0 second(s)
%% Cell type:markdown id: tags:
<br>
<div style="text-align:center;font-size:300%">Cutadapt</div>
<div style="text-align:center">Call cutadapt binary file to strip strands</div>
%% Cell type:markdown id: tags:
| Option | Effect |
| -: | :- |
|-a ADAPTER | Enter adapter sequence |
|-o OUTPUT | Indicate output file |
|--quiet | No long report |
|INPUT | Enter input file |
%% Cell type:code id: tags:
``` python
# Store current time
before = datetime.datetime.now()
```
%% Cell type:code id: tags:
``` python
%%bash
source ./source
# Export adapter we want to cut
export ADAPTER=CTGTAGGCACCATCAATAGATCGGAA
# Run binary
cutadapt \
-a $ADAPTER \
-o 1-Cutadapted/$FILENAME.fastq.gz \
--quiet \
$FILENAME.fastq.gz
```
%% Output
This is cutadapt 1.9.1 with Python 3.5.1
Command line parameters: -a CTGTAGGCACCATCAATAGATCGGAA -o 1-Cutadapted/testing.fastq.gz --quiet testing.fastq.gz
Trimming 1 adapter with at most 10.0% errors in single-end mode ...
%% Cell type:code id: tags:
``` python
# Store current time
after = datetime.datetime.now()
# Difference
delta = after-before
print("Cutadapt run time : {0}".format(delta))
```
%% Output
Cutadapt run time : 0:00:00.282434
%% Cell type:code id: tags:
``` python
%%bash
source ./source
rm $FILENAME.fastq.gz
```
%% Cell type:markdown id: tags:
## Unzip resulting compressed fastq
%% Cell type:code id: tags:
``` python
# Store current time
before = datetime.datetime.now()
```
%% Cell type:code id: tags:
``` python
%%bash
source ./source
# Unzip compressed file and output it in mid-process directory
zcat 1-Cutadapted/$FILENAME.fastq.gz > 2-Gunzipped/$FILENAME.fastq
```
%% Cell type:code id: tags:
``` python
# Store current time
after = datetime.datetime.now()
# Difference
delta = after-before
print("Zcat run time : {0}".format(delta))
```
%% Output
Zcat run time : 0:00:00.258304
%% Cell type:markdown id: tags:
## Remove sequences with less than needed nucleotides
Bowtie drops them anyway...
This step takes an eternity to filter for big files...
%% Cell type:code id: tags:
``` python
# Store current time
before = datetime.datetime.now()
```
%% Cell type:code id: tags:
``` python
# Enter the minimum needed sequence length
min_seq_length = 4
with open("2-Gunzipped/"+fname+".fastq", "r") as handle, \
open("3-Filtered/" +fname+".fastq","w") as output:
# Iterate through each records in fastq file
seq_iter = SeqIO.parse(handle,"fastq")
# Generator over sequences's length greater than min_seq_length
filt_iter = (rec for rec in seq_iter \
if (len(rec.seq) > min_seq_length))
# Write back filtered fastq
SeqIO.write(filt_iter,output,"fastq")
```
%% Cell type:code id: tags:
``` python
# Store current time
after = datetime.datetime.now()
# Difference
delta = after-before
print("Filtering run time : {0}".format(delta))
```
%% Output
Filtering run time : 0:00:00.337490
%% Cell type:markdown id: tags:
<br>
<div style="text-align:center;font-size:300%">Bowtie</div>
<br>
%% Cell type:markdown id: tags:
| Option | Effect |
| -: | :- |
| -S | Output as a SAM file |
| -v 3 | report end-to-end hits w/ <=v mismatches; ignore qualities |
| -p 4 | Use 4 processors |
| --best | hits guaranteed best stratum; ties broken by quality |
| INPUT | Input file |
| OUTPUT | Output file |
%% Cell type:code id: tags:
``` python
%%bash
source ./source
bowtie \
-S \
-v 3 \
-p 8 \
--time \
--best \
ref/2-Indexes/Yeast-Noncoding/Yeast-Noncoding \
3-Filtered/$FILENAME.fastq \
4-Bowtied/$FILENAME.sam
```
%% Output
Time loading forward index: 00:00:00
Time loading mirror index: 00:00:00
End-to-end 2/3-mismatch full-index search: 00:00:00
# reads processed: 1000
# reads with at least one reported alignment: 555 (55.50%)
# reads that failed to align: 445 (44.50%)
Reported 555 alignments to 1 output stream(s)
Time searching: 00:00:00
Overall time: 00:00:00
%% Cell type:markdown id: tags:
## Remove non-codant RNA
Original script burns 416 lines (0-415). Doing so strip the first non-header entry. Is it right ? Here I strip 415 exactly.
This block creates a generator that filters records according to the corresponding sam file with '4' in the field used in the original script. This method takes the bet that the first non-header line in the sam file matches the first line of the fastq. This is ugly. Don't do this. Need refact with browsing the sam file correctly.
The '4' in the flag field of the SAM file means that the read has no reported alignment. In this case, every aligned read means a match with non-codant tRNA index. So we keep only "mismatches" as they represent all reads that don't match with non-codant, in other words the reads we are interested in.
> Sum of all applicable flags. Flags relevant to Bowtie are:
> * 1 The read is one of a pair
> * 2 The alignment is one end of a proper paired-end alignment
> * 4 The read has no reported alignments
> * 8 The read is one of a pair and has no reported alignments
> * 16 The alignment is to the reverse reference strand
> * 32 The other mate in the paired-end alignment is aligned to the reverse reference strand
> * 64 The read is the first (#1) mate in a pair
> * 128 The read is the second (#2) mate in a pair
> Thus, an unpaired read that aligns to the reverse reference strand will have flag 16.
> A paired-end read that aligns and is the first mate in the pair will have flag 83 (= 64 + 16 + 2 + 1).
(From Bowtie manual, http://bowtie-bio.sourceforge.net/manual.shtml#sam-bowtie-output)
%% Cell type:code id: tags:
``` python
# Store current time
before = datetime.datetime.now()
```
%% Cell type:code id: tags:
``` python
with open("3-Filtered/" +fname+".fastq","r") as filtered, \
open("4-Bowtied/" +fname+".sam","r") as matches, \
open("5-ncRNA-Removed/"+fname+".fastq","w") as substracted:
# Iterator over fastq file
filt_iter = SeqIO.parse(filtered,"fastq")
# Strip header (as in original script)
for _ in range(415-3): matches.readline()
# Check last lines
print(matches.readline())
print(matches.readline())
print(matches.readline())
# Generator over fastq where the corresponding sam field is 4,
# meaning no reported alignment
#sub_iter = (rec for rec in filt_iter \
# if matches.readline().split('\t')[1] == '4')
seqiter = []
for record in filt_iter:
print(record)
arr = matches.readline().split('\t')
pprint(arr)
break
seq_id = arr[0]
flag = arr[1]
if(flag=='4'):
print("{0}\n{1}:\t{2}".format(seq_id,record.id,flag))
seqiter.append(record)
#print("{0}\n{1}:\t{2}".format(seq_id,record.id,flag,))
# Write back fastq
SeqIO.write(seqiter,substracted,"fastq")
```
%% Output
@SQ SN:tW(UCA)Q LN:74
@SQ SN:tY(GUA)Q LN:84
@PG ID:Bowtie VN:1.1.2 CL:"bowtie --wrapper basic-0 -S -v 3 -p 8 --time --best ref/2-Indexes/Yeast-Noncoding/Yeast-Noncoding 3-Filtered/testing.fastq 4-Bowtied/testing.sam"
SN279:493:C84L3ACXX:4:2309:1272:2215
SN279:493:C84L3ACXX:4:2309:1272:2215: 4
SN279:493:C84L3ACXX:4:2309:1275:2239
SN279:493:C84L3ACXX:4:2309:1309:2236: 4
SN279:493:C84L3ACXX:4:2309:2182:2231
SN279:493:C84L3ACXX:4:2309:1275:2239: 4
SN279:493:C84L3ACXX:4:2309:1886:2219
SN279:493:C84L3ACXX:4:2309:2387:2233: 4
SN279:493:C84L3ACXX:4:2309:2846:2219
SN279:493:C84L3ACXX:4:2309:2846:2219: 4
SN279:493:C84L3ACXX:4:2309:3323:2241
SN279:493:C84L3ACXX:4:2309:3284:2235: 4
SN279:493:C84L3ACXX:4:2309:3794:2223
SN279:493:C84L3ACXX:4:2309:3264:2245: 4
SN279:493:C84L3ACXX:4:2309:3694:2243
SN279:493:C84L3ACXX:4:2309:3794:2223: 4
SN279:493:C84L3ACXX:4:2309:4765:2225
SN279:493:C84L3ACXX:4:2309:4716:2219: 4
SN279:493:C84L3ACXX:4:2309:5144:2245
SN279:493:C84L3ACXX:4:2309:4672:2219: 4
SN279:493:C84L3ACXX:4:2309:5407:2223
SN279:493:C84L3ACXX:4:2309:4765:2225: 4
SN279:493:C84L3ACXX:4:2309:4867:2237
SN279:493:C84L3ACXX:4:2309:5189:2228: 4
SN279:493:C84L3ACXX:4:2309:5511:2220
SN279:493:C84L3ACXX:4:2309:5407:2223: 4
SN279:493:C84L3ACXX:4:2309:6688:2224
SN279:493:C84L3ACXX:4:2309:5863:2232: 4
SN279:493:C84L3ACXX:4:2309:7110:2219
SN279:493:C84L3ACXX:4:2309:6431:2231: 4
SN279:493:C84L3ACXX:4:2309:7271:2225
SN279:493:C84L3ACXX:4:2309:6688:2224: 4
SN279:493:C84L3ACXX:4:2309:7555:2216
SN279:493:C84L3ACXX:4:2309:7219:2217: 4
SN279:493:C84L3ACXX:4:2309:6431:2231
SN279:493:C84L3ACXX:4:2309:7110:2219: 4
SN279:493:C84L3ACXX:4:2309:8438:2217
SN279:493:C84L3ACXX:4:2309:7555:2216: 4
SN279:493:C84L3ACXX:4:2309:8313:2227
SN279:493:C84L3ACXX:4:2309:7906:2219: 4
SN279:493:C84L3ACXX:4:2309:8553:2216
SN279:493:C84L3ACXX:4:2309:8130:2243: 4
SN279:493:C84L3ACXX:4:2309:8130:2243
SN279:493:C84L3ACXX:4:2309:8313:2227: 4
SN279:493:C84L3ACXX:4:2309:8418:2243
SN279:493:C84L3ACXX:4:2309:8370:2229: 4
SN279:493:C84L3ACXX:4:2309:4107:2247
SN279:493:C84L3ACXX:4:2309:8553:2216: 4
SN279:493:C84L3ACXX:4:2309:9634:2218
SN279:493:C84L3ACXX:4:2309:9194:2231: 4
SN279:493:C84L3ACXX:4:2309:9194:2231
SN279:493:C84L3ACXX:4:2309:9098:2243: 4
SN279:493:C84L3ACXX:4:2309:9492:2220
SN279:493:C84L3ACXX:4:2309:9649:2233: 4
SN279:493:C84L3ACXX:4:2309:3635:2221
SN279:493:C84L3ACXX:4:2309:9581:2245: 4
SN279:493:C84L3ACXX:4:2309:10229:2232
SN279:493:C84L3ACXX:4:2309:10165:2225: 4
SN279:493:C84L3ACXX:4:2309:10845:2215
SN279:493:C84L3ACXX:4:2309:10386:2243: 4
SN279:493:C84L3ACXX:4:2309:11332:2236
SN279:493:C84L3ACXX:4:2309:11332:2236: 4
SN279:493:C84L3ACXX:4:2309:11695:2243
SN279:493:C84L3ACXX:4:2309:11532:2223: 4
SN279:493:C84L3ACXX:4:2309:12056:2221
SN279:493:C84L3ACXX:4:2309:11695:2243: 4
SN279:493:C84L3ACXX:4:2309:11792:2221
SN279:493:C84L3ACXX:4:2309:11792:2221: 4
SN279:493:C84L3ACXX:4:2309:12299:2218
SN279:493:C84L3ACXX:4:2309:12056:2221: 4
SN279:493:C84L3ACXX:4:2309:12775:2215
SN279:493:C84L3ACXX:4:2309:12047:2245: 4
SN279:493:C84L3ACXX:4:2309:12047:2245
SN279:493:C84L3ACXX:4:2309:13489:2242: 4
SN279:493:C84L3ACXX:4:2309:13806:2227
SN279:493:C84L3ACXX:4:2309:13562:2228: 4
SN279:493:C84L3ACXX:4:2309:14246:2216
SN279:493:C84L3ACXX:4:2309:13573:2246: 4
SN279:493:C84L3ACXX:4:2309:13761:2236
SN279:493:C84L3ACXX:4:2309:13806:2227: 4
SN279:493:C84L3ACXX:4:2309:13562:2228
SN279:493:C84L3ACXX:4:2309:14246:2216: 4
SN279:493:C84L3ACXX:4:2309:14401:2237
SN279:493:C84L3ACXX:4:2309:14212:2237: 4
SN279:493:C84L3ACXX:4:2309:14212:2237
SN279:493:C84L3ACXX:4:2309:14401:2237: 4
SN279:493:C84L3ACXX:4:2309:15204:2216
SN279:493:C84L3ACXX:4:2309:14670:2242: 4
SN279:493:C84L3ACXX:4:2309:15489:2235
SN279:493:C84L3ACXX:4:2309:14788:2218: 4
SN279:493:C84L3ACXX:4:2309:15090:2234
SN279:493:C84L3ACXX:4:2309:15090:2234: 4
SN279:493:C84L3ACXX:4:2309:15627:2249
SN279:493:C84L3ACXX:4:2309:15529:2233: 4
SN279:493:C84L3ACXX:4:2309:15529:2233
SN279:493:C84L3ACXX:4:2309:16321:2217: 4
SN279:493:C84L3ACXX:4:2309:18327:2224
SN279:493:C84L3ACXX:4:2309:17581:2248: 4
SN279:493:C84L3ACXX:4:2309:16766:2231
SN279:493:C84L3ACXX:4:2309:18327:2224: 4
SN279:493:C84L3ACXX:4:2309:17561:2229
SN279:493:C84L3ACXX:4:2309:18682:2218: 4
SN279:493:C84L3ACXX:4:2309:20117:2220
SN279:493:C84L3ACXX:4:2309:19749:2247: 4
SN279:493:C84L3ACXX:4:2309:19903:2218
SN279:493:C84L3ACXX:4:2309:19903:2218: 4
SN279:493:C84L3ACXX:4:2309:20333:2218
SN279:493:C84L3ACXX:4:2309:19819:2243: 4
SN279:493:C84L3ACXX:4:2309:20716:2234
SN279:493:C84L3ACXX:4:2309:20117:2220: 4
SN279:493:C84L3ACXX:4:2309:21278:2249
SN279:493:C84L3ACXX:4:2309:21278:2249: 4
SN279:493:C84L3ACXX:4:2309:1198:2252
SN279:493:C84L3ACXX:4:2309:1198:2252: 4
SN279:493:C84L3ACXX:4:2309:1457:2336
SN279:493:C84L3ACXX:4:2309:1157:2418: 4
SN279:493:C84L3ACXX:4:2309:1727:2287
SN279:493:C84L3ACXX:4:2309:1494:2460: 4
SN279:493:C84L3ACXX:4:2309:1494:2460
SN279:493:C84L3ACXX:4:2309:1458:2486: 4
SN279:493:C84L3ACXX:4:2309:1310:2440
SN279:493:C84L3ACXX:4:2309:1727:2287: 4
SN279:493:C84L3ACXX:4:2309:1689:2309
SN279:493:C84L3ACXX:4:2309:1559:2287: 4
SN279:493:C84L3ACXX:4:2309:1512:2339
SN279:493:C84L3ACXX:4:2309:1539:2395: 4
SN279:493:C84L3ACXX:4:2309:1518:2450
SN279:493:C84L3ACXX:4:2309:1518:2450: 4
SN279:493:C84L3ACXX:4:2309:1777:2357
SN279:493:C84L3ACXX:4:2309:1694:2474: 4
SN279:493:C84L3ACXX:4:2309:1944:2321
SN279:493:C84L3ACXX:4:2309:1752:2352: 4
SN279:493:C84L3ACXX:4:2309:2189:2264
SN279:493:C84L3ACXX:4:2309:1777:2357: 4
SN279:493:C84L3ACXX:4:2309:1865:2479
SN279:493:C84L3ACXX:4:2309:2189:2264: 4
SN279:493:C84L3ACXX:4:2309:2113:2287
SN279:493:C84L3ACXX:4:2309:2113:2287: 4
SN279:493:C84L3ACXX:4:2309:2227:2329
SN279:493:C84L3ACXX:4:2309:2227:2329: 4
SN279:493:C84L3ACXX:4:2309:2105:2468
SN279:493:C84L3ACXX:4:2309:2214:2391: 4
SN279:493:C84L3ACXX:4:2309:2041:2360
SN279:493:C84L3ACXX:4:2309:2105:2468: 4
SN279:493:C84L3ACXX:4:2309:11239:2215
SN279:493:C84L3ACXX:4:2309:2473:2270: 4
SN279:493:C84L3ACXX:4:2309:2214:2391
SN279:493:C84L3ACXX:4:2309:2288:2310: 4
SN279:493:C84L3ACXX:4:2309:2259:2312
SN279:493:C84L3ACXX:4:2309:2414:2347: 4
SN279:493:C84L3ACXX:4:2309:2345:2352
SN279:493:C84L3ACXX:4:2309:2345:2352: 4
SN279:493:C84L3ACXX:4:2309:2279:2345
SN279:493:C84L3ACXX:4:2309:2429:2389: 4
SN279:493:C84L3ACXX:4:2309:2432:2443
SN279:493:C84L3ACXX:4:2309:2303:2492: 4
SN279:493:C84L3ACXX:4:2309:2634:2410
SN279:493:C84L3ACXX:4:2309:2368:2499: 4
SN279:493:C84L3ACXX:4:2309:2630:2296
SN279:493:C84L3ACXX:4:2309:2630:2296: 4
SN279:493:C84L3ACXX:4:2309:2656:2420
SN279:493:C84L3ACXX:4:2309:2634:2410: 4
SN279:493:C84L3ACXX:4:2309:2733:2418
SN279:493:C84L3ACXX:4:2309:2733:2418: 4
SN279:493:C84L3ACXX:4:2309:2513:2438
SN279:493:C84L3ACXX:4:2309:2656:2420: 4
SN279:493:C84L3ACXX:4:2309:2966:2269
SN279:493:C84L3ACXX:4:2309:2786:2295: 4
SN279:493:C84L3ACXX:4:2309:2767:2409
SN279:493:C84L3ACXX:4:2309:2951:2457: 4
SN279:493:C84L3ACXX:4:2309:2786:2295
SN279:493:C84L3ACXX:4:2309:2909:2478: 4
SN279:493:C84L3ACXX:4:2309:2767:2463
SN279:493:C84L3ACXX:4:2309:3124:2308: 4
SN279:493:C84L3ACXX:4:2309:3169:2343
SN279:493:C84L3ACXX:4:2309:3169:2343: 4
SN279:493:C84L3ACXX:4:2309:3079:2325
SN279:493:C84L3ACXX:4:2309:3180:2350: 4
SN279:493:C84L3ACXX:4:2309:3244:2440
SN279:493:C84L3ACXX:4:2309:3204:2351: 4
SN279:493:C84L3ACXX:4:2309:3178:2447
SN279:493:C84L3ACXX:4:2309:3044:2371: 4
SN279:493:C84L3ACXX:4:2309:3044:2371
SN279:493:C84L3ACXX:4:2309:3244:2440: 4
SN279:493:C84L3ACXX:4:2309:3157:2471
SN279:493:C84L3ACXX:4:2309:3178:2447: 4
SN279:493:C84L3ACXX:4:2309:3297:2252
SN279:493:C84L3ACXX:4:2309:3390:2295: 4
SN279:493:C84L3ACXX:4:2309:3097:2491
SN279:493:C84L3ACXX:4:2309:3334:2318: 4
SN279:493:C84L3ACXX:4:2309:3476:2356
SN279:493:C84L3ACXX:4:2309:3287:2333: 4
SN279:493:C84L3ACXX:4:2309:3390:2295
SN279:493:C84L3ACXX:4:2309:3384:2400: 4
SN279:493:C84L3ACXX:4:2309:3251:2466
SN279:493:C84L3ACXX:4:2309:3654:2357: 4
SN279:493:C84L3ACXX:4:2309:3654:2357
SN279:493:C84L3ACXX:4:2309:3705:2369: 4
SN279:493:C84L3ACXX:4:2309:3568:2385
SN279:493:C84L3ACXX:4:2309:3748:2409: 4
SN279:493:C84L3ACXX:4:2309:3682:2399
SN279:493:C84L3ACXX:4:2309:3707:2484: 4
SN279:493:C84L3ACXX:4:2309:3748:2409
SN279:493:C84L3ACXX:4:2309:3862:2276: 4
SN279:493:C84L3ACXX:4:2309:3954:2330
SN279:493:C84L3ACXX:4:2309:3954:2297: 4
SN279:493:C84L3ACXX:4:2309:3900:2484
SN279:493:C84L3ACXX:4:2309:3896:2434: 4
SN279:493:C84L3ACXX:4:2309:3384:2400
SN279:493:C84L3ACXX:4:2309:4131:2262: 4
SN279:493:C84L3ACXX:4:2309:4047:2441
SN279:493:C84L3ACXX:4:2309:4235:2419: 4
SN279:493:C84L3ACXX:4:2309:4229:2494
SN279:493:C84L3ACXX:4:2309:4160:2462: 4
SN279:493:C84L3ACXX:4:2309:4083:2319
SN279:493:C84L3ACXX:4:2309:4027:2498: 4
SN279:493:C84L3ACXX:4:2309:4027:2498
SN279:493:C84L3ACXX:4:2309:4278:2284: 4
SN279:493:C84L3ACXX:4:2309:4476:2354
SN279:493:C84L3ACXX:4:2309:4463:2339: 4
SN279:493:C84L3ACXX:4:2309:4278:2449
SN279:493:C84L3ACXX:4:2309:4476:2354: 4
SN279:493:C84L3ACXX:4:2309:4432:2416
SN279:493:C84L3ACXX:4:2309:4432:2416: 4
SN279:493:C84L3ACXX:4:2309:4452:2498
SN279:493:C84L3ACXX:4:2309:4278:2449: 4
SN279:493:C84L3ACXX:4:2309:4508:2251
SN279:493:C84L3ACXX:4:2309:4426:2479: 4
SN279:493:C84L3ACXX:4:2309:4426:2479
SN279:493:C84L3ACXX:4:2309:4452:2498: 4
SN279:493:C84L3ACXX:4:2309:4673:2350
SN279:493:C84L3ACXX:4:2309:4561:2359: 4
SN279:493:C84L3ACXX:4:2309:3896:2434
SN279:493:C84L3ACXX:4:2309:4768:2286: 4
SN279:493:C84L3ACXX:4:2309:4624:2278
SN279:493:C84L3ACXX:4:2309:4920:2307: 4
SN279:493:C84L3ACXX:4:2309:4884:2302
SN279:493:C84L3ACXX:4:2309:4910:2446: 4
SN279:493:C84L3ACXX:4:2309:4961:2404
SN279:493:C84L3ACXX:4:2309:5482:2282: 4
SN279:493:C84L3ACXX:4:2309:5358:2347
SN279:493:C84L3ACXX:4:2309:5358:2347: 4
SN279:493:C84L3ACXX:4:2309:5361:2301
SN279:493:C84L3ACXX:4:2309:5371:2373: 4
SN279:493:C84L3ACXX:4:2309:5307:2448
SN279:493:C84L3ACXX:4:2309:5328:2408: 4
SN279:493:C84L3ACXX:4:2309:5371:2373
SN279:493:C84L3ACXX:4:2309:5284:2447: 4
SN279:493:C84L3ACXX:4:2309:5686:2262
SN279:493:C84L3ACXX:4:2309:5262:2474: 4
SN279:493:C84L3ACXX:4:2309:5262:2474
SN279:493:C84L3ACXX:4:2309:5682:2342: 4
SN279:493:C84L3ACXX:4:2309:5596:2438
SN279:493:C84L3ACXX:4:2309:5513:2407: 4
SN279:493:C84L3ACXX:4:2309:5636:2354
SN279:493:C84L3ACXX:4:2309:5596:2438: 4
SN279:493:C84L3ACXX:4:2309:5877:2322
SN279:493:C84L3ACXX:4:2309:5509:2457: 4
SN279:493:C84L3ACXX:4:2309:5901:2307
SN279:493:C84L3ACXX:4:2309:5855:2404: 4
SN279:493:C84L3ACXX:4:2309:5960:2431
SN279:493:C84L3ACXX:4:2309:5876:2461: 4
SN279:493:C84L3ACXX:4:2309:5855:2404
SN279:493:C84L3ACXX:4:2309:5972:2474: 4
SN279:493:C84L3ACXX:4:2309:6012:2383
SN279:493:C84L3ACXX:4:2309:6020:2318: 4
SN279:493:C84L3ACXX:4:2309:6020:2318
SN279:493:C84L3ACXX:4:2309:6012:2383: 4
SN279:493:C84L3ACXX:4:2309:6185:2427
SN279:493:C84L3ACXX:4:2309:6185:2427: 4
SN279:493:C84L3ACXX:4:2309:6147:2451
SN279:493:C84L3ACXX:4:2309:6062:2451: 4
SN279:493:C84L3ACXX:4:2309:6176:2456
SN279:493:C84L3ACXX:4:2309:6176:2456: 4
SN279:493:C84L3ACXX:4:2309:6292:2269
SN279:493:C84L3ACXX:4:2309:6097:2469: 4
SN279:493:C84L3ACXX:4:2309:4993:2403
SN279:493:C84L3ACXX:4:2309:6336:2280: 4
SN279:493:C84L3ACXX:4:2309:6315:2280
SN279:493:C84L3ACXX:4:2309:6292:2291: 4
SN279:493:C84L3ACXX:4:2309:6355:2388
SN279:493:C84L3ACXX:4:2309:6255:2308: 4
SN279:493:C84L3ACXX:4:2309:6486:2357
SN279:493:C84L3ACXX:4:2309:6479:2328: 4
SN279:493:C84L3ACXX:4:2309:6336:2280
SN279:493:C84L3ACXX:4:2309:6486:2357: 4
SN279:493:C84L3ACXX:4:2309:6348:2439
SN279:493:C84L3ACXX:4:2309:6480:2449: 4
SN279:493:C84L3ACXX:4:2309:6692:2314
SN279:493:C84L3ACXX:4:2309:6566:2297: 4
SN279:493:C84L3ACXX:4:2309:6669:2392
SN279:493:C84L3ACXX:4:2309:6589:2309: 4
SN279:493:C84L3ACXX:4:2309:6625:2260
SN279:493:C84L3ACXX:4:2309:6692:2314: 4
SN279:493:C84L3ACXX:4:2309:6589:2309
SN279:493:C84L3ACXX:4:2309:6531:2439: 4
SN279:493:C84L3ACXX:4:2309:6890:2264
SN279:493:C84L3ACXX:4:2309:6995:2320: 4
SN279:493:C84L3ACXX:4:2309:6995:2320
SN279:493:C84L3ACXX:4:2309:6787:2349: 4
SN279:493:C84L3ACXX:4:2309:6632:2476
SN279:493:C84L3ACXX:4:2309:6862:2360: 4
SN279:493:C84L3ACXX:4:2309:6787:2421
SN279:493:C84L3ACXX:4:2309:7468:2473: 4
SN279:493:C84L3ACXX:4:2309:7468:2473
SN279:493:C84L3ACXX:4:2309:7529:2264: 4
SN279:493:C84L3ACXX:4:2309:7423:2358
SN279:493:C84L3ACXX:4:2309:7711:2265: 4
SN279:493:C84L3ACXX:4:2309:7694:2324
SN279:493:C84L3ACXX:4:2309:7677:2365: 4
SN279:493:C84L3ACXX:4:2309:7508:2289
SN279:493:C84L3ACXX:4:2309:7534:2375: 4
SN279:493:C84L3ACXX:4:2309:7646:2396
SN279:493:C84L3ACXX:4:2309:7646:2396: 4
SN279:493:C84L3ACXX:4:2309:7880:2364
SN279:493:C84L3ACXX:4:2309:7521:2464: 4
SN279:493:C84L3ACXX:4:2309:7823:2303
SN279:493:C84L3ACXX:4:2309:7847:2282: 4
SN279:493:C84L3ACXX:4:2309:7847:2282
SN279:493:C84L3ACXX:4:2309:7967:2386: 4
SN279:493:C84L3ACXX:4:2309:7948:2448
SN279:493:C84L3ACXX:4:2309:7948:2448: 4
SN279:493:C84L3ACXX:4:2309:7967:2386
SN279:493:C84L3ACXX:4:2309:8000:2463: 4
SN279:493:C84L3ACXX:4:2309:8136:2269
SN279:493:C84L3ACXX:4:2309:8136:2269: 4
SN279:493:C84L3ACXX:4:2309:8149:2381
SN279:493:C84L3ACXX:4:2309:8149:2381: 4
SN279:493:C84L3ACXX:4:2309:8033:2370
SN279:493:C84L3ACXX:4:2309:8085:2451: 4
SN279:493:C84L3ACXX:4:2309:8014:2490
SN279:493:C84L3ACXX:4:2309:8394:2273: 4
SN279:493:C84L3ACXX:4:2309:8394:2273
SN279:493:C84L3ACXX:4:2309:8471:2318: 4
SN279:493:C84L3ACXX:4:2309:8471:2318
SN279:493:C84L3ACXX:4:2309:8447:2390: 4
SN279:493:C84L3ACXX:4:2309:8510:2289
SN279:493:C84L3ACXX:4:2309:8439:2484: 4
SN279:493:C84L3ACXX:4:2309:8264:2495
SN279:493:C84L3ACXX:4:2309:8264:2495: 4
SN279:493:C84L3ACXX:4:2309:8439:2484
SN279:493:C84L3ACXX:4:2309:8735:2345: 4
SN279:493:C84L3ACXX:4:2309:8536:2415
SN279:493:C84L3ACXX:4:2309:8620:2408: 4
SN279:493:C84L3ACXX:4:2309:8577:2473
SN279:493:C84L3ACXX:4:2309:8567:2410: 4
SN279:493:C84L3ACXX:4:2309:8427:2424
SN279:493:C84L3ACXX:4:2309:8638:2430: 4
SN279:493:C84L3ACXX:4:2309:8760:2327
SN279:493:C84L3ACXX:4:2309:8577:2473: 4
SN279:493:C84L3ACXX:4:2309:8898:2339
SN279:493:C84L3ACXX:4:2309:8760:2327: 4
SN279:493:C84L3ACXX:4:2309:8818:2283
SN279:493:C84L3ACXX:4:2309:8819:2493: 4
SN279:493:C84L3ACXX:4:2309:9027:2282
SN279:493:C84L3ACXX:4:2309:9238:2275: 4
SN279:493:C84L3ACXX:4:2309:9127:2301
SN279:493:C84L3ACXX:4:2309:9027:2282: 4
SN279:493:C84L3ACXX:4:2309:9013:2303
SN279:493:C84L3ACXX:4:2309:9156:2310: 4
SN279:493:C84L3ACXX:4:2309:9237:2341
SN279:493:C84L3ACXX:4:2309:9130:2319: 4
SN279:493:C84L3ACXX:4:2309:9130:2319
SN279:493:C84L3ACXX:4:2309:9081:2371: 4
SN279:493:C84L3ACXX:4:2309:9173:2373
SN279:493:C84L3ACXX:4:2309:9173:2373: 4
SN279:493:C84L3ACXX:4:2309:9100:2381
SN279:493:C84L3ACXX:4:2309:9100:2381: 4
SN279:493:C84L3ACXX:4:2309:9039:2397
SN279:493:C84L3ACXX:4:2309:9490:2299: 4
SN279:493:C84L3ACXX:4:2309:9480:2396
SN279:493:C84L3ACXX:4:2309:9270:2303: 4
SN279:493:C84L3ACXX:4:2309:9003:2443
SN279:493:C84L3ACXX:4:2309:9443:2340: 4
SN279:493:C84L3ACXX:4:2309:9400:2437
SN279:493:C84L3ACXX:4:2309:9400:2437: 4
SN279:493:C84L3ACXX:4:2309:9336:2445
SN279:493:C84L3ACXX:4:2309:9336:2445: 4
SN279:493:C84L3ACXX:4:2309:9443:2340
SN279:493:C84L3ACXX:4:2309:9441:2494: 4
SN279:493:C84L3ACXX:4:2309:9627:2284
SN279:493:C84L3ACXX:4:2309:9627:2284: 4
SN279:493:C84L3ACXX:4:2309:9688:2305
SN279:493:C84L3ACXX:4:2309:9607:2291: 4
SN279:493:C84L3ACXX:4:2309:9512:2354
SN279:493:C84L3ACXX:4:2309:9532:2370: 4
SN279:493:C84L3ACXX:4:2309:9607:2291
SN279:493:C84L3ACXX:4:2309:9589:2383: 4
SN279:493:C84L3ACXX:4:2309:9532:2370
SN279:493:C84L3ACXX:4:2309:9655:2465: 4
SN279:493:C84L3ACXX:4:2309:9588:2462
SN279:493:C84L3ACXX:4:2309:9680:2469: 4
SN279:493:C84L3ACXX:4:2309:9680:2469
SN279:493:C84L3ACXX:4:2309:9986:2295: 4
SN279:493:C84L3ACXX:4:2309:9986:2295
SN279:493:C84L3ACXX:4:2309:9794:2408: 4
SN279:493:C84L3ACXX:4:2309:9948:2365
SN279:493:C84L3ACXX:4:2309:9832:2478: 4
SN279:493:C84L3ACXX:4:2309:10192:2300
SN279:493:C84L3ACXX:4:2309:10248:2490: 4
SN279:493:C84L3ACXX:4:2309:10188:2427
SN279:493:C84L3ACXX:4:2309:10227:2493: 4
SN279:493:C84L3ACXX:4:2309:10130:2363
SN279:493:C84L3ACXX:4:2309:10378:2389: 4
SN279:493:C84L3ACXX:4:2309:10336:2353
SN279:493:C84L3ACXX:4:2309:10446:2393: 4
SN279:493:C84L3ACXX:4:2309:10401:2426
SN279:493:C84L3ACXX:4:2309:10414:2406: 4
SN279:493:C84L3ACXX:4:2309:10414:2406
SN279:493:C84L3ACXX:4:2309:10289:2447: 4
SN279:493:C84L3ACXX:4:2309:10289:2447
SN279:493:C84L3ACXX:4:2309:10380:2496: 4
SN279:493:C84L3ACXX:4:2309:10501:2374
SN279:493:C84L3ACXX:4:2309:10517:2272: 4
SN279:493:C84L3ACXX:4:2309:10735:2417
SN279:493:C84L3ACXX:4:2309:10676:2329: 4
SN279:493:C84L3ACXX:4:2309:10540:2395
SN279:493:C84L3ACXX:4:2309:10501:2374: 4
SN279:493:C84L3ACXX:4:2309:10574:2424
SN279:493:C84L3ACXX:4:2309:10735:2417: 4
SN279:493:C84L3ACXX:4:2309:10528:2487
SN279:493:C84L3ACXX:4:2309:10574:2424: 4
SN279:493:C84L3ACXX:4:2309:10909:2301
SN279:493:C84L3ACXX:4:2309:10528:2487: 4
SN279:493:C84L3ACXX:4:2309:10697:2439
SN279:493:C84L3ACXX:4:2309:10768:2256: 4
SN279:493:C84L3ACXX:4:2309:10768:2256
SN279:493:C84L3ACXX:4:2309:10879:2307: 4
SN279:493:C84L3ACXX:4:2309:10879:2307
SN279:493:C84L3ACXX:4:2309:10997:2371: 4
SN279:493:C84L3ACXX:4:2309:10979:2350
SN279:493:C84L3ACXX:4:2309:10834:2374: 4
SN279:493:C84L3ACXX:4:2309:11056:2295
SN279:493:C84L3ACXX:4:2309:10896:2389: 4
SN279:493:C84L3ACXX:4:2309:11094:2372
SN279:493:C84L3ACXX:4:2309:11056:2295: 4
SN279:493:C84L3ACXX:4:2309:10305:2429
SN279:493:C84L3ACXX:4:2309:11033:2442: 4
SN279:493:C84L3ACXX:4:2309:11178:2301
SN279:493:C84L3ACXX:4:2309:11366:2459: 4
SN279:493:C84L3ACXX:4:2309:11300:2284
SN279:493:C84L3ACXX:4:2309:11742:2264: 4
SN279:493:C84L3ACXX:4:2309:11607:2354
SN279:493:C84L3ACXX:4:2309:11625:2265: 4
SN279:493:C84L3ACXX:4:2309:11726:2333
SN279:493:C84L3ACXX:4:2309:11544:2315: 4
SN279:493:C84L3ACXX:4:2309:11625:2265
SN279:493:C84L3ACXX:4:2309:11726:2333: 4
SN279:493:C84L3ACXX:4:2309:11517:2343
SN279:493:C84L3ACXX:4:2309:11517:2343: 4
SN279:493:C84L3ACXX:4:2309:11818:2310
SN279:493:C84L3ACXX:4:2309:11867:2291: 4
SN279:493:C84L3ACXX:4:2309:11867:2291
SN279:493:C84L3ACXX:4:2309:11818:2310: 4
SN279:493:C84L3ACXX:4:2309:11760:2438
SN279:493:C84L3ACXX:4:2309:11829:2348: 4
SN279:493:C84L3ACXX:4:2309:11883:2462
SN279:493:C84L3ACXX:4:2309:11936:2381: 4
SN279:493:C84L3ACXX:4:2309:11806:2448
SN279:493:C84L3ACXX:4:2309:11904:2409: 4
SN279:493:C84L3ACXX:4:2309:11936:2381
SN279:493:C84L3ACXX:4:2309:11760:2438: 4
SN279:493:C84L3ACXX:4:2309:11869:2444
SN279:493:C84L3ACXX:4:2309:11806:2448: 4
SN279:493:C84L3ACXX:4:2309:11915:2489
SN279:493:C84L3ACXX:4:2309:11883:2462: 4
SN279:493:C84L3ACXX:4:2309:12216:2293
SN279:493:C84L3ACXX:4:2309:11915:2489: 4
SN279:493:C84L3ACXX:4:2309:12055:2358
SN279:493:C84L3ACXX:4:2309:12030:2338: 4
SN279:493:C84L3ACXX:4:2309:12030:2338
SN279:493:C84L3ACXX:4:2309:12055:2358: 4
SN279:493:C84L3ACXX:4:2309:12139:2392
SN279:493:C84L3ACXX:4:2309:12180:2383: 4
SN279:493:C84L3ACXX:4:2309:12083:2378
SN279:493:C84L3ACXX:4:2309:12219:2413: 4
SN279:493:C84L3ACXX:4:2309:12196:2436
SN279:493:C84L3ACXX:4:2309:12196:2436: 4
SN279:493:C84L3ACXX:4:2309:12355:2309
SN279:493:C84L3ACXX:4:2309:12242:2464: 4
SN279:493:C84L3ACXX:4:2309:12327:2370
SN279:493:C84L3ACXX:4:2309:12130:2489: 4
SN279:493:C84L3ACXX:4:2309:12242:2464
SN279:493:C84L3ACXX:4:2309:12355:2309: 4
SN279:493:C84L3ACXX:4:2309:12278:2327
SN279:493:C84L3ACXX:4:2309:12278:2327: 4
SN279:493:C84L3ACXX:4:2309:12329:2391
SN279:493:C84L3ACXX:4:2309:12321:2410: 4
SN279:493:C84L3ACXX:4:2309:5513:2407
SN279:493:C84L3ACXX:4:2309:12363:2418: 4
SN279:493:C84L3ACXX:4:2309:12364:2392
SN279:493:C84L3ACXX:4:2309:12282:2418: 4
SN279:493:C84L3ACXX:4:2309:12495:2399
SN279:493:C84L3ACXX:4:2309:12304:2469: 4
SN279:493:C84L3ACXX:4:2309:12646:2314
SN279:493:C84L3ACXX:4:2309:12625:2252: 4
SN279:493:C84L3ACXX:4:2309:12603:2351
SN279:493:C84L3ACXX:4:2309:12708:2269: 4
SN279:493:C84L3ACXX:4:2309:12572:2265
SN279:493:C84L3ACXX:4:2309:12646:2314: 4
SN279:493:C84L3ACXX:4:2309:12708:2269
SN279:493:C84L3ACXX:4:2309:12578:2326: 4
SN279:493:C84L3ACXX:4:2309:12630:2364
SN279:493:C84L3ACXX:4:2309:12630:2364: 4
SN279:493:C84L3ACXX:4:2309:12541:2411
SN279:493:C84L3ACXX:4:2309:12541:2411: 4
SN279:493:C84L3ACXX:4:2309:12683:2421
SN279:493:C84L3ACXX:4:2309:12683:2421: 4
SN279:493:C84L3ACXX:4:2309:12504:2450
SN279:493:C84L3ACXX:4:2309:12832:2283: 4
SN279:493:C84L3ACXX:4:2309:12929:2337
SN279:493:C84L3ACXX:4:2309:12757:2292: 4
SN279:493:C84L3ACXX:4:2309:12743:2471
SN279:493:C84L3ACXX:4:2309:12752:2321: 4
SN279:493:C84L3ACXX:4:2309:12917:2375
SN279:493:C84L3ACXX:4:2309:12929:2337: 4
SN279:493:C84L3ACXX:4:2309:13000:2405
SN279:493:C84L3ACXX:4:2309:13009:2275: 4
SN279:493:C84L3ACXX:4:2309:13201:2304
SN279:493:C84L3ACXX:4:2309:13201:2304: 4
SN279:493:C84L3ACXX:4:2309:11677:2446
SN279:493:C84L3ACXX:4:2309:13066:2383: 4
SN279:493:C84L3ACXX:4:2309:12916:2414
SN279:493:C84L3ACXX:4:2309:13146:2387: 4
SN279:493:C84L3ACXX:4:2309:13100:2427
SN279:493:C84L3ACXX:4:2309:13249:2474: 4
SN279:493:C84L3ACXX:4:2309:13146:2387
SN279:493:C84L3ACXX:4:2309:13461:2270: 4
SN279:493:C84L3ACXX:4:2309:13374:2377
SN279:493:C84L3ACXX:4:2309:13408:2363: 4
SN279:493:C84L3ACXX:4:2309:13408:2363
SN279:493:C84L3ACXX:4:2309:13374:2377: 4
SN279:493:C84L3ACXX:4:2309:13329:2456
SN279:493:C84L3ACXX:4:2309:13482:2401: 4
SN279:493:C84L3ACXX:4:2309:13482:2401
SN279:493:C84L3ACXX:4:2309:13329:2456: 4
SN279:493:C84L3ACXX:4:2309:13253:2438
SN279:493:C84L3ACXX:4:2309:13271:2464: 4
SN279:493:C84L3ACXX:4:2309:13271:2464
SN279:493:C84L3ACXX:4:2309:13350:2468: 4
SN279:493:C84L3ACXX:4:2309:13350:2468
SN279:493:C84L3ACXX:4:2309:13673:2315: 4
SN279:493:C84L3ACXX:4:2309:13588:2347
SN279:493:C84L3ACXX:4:2309:13581:2361: 4
SN279:493:C84L3ACXX:4:2309:13581:2361
SN279:493:C84L3ACXX:4:2309:13627:2422: 4
SN279:493:C84L3ACXX:4:2309:13066:2383
SN279:493:C84L3ACXX:4:2309:13796:2300: 4
SN279:493:C84L3ACXX:4:2309:13673:2315
SN279:493:C84L3ACXX:4:2309:13973:2326: 4
SN279:493:C84L3ACXX:4:2309:13714:2463
SN279:493:C84L3ACXX:4:2309:13886:2343: 4
SN279:493:C84L3ACXX:4:2309:13973:2326
SN279:493:C84L3ACXX:4:2309:13902:2359: 4
SN279:493:C84L3ACXX:4:2309:13902:2359
SN279:493:C84L3ACXX:4:2309:13834:2477: 4
SN279:493:C84L3ACXX:4:2309:13965:2371
SN279:493:C84L3ACXX:4:2309:14150:2271: 4
SN279:493:C84L3ACXX:4:2309:13758:2491
SN279:493:C84L3ACXX:4:2309:14176:2274: 4
SN279:493:C84L3ACXX:4:2309:14177:2295
SN279:493:C84L3ACXX:4:2309:14177:2295: 4
SN279:493:C84L3ACXX:4:2309:13918:2483
SN279:493:C84L3ACXX:4:2309:14169:2340: 4
SN279:493:C84L3ACXX:4:2309:14169:2340
SN279:493:C84L3ACXX:4:2309:14024:2354: 4
SN279:493:C84L3ACXX:4:2309:14106:2381
SN279:493:C84L3ACXX:4:2309:14116:2404: 4
SN279:493:C84L3ACXX:4:2309:14024:2354
SN279:493:C84L3ACXX:4:2309:14168:2481: 4
SN279:493:C84L3ACXX:4:2309:14096:2407
SN279:493:C84L3ACXX:4:2309:14091:2490: 4
SN279:493:C84L3ACXX:4:2309:14029:2418
SN279:493:C84L3ACXX:4:2309:14447:2252: 4
SN279:493:C84L3ACXX:4:2309:14449:2470
SN279:493:C84L3ACXX:4:2309:14509:2291: 4
SN279:493:C84L3ACXX:4:2309:14447:2252
SN279:493:C84L3ACXX:4:2309:14625:2350: 4
SN279:493:C84L3ACXX:4:2309:14738:2412
SN279:493:C84L3ACXX:4:2309:14683:2432: 4
SN279:493:C84L3ACXX:4:2309:14519:2423
SN279:493:C84L3ACXX:4:2309:14599:2483: 4
SN279:493:C84L3ACXX:4:2309:14509:2291
SN279:493:C84L3ACXX:4:2309:14888:2252: 4
SN279:493:C84L3ACXX:4:2309:14888:2252
SN279:493:C84L3ACXX:4:2309:14799:2313: 4
SN279:493:C84L3ACXX:4:2309:14966:2303
SN279:493:C84L3ACXX:4:2309:14940:2331: 4
SN279:493:C84L3ACXX:4:2309:14829:2353
SN279:493:C84L3ACXX:4:2309:14758:2355: 4
SN279:493:C84L3ACXX:4:2309:14889:2292
SN279:493:C84L3ACXX:4:2309:14756:2453: 4
SN279:493:C84L3ACXX:4:2309:15169:2256
SN279:493:C84L3ACXX:4:2309:15216:2280: 4
SN279:493:C84L3ACXX:4:2309:15141:2270
SN279:493:C84L3ACXX:4:2309:15110:2308: 4
SN279:493:C84L3ACXX:4:2309:14940:2331
SN279:493:C84L3ACXX:4:2309:15478:2268: 4
SN279:493:C84L3ACXX:4:2309:15251:2302
SN279:493:C84L3ACXX:4:2309:15401:2360: 4
SN279:493:C84L3ACXX:4:2309:15457:2346
SN279:493:C84L3ACXX:4:2309:15288:2405: 4
SN279:493:C84L3ACXX:4:2309:15549:2317
SN279:493:C84L3ACXX:4:2309:15613:2344: 4
SN279:493:C84L3ACXX:4:2309:15613:2344
SN279:493:C84L3ACXX:4:2309:15714:2357: 4
SN279:493:C84L3ACXX:4:2309:15655:2307
SN279:493:C84L3ACXX:4:2309:15574:2363: 4
SN279:493:C84L3ACXX:4:2309:15694:2378
SN279:493:C84L3ACXX:4:2309:15602:2442: 4
SN279:493:C84L3ACXX:4:2309:15857:2285
SN279:493:C84L3ACXX:4:2309:15948:2265: 4
SN279:493:C84L3ACXX:4:2309:15925:2356
SN279:493:C84L3ACXX:4:2309:15768:2344: 4
SN279:493:C84L3ACXX:4:2309:15602:2442
SN279:493:C84L3ACXX:4:2309:15901:2405: 4
SN279:493:C84L3ACXX:4:2309:15948:2361
SN279:493:C84L3ACXX:4:2309:16213:2258: 4
SN279:493:C84L3ACXX:4:2309:15768:2344
SN279:493:C84L3ACXX:4:2309:16042:2263: 4
SN279:493:C84L3ACXX:4:2309:16171:2275
SN279:493:C84L3ACXX:4:2309:16108:2461: 4
SN279:493:C84L3ACXX:4:2309:16245:2453
SN279:493:C84L3ACXX:4:2309:16406:2360: 4
SN279:493:C84L3ACXX:4:2309:16108:2461
SN279:493:C84L3ACXX:4:2309:16622:2367: 4
SN279:493:C84L3ACXX:4:2309:16263:2490
SN279:493:C84L3ACXX:4:2309:16777:2259: 4
SN279:493:C84L3ACXX:4:2309:16372:2301
SN279:493:C84L3ACXX:4:2309:16754:2304: 4
SN279:493:C84L3ACXX:4:2309:16754:2304
SN279:493:C84L3ACXX:4:2309:16873:2330: 4
SN279:493:C84L3ACXX:4:2309:16873:2330
SN279:493:C84L3ACXX:4:2309:16835:2333: 4
SN279:493:C84L3ACXX:4:2309:16904:2400
SN279:493:C84L3ACXX:4:2309:16783:2481: 4
SN279:493:C84L3ACXX:4:2309:16955:2444
SN279:493:C84L3ACXX:4:2309:17165:2373: 4
SN279:493:C84L3ACXX:4:2309:16917:2451
SN279:493:C84L3ACXX:4:2309:17112:2414: 4
SN279:493:C84L3ACXX:4:2309:17007:2339
SN279:493:C84L3ACXX:4:2309:17018:2457: 4
SN279:493:C84L3ACXX:4:2309:17216:2430
SN279:493:C84L3ACXX:4:2309:17284:2330: 4
SN279:493:C84L3ACXX:4:2309:17598:2273
SN279:493:C84L3ACXX:4:2309:17281:2423: 4
SN279:493:C84L3ACXX:4:2309:17318:2364
SN279:493:C84L3ACXX:4:2309:17348:2491: 4
SN279:493:C84L3ACXX:4:2309:17448:2296
SN279:493:C84L3ACXX:4:2309:17682:2288: 4
SN279:493:C84L3ACXX:4:2309:17348:2491
SN279:493:C84L3ACXX:4:2309:17594:2334: 4
SN279:493:C84L3ACXX:4:2309:17682:2288
SN279:493:C84L3ACXX:4:2309:17727:2385: 4
SN279:493:C84L3ACXX:4:2309:17723:2434
SN279:493:C84L3ACXX:4:2309:17894:2341: 4
SN279:493:C84L3ACXX:4:2309:17893:2378
SN279:493:C84L3ACXX:4:2309:17893:2378: 4
SN279:493:C84L3ACXX:4:2309:17752:2344
SN279:493:C84L3ACXX:4:2309:17789:2414: 4
SN279:493:C84L3ACXX:4:2309:17894:2341
SN279:493:C84L3ACXX:4:2309:18195:2348: 4
SN279:493:C84L3ACXX:4:2309:17840:2466
SN279:493:C84L3ACXX:4:2309:18216:2392: 4
SN279:493:C84L3ACXX:4:2309:18187:2423
SN279:493:C84L3ACXX:4:2309:18020:2422: 4
SN279:493:C84L3ACXX:4:2309:18395:2275
SN279:493:C84L3ACXX:4:2309:18187:2423: 4
SN279:493:C84L3ACXX:4:2309:18020:2422
SN279:493:C84L3ACXX:4:2309:18332:2282: 4
SN279:493:C84L3ACXX:4:2309:18345:2325
SN279:493:C84L3ACXX:4:2309:18345:2325: 4
SN279:493:C84L3ACXX:4:2309:18410:2378
SN279:493:C84L3ACXX:4:2309:18371:2386: 4
SN279:493:C84L3ACXX:4:2309:18332:2282
SN279:493:C84L3ACXX:4:2309:18445:2408: 4
SN279:493:C84L3ACXX:4:2309:18652:2274
SN279:493:C84L3ACXX:4:2309:18632:2328: 4
SN279:493:C84L3ACXX:4:2309:18336:2409
SN279:493:C84L3ACXX:4:2309:18660:2447: 4
SN279:493:C84L3ACXX:4:2309:18614:2495
SN279:493:C84L3ACXX:4:2309:18614:2495: 4
SN279:493:C84L3ACXX:4:2309:18684:2500
SN279:493:C84L3ACXX:4:2309:18992:2386: 4
SN279:493:C84L3ACXX:4:2309:18861:2388
SN279:493:C84L3ACXX:4:2309:18968:2393: 4
SN279:493:C84L3ACXX:4:2309:18760:2418
SN279:493:C84L3ACXX:4:2309:18947:2397: 4
SN279:493:C84L3ACXX:4:2309:18992:2386
SN279:493:C84L3ACXX:4:2309:18760:2418: 4
SN279:493:C84L3ACXX:4:2309:19044:2283
SN279:493:C84L3ACXX:4:2309:19158:2257: 4
SN279:493:C84L3ACXX:4:2309:19104:2325
SN279:493:C84L3ACXX:4:2309:19044:2283: 4
SN279:493:C84L3ACXX:4:2309:18990:2470
SN279:493:C84L3ACXX:4:2309:19062:2362: 4
SN279:493:C84L3ACXX:4:2309:19062:2362
SN279:493:C84L3ACXX:4:2309:19184:2416: 4
SN279:493:C84L3ACXX:4:2309:19206:2432
SN279:493:C84L3ACXX:4:2309:19246:2423: 4
SN279:493:C84L3ACXX:4:2309:19184:2416
SN279:493:C84L3ACXX:4:2309:19118:2431: 4
SN279:493:C84L3ACXX:4:2309:19416:2266
SN279:493:C84L3ACXX:4:2309:19206:2432: 4
SN279:493:C84L3ACXX:4:2309:19082:2437
SN279:493:C84L3ACXX:4:2309:19255:2293: 4
SN279:493:C84L3ACXX:4:2309:19255:2293
SN279:493:C84L3ACXX:4:2309:19273:2325: 4
SN279:493:C84L3ACXX:4:2309:19337:2395
SN279:493:C84L3ACXX:4:2309:19378:2402: 4
SN279:493:C84L3ACXX:4:2309:19458:2464
SN279:493:C84L3ACXX:4:2309:19414:2488: 4
SN279:493:C84L3ACXX:4:2309:19338:2432
SN279:493:C84L3ACXX:4:2309:19729:2403: 4
SN279:493:C84L3ACXX:4:2309:19414:2488
SN279:493:C84L3ACXX:4:2309:19553:2469: 4
SN279:493:C84L3ACXX:4:2309:19781:2257
SN279:493:C84L3ACXX:4:2309:19891:2305: 4
SN279:493:C84L3ACXX:4:2309:19926:2424
SN279:493:C84L3ACXX:4:2309:19864:2486: 4
SN279:493:C84L3ACXX:4:2309:20203:2348
SN279:493:C84L3ACXX:4:2309:20023:2341: 4
SN279:493:C84L3ACXX:4:2309:19975:2363
SN279:493:C84L3ACXX:4:2309:20203:2348: 4
SN279:493:C84L3ACXX:4:2309:20176:2369
SN279:493:C84L3ACXX:4:2309:20008:2356: 4
SN279:493:C84L3ACXX:4:2309:20082:2398
SN279:493:C84L3ACXX:4:2309:20176:2369: 4
SN279:493:C84L3ACXX:4:2309:20014:2453
SN279:493:C84L3ACXX:4:2309:20082:2398: 4
SN279:493:C84L3ACXX:4:2309:20366:2332
SN279:493:C84L3ACXX:4:2309:20014:2453: 4
SN279:493:C84L3ACXX:4:2309:20110:2437
SN279:493:C84L3ACXX:4:2309:20321:2362: 4
SN279:493:C84L3ACXX:4:2309:20439:2372
SN279:493:C84L3ACXX:4:2309:20418:2461: 4
SN279:493:C84L3ACXX:4:2309:20350:2263
SN279:493:C84L3ACXX:4:2309:20357:2475: 4
SN279:493:C84L3ACXX:4:2309:20428:2484
SN279:493:C84L3ACXX:4:2309:20586:2274: 4
SN279:493:C84L3ACXX:4:2309:20336:2498
SN279:493:C84L3ACXX:4:2309:20605:2429: 4
SN279:493:C84L3ACXX:4:2309:20462:2498
SN279:493:C84L3ACXX:4:2309:20545:2463: 4
SN279:493:C84L3ACXX:4:2309:20605:2429
SN279:493:C84L3ACXX:4:2309:20930:2366: 4
SN279:493:C84L3ACXX:4:2309:20898:2337
SN279:493:C84L3ACXX:4:2309:20986:2424: 4
SN279:493:C84L3ACXX:4:2309:21025:2458
SN279:493:C84L3ACXX:4:2309:21194:2251: 4
SN279:493:C84L3ACXX:4:2309:21197:2473
SN279:493:C84L3ACXX:4:2309:21128:2450: 4
SN279:493:C84L3ACXX:4:2309:20986:2424
SN279:493:C84L3ACXX:4:2309:21025:2458: 4
SN279:493:C84L3ACXX:4:2309:21194:2251
SN279:493:C84L3ACXX:4:2309:21314:2276: 4
SN279:493:C84L3ACXX:4:2309:21318:2379
SN279:493:C84L3ACXX:4:2309:1122:2521: 4
SN279:493:C84L3ACXX:4:2309:1122:2521
SN279:493:C84L3ACXX:4:2309:1172:2554: 4
SN279:493:C84L3ACXX:4:2309:1138:2559
SN279:493:C84L3ACXX:4:2309:1159:2579: 4
SN279:493:C84L3ACXX:4:2309:1172:2554
SN279:493:C84L3ACXX:4:2309:1217:2591: 4
SN279:493:C84L3ACXX:4:2309:1180:2728
SN279:493:C84L3ACXX:4:2309:1180:2728: 4
SN279:493:C84L3ACXX:4:2309:1198:2745
SN279:493:C84L3ACXX:4:2309:1458:2529: 4
SN279:493:C84L3ACXX:4:2309:1162:2742
SN279:493:C84L3ACXX:4:2309:1439:2602: 4
SN279:493:C84L3ACXX:4:2309:1283:2548
SN279:493:C84L3ACXX:4:2309:1253:2668: 4
SN279:493:C84L3ACXX:4:2309:1273:2622
SN279:493:C84L3ACXX:4:2309:1703:2532: 4
SN279:493:C84L3ACXX:4:2309:1703:2532
SN279:493:C84L3ACXX:4:2309:1551:2571: 4
SN279:493:C84L3ACXX:4:2309:1253:2668
SN279:493:C84L3ACXX:4:2309:1512:2655: 4
SN279:493:C84L3ACXX:4:2309:19525:2484
SN279:493:C84L3ACXX:4:2309:1821:2511: 4
SN279:493:C84L3ACXX:4:2309:1625:2655
SN279:493:C84L3ACXX:4:2309:2105:2568: 4
SN279:493:C84L3ACXX:4:2309:2151:2606
SN279:493:C84L3ACXX:4:2309:2151:2606: 4
SN279:493:C84L3ACXX:4:2309:2022:2624
SN279:493:C84L3ACXX:4:2309:2022:2624: 4
SN279:493:C84L3ACXX:4:2309:1512:2655
SN279:493:C84L3ACXX:4:2309:2010:2644: 4
SN279:493:C84L3ACXX:4:2309:2010:2644
SN279:493:C84L3ACXX:4:2309:2340:2507: 4
SN279:493:C84L3ACXX:4:2309:2280:2543
SN279:493:C84L3ACXX:4:2309:2307:2538: 4
SN279:493:C84L3ACXX:4:2309:2359:2572
SN279:493:C84L3ACXX:4:2309:2280:2543: 4
SN279:493:C84L3ACXX:4:2309:2340:2507
SN279:493:C84L3ACXX:4:2309:2273:2678: 4
SN279:493:C84L3ACXX:4:2309:2394:2710
SN279:493:C84L3ACXX:4:2309:2394:2710: 4
SN279:493:C84L3ACXX:4:2309:2273:2678
SN279:493:C84L3ACXX:4:2309:2685:2502: 4
SN279:493:C84L3ACXX:4:2309:2479:2738
SN279:493:C84L3ACXX:4:2309:2654:2517: 4
SN279:493:C84L3ACXX:4:2309:2654:2517
SN279:493:C84L3ACXX:4:2309:2525:2711: 4
SN279:493:C84L3ACXX:4:2309:2506:2731
SN279:493:C84L3ACXX:4:2309:2865:2608: 4
SN279:493:C84L3ACXX:4:2309:2972:2509
SN279:493:C84L3ACXX:4:2309:2916:2620: 4
SN279:493:C84L3ACXX:4:2309:2520:2630
SN279:493:C84L3ACXX:4:2309:2822:2632: 4
SN279:493:C84L3ACXX:4:2309:2808:2572
SN279:493:C84L3ACXX:4:2309:2774:2658: 4
SN279:493:C84L3ACXX:4:2309:2917:2641
SN279:493:C84L3ACXX:4:2309:2937:2699: 4
SN279:493:C84L3ACXX:4:2309:2774:2658
SN279:493:C84L3ACXX:4:2309:2795:2739: 4
SN279:493:C84L3ACXX:4:2309:2909:2714
SN279:493:C84L3ACXX:4:2309:3155:2521: 4
SN279:493:C84L3ACXX:4:2309:3136:2534
SN279:493:C84L3ACXX:4:2309:3170:2547: 4
SN279:493:C84L3ACXX:4:2309:3033:2509
SN279:493:C84L3ACXX:4:2309:3148:2553: 4
SN279:493:C84L3ACXX:4:2309:3053:2590
SN279:493:C84L3ACXX:4:2309:3053:2590: 4
SN279:493:C84L3ACXX:4:2309:3181:2623
SN279:493:C84L3ACXX:4:2309:3083:2611: 4
SN279:493:C84L3ACXX:4:2309:3474:2553
SN279:493:C84L3ACXX:4:2309:3119:2650: 4
SN279:493:C84L3ACXX:4:2309:3190:2711
SN279:493:C84L3ACXX:4:2309:3190:2711: 4
SN279:493:C84L3ACXX:4:2309:3119:2650
SN279:493:C84L3ACXX:4:2309:3299:2530: 4
SN279:493:C84L3ACXX:4:2309:3299:2530
SN279:493:C84L3ACXX:4:2309:3431:2706: 4
SN279:493:C84L3ACXX:4:2309:3504:2573
SN279:493:C84L3ACXX:4:2309:3708:2639: 4
SN279:493:C84L3ACXX:4:2309:3704:2508
SN279:493:C84L3ACXX:4:2309:3583:2681: 4
SN279:493:C84L3ACXX:4:2309:3631:2692
SN279:493:C84L3ACXX:4:2309:3674:2694: 4
SN279:493:C84L3ACXX:4:2309:3667:2583
SN279:493:C84L3ACXX:4:2309:3549:2742: 4
SN279:493:C84L3ACXX:4:2309:3964:2541
SN279:493:C84L3ACXX:4:2309:3688:2743: 4
SN279:493:C84L3ACXX:4:2309:3831:2524
SN279:493:C84L3ACXX:4:2309:3831:2524: 4
SN279:493:C84L3ACXX:4:2309:3549:2742
SN279:493:C84L3ACXX:4:2309:3964:2541: 4
SN279:493:C84L3ACXX:4:2309:3953:2564
SN279:493:C84L3ACXX:4:2309:3953:2564: 4
SN279:493:C84L3ACXX:4:2309:3775:2621
SN279:493:C84L3ACXX:4:2309:3777:2721: 4
SN279:493:C84L3ACXX:4:2309:3933:2583
SN279:493:C84L3ACXX:4:2309:4122:2607: 4
SN279:493:C84L3ACXX:4:2309:3864:2733
SN279:493:C84L3ACXX:4:2309:4071:2697: 4
SN279:493:C84L3ACXX:4:2309:3793:2707
SN279:493:C84L3ACXX:4:2309:4273:2503: 4
SN279:493:C84L3ACXX:4:2309:4291:2506
SN279:493:C84L3ACXX:4:2309:4273:2579: 4
SN279:493:C84L3ACXX:4:2309:4426:2593
SN279:493:C84L3ACXX:4:2309:4253:2615: 4
SN279:493:C84L3ACXX:4:2309:4273:2579
SN279:493:C84L3ACXX:4:2309:4276:2652: 4
SN279:493:C84L3ACXX:4:2309:4443:2564
SN279:493:C84L3ACXX:4:2309:4404:2715: 4
SN279:493:C84L3ACXX:4:2309:4740:2620
SN279:493:C84L3ACXX:4:2309:4614:2608: 4
SN279:493:C84L3ACXX:4:2309:4709:2667
SN279:493:C84L3ACXX:4:2309:4740:2620: 4
SN279:493:C84L3ACXX:4:2309:4404:2715
SN279:493:C84L3ACXX:4:2309:4555:2703: 4
SN279:493:C84L3ACXX:4:2309:4717:2728
SN279:493:C84L3ACXX:4:2309:4717:2728: 4
SN279:493:C84L3ACXX:4:2309:4555:2703
SN279:493:C84L3ACXX:4:2309:4521:2734: 4
SN279:493:C84L3ACXX:4:2309:4521:2734
SN279:493:C84L3ACXX:4:2309:4818:2514: 4
SN279:493:C84L3ACXX:4:2309:4898:2566
SN279:493:C84L3ACXX:4:2309:4784:2602: 4
SN279:493:C84L3ACXX:4:2309:4831:2616
SN279:493:C84L3ACXX:4:2309:5110:2675: 4
SN279:493:C84L3ACXX:4:2309:4784:2602
SN279:493:C84L3ACXX:4:2309:5205:2692: 4
SN279:493:C84L3ACXX:4:2309:5205:2692
SN279:493:C84L3ACXX:4:2309:5033:2725: 4
SN279:493:C84L3ACXX:4:2309:5237:2750
SN279:493:C84L3ACXX:4:2309:5237:2750: 4
SN279:493:C84L3ACXX:4:2309:5033:2725
SN279:493:C84L3ACXX:4:2309:5270:2523: 4
ID: SN279:493:C84L3ACXX:4:2309:1272:2215
Name: SN279:493:C84L3ACXX:4:2309:1272:2215
Description: SN279:493:C84L3ACXX:4:2309:1272:2215 1:N:0:CAGATC
Number of features: 0
Per letter annotation for: phred_quality
Seq('NGAGGACCGAACCGACTTACGTT', SingleLetterAlphabet())
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-262-737603416198> in <module>()
22 print(record)
23 arr = matches.readline().split('\t')
---> 24 pprint(arr)
25 break
26 seq_id = arr[0]
NameError: name 'pprint' is not defined
%% Cell type:code id: tags:
``` python
# Store current time
after = datetime.datetime.now()
# Difference
delta = after-before
print("Filtering non-codant tRNA run time : {0}".format(delta))
```
%% Cell type:markdown id: tags:
# Map Genome
Invoke bowtie to map entire Cerevisiae genome. Same options as first run.
%% Cell type:code id: tags:
``` python
%%bash
source ./source
bowtie \
-S \
-v 2 \
-p 8 \
--time \
--best \
ref/2-Indexes/SCerevisiae/s_cerevisiae \
5-ncRNA-Removed/$FILENAME.fastq \
6-Genome-Aligned/$FILENAME.sam
```
%% Cell type:markdown id: tags:
## Define Lengths Dictionnary
%% Cell type:code id: tags:
``` python
# Those are Chromosome lengths according to original script
LengthDict = {
'chrI' :230218, 'chrII' :813184, 'chrIII':316620, \
'chrIV' :1531933, 'chrV' :576874, 'chrVI':270161, \
'chrVII' :1090940, 'chrVIII':562643, 'chrIX':439888, \
'chrX' :745751, 'chrXI' :666816, 'chrXII':1078177, \
'chrXIII':924431, 'chrXIV' :784333, 'chrXV':1091291, \
'chrXVI' :948066, 'chrM' :85779 \
}
```
%% Cell type:markdown id: tags:
## Write WIGs
* This an ugly copy/paste of original script.
* Script build huge lists... Bêêêh.
* Definitely need refact with generators.
%% Cell type:code id: tags:
``` python
PlusDict = {}
MinusDict = {}
Count = 0
for IdxC in LengthDict:
PlusDict[IdxC] = [0]*LengthDict[IdxC]
MinusDict[IdxC] = [0]*LengthDict[IdxC]
with open("6-Genome-Aligned/"+fname+".sam","r") as file:
for line in file:
if line[0] != '@':
Split = line.split('\t')
if Split[1] == '16':
MinusDict[Split[2]][int(Split[3])] += 1
Count += 1
elif Split[1] == '0':
PlusDict[Split[2]][int(Split[3])] += 1
Count += 1
else:
pass
```
%% Cell type:markdown id: tags:
# Next step makes the WIGs
* This an ugly copy/paste of original script.
* Same problem
%% Cell type:code id: tags:
``` python
with open("7-WIGs/"+fname+".P.wig","w") as P, \
open("7-WIGs/"+fname+".M.wig","w") as M:
P.write('track name=tracklabel totalCounts=' \
+ str(Count) \
+ ' viewLimits=-5:5 color=79,159,36\n')
M.write('track name=tracklabel totalCounts=' \
+ str(Count) \
+ ' viewLimits=-5:5 color=79,159,36\n')
for IdxC in PlusDict:
P.write('fixedStep chrom=' + IdxC + ' start=1 step=1\n')
M.write('fixedStep chrom=' + IdxC + ' start=1 step=1\n')
for IdxN in range(0, len(PlusDict[IdxC])):
P.write(str(PlusDict[IdxC][IdxN]) + '\n')
M.write(str(MinusDict[IdxC][IdxN]) + '\n')
```
%% Cell type:markdown id: tags:
# WIGs files are now available under 7-WIGs/ directory
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment