VirtualEATING

Andrew Lane, University of California, Berkeley

Overview

CRISPR-EATING is a molecular biology protocol to generate libraries of CRISPR guide RNAs. The use of this this approach to generate a library suitable for chromosomal locus imaging requires ways to avoid regions that will be processed into non-specific guides, which (in part) is what these scripts are designed to achieve.

These scripts contain a set of functions that are assembled into a workflow to:

  • Predict the sgRNA spacers produced when a particualr substrate DNA is subjected to the EATING protocol described in Lane et al., Dev. Cell (2015).
  • Score those peredicted guides for specificity within a genome from which a BLAST database and an implementation of the CRISPR guide scoring algorithm described in Hsu et al (2013).
  • Using the score information, pick out sub-regions within the substrate DNA that will produce clusters of high-specificity guides and design PCR primers to amplify only those regions.

Following the generation of suitable PCR primers from this tool, the "wet" portion of the protocol is as follows:

  1. The output PCR primers (144 pairs in 144 separate reactions in the case of the labled 3MB region) are used to amplify from the substrate DNA.
  2. The resulting products are pooled and subjected to the EATING molecular biology protocol.
  3. When complexed to dCas9-mNeonGreen (or other fluorescent protein), the resulting library can be used to image your desired locus.

Prerequisites

  1. Some experience with Python and the very basics of Biopython and BLAST
  2. A Python installation with biopython, pickle
  3. A BLAST database generated from the genome against which you would like to score your guides and a working BLAST installation. To generate the BLAST database, use a FASTA file containing your genome of interest. For example, LAEVIS_7.1.repeatmasked.fa. Use the following syntax to generate the BLAST DB. (The -parse_seqids flag is critical; the guide scoring algorithm expects a database generated using this flag).
     makeblastdb -in LAEVIS_7.1.repeatmasked.fa -dbtype nucl -parse_seqids -out xl71 -title ‘xl71’
    
    This was tested using makeblastdb version 2.2.29+. Perform a test BLAST query on your database to check that your installation can find it.
  4. The original FASTA file used to make the BLAST database must also be available; this is necessary so that it can be determined whether a guide BLAST database hit is adjacent to a PAM and therefore relevant for score determination. The entire genome is loaded entirely into memory in the current implementation and thus you need a computer with enough RAM (8-16GB) for this. (Future updates may remove this requirement)

References:

Hsu PD, Scott DA, Weinstein JA, Ran FA, Konermann S, Agarwala V, et al. DNA targeting specificity of RNA-guided Cas9 nucleases. Nat Biotechnol. Nature Publishing Group; 2013;31: 827–832. doi:10.1038/nbt.2647

Using this notebook and adapting it for a particular purpose

The basic EATING-related logic is in the eating module (eating.py). This module contains functions (prefixed with "al_") to predict the guides that will be generated from an input DNA sequence and score the guides.

Import modules


In [1]:
import Bio 
from Bio.Blast.Applications import NcbiblastnCommandline
from Bio import SeqIO
from Bio.Blast import NCBIXML
from Bio import Restriction 
from Bio.Restriction import *
from Bio.Alphabet.IUPAC import IUPACAmbiguousDNA
from Bio.Seq import Seq
from Bio.SeqRecord import SeqRecord
import cPickle as pickle
import subprocess
import matplotlib
from eating import *
import multiprocessing as mp
from operator import itemgetter, attrgetter, methodcaller
import numpy

%pylab inline


Populating the interactive namespace from numpy and matplotlib
WARNING: pylab import has clobbered these variables: ['linalg', 'draw_if_interactive', 'random', 'power', 'fft', 'info']
`%matplotlib` prevents importing * from pylab and numpy

Set up input files

1. The FASTA file to be scored


In [2]:
path_to_genomic_data = "../../../MBP 750GB/andypy/Genomic Data/"
file_name = "LAEVIS_7.1.repeatMasked.fa"
genome = "xl71"

In [3]:
fasta_file = SeqIO.parse(str(path_to_genomic_data + file_name), "fasta")

2. The genome against which generated guides are scored

See Prerequisites above for explanation.


In [4]:
xl71genome = SeqIO.parse(open(str(path_to_genomic_data + file_name), 'rb'), "fasta", alphabet=IUPACAmbiguousDNA())
xl71genomedict = {}
for item in xl71genome:
    xl71genomedict[item.id] = item

genomedict = xl71genomedict

In [5]:
len(xl71genomedict)


Out[5]:
410604

Begin custom processing

The FASTA file we've loaded (fasta_file) contains the entire X. laevis genome. The X. laevis genome hasn't yet been definitively assembled into physical chromosomes - instead, it's a large number of contigs or "scaffolds". For the purposes of making a library that labels a single region, we want to work with a big piece that we know is contiguous. So, we find the longest "scaffold".


In [6]:
longest = 0
for item in fasta_file:
    if len(item) > longest:
        longest = len(item)
        longscaffold = [item]

In [7]:
print(longscaffold[0].name + " is the longest scaffold at " "{:,}".format(len(longscaffold[0])) + " bp in length.")


Scaffold102974 is the longest scaffold at 21,560,636 bp in length.

Next, we want to digest this scaffold into guides. This uses the al_diggesttarget function contained in eating.py to produce a generator of scores.


In [8]:
cutslist = al_digesttarget(longscaffold)

In this version of the script, the output from al_digesttarget isn't especially readable, but for reference:

  • Each item is a SeqRecord (see BioPython docs)
  • The Sequence is the guide 20mer, written from 5' to 3'
  • The ID is the cut-fragment of DNA of that an enzyme produces, counting from the left (i.e. the most 5' guide has an id of 1) and the strand that the guide is found on (F or R, where F is forward with respect to the input DNA), starting with all the HpaII cuts, then all the BfaI cuts, then all the ScrFI cuts. Note that the script predicts the results when each digestion is done in a separate tube, rather than when all enzymes are used as a mixture (which would kill some guides where cut sites of two different enzymes are <20 bp apart).
  • The name is the sequence position of the left edge of the guide along the input DNA. For forward-direction guides, this is position of the 5' end of the guide. For reverse, it's position of the 3' end of the guide.
  • The description is the enzyme that generates the guide's cut site.

In this example (the most 5' 1500 bp of the chosen Scaffold), HpaII does not cut. Note that enzyme recognition sites are palindromic and thus recognizes a palindromic sequence containing a PAM on both strands. This results in a guide being generated on both sides of the cut site.


In [9]:
[item for item in al_digesttarget([longscaffold[0][0:1500]])]


Out[9]:
[SeqRecord(seq=Seq('GCGCTGGCCAGAACGTTCTC', SingleLetterAlphabet()), id='1_F', name='788', description='BfaI', dbxrefs=['Scaffold102974']),
 SeqRecord(seq=Seq('AATGTCTTCTCCACGATTCC', SingleLetterAlphabet()), id='2_R', name='810', description='BfaI', dbxrefs=['Scaffold102974']),
 SeqRecord(seq=Seq('TAAAGGAGAAGGAAACCCCC', SingleLetterAlphabet()), id='2_F', name='1444', description='BfaI', dbxrefs=['Scaffold102974']),
 SeqRecord(seq=Seq('AGGGGAGGGATTTTTGTGCC', SingleLetterAlphabet()), id='3_R', name='1465', description='BfaI', dbxrefs=['Scaffold102974']),
 SeqRecord(seq=Seq('GGAGGGACAGCAGCTGGGCC', SingleLetterAlphabet()), id='4_F', name='734', description='ScrFI', dbxrefs=['Scaffold102974']),
 SeqRecord(seq=Seq('ATCTTTCTTGCCCCCCCCCC', SingleLetterAlphabet()), id='5_R', name='754', description='ScrFI', dbxrefs=['Scaffold102974'])]

Next, we'd like to take the 20mers extracted and score them against the entire Xenopus laevis genome. These lines score each guide variable region for specificity using the xl71 BLAST database and the xl71genomedict dict . This takes a couple of days of processing time on a four-core Intel Core i5 with 16 GB RAM, so instead we'll load a pickle of the resulting data object. (Later versions implement a MySQL database to store scores). Uncomment the below cells if you'd like to rebuild the BLAST score DB.

The decompressed pickle is too big for GitHub, so unzip finalpicklescores_done.pkl.zip and place it outside of your sync'd directory.


In [10]:
#def multiscore_pool(x):
#    score = al_scoreguide(x, "xl71", xl71genomedict)
#    return score

In [11]:
#http://sebastianraschka.com/Articles/2014_multiprocessing_intro.html#An-introduction-to-parallel-programming-using-Python's-multiprocessing-module
#pool = mp.Pool(processes=2)
#results = [pool.apply(multiscore_pool, args=(x,)) for x in cutslist]
#pickle.dump(results, open( "finalpicklescores.pkl", "wb" ))
#pool.close()

In [12]:
results = pickle.load(open("../../finalpicklescores_done.pkl", "rb"))

The format of the resulting data is (score, guide).


In [142]:



Out[142]:
<module 'eating' from 'eating.py'>

In [179]:
reload(eating)
from eating import *

In [155]:
import sqlite3

In [138]:
genome = "xl71"

In [139]:
dbname = "xl71"

In [182]:
cur, con = db_connect("xl71")


Creating xl71.db.
Creating tables.

In [97]:
results_as_dict = []

In [98]:
for item in results:
    item[1].annotations["score"] = item[0]
    results_as_dict.append(item[1])

In [105]:
guide = results_as_dict[0]

In [107]:
data = []

In [116]:
cur.execute("SELECT * FROM scores WHERE sequence = '{}' AND genome = '{}' AND version = '{}'".format(guide.seq, genome, version))
        data = cur.fetchall()

In [144]:
data


Out[144]:
[{'genome': u'xl71',
  'id': 11,
  'score': 100.0,
  'sequence': u'GGGATTGGTGCACACGGAGC',
  'version': 0.0}]

In [ ]:
for index, item in enumerate(results_as_dict[0:11000]):
    eating.db_add_guide(cur, con, item, "xl71", 0)
    if str(index)[-3:] == "000":
        print index


1000
2000
3000
4000
5000
6000
7000
8000
9000
10000

In [78]:
len(results_as_dict)


Out[78]:
227520

In [81]:
item


Out[81]:
SeqRecord(seq=Seq('TGCTGATAGGAGCTCCAGCC', SingleLetterAlphabet()), id='1210_R', name='1132966', description='HpaII', dbxrefs=['Scaffold102974'])

The scores in this object are an ordered list, with all HpaII scores first, then all BfaI scores and finally all ScrFI scores. We are interested in the distributioœn of scores along the DNA fragment, irrespective of the enzyme used to generate them. Thus, we want to rearrange the list with all scores from 5' to 3'.


In [93]:
import copy
a = []
for (score, details) in results:
    a.append(int(details.name)) # The guide's name attribute contains its position in bp
resultssorted = zip(results, a)
resultssorted = sorted(resultssorted, key=itemgetter(1), reverse=False)
resultssorted = [item for item, null in resultssorted]

In [125]:
resultssorted[:5]


Out[125]:
[(94,
  SeqRecord(seq=Seq('GGAGGGACAGCAGCTGGGCC', SingleLetterAlphabet()), id='66855_F', name='734', description='ScrFI', dbxrefs=['Scaffold102974'])),
 (64,
  SeqRecord(seq=Seq('ATCTTTCTTGCCCCCCCCCC', SingleLetterAlphabet()), id='66856_R', name='755', description='ScrFI', dbxrefs=['Scaffold102974'])),
 (66,
  SeqRecord(seq=Seq('GCGCTGGCCAGAACGTTCTC', SingleLetterAlphabet()), id='20037_F', name='788', description='BfaI', dbxrefs=['Scaffold102974'])),
 (64,
  SeqRecord(seq=Seq('AATGTCTTCTCCACGATTCC', SingleLetterAlphabet()), id='20038_R', name='810', description='BfaI', dbxrefs=['Scaffold102974'])),
 (2,
  SeqRecord(seq=Seq('TAAAGGAGAAGGAAACCCCC', SingleLetterAlphabet()), id='20038_F', name='1444', description='BfaI', dbxrefs=['Scaffold102974']))]

In [126]:
resultssorted[-5:]


Out[126]:
[(100,
  SeqRecord(seq=Seq('GCACAATATGTTCAAATTGC', SingleLetterAlphabet()), id='66852_R', name='21559690', description='BfaI', dbxrefs=['Scaffold102974'])),
 (100,
  SeqRecord(seq=Seq('GAATTGCAATTTGCGATGTC', SingleLetterAlphabet()), id='66852_F', name='21559782', description='BfaI', dbxrefs=['Scaffold102974'])),
 (0,
  SeqRecord(seq=Seq('TTTGAAATCTGACATGGGGC', SingleLetterAlphabet()), id='66853_R', name='21559804', description='BfaI', dbxrefs=['Scaffold102974'])),
 (100,
  SeqRecord(seq=Seq('CTGTAACTGTCGCATGGATC', SingleLetterAlphabet()), id='66853_F', name='21560446', description='BfaI', dbxrefs=['Scaffold102974'])),
 (100,
  SeqRecord(seq=Seq('GATCCCATTCAGTTTATTTC', SingleLetterAlphabet()), id='66854_R', name='21560467', description='BfaI', dbxrefs=['Scaffold102974']))]

Let's extract the scores and plot their distribution on a histogram.


In [127]:
scores = [score for score, details in resultssorted]

In [128]:
def plot_score_histogram(scores):
    '''
    Input is a list of scores only (as ints)
    '''
    path = '/Library/Fonts/Microsoft/Arial.ttf'
    prop = matplotlib.font_manager.FontProperties(fname=path)
    matplotlib.rcParams['font.family'] = prop.get_name()
    bins = range(0,106,5)
    figure()
    hist(scores, bins, color="gray")
    tick_params(axis=u'both', labelsize=18)
    #savefig('Scaffold score distribution.pdf', format="pdf")

In [129]:
print(bins)


[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105]

In [130]:
plot_score_histogram(scores)


So, there are ~5000 guides that are quite non-specific (score <= 4) and >14,000 guides that have a score of 100 and a further 4000 that score between 95 and 99.

Finding clusters of high-scoring guides

To make a library of useful guides, we'd like to PCR through continuous clusters of the highest-scoring ones. Our oligonucleotide vendor (IDT) has a minimum order of 288 oligos (3x 96-well plates) on a small and relatively inexpensive scale (5 pmol). To work within this limitation, we'd like to pick out 144 possible regions to PCR-amplify.

If we are only willing to accept guides with a score of 100, we'd predict that our 144 PCR products will be short (there are probably few long spans of perfect-scoring guides). However, if we relax our requirement to >=99, we may get longer PCR products and thus more guides in our library. How does this scale at different cutoffs/thresholds?


In [215]:
def find_clusters_by_cutoff(resultssorted, x):
    starts=[]
    ends=[]
    previtemgood = 0
    for index, (score, details) in enumerate(resultssorted):
        if score >= x and previtemgood ==0 and len(details) >= 20: #this avoids guides that are shorter than 20 bp (from where an enzyme cuts twice in close proximity)
            starts.append((index, score, int(details.name)))
            previtemgood = 1
        elif score >= x and previtemgood == 1 and len(details) >=20:
            None
        elif previtemgood == 1:
            previtemgood =0
            ends.append((index-1, resultssorted[index-1][0], int(resultssorted[index-1][1].name)))
    run_positions = zip(starts, ends)
    goodruns_length = sorted([end - start for (start, i, j), (end,l,m) in run_positions], reverse=True)
    return (goodruns_length, run_positions)

In [216]:
threshold = range(0, 105, 5)
probeyield = []
for item in threshold:
    probeyield.append((item, sum(find_clusters_by_cutoff(resultssorted, item)[0][0:143])))

In [217]:
print(probeyield)


[(0, 22490), (5, 9307), (10, 8216), (15, 7902), (20, 7659), (25, 7348), (30, 7125), (35, 6831), (40, 6457), (45, 6323), (50, 5891), (55, 5035), (60, 4791), (65, 4237), (70, 3748), (75, 3577), (80, 3481), (85, 3432), (90, 3256), (95, 2894), (100, 1719)]

In [148]:
%pylab inline
figure()
plot([b for b, c in probeyield], [c for b, c in probeyield], "o")


Populating the interactive namespace from numpy and matplotlib
Out[148]:
[<matplotlib.lines.Line2D at 0x118c3e050>]

Our "yield" of guides descends steadily from a cutoff of >=5 to a cutoff of >=95, then drops from 2894 guides produced at a cutoff of 95 to 1719 at 100. So, a cutoff of >=95 might be a good balance between specificity and yield.


In [205]:
threshold = 95
runs = find_clusters_by_cutoff(resultssorted, threshold)[1]
#(countofguides, (startguidenumberfrom5', startscore, startpositionbp), (endguidenumberfrom5', endscore, endpositionbp))
goodruns = sorted([((i_end - i), (i, s, pos), (i_end, s_end, pos_end)) for (i, s, pos), (i_end, s_end, pos_end) in runs], reverse=True)

We next asked what happens if we concentrate the guides into a smaller region. Does the guide yield scale with the region selected? To test this, we cut the input DNA into sections of 1/7 the ~21MB starting length


In [247]:
probeyield = []
x = 95
fraction = 7.0
overlap = 2.0
region_to_extract = len(resultssorted)/fraction

for i in [float(item)/overlap for item in range(int(overlap*fraction+2.0))]:
    goodruns = find_clusters_by_cutoff(resultssorted[int(region_to_extract*i):int(region_to_extract*(i+1))], x)[0]
    probeyield.append((i, int(region_to_extract*i), sum(goodruns[0:143])))
    if sum(goodruns[0:143]) == 0:
        break

In [248]:
probeyield


Out[248]:
[(0.0, 0, 1948),
 (0.5, 16251, 1977),
 (1.0, 32502, 2070),
 (1.5, 48754, 1939),
 (2.0, 65005, 1781),
 (2.5, 81257, 1948),
 (3.0, 97508, 1980),
 (3.5, 113760, 1836),
 (4.0, 130011, 1966),
 (4.5, 146262, 2004),
 (5.0, 162514, 1985),
 (5.5, 178765, 1980),
 (6.0, 195017, 2113),
 (6.5, 211268, 1923),
 (7.0, 227520, 0.0)]

Looks like the final 1/7 of the scaffold has the densest guide yield.


In [ ]:
#Modify resultssorted to only include the 3.4MB region used. (18121076 to (21505465+786) = 21506251)
resultssorted = [item for item in resultssorted if int(item[1].name) >= 18121076 and int(item[1].name) <= 21506251]
scores = [score for score, details in resultssorted]

In [25]:
probeyield


Out[25]:
[(0.0, 0, 95, 1958),
 (0.5, 16251, 95, 1987),
 (1.0, 32502, 95, 2081),
 (1.5, 48753, 95, 1949),
 (2.0, 65004, 95, 1792),
 (2.5, 81255, 95, 1958),
 (3.0, 97506, 95, 1990),
 (3.5, 113757, 95, 1846),
 (4.0, 130008, 95, 1976),
 (4.5, 146259, 95, 2015),
 (5.0, 162510, 95, 1996),
 (5.5, 178761, 95, 1992),
 (6.0, 195012, 95, 2124),
 (6.5, 211263, 95, 1934),
 (7.0, 227514, 95, 2),
 (7.5, 243765, 95, 0)]

OK, list is set up to contain:

- Positions of 5' and 3' adjacent guides
- Number of guides in amplicons
- Actual guide details

Write out XML file of these amplicons:

Try and alter to better figure out the edge cases of good and bad guides being close to each other and making it hard to prime:


In [28]:
probeyield = []
x =95
one_mb = len(resultssorted)/7
i = 6.0
amplicon_positions = []

scores = [(score, len(details)) for score, details in resultssorted[int(one_mb*i):int(one_mb*(i+1))]]
scores_and_details = resultssorted[int(one_mb*i):int(one_mb*(i+1))]
runs=[]
ends=[]
previtemgood = 0
for index, (item, guide_length) in enumerate(scores):
    if item >= x and previtemgood ==0 and guide_length > 19:
        runs.append(index)
        previtemgood = 1
    elif item >= x and previtemgood == 1 and guide_length > 19:
        None
    elif previtemgood == 1:
        previtemgood =0
        ends.append(index)
runs = zip(runs, ends)
for i in runs:
    start, end = i
    try:
        fiveprimeabuttingguide = scores_and_details[start-1][1]
        threeprimeabuttingguide = scores_and_details[end][1]
    except: 
        fiveprimeabuttingguide = "0"
        threeprimeabuttingguide = "None"
        print "error"
    if end - start > 3:
        amplicon_positions.append(((fiveprimeabuttingguide, threeprimeabuttingguide), end-start, scores_and_details[start:end]))

#goodruns = sorted([length for length, guide_list in amplicon_positions], reverse=True)
goodruns = sorted(amplicon_positions, reverse=True, key=itemgetter(1))# sorts by the number of guides in list

#probeyield.append((i, int(one_mb*i), x, sum([j for i, j, k in goodruns[0:144]])))

In [29]:
len(goodruns)


Out[29]:
257

First, go through the left edge of each amplicon to figure out priming rules depending on what's next to stuff.


In [30]:
for index, item in enumerate(goodruns[49:170]):
    print(str(index))
    print("Before: \t" + item[0][0].id + " " + item[0][0].name) #could take all of this
    print("First good:\t" + item[2][0][1].id + " " + item[2][0][1].name)
    distancebetweenlastbadandfirstgood = int(item[2][0][1].name) - int(item[0][0].name)
    if "F" in item[0][0].id and "R" in item[2][0][1].id:
        print("||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.")
    elif "R" in item[0][0].id and "R" in item[2][0][1].id and distancebetweenlastbadandfirstgood <=20:
        print("||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).")
    elif "R" in item[0][0].id and "F" in item[2][0][1].id and distancebetweenlastbadandfirstgood:
        print("||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.")
    elif "F" in item[0][0].id and "F" in item[2][0][1].id and distancebetweenlastbadandfirstgood < 10:
        print("||||||||||||||||||||||Impossible. Exclude; too close together and in same direction")
    else:
        print("3333333333333333333333333333333333")
    print(str(distancebetweenlastbadandfirstgood) + "\n")


0
Before: 	113387_R 21352790
First good:	113387_F 21353141
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
351

1
Before: 	113632_R 21468108
First good:	113632_F 21468214
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
106

2
Before: 	66748_F 21498447
First good:	66749_R 21498469
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

3
Before: 	65851_F 21040211
First good:	65852_R 21040233
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

4
Before: 	19682_F 21062707
First good:	19683_R 21062729
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

5
Before: 	65945_F 21084932
First good:	65946_R 21084954
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

6
Before: 	112829_F 21099748
First good:	112830_R 21099769
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

7
Before: 	112891_R 21125181
First good:	19733_F 21125245
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
64

8
Before: 	66076_F 21147021
First good:	66077_R 21147043
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

9
Before: 	19755_R 21168593
First good:	112968_F 21168676
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
83

10
Before: 	66196_R 21199854
First good:	113025_F 21200034
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
180

11
Before: 	113158_R 21257685
First good:	113158_F 21257839
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
154

12
Before: 	113460_R 21382859
First good:	66537_F 21383229
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
370

13
Before: 	113581_F 21445540
First good:	66662_R 21445556
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
16

14
Before: 	113608_R 21454528
First good:	66675_F 21454936
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
408

15
Before: 	19966_R 21455757
First good:	19966_F 21455900
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
143

16
Before: 	113616_R 21457637
First good:	113617_R 21457649
||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).
12

17
Before: 	112697_F 21028818
First good:	19661_R 21028839
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

18
Before: 	112727_R 21045835
First good:	19672_R 21045836
||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).
1

19
Before: 	112745_R 21054892
First good:	65885_F 21055282
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
390

20
Before: 	112812_F 21087982
First good:	112813_R 21088003
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

21
Before: 	65991_F 21105377
First good:	65992_R 21105399
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

22
Before: 	66008_F 21114281
First good:	66009_R 21114303
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

23
Before: 	112905_F 21132167
First good:	112906_R 21132188
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

24
Before: 	113019_F 21196444
First good:	113020_R 21196465
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

25
Before: 	113103_R 21239711
First good:	19800_F 21239734
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
23

26
Before: 	66268_F 21241726
First good:	66269_R 21241748
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

27
Before: 	66283_R 21245200
First good:	66283_F 21245261
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
61

28
Before: 	113283_R 21305691
First good:	19859_F 21305850
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
159

29
Before: 	66445_F 21317852
First good:	66446_R 21317874
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

30
Before: 	19895_R 21357170
First good:	19895_F 21357191
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
21

31
Before: 	113422_R 21367274
First good:	19906_F 21367512
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
238

32
Before: 	113452_R 21380365
First good:	66534_F 21380534
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
169

33
Before: 	19918_R 21384906
First good:	113463_F 21385553
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
647

34
Before: 	66603_R 21410722
First good:	66603_F 21410987
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
265

35
Before: 	113551_R 21426505
First good:	113552_R 21426510
||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).
5

36
Before: 	19947_R 21428553
First good:	113556_F 21429925
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
1372

37
Before: 	113599_R 21452049
First good:	113599_F 21452154
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
105

38
Before: 	66713_F 21478641
First good:	66714_R 21478663
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

39
Before: 	65856_R 21044020
First good:	65856_F 21044138
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
118

40
Before: 	65934_R 21080983
First good:	65935_R 21081002
||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).
19

41
Before: 	65937_F 21082004
First good:	65938_R 21082026
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

42
Before: 	19711_R 21096276
First good:	112822_F 21096382
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
106

43
Before: 	65996_R 21108346
First good:	65997_R 21108359
||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).
13

44
Before: 	66186_F 21195535
First good:	66187_R 21195557
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

45
Before: 	113062_R 21217244
First good:	66229_F 21217346
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
102

46
Before: 	113064_R 21218390
First good:	66233_F 21218395
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
5

47
Before: 	113129_F 21248298
First good:	113130_R 21248319
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

48
Before: 	19809_R 21249228
First good:	66291_F 21249251
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
23

49
Before: 	66328_F 21265878
First good:	66329_R 21265900
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

50
Before: 	113180_R 21267053
First good:	66337_R 21267068
||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).
15

51
Before: 	66407_R 21302103
First good:	66407_F 21302517
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
414

52
Before: 	113339_F 21330614
First good:	113340_R 21330635
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

53
Before: 	19880_R 21331313
First good:	66461_F 21331377
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
64

54
Before: 	113358_F 21344437
First good:	113359_R 21344458
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

55
Before: 	66493_R 21360944
First good:	113398_F 21361011
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
67

56
Before: 	66523_R 21372657
First good:	113437_R 21372661
||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).
4

57
Before: 	66589_F 21402610
First good:	66590_R 21402632
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

58
Before: 	66610_F 21413012
First good:	66611_R 21413034
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

59
Before: 	19935_R 21420168
First good:	66621_F 21420489
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
321

60
Before: 	66626_F 21424038
First good:	113542_F 21424051
3333333333333333333333333333333333
13

61
Before: 	113559_R 21432333
First good:	113559_F 21432392
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
59

62
Before: 	66646_R 21440528
First good:	66646_F 21441253
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
725

63
Before: 	19976_R 21462619
First good:	66685_F 21462769
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
150

64
Before: 	66743_F 21494247
First good:	19993_F 21494252
||||||||||||||||||||||Impossible. Exclude; too close together and in same direction
5

65
Before: 	65890_R 21055777
First good:	112748_F 21055821
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
44

66
Before: 	65928_R 21077576
First good:	65928_F 21077581
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
5

67
Before: 	19707_F 21086501
First good:	112811_F 21086502
||||||||||||||||||||||Impossible. Exclude; too close together and in same direction
1

68
Before: 	19717_R 21102306
First good:	65979_F 21102488
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
182

69
Before: 	112838_F 21103061
First good:	112839_R 21103082
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

70
Before: 	112849_R 21109710
First good:	66000_F 21109714
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
4

71
Before: 	19727_F 21119646
First good:	19728_R 21119668
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

72
Before: 	66068_R 21144681
First good:	66068_F 21144800
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
119

73
Before: 	66099_R 21161707
First good:	112953_F 21161747
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
40

74
Before: 	112974_R 21176622
First good:	112974_F 21176809
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
187

75
Before: 	113033_R 21202922
First good:	113033_F 21202968
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
46

76
Before: 	113053_R 21214457
First good:	113053_F 21215540
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
1083

77
Before: 	113056_R 21215936
First good:	113056_F 21216342
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
406

78
Before: 	66300_R 21252435
First good:	66300_F 21252527
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
92

79
Before: 	66309_R 21256883
First good:	66309_F 21257063
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
180

80
Before: 	113163_R 21259396
First good:	113163_F 21259422
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
26

81
Before: 	19822_R 21267323
First good:	66339_R 21267340
||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).
17

82
Before: 	66341_R 21268115
First good:	113184_F 21268128
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
13

83
Before: 	113246_R 21290132
First good:	113247_R 21290138
||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).
6

84
Before: 	19865_F 21314641
First good:	19866_R 21314663
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

85
Before: 	19870_R 21319002
First good:	113316_F 21319063
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
61

86
Before: 	66495_R 21361448
First good:	113399_F 21361544
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
96

87
Before: 	113404_F 21362417
First good:	113405_R 21362438
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

88
Before: 	113419_R 21364561
First good:	66502_R 21364578
||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).
17

89
Before: 	66512_R 21367949
First good:	113425_F 21368185
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
236

90
Before: 	113443_R 21376267
First good:	113443_F 21376327
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
60

91
Before: 	113494_F 21406277
First good:	113495_R 21406298
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

92
Before: 	113566_R 21434593
First good:	113566_F 21434817
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
224

93
Before: 	113573_F 21442123
First good:	66649_R 21442138
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
15

94
Before: 	66674_R 21454123
First good:	66674_F 21454162
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
39

95
Before: 	66699_R 21473172
First good:	113639_F 21473668
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
496

96
Before: 	113680_F 21493822
First good:	113681_R 21493843
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

97
Before: 	113693_R 21502507
First good:	113693_F 21503396
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
889

98
Before: 	65848_R 21037977
First good:	65849_R 21037985
||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).
8

99
Before: 	112760_R 21064580
First good:	19686_R 21064581
||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).
1

100
Before: 	65948_F 21086205
First good:	65949_R 21086227
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

101
Before: 	112843_R 21107833
First good:	112843_F 21108038
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
205

102
Before: 	19731_R 21124348
First good:	112885_R 21124348
||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).
0

103
Before: 	112886_R 21124517
First good:	66025_F 21124545
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
28

104
Before: 	66040_R 21133223
First good:	19740_F 21133318
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
95

105
Before: 	112921_R 21138160
First good:	19745_F 21138427
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
267

106
Before: 	66111_F 21165272
First good:	66112_R 21165294
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

107
Before: 	112978_R 21177779
First good:	19757_F 21178926
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
1147

108
Before: 	113012_F 21192022
First good:	19776_R 21192043
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

109
Before: 	66193_F 21197707
First good:	66194_R 21197729
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

110
Before: 	113036_F 21203305
First good:	113037_R 21203326
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

111
Before: 	66205_F 21203847
First good:	66206_R 21203869
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

112
Before: 	113112_F 21244066
First good:	66280_F 21244072
||||||||||||||||||||||Impossible. Exclude; too close together and in same direction
6

113
Before: 	113116_R 21244602
First good:	113116_F 21244768
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
166

114
Before: 	66287_F 21246601
First good:	66288_R 21246623
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

115
Before: 	113132_F 21250030
First good:	113133_R 21250051
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
21

116
Before: 	66325_F 21264311
First good:	66326_R 21264333
||||||||||||||||||||||OK, handleable; prime ~10 after start of prior bad. But include another ~18 of first good in primeable region.
22

117
Before: 	113197_R 21274860
First good:	66349_F 21275461
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
601

118
Before: 	113202_R 21276630
First good:	66353_F 21277204
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
574

119
Before: 	66357_R 21279493
First good:	113209_F 21279542
||||||||||||||||||||||Prime at window 1nt after start of last bad start, and all the way into 18nt after first good start.
49

120
Before: 	66369_R 21281306
First good:	113220_R 21281317
||||||||||||||||||||||Hard. Prime at window 1nt after start of last bad start, and all the way into 15nt after first good start (to encompass restriction site).
11


In [29]:
item


Out[29]:
((SeqRecord(seq=Seq('TTTAATTCTCAGTCCGGACC', SingleLetterAlphabet()), id='110620_F', name='19959202', description='ScrFI', dbxrefs=['Scaffold102974']),
  SeqRecord(seq=Seq('CGGC', SingleLetterAlphabet()), id='18786_F', name='19959830', description='HpaII', dbxrefs=['Scaffold102974'])),
 12,
 [(100,
   SeqRecord(seq=Seq('TTGTGGCGGGGTTCCAGGTC', SingleLetterAlphabet()), id='18784_R', name='19959218', description='HpaII', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('TCCATTTGTGGCGGGGTTCC', SingleLetterAlphabet()), id='110621_R', name='19959223', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('AATGGGGTCTGAGGTTTGAC', SingleLetterAlphabet()), id='18784_F', name='19959374', description='HpaII', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('ATGGGGTCTGAGGTTTGACC', SingleLetterAlphabet()), id='110621_F', name='19959375', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('GTAATTTGGGACATGAGCCC', SingleLetterAlphabet()), id='18785_R', name='19959396', description='HpaII', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('GTAATTTGGGACATGAGCCC', SingleLetterAlphabet()), id='110622_R', name='19959396', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (99,
   SeqRecord(seq=Seq('GGAATGAATTAAATAGTAGC', SingleLetterAlphabet()), id='63774_F', name='19959450', description='BfaI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('ATGGCCATGTCTTTTGTACC', SingleLetterAlphabet()), id='63775_R', name='19959472', description='BfaI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('TTGTTCATCCACATGTGAAC', SingleLetterAlphabet()), id='63775_F', name='19959571', description='BfaI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('TGATTTTTTCCTGACATCAC', SingleLetterAlphabet()), id='63776_R', name='19959593', description='BfaI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('TCACCAATAGGGGTGTCACC', SingleLetterAlphabet()), id='18785_F', name='19959826', description='HpaII', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('TCACCAATAGGGGTGTCACC', SingleLetterAlphabet()), id='110622_F', name='19959826', description='ScrFI', dbxrefs=['Scaffold102974']))])

Next, go through various scenarios for the right edge: (constraints on priming regions given different configurations of last good and first bad guides)


In [30]:
'''
for index, item in enumerate(goodruns[50:200]):
    print(str(index))
    print("Last good:\t" + item[2][-1][1].id + " " + item[2][-1][1].name)
    print("After:  \t" + item[0][1].id + " " + item[0][1].name) # 
    distancebetweenlastgoodandfirstbad = int(int(item[0][1].name) - int(item[2][-1][1].name))
    if "F" in item[2][-1][1].id and "R" in item[0][1].id:
        print("||||||||||||||||||||||Prime left 10 after start of next bad to ~15 after last good.")
    elif "R" in item[2][-1][1].id and "F" in item[0][1].id:
        print("||||||||||||||||||||||Prime anywhere right of ~2nt after last good to ~19nt after start of first bad")
    elif "R" in item[2][-1][1].id and "R" in item[0][1].id and distancebetweenlastgoodandfirstbad < 20:
        print("||||||||||||||||||||||Prime anywhere right of ~2nt after last good to ~10nt after start of first bad")
    elif "F" in item[2][-1][1].id and "F" in item[0][1].id and distancebetweenlastgoodandfirstbad < 20:
        print("||||||||||||||||||||||Prime anywhere right of ~2nt after last good to ~19nt after start of first bad")
    else:
        print("3333333333333333333333333333333333")
    print(str(distancebetweenlastgoodandfirstbad) + "\n")
'''


Out[30]:
'\nfor index, item in enumerate(goodruns[50:200]):\n    print(str(index))\n    print("Last good:\t" + item[2][-1][1].id + " " + item[2][-1][1].name)\n    print("After:  \t" + item[0][1].id + " " + item[0][1].name) # \n    distancebetweenlastgoodandfirstbad = int(int(item[0][1].name) - int(item[2][-1][1].name))\n    if "F" in item[2][-1][1].id and "R" in item[0][1].id:\n        print("||||||||||||||||||||||Prime left 10 after start of next bad to ~15 after last good.")\n    elif "R" in item[2][-1][1].id and "F" in item[0][1].id:\n        print("||||||||||||||||||||||Prime anywhere right of ~2nt after last good to ~19nt after start of first bad")\n    elif "R" in item[2][-1][1].id and "R" in item[0][1].id and distancebetweenlastgoodandfirstbad < 20:\n        print("||||||||||||||||||||||Prime anywhere right of ~2nt after last good to ~10nt after start of first bad")\n    elif "F" in item[2][-1][1].id and "F" in item[0][1].id and distancebetweenlastgoodandfirstbad < 20:\n        print("||||||||||||||||||||||Prime anywhere right of ~2nt after last good to ~19nt after start of first bad")\n    else:\n        print("3333333333333333333333333333333333")\n    print(str(distancebetweenlastgoodandfirstbad) + "\n")\n'

Summarize priming rules: Left edge: Bad Good Permissible priming distance: permissible_start (from start of prior bad) to required_start (from start of first good) F R 10, 14 R R 1, 14 R F 1, 18 F F 10, 18

Right edge: Good Bad Permissible priming distance: required_end (after start of last good) to permissible_end (after start of next bad) R F 2,19 F R 8,10 R R 2,10 F F 8,19


In [31]:
# Set up the input for primer3:
# Sequence available to PCR:
guide_count = []
amps_in_3MB = []

for index, item in enumerate(goodruns[0:400]):
    left_outside = item[0][0].id[-1]
    left_inside = item[2][0][1].id[-1]
    if left_outside == "F" and left_inside == "R":
        permissible_start = int(item[0][0].name) + 10
        required_start_absolute = int(item[2][0][1].name) +14
    elif left_outside == "R" and left_inside == "R":
        permissible_start = int(item[0][0].name) + 1
        required_start_absolute = int(item[2][0][1].name) +14
    elif left_outside == "R" and left_inside == "F":
        permissible_start = int(item[0][0].name) + 1
        required_start_absolute = int(item[2][0][1].name) +18
    elif left_outside == "F" and left_inside == "F":
        permissible_start = int(item[0][0].name) + 10
        required_start_absolute = int(item[2][0][1].name) +18
    else:
        print("error on left")
    
    right_inside = item[2][-1][1].id[-1]
    right_outside = item[0][1].id[-1]
    if right_outside == "F" and right_inside == "R":
        permissible_end = int(item[0][1].name) + 19 
        required_end_absolute = int(item[2][-1][1].name) + 2
    elif right_outside == "R" and right_inside == "F":
        permissible_end = int(item[0][1].name) + 10
        required_end_absolute = int(item[2][-1][1].name) + 8 
    elif right_outside == "R" and right_inside == "R":
        permissible_end = int(item[0][1].name) + 10
        required_end_absolute = int(item[2][-1][1].name) + 2
    elif right_outside == "F" and right_inside == "F":
        permissible_end = int(item[0][1].name) + 19
        required_end_absolute = int(item[2][-1][1].name) + 8
    else:
        print("error on right")

    amp = longscaffold[0][permissible_start:permissible_end]
    # Bounds that need to be included in PCR product :
    required_start_relative = required_start_absolute-permissible_start
    required_end_relative = required_end_absolute - permissible_start
    amp.dbxrefs=((required_start_relative, required_end_relative))
# Set up some other stuff:
    amp.name =str(item[0][0].name)
    amp.id =str(item[0][0].name)
    amp.description=str(item[1])
    amp.seq.alphabet = IUPACAmbiguousDNA()
    if "NNNNN" in amp.seq: # Exclude if it has runs of Ns
        None
        #print amp.name + " contains ns " + str(item[1])
    else:
        amps_in_3MB.append(amp)
        guide_count.append(item[1])
amps_in_3MB_gen = (i for i in amps_in_3MB)

print sum(guide_count[0:144])


1281

In [32]:
def al_primersearch(current_amp):
    '''
    Returns a dict of primer parameters. 
    '''
    length_of_required_region = current_amp.dbxrefs[1]-current_amp.dbxrefs[0]
    start_of_required_region = current_amp.dbxrefs[0]
    end_of_required_region = current_amp.dbxrefs[1]
    primeableregionleft_start = str(0)
    primeableregionleft_length = str(start_of_required_region)
    primeableregionright_start = str(end_of_required_region)
    primeableregionright_length = str(len(current_amp)-end_of_required_region)
    boulder = open("current_amp.boulder", "w")
    boulder.write("SEQUENCE_ID=" + current_amp.id + "\n")
    boulder.write("SEQUENCE_TEMPLATE=" + str(current_amp.seq) + "\n")
    #boulder.write("SEQUENCE_INCLUDED_REGION=" + "0," + str(len(current_amp.seq)) + "\n")
    #boulder.write("SEQUENCE_TARGET=" + str(current_amp.dbxrefs[0]) + "," + str(current_amp.dbxrefs[1] - current_amp.dbxrefs[0]) + "\n")
    boulder.write("SEQUENCE_PRIMER_PAIR_OK_REGION_LIST=" + primeableregionleft_start + "," + primeableregionleft_length+","\
                  +primeableregionright_start+"," + primeableregionright_length + "\n")
    boulder.write("PRIMER_PRODUCT_SIZE_RANGE=" +str(length_of_required_region) + "-"  + str(len(current_amp)) + "\n")
    boulder.write("PRIMER_PRODUCT_OPT_SIZE=" + str(length_of_required_region) + "\n")
    #boulder.write("P3_FILE_FLAG=1\n")
    boulder.write("=\n")
    boulder.close()
    primer_output = subprocess.check_output(["primer3_core", "current_amp.boulder",\
                              "-p3_settings_file=primer3_global_parameters.txt"])
    primerdict = {}
    for item in primer_output.split("\n")[0:-3]:
        val = item.split("=")[1]
        try:
            val = float(val)
        except: pass
        primerdict[item.split("=")[0]]=val
    return primerdict

In [33]:
def al_screen_primer(primer):
    '''
    Input is a primer as a string.
    '''
    currfile = open("currprimer.fa", "w")
    currfile.write(">" + str(primer) + "\n")
    currfile.write(str(primer))
    currfile.close()
    blastn_cline = NcbiblastnCommandline(query="currprimer.fa", db="xl71", \
    task = "blastn-short",outfmt=5, out="primerblast.tmp", max_target_seqs=100, num_threads = 8)
    blastn_cline
    result = blastn_cline()
    badprimer = 0
    # Parse data
    result_handle = open("primerblast.tmp")
    blast_record = NCBIXML.read(result_handle) # if there were multiple queries, use NCBIXML.parse(result_handle)
    # How many matches are there with more than 14 or matching bases?
    match14 = 0
    for x in blast_record.alignments:
        for y in x.hsps:
            if y.positives > 14:
                match14 = match14 + 1
    match15 = 0
    for x in blast_record.alignments:
        for y in x.hsps:
            if y.positives > 15:
                match15 = match15 + 1
    #print(primer.description)
    #print(match14)   
    #print(match15)
    # Set a cutoff of 
    if match14 > 40:
        badprimer = 1
    elif match15 > 10:
            badprimer = 1
    return badprimer

In [34]:
def al_collect_good_primers(template, primerdict):
    i = 0
    badlist = []
    try:
        while i < primerdict["PRIMER_PAIR_NUM_RETURNED"]:
            bad = 0
            leftprimer = primerdict[str("PRIMER_LEFT_" + str(i) + "_SEQUENCE")]
            leftprimer_start =  str(primerdict[str("PRIMER_LEFT_"+ str(i))].split(",")[0])
            leftprimer_length =  str(primerdict[str("PRIMER_LEFT_"+ str(i))].split(",")[1])
            leftprimer_gc =  str(primerdict[str("PRIMER_LEFT_"+ str(i) + "_GC_PERCENT")])
            leftprimer_tm =  str(primerdict[str("PRIMER_LEFT_"+ str(i) + "_TM")])

            rightprimer = primerdict[str("PRIMER_RIGHT_" + str(i) + "_SEQUENCE")]
            rightprimer_start =  str(primerdict[str("PRIMER_RIGHT_"+ str(i))].split(",")[0])
            rightprimer_length =  str(primerdict[str("PRIMER_RIGHT_"+ str(i))].split(",")[1])
            rightprimer_gc =  str(primerdict[str("PRIMER_RIGHT_"+ str(i) + "_GC_PERCENT")])
            rightprimer_tm =  str(primerdict[str("PRIMER_RIGHT_"+ str(i) + "_TM")])

            product_len = int(rightprimer_start) + int(rightprimer_length) - int(leftprimer_start)
            left_bad = al_screen_primer(leftprimer)
            right_bad = al_screen_primer(rightprimer)
            #print bad
            if left_bad == 0 and right_bad == 0:
                with open("primerlist.txt", "a") as primerlist:
                    primerlist.write("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n" % \
                         (template.name,leftprimer,leftprimer_start,leftprimer_length,leftprimer_tm,leftprimer_gc,\
                         rightprimer,rightprimer_start,rightprimer_length,rightprimer_tm,rightprimer_gc,\
                         len(template.seq),str(product_len),template.description))
                    primerlist.close()
                print("Success!")
                break
            if left_bad ==1:
                print("iteration" + str(i) + "left primer" + leftprimer + "is bad")
            if right_bad == 1:    
                print("iteration" + str(i) + "right primer" + rightprimer + "is bad")
            i = i +1
            if left_bad ==1 and right_bad ==1 and i ==primerdict["PRIMER_PAIR_NUM_RETURNED"]:
                with open("primerlist.txt", "a") as primerlist:
                    primerlist.write("All the primers were bad for this amplicon!\n")
                    primerlist.close()
    except:
        with open("primerlist.txt", "a") as primerlist:
            primerlist.write("Primer3 failed to find any primers for this amplicon! " + primerdict["SEQUENCE_PRIMER_PAIR_OK_REGION_LIST"] + "\n")
            primerlist.close()
        print("Primer3 failed to find any primers for this amplicon! " + primerdict["SEQUENCE_PRIMER_PAIR_OK_REGION_LIST"] + "\n")
        print sys.exc_info()

In [35]:
amps_in_3MB[0]


Out[35]:
SeqRecord(seq=Seq('ttccaagcattctggataacaggtcccatacctgtaattatCTTTTTGATGTAC...GGC', IUPACAmbiguousDNA()), id='21447709', name='21447709', description='32', dbxrefs=(799, 3638))

In [36]:
#with open("primerlist.txt", "w") as primerlist:
    #primerlist.write("Sequence_id\tforward_seq\tforward_start\tforward_length\tforward_tm\tforward_gc\treverse_seq\treverse_start\treverse_length\treverse_tm\treverse_gc\tinput_seq_length\tPCR_product_length\tGuides_Contained\n")
    #primerlist.close()

for item in amps_in_3MB:
    current_amp = item
    primerdict = al_primersearch(current_amp)
    al_collect_good_primers(item, primerdict)


Primer3 failed to find any primers for this amplicon! 0,799,3638,275

(<type 'exceptions.KeyboardInterrupt'>, KeyboardInterrupt(), <traceback object at 0x266ce8cf8>)
Primer3 failed to find any primers for this amplicon! 0,1059,4068,5

(<type 'exceptions.KeyError'>, KeyError('PRIMER_PAIR_NUM_RETURNED',), <traceback object at 0x266cde7a0>)
iteration0right primerACAAGTCCCAGAATCCCAAGis bad
Success!
Primer3 failed to find any primers for this amplicon! 0,25,2606,9

(<type 'exceptions.KeyError'>, KeyError('PRIMER_PAIR_NUM_RETURNED',), <traceback object at 0x266d06488>)
Success!
iteration0left primerGAAACAGATGCAGAGAGAGGis bad
Success!
iteration0right primerCTAACTGCTGACAGCACTGTis bad
Success!
iteration0right primerAATCTGCCCCTAGAAGTCCis bad
iteration0left primerGGCTAGACAGACAGGATTGAis bad
Success!
iteration0right primerTGAAAAGCTTCTAGGACTATis bad
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-36-0eb00506fea4> in <module>()
      5 for item in amps_in_3MB:
      6     current_amp = item
----> 7     primerdict = al_primersearch(current_amp)
      8     al_collect_good_primers(item, primerdict)

<ipython-input-32-f96feb5fd7fe> in al_primersearch(current_amp)
     21     boulder.write("=\n")
     22     boulder.close()
---> 23     primer_output = subprocess.check_output(["primer3_core", "current_amp.boulder",                              "-p3_settings_file=primer3_global_parameters.txt"])
     24     primerdict = {}
     25     for item in primer_output.split("\n")[0:-3]:

/Users/andylane/anaconda/python.app/Contents/lib/python2.7/subprocess.pyc in check_output(*popenargs, **kwargs)
    565         raise ValueError('stdout argument not allowed, it will be overridden.')
    566     process = Popen(stdout=PIPE, *popenargs, **kwargs)
--> 567     output, unused_err = process.communicate()
    568     retcode = process.poll()
    569     if retcode:

/Users/andylane/anaconda/python.app/Contents/lib/python2.7/subprocess.pyc in communicate(self, input)
    789                 self.stdin.close()
    790             elif self.stdout:
--> 791                 stdout = _eintr_retry_call(self.stdout.read)
    792                 self.stdout.close()
    793             elif self.stderr:

/Users/andylane/anaconda/python.app/Contents/lib/python2.7/subprocess.pyc in _eintr_retry_call(func, *args)
    474     while True:
    475         try:
--> 476             return func(*args)
    477         except (OSError, IOError) as e:
    478             if e.errno == errno.EINTR:

KeyboardInterrupt: 

In [37]:
goodruns_dict = {}
for item in goodruns:
    goodruns_dict[int(item[0][0].name)] = item

In [38]:
print(longscaffold[0][19991274:19991274+3230].seq)


GGACCCCTTGCTCGGGTTCCGGTACCAGTGTGTATAGTAACCCAAGGAAGGTTAAGGCAGACCCTGACCCATCCACCTGTTATACTTATAAATATATAATACACAAAAGCCATGAATATCCTGTAAATTATATCCTTATAAACGGTGAGTAGTGATGTCATCAGTTATAAACGGTGAGTAGTGATGTCATTTCTGTCACATGACTTACTAAAATTTGtgtattataataaataaagtacccccagttgtaaaatatgaggatattagaagttacctcggagttccatgacctgtatataaacacTCGGCCTTCGGCCTCATGTTTTATATGGTCATGAAACAGACAATTAAAAACAGCTGCTAATTCATAATATACAAACCAATTTTCTTCTTTTCTACATTTCTGACAGATATTTGATATCTCCTGGGATCCATTTCAGTCAAACAGACTGGTTAGCTGTGGAGTTAAGCACATAAAGGTGCGTTTTTTTCTGTTAAAAACAATTTTAGTATTACCAATTAAACCTGTCCCGGTTTTAATAACTTTATATTCCTCATTGCAGTTACAGAAAGGAAATCTAAATCTACATTAAACGAGTTAAGCCACGTTCCTTAGTATAAATTCTCTTAAGCTTTTGGGGCTGTGATTCTTGCTGGTAGTGATTTGGGAGTTGCTGGTAGAACCTCATACATTTATTACTACACTAAAAACTTGGGAGGCCTTTGTGCCCTCCAAATGTGGCACTGCTGCTCCTGGTATGGTTGAGATATAACAGCAGCTGGAAGACACAATAGCCAGCCCTGGTTTTCTGAAGCAGAACCTTCCAGTGATGAACATGGTTAGCAGATATTTTTCCAATATCCATACTATCATATCTGCTCTTTTTGGCAAAAAAAATCCAAGTTTCCTAACAGAGCAGTTCACATTCATGTCCTTCCTATCATATTTACTCTATATCACTTCTCAATATCCAATCCAGGAAGAACTTACCTGTGAGAGACATGGTGACCAGAACAGGTCATATTGCCTTCTTTTTTATAACTGCTCTCTGTCGTTCACTAATCCAAGCTGAACATATTTGTATGAGACATTGTGATCTGTACAGGTCATGTTGATGTCCTTCCTATCACATGAGCCATTCCAGGCAGACAGTAACTGTGTGAGAATCTGATCACAACAATTCATATTCACACCCTTCCTATCTTATCAGCCCAATATAATTTCCCATCACCCAATCCAAGCATAAGGGGCCAAATCTATTTCCTTTCTATTGATTTTCTCTTTGCATCAGATCCGAAAAATATCTACCAGTGACAATCTTGATCAGCAAGGATAATGTATGCAGTCTTCTCTCATTATCTCAATACTAGTGCCATTACCAGGTCTACAAACCATTACTTAGGCTTTCAACATTCACTGATATGTTCTTCTTTTTCCCATGTGCCATCATTACAGATATCTCCCATACTTACATGATTACGGTGCAGGGGCAATGAAACCAGCCTGATTCTCAGCCTTTGGGTTTTTTTATGTTGTGTGCAGATCTCAATTTAGAGCTTACTGTACATATTTGGGGCAAAGTGATAAACTTCTATACATCTGCTTATGCTTTAGCAGCTCTGTAGCTATACCCACAACAATTACAGCCTCAGGTGCTTTCCTTAGTAGTCTGTGAAAGACAAGATCTTCCTTGAAGGGTATAATGTACTTGTACTTCAGCCAACTATAATCCACTCCAACAGAACGGCAGTCTCACATTGTTCGTTTCTCTATGATCTTGGCAGCAGCTTGCTGGGACAGATACACTTACTGGAACGGACTGTGTGTATGTATACAATGTTTAGTGGGCCTGATCAAATCATTGTACTGTCACATTGGACCATGCTAATACCTTTACCAACAAGGAAGTCCCATACCTTTATTGTACAGAATAAAAATGTTGTTGTTCAAACATTTTTAAGAAAATAGCTTGTTTGTAATATTTAACACCAACAATATTTGTAGAAGATGAACCAAAGCTGCTCTGTTACATTTCTACAGTTCTGGATCTTGTGTGGAAATGCTCTCACTGCTAAAAGGGGAATTTTTGGGAAAACTGGAGATCTGCAAACCATCCTGTGTTTGGCCTGCGCAAAAGATGATGTCACATACTCGGGGGCATTAAATGGTGATATCTATGTATGGAAAGGGCTCACTTTGACACGAACCATTCAAGGAGCTCACAGTGTAAGTACTTGCTCATTTTTTGCCTGTACCATTGTACCATTGATGTGTTAAATAATATCTACAATTACACTGTATGCAGAATTGAATTTTAGAAGATAACCCTTGGTATAAAATGATGAACATAACGAACACTGAAGAATGTTTTTTTCTGAAGTTAATCCAAGCAACACCTGATTATCACAGGCAACATACAGGCTTTACACTTCACTATTGATATCACAGTTGGGGAACACAGGTTGCAATTATATAAATAGGGGAGCACTGAGACCTCATTCCATTTCCAAATGAACCTCACAGTTTTTACACATATGGGGGGCTCTTGAGGCCTTGCTTTCATTCCAAGTGAACTTCACAGTTTGTACGTGTATGGGAGTCACCGAGGCTTCACTGTTTTTCCTAGTAAAAACTAACTAATTCCAAATCAGCCTTACATTTTGTCCATGTATGGGGACCACTGAGGCCTTGCTCTAATTCCAAATACACCTCATTCTTTGTACATGTATGGGGACCACTGAGGCCTCTGTCTATTCCCAAACAAACCTCACAGTTTTCTACATATATGGAGGCTGCTGAGGCCTTGCTCTCATTCCAAATGAACCTTAACTGTTTGTACATGTATGGAGACCACTGAGGCCTTGCTCTACTTCTAAATAAACTTCTTTCTTTGTATATGTATGTGGACCACTGAGGCCTCCCTCTATTTCCAAATGAACCTCACAGTTTGTACATATATGGAGGCTGCTGTGACCTTGTTCTAATTCCAATTGTACATGTAGAGGGATACCGAGACTGCGCTCTAATTCTAAATAAACCCTCCAGTTTGTACGTTTATGGAGACTATTGAGGCCTTCATCACATGGGCATAGGTTATTGAACGCAGAAGGCCTTATTTATCTATTTTTTGCATTTATTGTGCAGACTGTGCTGTACAGCTTCCTTCCCTGAGGGAACTTGAAATAAAATCAAGAGACTCTGATGAAACAGTCCCCGGTGCCAATATTAT

In [39]:
goodruns_dict[19991274]


Out[39]:
((SeqRecord(seq=Seq('TGGACCCCTTGCTCGGGTTC', SingleLetterAlphabet()), id='18823_F', name='19991274', description='HpaII', dbxrefs=['Scaffold102974']),
  SeqRecord(seq=Seq('GTCATTATAATATTGGCACC', SingleLetterAlphabet()), id='110693_R', name='19994491', description='ScrFI', dbxrefs=['Scaffold102974'])),
 23,
 [(99,
   SeqRecord(seq=Seq('GTTACTATACACACTGGTAC', SingleLetterAlphabet()), id='18824_R', name='19991296', description='HpaII', dbxrefs=['Scaffold102974'])),
  (95,
   SeqRecord(seq=Seq('GACAGATATTTGATATCTCC', SingleLetterAlphabet()), id='110685_F', name='19991680', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('GTTTGACTGAAATGGATCCC', SingleLetterAlphabet()), id='110686_R', name='19991701', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('ATTACCAATTAAACCTGTCC', SingleLetterAlphabet()), id='18824_F', name='19991786', description='HpaII', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('ATTACCAATTAAACCTGTCC', SingleLetterAlphabet()), id='110686_F', name='19991786', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('AATATAAAGTTATTAAAACC', SingleLetterAlphabet()), id='110687_R', name='19991807', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (95,
   SeqRecord(seq=Seq('GAATATAAAGTTATTAAAAC', SingleLetterAlphabet()), id='18825_R', name='19991808', description='HpaII', dbxrefs=['Scaffold102974'])),
  (97,
   SeqRecord(seq=Seq('AAATGTGGCACTGCTGCTCC', SingleLetterAlphabet()), id='110687_F', name='19992009', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('TGTTATATCTCAACCATACC', SingleLetterAlphabet()), id='110688_R', name='19992030', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('GAAGACACAATAGCCAGCCC', SingleLetterAlphabet()), id='110688_F', name='19992057', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('AGGTTCTGCTTCAGAAAACC', SingleLetterAlphabet()), id='110689_R', name='19992078', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('CACTTCTCAATATCCAATCC', SingleLetterAlphabet()), id='110689_F', name='19992233', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('TCTCACAGGTAAGTTCTTCC', SingleLetterAlphabet()), id='110690_R', name='19992254', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (98,
   SeqRecord(seq=Seq('CCTATCACATGAGCCATTCC', SingleLetterAlphabet()), id='110690_F', name='19992398', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('TCACACAGTTACTGTCTGCC', SingleLetterAlphabet()), id='110691_R', name='19992419', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (99,
   SeqRecord(seq=Seq('TTCTCTCATTATCTCAATAC', SingleLetterAlphabet()), id='63828_F', name='19992623', description='BfaI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('TCAATACTAGTGCCATTACC', SingleLetterAlphabet()), id='110691_F', name='19992636', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (95,
   SeqRecord(seq=Seq('TGTAGACCTGGTAATGGCAC', SingleLetterAlphabet()), id='63829_R', name='19992645', description='BfaI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('TAAGTAATGGTTTGTAGACC', SingleLetterAlphabet()), id='110692_R', name='19992657', description='ScrFI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('CGAGGCTTCACTGTTTTTCC', SingleLetterAlphabet()), id='63829_F', name='19993879', description='BfaI', dbxrefs=['Scaffold102974'])),
  (99,
   SeqRecord(seq=Seq('TGGAATTAGTTAGTTTTTAC', SingleLetterAlphabet()), id='63830_R', name='19993901', description='BfaI', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('GACTCTGATGAAACAGTCCC', SingleLetterAlphabet()), id='18825_F', name='19994470', description='HpaII', dbxrefs=['Scaffold102974'])),
  (100,
   SeqRecord(seq=Seq('GACTCTGATGAAACAGTCCC', SingleLetterAlphabet()), id='110692_F', name='19994470', description='ScrFI', dbxrefs=['Scaffold102974']))])

Next up: look at the guides generated from the selected amplicons and rank non-target scaffolds for recognition.


In [40]:
amps_in_3MB[:2]


Out[40]:
[SeqRecord(seq=Seq('ttccaagcattctggataacaggtcccatacctgtaattatCTTTTTGATGTAC...GGC', IUPACAmbiguousDNA()), id='21447709', name='21447709', description='32', dbxrefs=(799, 3638)),
 SeqRecord(seq=Seq('GTCCAACGATCGGATCCTTCACGTTCGCAAACGGGCGGTCGGATCGCGGGACCG...CCG', IUPACAmbiguousDNA()), id='20177951', name='20177951', description='26', dbxrefs=(1059, 4068))]

In [41]:
for item in amps_in_3MB:
    item.id = str(item.id)

In [42]:
len(amps_in_3MB)


Out[42]:
356

In [43]:
from random import random

In [37]:
pooled_PCR_guides = al_digesttarget(amps_in_3MB)
pooled_PCR_guides = [item for item in pooled_PCR_guides]

In [159]:
SeqIO.write(pooled_PCR_guides, "pooled_PCR_guides.fasta", "fasta")


Out[159]:
4732

In [45]:
print len(pooled_PCR_guides)


4732

In [32]:
#Now that we have the individual guides in the amps used, pick out which real PCR products we made:
## Make a list of amplicon starts and lengths:
import pandas as pd

In [33]:
pcr_starts = pd.read_table("used_pcrs.csv", header = None)
pcr_starts.columns = ["amplicon", "start", "length"]

In [44]:
pcr_starts


Out[44]:
amplicon start length
0 19100468 1011 4088
1 21447709 137 3594
2 19991274 4 3230
3 18505915 28 2905
4 18663621 193 2660
5 21065410 302 2638
6 18909500 172 2612
7 19947076 109 2600
8 21221279 107 2450
9 20078715 40 2444
10 18963570 252 2442
11 20598378 0 2399
12 20331335 7 2336
13 20470442 11 2334
14 21297377 136 2298
15 21206262 147 2143
16 18974210 230 2105
17 19807524 45 2069
18 19667884 25 2040
19 20052309 120 1992
20 19375345 53 1952
21 19045147 5 1947
22 18501608 629 1934
23 21417928 3 1886
24 19717872 7 1838
25 18926646 202 1825
26 20915086 144 1818
27 21307202 6 1814
28 18622362 127 1813
29 20251445 41 1772
... ... ... ...
114 21001588 1 804
115 21505465 3 786
116 20652115 98 779
117 18355668 2 769
118 18142271 72 765
119 20400996 101 763
120 20910919 53 760
121 18917993 419 749
122 20032102 5 747
123 20644574 1 712
124 19607163 2 697
125 18841592 111 625
126 18377849 73 613
127 19876043 56 608
128 20456451 3 602
129 20570574 136 588
130 20097467 69 579
131 18121076 6 575
132 18563840 272 573
133 20622480 8 561
134 18398201 58 547
135 20104280 156 538
136 20503070 4 530
137 19789340 6 486
138 19472457 5 477
139 18818946 7 476
140 19915825 119 409
141 19834738 26 389
142 18609457 8 374
143 20121562 2 316

144 rows × 3 columns


In [34]:
bounds = []

for row in [item for item in pcr_starts.itertuples()]:
    bounds.append((row[0]+1, row[1] + row[2], row[1]+row[2]+row[3]))

In [43]:
bounds


Out[43]:
[(1, 19101479, 19105567),
 (2, 21447846, 21451440),
 (3, 19991278, 19994508),
 (4, 18505943, 18508848),
 (5, 18663814, 18666474),
 (6, 21065712, 21068350),
 (7, 18909672, 18912284),
 (8, 19947185, 19949785),
 (9, 21221386, 21223836),
 (10, 20078755, 20081199),
 (11, 18963822, 18966264),
 (12, 20598378, 20600777),
 (13, 20331342, 20333678),
 (14, 20470453, 20472787),
 (15, 21297513, 21299811),
 (16, 21206409, 21208552),
 (17, 18974440, 18976545),
 (18, 19807569, 19809638),
 (19, 19667909, 19669949),
 (20, 20052429, 20054421),
 (21, 19375398, 19377350),
 (22, 19045152, 19047099),
 (23, 18502237, 18504171),
 (24, 21417931, 21419817),
 (25, 19717879, 19719717),
 (26, 18926848, 18928673),
 (27, 20915230, 20917048),
 (28, 21307208, 21309022),
 (29, 18622489, 18624302),
 (30, 20251486, 20253258),
 (31, 20306932, 20308691),
 (32, 20490932, 20492688),
 (33, 18586568, 18588320),
 (34, 20368447, 20370178),
 (35, 19343533, 19345258),
 (36, 20033970, 20035638),
 (37, 20049275, 20050941),
 (38, 19868916, 19870581),
 (39, 21399268, 21400931),
 (40, 20468493, 20470147),
 (41, 18588328, 18589973),
 (42, 18421455, 18423050),
 (43, 21112712, 21114301),
 (44, 21193936, 21195519),
 (45, 18398813, 18400381),
 (46, 19295801, 19297367),
 (47, 20261990, 20263544),
 (48, 19351824, 19353369),
 (49, 20613525, 20615065),
 (50, 21179638, 21181166),
 (51, 20476172, 20477693),
 (52, 18243275, 18244792),
 (53, 20069019, 20070528),
 (54, 19804962, 19806446),
 (55, 20242553, 20244019),
 (56, 20279195, 20280661),
 (57, 20244400, 20245844),
 (58, 21468170, 21469579),
 (59, 18289217, 18290617),
 (60, 19665937, 19667336),
 (61, 18320876, 18322271),
 (62, 19347984, 19349373),
 (63, 20216350, 20217723),
 (64, 21116379, 21117742),
 (65, 19763366, 19764728),
 (66, 19098932, 19100293),
 (67, 21163723, 21165081),
 (68, 20321065, 20322420),
 (69, 18677463, 18678785),
 (70, 20444132, 20445452),
 (71, 19622417, 19623728),
 (72, 20578441, 20579750),
 (73, 19588866, 19590171),
 (74, 20333651, 20334953),
 (75, 18432216, 18433510),
 (76, 20879041, 20880330),
 (77, 20192768, 20194026),
 (78, 20648184, 20649430),
 (79, 18493381, 18494625),
 (80, 19885025, 19886260),
 (81, 20457175, 20458410),
 (82, 19092049, 19093278),
 (83, 19095805, 19097034),
 (84, 20393381, 20394576),
 (85, 18429419, 18430599),
 (86, 20287551, 20288705),
 (87, 19707501, 19708641),
 (88, 19465338, 19466473),
 (89, 19131518, 19132624),
 (90, 19227854, 19228941),
 (91, 18205596, 18206680),
 (92, 20646730, 20647795),
 (93, 19222150, 19223208),
 (94, 19996511, 19997534),
 (95, 19429852, 19430850),
 (96, 20479851, 20480848),
 (97, 21315011, 21316003),
 (98, 18575580, 18576565),
 (99, 18556031, 18557011),
 (100, 18684280, 18685260),
 (101, 19612855, 19613834),
 (102, 19847608, 19848581),
 (103, 20382292, 20383247),
 (104, 19881722, 19882673),
 (105, 19441686, 19442629),
 (106, 19886877, 19887816),
 (107, 18887082, 18888013),
 (108, 18136707, 18137636),
 (109, 20397653, 20398544),
 (110, 21076304, 21077190),
 (111, 20827964, 20828839),
 (112, 21190066, 21190933),
 (113, 18402119, 18402969),
 (114, 19188814, 19189655),
 (115, 21001589, 21002393),
 (116, 21505468, 21506254),
 (117, 20652213, 20652992),
 (118, 18355670, 18356439),
 (119, 18142343, 18143108),
 (120, 20401097, 20401860),
 (121, 20910972, 20911732),
 (122, 18918412, 18919161),
 (123, 20032107, 20032854),
 (124, 20644575, 20645287),
 (125, 19607165, 19607862),
 (126, 18841703, 18842328),
 (127, 18377922, 18378535),
 (128, 19876099, 19876707),
 (129, 20456454, 20457056),
 (130, 20570710, 20571298),
 (131, 20097536, 20098115),
 (132, 18121082, 18121657),
 (133, 18564112, 18564685),
 (134, 20622488, 20623049),
 (135, 18398259, 18398806),
 (136, 20104436, 20104974),
 (137, 20503074, 20503604),
 (138, 19789346, 19789832),
 (139, 19472462, 19472939),
 (140, 18818953, 18819429),
 (141, 19915944, 19916353),
 (142, 19834764, 19835153),
 (143, 18609465, 18609839),
 (144, 20121564, 20121880)]

In [45]:
pickle.dump(bounds, open("boundaries of 144 pcrs used in 3mb region within scaffold102974.pkl", "wb"))

In [35]:
print min([item[1] for item in bounds])
max([item[2] for item in bounds])


18121082
Out[35]:
21506254

In [38]:
guides_used = []
for item in pooled_PCR_guides:
    for boundary in bounds:
        scaffold_position = int(item.name) + int(item.dbxrefs[0])
        if scaffold_position >= boundary[1] and scaffold_position <= boundary[2]:
            guides_used.append(item)

In [39]:
len(guides_used)


Out[39]:
260

In [110]:
%run "../Sequence Analysis/al_funcs.ipynb"

In [111]:
allscores = []
for guide in guides_used:
    oneguide = al_scoreguide_density(guide, "xl71", xl71genomedict)
    allscores.append(oneguide)

In [136]:
for item allscores[2][2][1][1][1]


Out[136]:
u'Scaffold102974'

In [158]:
for item in allscores[0:10000]:
    for subitem in item:
        try:
            if subitem[2][1][1] == 'Scaffold27036':
                print(subitem[2][1])
        except: None


((0, 0, 0), u'Scaffold27036', 5877054, u'GGGAAGATATCCTTCC')
((0, 0, 0), u'Scaffold27036', 3472975, u'CTGAATTAAGGACTGA')
((0, 0, 0), u'Scaffold27036', 6934353, u'ATTAACTTGCCCATTTCC')
((0, 0, 0), u'Scaffold27036', 8092325, u'TGTACAAACGATGACT')
((0, 0, 0), u'Scaffold27036', 6466128, u'TCATTGGTTCTTCATGA')
((0, 0, 0), u'Scaffold27036', 5333017, u'GGGGGCATCCTTTACTGGCC')
((0.025745579999999994, 0.20879120879120883, 0.1111111111111111), u'Scaffold27036', 5744261, u'TCTTTGTATATTGGTTT')
((0.986, 0.20879120879120883, 0.1111111111111111), u'Scaffold27036', 5512553, u'AGCCAATAGGAAAGGAC')
((0, 0, 0), u'Scaffold27036', 2408054, u'GTATCATATTGATT')
((0.009912048299999998, 0.20879120879120883, 0.0625), u'Scaffold27036', 7839221, u'TTGGGTTTGCCTCAAA')
((0.131355, 0.20879120879120883, 0.25), u'Scaffold27036', 6768011, u'AGGAGATCCATCAGTTCA')
((0, 0, 0), u'Scaffold27036', 6963650, u'CACCAGGTTGGTAACAT')

In [153]:
subitem[2][1][1]


Out[153]:
u'Scaffold79772'

In [113]:
scaffold_hit_dict = {}
scaffold_hit_dict_t1 = {}
for item in allscores:
    for hit in item[2]:
        #print hit
        try:
            scaffold_hit_dict[hit[1][1]] = scaffold_hit_dict[hit[1][1]] + hit[0]
            scaffold_hit_dict_t1[hit[1][1]] = scaffold_hit_dict_t1[hit[1][1]] + hit[1][0]
        except: 
            scaffold_hit_dict[hit[1][1]] = hit[0]
            scaffold_hit_dict_t1[hit[1][1]] = hit[1][0]

In [118]:
sorted_scores = sorted(scaffold_hit_dict.items(), key=itemgetter(1), reverse=True)
len(sorted_scores)


Out[118]:
7667

In [126]:
sorted_scores[1]


Out[126]:
(u'Scaffold58878', 215.3465109631277)

In [ ]:
sorted_scores_t1 = sorted(scaffold_hit_dict_t1.items(), key=lambda (k,v): operator.itemgetter(1)(k), reverse=True)
sorted_scores_t1

In [271]:
#pickle.dump(sorted_scores, open("used_guides_scores.pkl", "wb" ))

In [300]:
out = xl71genomedict['Scaffold58878']

In [301]:
out.id = "0"

In [302]:
out


Out[302]:
SeqRecord(seq=Seq('GGACTTATTAACACTGGCTGAATCTGTGCAGGTCATTAGTCTGTATGTGATCAC...GTC', IUPACAmbiguousDNA()), id='0', name='Scaffold58878', description='Scaffold58878', dbxrefs=[])

In [303]:
SeqIO.write(out, "Scaffold58878.fasta", "fasta")


Out[303]:
1

In [256]:
for item in scaffold_hit_dict.items()[0:4]:
    print item
    print len(xl71genomedict[str(item[0])])


(u'Scaffold241420', 0.0)
40437
(u'Scaffold79548', 0.0)
5877
(u'Scaffold30080', 0.0)
2997562
(u'Scaffold184431', 0.0)
189

In [311]:
SeqIO.write(xl71genomedict["Scaffold102974"][18121082:18221082], "Scaffold102974subset.fasta", "fasta")


Out[311]:
1

In [47]:
# write some in silico pcr to predict how much of scaffold 27036 will be amplified with primers used
filename = "primer.fasta"

In [ ]:


In [ ]:


In [238]:
primers = pd.read_table("20141112-primerlist.csv")
primers = list(primers.itertuples())

In [ ]:


In [244]:
def blast_primer(item):
    p = []
    pF = p.append(SeqRecord(seq = Seq(item[2], IUPACAmbiguousDNA()), id=str(str(item[1]) + "F"), name = "", description = ""))
    pR = p.append(SeqRecord(seq = Seq(item[3], IUPACAmbiguousDNA()), id=str(str(item[1]) + "R"), name = "", description = ""))
    SeqIO.write(p, "primer.fasta", "fasta")
    
    blastn_cline = NcbiblastnCommandline(query=filename, db="xl71", \
    task = "blastn-short",outfmt=5, out=filename + ".blast", max_target_seqs=100, num_threads = 7, evalue = 100)
    #timeit.timeit(blastn_cline, number =1)
    blastn_cline()
    result_handle = open(filename + ".blast")
    hits = NCBIXML.parse(result_handle)
    hits = [item for item in hits]
    return hits

In [258]:
def parse_primer_hits(hits):
    priming_dict = {}
    for item in hits:
        for align in item.alignments:
            for spot in align.hsps:
                if spot.positives >12: # Could actually calculate Tm here
                    try:
                        priming_dict[align.title].append((spot.sbjct_start, spot.sbjct_end, item.query))
                    except:
                        priming_dict[align.title] = [(spot.sbjct_start, spot.sbjct_end, item.query)]
    return(priming_dict)

In [ ]:
'''
In silico PCR strategy: 

Given a list of scaffolds and places that either of a pair of primers bind:
- Find where two primers bind within e.g. 10kb of each other
- For those pairs, ask if they're in the opposite orientation
- If they are, log this to a result with the location and length of the PCR product

For future:

In [266]:
def screen_hits(priming_dict):
    viableproducts = []
    for item in priming_dict.iteritems():
        #Get the intervals between binding sites on a scaffold
        if len(item[1]) > 1:
            k = sorted([j[0] for j in item[1:][0]], reverse = True)
            interval = []
            for index,n in list(enumerate(k))[:-1]:
                interval.append(k[index] - k[index+1])
            # Next, check if primers are binding in opposed orientations:
            # Pick out which sites are close together; test if they're going in the same direction 
            k = list(enumerate(sorted([j for j in item[1:][0]], reverse = True)))
            for index, n in enumerate(interval): # Goes through intervals, picks out primers generating that interval
                if n < 12000:
                    orientation1 = k[index][1][0] - k[index][1][1] # First primer has same index as interval list position
                    orientation2 = k[index+1][1][0] - k[index+1][1][1] # Second primer has index+1 of interval list position
                    # Test for the sign (=direction) of the start/end subtraction for primer, if it's the same for both there's no pcr product.
                    samesign = all(item >= 0 for item in (orientation1, orientation2)) or all(item < 0 for item in (orientation1, orientation2))
                    #print "\n"
                    #if samesign == True:
                        #print item
                        #print n
                        #print "No PCR product"
                    if samesign == False:
                        #print item[0]
                        #print n
                        #print "Yes PCR product"
                        print item[0]
                        if item[0][0] != "gnl|BL_ORD_ID|3307 Scaffold102974":
                            viableproducts.append((item, n))
    return viableproducts

In [266]:


In [268]:
all_viable = []
for item in primers:
    hits = blast_primer(item)
    priming_dict = parse_primer_hits(hits)
    viableproducts = screen_hits(priming_dict)
    all_viable.append(viableproducts)


gnl|BL_ORD_ID|380395 Scaffold7281
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|395384 Scaffold8630
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|61157 Scaffold155039
gnl|BL_ORD_ID|272258 Scaffold34503
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|152888 Scaffold237598
gnl|BL_ORD_ID|350688 Scaffold46073
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|295401 Scaffold36586
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|347543 Scaffold43242
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|348933 Scaffold44494
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|410538 Scaffold9994
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|35396 Scaffold131854
gnl|BL_ORD_ID|378678 Scaffold71264
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|157884 Scaffold242093
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|410538 Scaffold9994
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|404389 Scaffold94404
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|271369 Scaffold34423
gnl|BL_ORD_ID|82602 Scaffold17434
gnl|BL_ORD_ID|66714 Scaffold16004
gnl|BL_ORD_ID|66714 Scaffold16004
gnl|BL_ORD_ID|66714 Scaffold16004
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|396181 Scaffold87017
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|380395 Scaffold7281
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|333333 Scaffold4
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|347543 Scaffold43242
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|139632 Scaffold225667
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|336387 Scaffold402746
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|280571 Scaffold352511
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|39147 Scaffold13523
gnl|BL_ORD_ID|375883 Scaffold6875
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|403291 Scaffold93416
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|55435 Scaffold149890
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|22448 Scaffold12020
gnl|BL_ORD_ID|407012 Scaffold96766
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|363184 Scaffold5732
gnl|BL_ORD_ID|350688 Scaffold46073
gnl|BL_ORD_ID|18668 Scaffold1168
gnl|BL_ORD_ID|246803 Scaffold32212
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|226714 Scaffold30404
gnl|BL_ORD_ID|404389 Scaffold94404
gnl|BL_ORD_ID|358039 Scaffold5269
gnl|BL_ORD_ID|345153 Scaffold41091
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|408898 Scaffold98463
gnl|BL_ORD_ID|388972 Scaffold80529
gnl|BL_ORD_ID|11867 Scaffold110678
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|361857 Scaffold56125
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|376654 Scaffold69443
gnl|BL_ORD_ID|380395 Scaffold7281
gnl|BL_ORD_ID|382109 Scaffold74352
gnl|BL_ORD_ID|146143 Scaffold231526
gnl|BL_ORD_ID|366738 Scaffold60518
gnl|BL_ORD_ID|368097 Scaffold61741
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|390721 Scaffold82102
gnl|BL_ORD_ID|367412 Scaffold61124
gnl|BL_ORD_ID|386549 Scaffold78349
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|347507 Scaffold4321
gnl|BL_ORD_ID|347507 Scaffold4321
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|96111 Scaffold186499
gnl|BL_ORD_ID|96957 Scaffold18726
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|272926 Scaffold345631
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|408652 Scaffold98241
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|376171 Scaffold69008
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|410538 Scaffold9994
gnl|BL_ORD_ID|5565 Scaffold105005
gnl|BL_ORD_ID|5565 Scaffold105005
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|292935 Scaffold36364
gnl|BL_ORD_ID|137947 Scaffold22415
gnl|BL_ORD_ID|134456 Scaffold221007
gnl|BL_ORD_ID|330257 Scaffold39723
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|88198 Scaffold179377
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|406893 Scaffold96659
gnl|BL_ORD_ID|365060 Scaffold59008
gnl|BL_ORD_ID|365060 Scaffold59008
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|66714 Scaffold16004
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|89387 Scaffold180446
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|403756 Scaffold93835
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|410538 Scaffold9994
gnl|BL_ORD_ID|73741 Scaffold166365
gnl|BL_ORD_ID|352310 Scaffold47533
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|189291 Scaffold27036
gnl|BL_ORD_ID|358054 Scaffold52702
gnl|BL_ORD_ID|150279 Scaffold235249
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|399576 Scaffold90072
gnl|BL_ORD_ID|113512 Scaffold202158
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|330335 Scaffold39730
gnl|BL_ORD_ID|222184 Scaffold299965
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|61786 Scaffold155605
gnl|BL_ORD_ID|193900 Scaffold274508
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|367898 Scaffold61562
gnl|BL_ORD_ID|97219 Scaffold187496
gnl|BL_ORD_ID|25236 Scaffold12271
gnl|BL_ORD_ID|97914 Scaffold188120
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|367412 Scaffold61124
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|347507 Scaffold4321
gnl|BL_ORD_ID|197351 Scaffold277614
gnl|BL_ORD_ID|372717 Scaffold6590
gnl|BL_ORD_ID|128925 Scaffold21603
gnl|BL_ORD_ID|373356 Scaffold66475
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|355139 Scaffold50079
gnl|BL_ORD_ID|90935 Scaffold18184
gnl|BL_ORD_ID|50635 Scaffold14557
gnl|BL_ORD_ID|235225 Scaffold31170
gnl|BL_ORD_ID|363982 Scaffold58038
gnl|BL_ORD_ID|147792 Scaffold23301
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|118236 Scaffold20641
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|126336 Scaffold21370
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|357665 Scaffold52352
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|189291 Scaffold27036
gnl|BL_ORD_ID|355139 Scaffold50079
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|148925 Scaffold23403
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|362956 Scaffold57114
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|383270 Scaffold75398
gnl|BL_ORD_ID|97026 Scaffold187321
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|271369 Scaffold34423
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|383292 Scaffold75417
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|409869 Scaffold99337
gnl|BL_ORD_ID|389817 Scaffold8129
gnl|BL_ORD_ID|146280 Scaffold23165
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|410538 Scaffold9994
gnl|BL_ORD_ID|271867 Scaffold344679
gnl|BL_ORD_ID|304979 Scaffold37448
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|37412 Scaffold133669
gnl|BL_ORD_ID|110945 Scaffold19985
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|395384 Scaffold8630
gnl|BL_ORD_ID|357584 Scaffold5228
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|112031 Scaffold200825
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|287334 Scaffold3586
gnl|BL_ORD_ID|335193 Scaffold401671
gnl|BL_ORD_ID|171813 Scaffold25463
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|189291 Scaffold27036
gnl|BL_ORD_ID|137947 Scaffold22415
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|387117 Scaffold78860
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|348359 Scaffold43978
gnl|BL_ORD_ID|406851 Scaffold96620
gnl|BL_ORD_ID|357910 Scaffold52573
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|379461 Scaffold7197
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|32591 Scaffold12933
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|198790 Scaffold27891
gnl|BL_ORD_ID|396541 Scaffold87341
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|63164 Scaffold156846
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|3307 Scaffold102974
gnl|BL_ORD_ID|189291 Scaffold27036
gnl|BL_ORD_ID|348152 Scaffold43791
gnl|BL_ORD_ID|3307 Scaffold102974

In [269]:
all_viable


Out[269]:
[[((u'gnl|BL_ORD_ID|380395 Scaffold7281',
    [(2497208, 2497220, u'19100468F'),
     (2487820, 2487807, u'19100468R'),
     (16707, 16719, u'19100468R'),
     (3661714, 3661702, u'19100468R')]),
   9388),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19101481, 19101498, u'19100468F'),
     (5217878, 5217862, u'19100468F'),
     (19221175, 19221163, u'19100468F'),
     (19105551, 19105534, u'19100468R'),
     (18431578, 18431565, u'19100468R'),
     (1523090, 1523102, u'19100468R'),
     (6933636, 6933648, u'19100468R'),
     (9120272, 9120260, u'19100468R'),
     (10536542, 10536554, u'19100468R'),
     (11262148, 11262136, u'19100468R'),
     (12815340, 12815352, u'19100468R'),
     (17676132, 17676144, u'19100468R'),
     (20635274, 20635286, u'19100468R'),
     (21188255, 21188243, u'19100468R')]),
   4070),
  ((u'gnl|BL_ORD_ID|395384 Scaffold8630',
    [(318929, 318916, u'19100468R'),
     (4157550, 4157563, u'19100468R'),
     (4153897, 4153885, u'19100468R')]),
   3653)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21447848, 21447865, u'21447709F'),
     (4182729, 4182741, u'21447709F'),
     (7278357, 7278369, u'21447709F'),
     (21451424, 21451407, u'21447709R'),
     (4293182, 4293169, u'21447709R'),
     (2746793, 2746805, u'21447709R'),
     (2838846, 2838834, u'21447709R'),
     (3707141, 3707153, u'21447709R'),
     (4395833, 4395821, u'21447709R'),
     (4462882, 4462894, u'21447709R'),
     (7598201, 7598189, u'21447709R'),
     (13125759, 13125747, u'21447709R'),
     (13538230, 13538218, u'21447709R'),
     (17208930, 17208942, u'21447709R'),
     (19211855, 19211843, u'21447709R')]),
   3576),
  ((u'gnl|BL_ORD_ID|61157 Scaffold155039',
    [(2227315, 2227329, u'21447709R'),
     (3629363, 3629376, u'21447709R'),
     (3629586, 3629573, u'21447709R'),
     (1504276, 1504264, u'21447709R')]),
   223),
  ((u'gnl|BL_ORD_ID|272258 Scaffold34503',
    [(3765909, 3765922, u'21447709R'),
     (1442498, 1442486, u'21447709R'),
     (2104167, 2104179, u'21447709R'),
     (2104249, 2104237, u'21447709R')]),
   82)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19991289, 19991310, u'19991274F'), (19994501, 19994484, u'19991274R')]),
   3212)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18505945, 18505964, u'18505915F'),
     (18508832, 18508815, u'18505915R'),
     (7785217, 7785204, u'18505915R')]),
   2887)],
 [((u'gnl|BL_ORD_ID|152888 Scaffold237598',
    [(413002, 413015, u'18663621F'),
     (413439, 413426, u'18663621F'),
     (1656963, 1656976, u'18663621F'),
     (2591730, 2591718, u'18663621F')]),
   437),
  ((u'gnl|BL_ORD_ID|350688 Scaffold46073',
    [(9671, 9658, u'18663621F'),
     (1761218, 1761231, u'18663621F'),
     (9998, 10010, u'18663621F'),
     (2329714, 2329726, u'18663621F')]),
   327),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18663816, 18663833, u'18663621F'),
     (8378982, 8378968, u'18663621F'),
     (8021805, 8021792, u'18663621F'),
     (7242892, 7242904, u'18663621F'),
     (18666456, 18666437, u'18663621R'),
     (14025791, 14025777, u'18663621R'),
     (15450000, 15450013, u'18663621R'),
     (16511894, 16511907, u'18663621R')]),
   2640),
  ((u'gnl|BL_ORD_ID|295401 Scaffold36586',
    [(1757654, 1757641, u'18663621F'),
     (1761969, 1761986, u'18663621F'),
     (178696, 178708, u'18663621F'),
     (568350, 568362, u'18663621F')]),
   4315)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21065714, 21065734, u'21065410F'),
     (15510977, 15510962, u'21065410F'),
     (21068331, 21068311, u'21065410R')]),
   2617)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18909674, 18909691, u'18909500F'),
     (10617693, 10617681, u'18909500F'),
     (17089596, 17089608, u'18909500F'),
     (18912268, 18912251, u'18909500R'),
     (396963, 396951, u'18909500R'),
     (810877, 810865, u'18909500R'),
     (13505230, 13505218, u'18909500R')]),
   2594)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19947187, 19947206, u'19947076F'),
     (3213412, 3213425, u'19947076F'),
     (19949769, 19949752, u'19947076R'),
     (7570511, 7570499, u'19947076R'),
     (17157859, 17157847, u'19947076R')]),
   2582)],
 [((u'gnl|BL_ORD_ID|347543 Scaffold43242',
    [(4504969, 4504986, u'21221279F'),
     (11606357, 11606344, u'21221279F'),
     (11939303, 11939289, u'21221279R'),
     (11616213, 11616226, u'21221279R')]),
   9856),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21221388, 21221407, u'21221279F'),
     (8351591, 8351608, u'21221279F'),
     (11124879, 11124896, u'21221279F'),
     (21223820, 21223803, u'21221279R'),
     (7969340, 7969328, u'21221279R'),
     (21275186, 21275198, u'21221279R')]),
   2432)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20078757, 20078774, u'20078715F'),
     (20232900, 20232888, u'20078715F'),
     (20081181, 20081162, u'20078715R'),
     (110178, 110191, u'20078715R')]),
   2424)],
 [((u'gnl|BL_ORD_ID|348933 Scaffold44494',
    [(1965834, 1965822, u'18963570F'), (1974649, 1974661, u'18963570F')]),
   8815),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18963824, 18963841, u'18963570F'),
     (15423879, 15423891, u'18963570F'),
     (15543610, 15543622, u'18963570F'),
     (18966248, 18966231, u'18963570R'),
     (7748551, 7748538, u'18963570R')]),
   2424)],
 [((u'gnl|BL_ORD_ID|410538 Scaffold9994',
    [(1058029, 1058044, u'20598378R'),
     (7049113, 7049126, u'20598378R'),
     (4274989, 4275001, u'20598378R'),
     (4831998, 4831986, u'20598378R'),
     (5072222, 5072210, u'20598378R'),
     (5076171, 5076183, u'20598378R')]),
   3949),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20598380, 20598397, u'20598378F'),
     (1723341, 1723353, u'20598378F'),
     (8890944, 8890956, u'20598378F'),
     (20600761, 20600744, u'20598378R'),
     (3888906, 3888894, u'20598378R'),
     (3889308, 3889296, u'20598378R')]),
   2381),
  ((u'gnl|BL_ORD_ID|35396 Scaffold131854',
    [(487569, 487554, u'20598378F'),
     (496256, 496269, u'20598378F'),
     (1629272, 1629260, u'20598378F')]),
   8687)],
 [((u'gnl|BL_ORD_ID|378678 Scaffold71264',
    [(721342, 721329, u'20331335F'), (721428, 721441, u'20331335F')]),
   86),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20331344, 20331361, u'20331335F'), (20333660, 20333641, u'20331335R')]),
   2316)],
 [((u'gnl|BL_ORD_ID|157884 Scaffold242093',
    [(9094, 9081, u'20470442F'), (12359, 12372, u'20470442F')]),
   3265),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20470455, 20470472, u'20470442F'),
     (5621859, 5621843, u'20470442F'),
     (7454762, 7454750, u'20470442F'),
     (19538513, 19538525, u'20470442F'),
     (20472771, 20472754, u'20470442R'),
     (13973973, 13973961, u'20470442R')]),
   2316),
  ((u'gnl|BL_ORD_ID|410538 Scaffold9994',
    [(3460499, 3460512, u'20470442R'),
     (10169873, 10169886, u'20470442R'),
     (4534291, 4534279, u'20470442R'),
     (4534769, 4534781, u'20470442R')]),
   478)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21297515, 21297532, u'21297377F'),
     (2978513, 2978525, u'21297377F'),
     (4195867, 4195855, u'21297377F'),
     (6034542, 6034530, u'21297377F'),
     (8660812, 8660824, u'21297377F'),
     (10204438, 10204426, u'21297377F'),
     (11355992, 11356004, u'21297377F'),
     (11836479, 11836491, u'21297377F'),
     (13008595, 13008607, u'21297377F'),
     (14608723, 14608711, u'21297377F'),
     (17404575, 17404563, u'21297377F'),
     (18781403, 18781415, u'21297377F'),
     (19641062, 19641050, u'21297377F'),
     (21299795, 21299778, u'21297377R'),
     (17737452, 17737465, u'21297377R'),
     (12480011, 12480023, u'21297377R')]),
   2280)],
 [((u'gnl|BL_ORD_ID|404389 Scaffold94404',
    [(293221, 293233, u'21206262R'), (293423, 293411, u'21206262R')]),
   202),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21206411, 21206428, u'21206262F'),
     (8957782, 8957768, u'21206262F'),
     (11761776, 11761790, u'21206262F'),
     (890706, 890722, u'21206262F'),
     (10671357, 10671345, u'21206262F'),
     (19525905, 19525893, u'21206262F'),
     (21208536, 21208519, u'21206262R'),
     (6384428, 6384440, u'21206262R'),
     (8554591, 8554579, u'21206262R'),
     (10640868, 10640856, u'21206262R')]),
   2125),
  ((u'gnl|BL_ORD_ID|271369 Scaffold34423',
    [(4279425, 4279411, u'21206262F'), (4286585, 4286599, u'21206262F')]),
   7160)],
 [((u'gnl|BL_ORD_ID|82602 Scaffold17434',
    [(1333874, 1333887, u'18974210F'),
     (1887362, 1887349, u'18974210R'),
     (1887416, 1887429, u'18974210R'),
     (659205, 659193, u'18974210R'),
     (4987535, 4987547, u'18974210R')]),
   54),
  ((u'gnl|BL_ORD_ID|66714 Scaffold16004',
    [(1594405, 1594422, u'18974210F'),
     (1597092, 1597075, u'18974210F'),
     (1597708, 1597725, u'18974210F'),
     (1614552, 1614535, u'18974210F'),
     (1618008, 1618025, u'18974210F'),
     (1627047, 1627064, u'18974210F'),
     (2237359, 2237346, u'18974210R')]),
   3456),
  ((u'gnl|BL_ORD_ID|66714 Scaffold16004',
    [(1594405, 1594422, u'18974210F'),
     (1597092, 1597075, u'18974210F'),
     (1597708, 1597725, u'18974210F'),
     (1614552, 1614535, u'18974210F'),
     (1618008, 1618025, u'18974210F'),
     (1627047, 1627064, u'18974210F'),
     (2237359, 2237346, u'18974210R')]),
   616),
  ((u'gnl|BL_ORD_ID|66714 Scaffold16004',
    [(1594405, 1594422, u'18974210F'),
     (1597092, 1597075, u'18974210F'),
     (1597708, 1597725, u'18974210F'),
     (1614552, 1614535, u'18974210F'),
     (1618008, 1618025, u'18974210F'),
     (1627047, 1627064, u'18974210F'),
     (2237359, 2237346, u'18974210R')]),
   2687),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18974442, 18974461, u'18974210F'),
     (18976529, 18976512, u'18974210R'),
     (11542986, 11542998, u'18974210R'),
     (12441927, 12441915, u'18974210R'),
     (17240308, 17240296, u'18974210R')]),
   2087)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19807571, 19807590, u'19807524F'),
     (19809622, 19809605, u'19807524R'),
     (2338218, 2338230, u'19807524R')]),
   2051)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19667911, 19667930, u'19667884F'),
     (1998321, 1998334, u'19667884F'),
     (19669933, 19669916, u'19667884R'),
     (4661620, 4661632, u'19667884R')]),
   2022)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20052431, 20052449, u'20052309F'),
     (10031539, 10031525, u'20052309F'),
     (789124, 789111, u'20052309F'),
     (7911244, 7911231, u'20052309F'),
     (12481321, 12481334, u'20052309F'),
     (15142276, 15142289, u'20052309F'),
     (17423846, 17423859, u'20052309F'),
     (20653658, 20653675, u'20052309F'),
     (20054403, 20054384, u'20052309R'),
     (15438881, 15438868, u'20052309R')]),
   1972)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19375400, 19375419, u'19375345F'),
     (2090226, 2090212, u'19375345F'),
     (1343636, 1343623, u'19375345F'),
     (19377333, 19377315, u'19375345R'),
     (358625, 358612, u'19375345R')]),
   1933)],
 [((u'gnl|BL_ORD_ID|396181 Scaffold87017',
    [(203713, 203701, u'19045147R'),
     (2946647, 2946659, u'19045147R'),
     (2946683, 2946671, u'19045147R')]),
   36),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19045163, 19045182, u'19045147F'),
     (4182430, 4182443, u'19045147F'),
     (13825280, 13825293, u'19045147F'),
     (19047092, 19047075, u'19045147R'),
     (8142227, 8142215, u'19045147R'),
     (18630790, 18630778, u'19045147R')]),
   1929)],
 [((u'gnl|BL_ORD_ID|380395 Scaffold7281',
    [(1493230, 1493242, u'18501608R'), (1496682, 1496670, u'18501608R')]),
   3452),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18502239, 18502256, u'18501608F'),
     (3196989, 3197002, u'18501608F'),
     (1006340, 1006356, u'18501608F'),
     (16632076, 16632064, u'18501608F'),
     (18504155, 18504138, u'18501608R'),
     (1520977, 1520965, u'18501608R'),
     (11726452, 11726464, u'18501608R'),
     (11919211, 11919223, u'18501608R'),
     (13700522, 13700510, u'18501608R')]),
   1916),
  ((u'gnl|BL_ORD_ID|333333 Scaffold4',
    [(774386, 774373, u'18501608F'), (774899, 774911, u'18501608F')]),
   513)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21417933, 21417952, u'21417928F'),
     (21417472, 21417486, u'21417928F'),
     (21417669, 21417683, u'21417928F'),
     (15210088, 15210101, u'21417928F'),
     (21419801, 21419784, u'21417928R'),
     (3961903, 3961890, u'21417928R'),
     (10680923, 10680935, u'21417928R')]),
   1868)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19717881, 19717898, u'19717872F'),
     (11036429, 11036442, u'19717872F'),
     (9970769, 9970757, u'19717872F'),
     (19719699, 19719680, u'19717872R'),
     (19719580, 19719561, u'19717872R'),
     (19719839, 19719824, u'19717872R'),
     (18657917, 18657903, u'19717872R'),
     (19719817, 19719800, u'19717872R')]),
   1699)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18926850, 18926867, u'18926646F'),
     (3657607, 3657592, u'18926646F'),
     (18928655, 18928636, u'18926646R'),
     (16386553, 16386540, u'18926646R')]),
   1805)],
 [((u'gnl|BL_ORD_ID|347543 Scaffold43242',
    [(2996529, 2996542, u'20915086F'),
     (4491283, 4491295, u'20915086F'),
     (4500789, 4500801, u'20915086F'),
     (1025296, 1025283, u'20915086R'),
     (1025679, 1025691, u'20915086R'),
     (2301542, 2301554, u'20915086R')]),
   383),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20915232, 20915249, u'20915086F'),
     (17030511, 17030524, u'20915086F'),
     (7657298, 7657310, u'20915086F'),
     (18124072, 18124084, u'20915086F'),
     (20917032, 20917015, u'20915086R'),
     (4069661, 4069649, u'20915086R'),
     (4386381, 4386369, u'20915086R'),
     (6308929, 6308941, u'20915086R'),
     (21277263, 21277275, u'20915086R')]),
   1800)],
 [((u'gnl|BL_ORD_ID|139632 Scaffold225667',
    [(275315, 275302, u'21307202F'), (277562, 277575, u'21307202F')]),
   2247),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21307219, 21307237, u'21307202F'),
     (21309015, 21308998, u'21307202R'),
     (20822697, 20822710, u'21307202R')]),
   1796)],
 [((u'gnl|BL_ORD_ID|336387 Scaffold402746',
    [(3846199, 3846185, u'18622362R'), (3846190, 3846202, u'18622362R')]),
   9),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18622491, 18622509, u'18622362F'),
     (10053444, 10053431, u'18622362F'),
     (18624286, 18624269, u'18622362R'),
     (2740407, 2740395, u'18622362R'),
     (13732688, 13732676, u'18622362R'),
     (15534156, 15534168, u'18622362R'),
     (15991177, 15991189, u'18622362R'),
     (21539376, 21539388, u'18622362R')]),
   1795)],
 [((u'gnl|BL_ORD_ID|280571 Scaffold352511',
    [(158700, 158687, u'20251445R'), (153650, 153666, u'20251445R')]),
   5050),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20251488, 20251505, u'20251445F'),
     (18676003, 18676016, u'20251445F'),
     (3273867, 3273879, u'20251445F'),
     (12628997, 12629009, u'20251445F'),
     (20253242, 20253225, u'20251445R'),
     (430459, 430447, u'20251445R'),
     (6044667, 6044655, u'20251445R'),
     (12581729, 12581717, u'20251445R'),
     (13628974, 13628962, u'20251445R')]),
   1754),
  ((u'gnl|BL_ORD_ID|39147 Scaffold13523',
    [(8338798, 8338811, u'20251445F'),
     (1489197, 1489185, u'20251445F'),
     (9352736, 9352723, u'20251445R'),
     (8566103, 8566091, u'20251445R'),
     (9360217, 9360229, u'20251445R')]),
   7481),
  ((u'gnl|BL_ORD_ID|375883 Scaffold6875',
    [(43374, 43358, u'20251445R'), (36377, 36389, u'20251445R')]),
   6997)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20306934, 20306951, u'20306765F'),
     (4199099, 4199111, u'20306765F'),
     (14559234, 14559222, u'20306765F'),
     (20308675, 20308658, u'20306765R'),
     (596401, 596414, u'20306765R'),
     (20308698, 20308681, u'20306765R')]),
   1741)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20490943, 20490961, u'20490926F'),
     (20492681, 20492664, u'20490926R'),
     (17776296, 17776312, u'20490926R')]),
   1738)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18586579, 18586597, u'18586568F'), (18588313, 18588296, u'18586568R')]),
   1734)],
 [((u'gnl|BL_ORD_ID|403291 Scaffold93416',
    [(6384659, 6384646, u'20368441F'), (6388498, 6388511, u'20368441R')]),
   3839),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20368449, 20368467, u'20368441F'),
     (20370162, 20370145, u'20368441R'),
     (17568003, 17567991, u'20368441R')]),
   1713)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19343544, 19343561, u'19343527F'),
     (12175020, 12175008, u'19343527F'),
     (14389606, 14389594, u'19343527F'),
     (19345251, 19345234, u'19343527R')]),
   1707)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20033972, 20033991, u'20033830F'),
     (3749582, 3749595, u'20033830F'),
     (20035622, 20035605, u'20033830R'),
     (9888960, 9888948, u'20033830R'),
     (16377565, 16377553, u'20033830R')]),
   1650)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20049286, 20049305, u'20049273F'),
     (20050934, 20050917, u'20049273R'),
     (6146998, 6146985, u'20049273R'),
     (8462234, 8462221, u'20049273R'),
     (1362132, 1362144, u'20049273R'),
     (1565097, 1565109, u'20049273R'),
     (6588339, 6588351, u'20049273R'),
     (12619928, 12619916, u'20049273R')]),
   1648)],
 [((u'gnl|BL_ORD_ID|55435 Scaffold149890',
    [(4145428, 4145415, u'19868750R'),
     (1059536, 1059524, u'19868750R'),
     (1059717, 1059729, u'19868750R')]),
   181),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19868918, 19868937, u'19868750F'),
     (4564588, 4564575, u'19868750F'),
     (19870565, 19870548, u'19868750R'),
     (20837703, 20837716, u'19868750R'),
     (1852777, 1852765, u'19868750R'),
     (15868669, 15868657, u'19868750R')]),
   1647),
  ((u'gnl|BL_ORD_ID|22448 Scaffold12020',
    [(15148061, 15148046, u'19868750R'),
     (431779, 431767, u'19868750R'),
     (6923312, 6923300, u'19868750R'),
     (9688826, 9688814, u'19868750R'),
     (9688973, 9688985, u'19868750R')]),
   147),
  ((u'gnl|BL_ORD_ID|407012 Scaffold96766',
    [(2157677, 2157665, u'19868750R'), (2157796, 2157808, u'19868750R')]),
   119)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21399279, 21399301, u'21399267F'),
     (6497017, 6497031, u'21399267F'),
     (8372911, 8372929, u'21399267F'),
     (2921339, 2921326, u'21399267F'),
     (7327456, 7327469, u'21399267F'),
     (9020192, 9020205, u'21399267F'),
     (21400920, 21400899, u'21399267R'),
     (16578744, 16578730, u'21399267R')]),
   1641)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20468495, 20468514, u'20468482F'),
     (21163285, 21163298, u'20468482F'),
     (20470127, 20470106, u'20468482R'),
     (5512455, 5512440, u'20468482R'),
     (11709133, 11709120, u'20468482R'),
     (12353069, 12353056, u'20468482R')]),
   1632)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18588330, 18588347, u'18588316F'),
     (1306044, 1306056, u'18588316F'),
     (9614188, 9614200, u'18588316F'),
     (12184231, 12184243, u'18588316F'),
     (20190079, 20190067, u'18588316F'),
     (18589956, 18589938, u'18588316R')]),
   1626)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18421466, 18421483, u'18421455F'),
     (18423043, 18423026, u'18421455R'),
     (4445047, 4445033, u'18421455R'),
     (19338498, 19338510, u'18421455R')]),
   1577)],
 [((u'gnl|BL_ORD_ID|363184 Scaffold5732',
    [(10531139, 10531126, u'21112602F'),
     (810455, 810443, u'21112602F'),
     (3491197, 3491209, u'21112602F'),
     (4178911, 4178899, u'21112602F'),
     (4321153, 4321141, u'21112602F'),
     (8923574, 8923586, u'21112602F'),
     (9290923, 9290935, u'21112602F'),
     (10404861, 10404873, u'21112602F'),
     (11207375, 11207387, u'21112602F'),
     (11380610, 11380622, u'21112602F'),
     (11478253, 11478241, u'21112602F'),
     (1053389, 1053372, u'21112602R'),
     (5404914, 5404902, u'21112602R'),
     (10519703, 10519715, u'21112602R')]),
   11436),
  ((u'gnl|BL_ORD_ID|350688 Scaffold46073',
    [(2488637, 2488624, u'21112602F'),
     (403015, 403003, u'21112602F'),
     (2301748, 2301760, u'21112602F'),
     (2451903, 2451891, u'21112602F'),
     (2633778, 2633766, u'21112602F'),
     (2780291, 2780279, u'21112602F'),
     (3146648, 3146636, u'21112602F'),
     (1085669, 1085682, u'21112602R'),
     (1969466, 1969454, u'21112602R'),
     (3139707, 3139719, u'21112602R')]),
   6941),
  ((u'gnl|BL_ORD_ID|18668 Scaffold1168',
    [(4266992, 4267006, u'21112602F'),
     (166519, 166531, u'21112602F'),
     (395738, 395750, u'21112602F'),
     (648676, 648664, u'21112602F'),
     (2954956, 2954968, u'21112602F'),
     (3261882, 3261870, u'21112602F'),
     (3618022, 3618010, u'21112602F'),
     (3618385, 3618397, u'21112602F'),
     (4502834, 4502846, u'21112602F'),
     (4776815, 4776803, u'21112602F'),
     (5605516, 5605528, u'21112602F'),
     (6024649, 6024637, u'21112602F')]),
   363),
  ((u'gnl|BL_ORD_ID|246803 Scaffold32212',
    [(4942482, 4942495, u'21112602F'),
     (5288988, 5289001, u'21112602F'),
     (1559542, 1559554, u'21112602F'),
     (1713556, 1713568, u'21112602F'),
     (2019146, 2019134, u'21112602F'),
     (2020597, 2020609, u'21112602F'),
     (2193554, 2193542, u'21112602F'),
     (2387188, 2387200, u'21112602F'),
     (2807502, 2807490, u'21112602F'),
     (3245792, 3245804, u'21112602F'),
     (5246430, 5246418, u'21112602F'),
     (6110510, 6110522, u'21112602F'),
     (9274163, 9274151, u'21112602F'),
     (621496, 621483, u'21112602R'),
     (323403, 323391, u'21112602R'),
     (3539106, 3539118, u'21112602R'),
     (4880031, 4880019, u'21112602R'),
     (5018709, 5018721, u'21112602R'),
     (7313401, 7313389, u'21112602R')]),
   1451),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21112714, 21112731, u'21112602F'),
     (4377119, 4377133, u'21112602F'),
     (1487520, 1487507, u'21112602F'),
     (4574232, 4574219, u'21112602F'),
     (13287339, 13287326, u'21112602F'),
     (13694957, 13694944, u'21112602F'),
     (17028620, 17028607, u'21112602F'),
     (993862, 993850, u'21112602F'),
     (1450179, 1450167, u'21112602F'),
     (1666148, 1666136, u'21112602F'),
     (2835146, 2835158, u'21112602F'),
     (6058467, 6058455, u'21112602F'),
     (6382194, 6382182, u'21112602F'),
     (6960225, 6960237, u'21112602F'),
     (9044459, 9044447, u'21112602F'),
     (9327752, 9327764, u'21112602F'),
     (11764917, 11764929, u'21112602F'),
     (12072487, 12072475, u'21112602F'),
     (13713891, 13713903, u'21112602F'),
     (14372934, 14372922, u'21112602F'),
     (14388248, 14388236, u'21112602F'),
     (14880627, 14880639, u'21112602F'),
     (17438403, 17438391, u'21112602F'),
     (19380664, 19380652, u'21112602F'),
     (20475158, 20475170, u'21112602F'),
     (21114285, 21114268, u'21112602R'),
     (1384859, 1384876, u'21112602R'),
     (12233275, 12233288, u'21112602R'),
     (2425521, 2425533, u'21112602R'),
     (5312933, 5312945, u'21112602R'),
     (6662732, 6662720, u'21112602R'),
     (10866461, 10866449, u'21112602R'),
     (13841990, 13841978, u'21112602R'),
     (14043867, 14043879, u'21112602R'),
     (17707223, 17707235, u'21112602R'),
     (19205150, 19205138, u'21112602R')]),
   1571)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21193938, 21193956, u'21193715F'),
     (21195503, 21195486, u'21193715R'),
     (1744585, 1744573, u'21193715R'),
     (7245144, 7245132, u'21193715R'),
     (19750514, 19750526, u'21193715R')]),
   1565)],
 [((u'gnl|BL_ORD_ID|226714 Scaffold30404',
    [(2476647, 2476634, u'18398783R'),
     (586061, 586073, u'18398783R'),
     (1691794, 1691782, u'18398783R'),
     (2476345, 2476357, u'18398783R')]),
   302),
  ((u'gnl|BL_ORD_ID|404389 Scaffold94404',
    [(217776, 217788, u'18398783R'), (221028, 221016, u'18398783R')]),
   3252),
  ((u'gnl|BL_ORD_ID|358039 Scaffold5269',
    [(3750108, 3750123, u'18398783F'),
     (2120545, 2120532, u'18398783R'),
     (277213, 277225, u'18398783R'),
     (278780, 278768, u'18398783R'),
     (785149, 785161, u'18398783R'),
     (1894775, 1894787, u'18398783R'),
     (2079043, 2079031, u'18398783R'),
     (2790360, 2790372, u'18398783R'),
     (3766573, 3766561, u'18398783R'),
     (3859026, 3859014, u'18398783R')]),
   1567),
  ((u'gnl|BL_ORD_ID|345153 Scaffold41091',
    [(1620368, 1620381, u'18398783F'),
     (3447113, 3447130, u'18398783R'),
     (241587, 241599, u'18398783R'),
     (245603, 245615, u'18398783R'),
     (247590, 247602, u'18398783R'),
     (280004, 280016, u'18398783R'),
     (309470, 309482, u'18398783R'),
     (318331, 318319, u'18398783R'),
     (371736, 371724, u'18398783R'),
     (379632, 379620, u'18398783R'),
     (403684, 403696, u'18398783R'),
     (428369, 428381, u'18398783R'),
     (428806, 428818, u'18398783R'),
     (430278, 430290, u'18398783R'),
     (527543, 527555, u'18398783R'),
     (543367, 543379, u'18398783R'),
     (565026, 565038, u'18398783R'),
     (567896, 567908, u'18398783R'),
     (575841, 575853, u'18398783R'),
     (598690, 598702, u'18398783R'),
     (600426, 600438, u'18398783R'),
     (695631, 695643, u'18398783R'),
     (717164, 717176, u'18398783R'),
     (766613, 766625, u'18398783R'),
     (3352097, 3352085, u'18398783R'),
     (4019845, 4019857, u'18398783R')]),
   8861),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18398815, 18398832, u'18398783F'),
     (19526594, 19526581, u'18398783F'),
     (3438822, 3438834, u'18398783F'),
     (7993408, 7993420, u'18398783F'),
     (13148558, 13148570, u'18398783F'),
     (19522212, 19522228, u'18398783F'),
     (20398369, 20398381, u'18398783F'),
     (18400365, 18400348, u'18398783R'),
     (12393011, 12392998, u'18398783R'),
     (18400227, 18400210, u'18398783R'),
     (564839, 564827, u'18398783R'),
     (976995, 976983, u'18398783R'),
     (1716522, 1716510, u'18398783R'),
     (3769446, 3769434, u'18398783R'),
     (5413964, 5413976, u'18398783R'),
     (5497770, 5497758, u'18398783R'),
     (10104910, 10104898, u'18398783R'),
     (12190995, 12191007, u'18398783R'),
     (12334128, 12334116, u'18398783R'),
     (18661472, 18661484, u'18398783R')]),
   4382),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18398815, 18398832, u'18398783F'),
     (19526594, 19526581, u'18398783F'),
     (3438822, 3438834, u'18398783F'),
     (7993408, 7993420, u'18398783F'),
     (13148558, 13148570, u'18398783F'),
     (19522212, 19522228, u'18398783F'),
     (20398369, 20398381, u'18398783F'),
     (18400365, 18400348, u'18398783R'),
     (12393011, 12392998, u'18398783R'),
     (18400227, 18400210, u'18398783R'),
     (564839, 564827, u'18398783R'),
     (976995, 976983, u'18398783R'),
     (1716522, 1716510, u'18398783R'),
     (3769446, 3769434, u'18398783R'),
     (5413964, 5413976, u'18398783R'),
     (5497770, 5497758, u'18398783R'),
     (10104910, 10104898, u'18398783R'),
     (12190995, 12191007, u'18398783R'),
     (12334128, 12334116, u'18398783R'),
     (18661472, 18661484, u'18398783R')]),
   1412),
  ((u'gnl|BL_ORD_ID|408898 Scaffold98463',
    [(1523948, 1523960, u'18398783R'),
     (1649148, 1649160, u'18398783R'),
     (1656979, 1656967, u'18398783R')]),
   7831)],
 [((u'gnl|BL_ORD_ID|388972 Scaffold80529',
    [(488100, 488088, u'19295732R'), (489133, 489145, u'19295732R')]),
   1033),
  ((u'gnl|BL_ORD_ID|11867 Scaffold110678',
    [(218973, 218986, u'19295732F'),
     (150661, 150649, u'19295732F'),
     (150712, 150724, u'19295732F')]),
   51),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19295803, 19295820, u'19295732F'),
     (6081427, 6081414, u'19295732F'),
     (1497305, 1497317, u'19295732F'),
     (14587652, 14587640, u'19295732F'),
     (21097788, 21097800, u'19295732F'),
     (19297351, 19297334, u'19295732R'),
     (2850005, 2849993, u'19295732R'),
     (15466573, 15466561, u'19295732R'),
     (18591275, 18591287, u'19295732R')]),
   1548),
  ((u'gnl|BL_ORD_ID|361857 Scaffold56125',
    [(2647384, 2647372, u'19295732R'),
     (3410738, 3410726, u'19295732R'),
     (3419458, 3419470, u'19295732R')]),
   8720)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20261992, 20262009, u'20261589F'), (20263526, 20263507, u'20261589R')]),
   1534)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19351835, 19351854, u'19351820F'),
     (19353362, 19353345, u'19351820R'),
     (10907701, 10907689, u'19351820R')]),
   1527),
  ((u'gnl|BL_ORD_ID|376654 Scaffold69443',
    [(3138966, 3138953, u'19351820F'),
     (6462831, 6462844, u'19351820F'),
     (623322, 623310, u'19351820R'),
     (6461716, 6461704, u'19351820R'),
     (9718448, 9718460, u'19351820R')]),
   1115)],
 [((u'gnl|BL_ORD_ID|380395 Scaffold7281',
    [(3102976, 3102964, u'20613373F'), (3103189, 3103201, u'20613373F')]),
   213),
  ((u'gnl|BL_ORD_ID|382109 Scaffold74352',
    [(260578, 260566, u'20613373F'),
     (967142, 967130, u'20613373F'),
     (967693, 967705, u'20613373F'),
     (4164261, 4164249, u'20613373F'),
     (6377821, 6377833, u'20613373F'),
     (4278096, 4278113, u'20613373R')]),
   551),
  ((u'gnl|BL_ORD_ID|146143 Scaffold231526',
    [(151766, 151782, u'20613373F'), (151532, 151516, u'20613373F')]),
   234),
  ((u'gnl|BL_ORD_ID|366738 Scaffold60518',
    [(1311514, 1311530, u'20613373F'), (1311432, 1311420, u'20613373F')]),
   82),
  ((u'gnl|BL_ORD_ID|368097 Scaffold61741',
    [(2891908, 2891896, u'20613373F'), (2892075, 2892087, u'20613373F')]),
   167),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20613527, 20613544, u'20613373F'),
     (1424644, 1424632, u'20613373F'),
     (20615047, 20615028, u'20613373R'),
     (1539453, 1539440, u'20613373R'),
     (18019137, 18019150, u'20613373R')]),
   1520),
  ((u'gnl|BL_ORD_ID|390721 Scaffold82102',
    [(671154, 671142, u'20613373F'), (671271, 671283, u'20613373F')]),
   117),
  ((u'gnl|BL_ORD_ID|367412 Scaffold61124',
    [(2090566, 2090578, u'20613373F'),
     (3974341, 3974329, u'20613373F'),
     (3974537, 3974549, u'20613373F'),
     (5013354, 5013342, u'20613373F'),
     (742007, 741990, u'20613373R')]),
   196)],
 [((u'gnl|BL_ORD_ID|386549 Scaffold78349',
    [(180464, 180450, u'21179635F'), (180481, 180495, u'21179635F')]),
   17),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21179649, 21179667, u'21179635F'),
     (21181159, 21181142, u'21179635R'),
     (11162637, 11162653, u'21179635R')]),
   1510)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20476183, 20476202, u'20476167F'),
     (16054878, 16054892, u'20476167F'),
     (20477684, 20477665, u'20476167R')]),
   1501)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18243286, 18243304, u'18243269F'), (18244784, 18244766, u'18243269R')]),
   1498)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20069021, 20069038, u'20068811F'),
     (20070512, 20070495, u'20068811R'),
     (2875604, 2875592, u'20068811R'),
     (8426896, 8426884, u'20068811R'),
     (14161565, 14161577, u'20068811R'),
     (19685912, 19685900, u'20068811R')]),
   1491)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19804964, 19804983, u'19804952F'),
     (19806430, 19806413, u'19804952R'),
     (2212572, 2212560, u'19804952R'),
     (12514248, 12514260, u'19804952R')]),
   1466)],
 [((u'gnl|BL_ORD_ID|347507 Scaffold4321',
    [(12350828, 12350815, u'20242549F'),
     (5745852, 5745866, u'20242549R'),
     (5746900, 5746886, u'20242549R'),
     (8062333, 8062319, u'20242549R'),
     (8073610, 8073623, u'20242549R'),
     (2953340, 2953352, u'20242549R'),
     (5105452, 5105464, u'20242549R'),
     (5441409, 5441397, u'20242549R'),
     (10750298, 10750286, u'20242549R'),
     (15981330, 15981318, u'20242549R')]),
   11277),
  ((u'gnl|BL_ORD_ID|347507 Scaffold4321',
    [(12350828, 12350815, u'20242549F'),
     (5745852, 5745866, u'20242549R'),
     (5746900, 5746886, u'20242549R'),
     (8062333, 8062319, u'20242549R'),
     (8073610, 8073623, u'20242549R'),
     (2953340, 2953352, u'20242549R'),
     (5105452, 5105464, u'20242549R'),
     (5441409, 5441397, u'20242549R'),
     (10750298, 10750286, u'20242549R'),
     (15981330, 15981318, u'20242549R')]),
   1048),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20242564, 20242582, u'20242549F'),
     (20244012, 20243995, u'20242549R'),
     (6323882, 6323869, u'20242549R'),
     (9835277, 9835290, u'20242549R'),
     (13420342, 13420355, u'20242549R'),
     (339343, 339331, u'20242549R'),
     (6565958, 6565970, u'20242549R'),
     (8021228, 8021216, u'20242549R'),
     (11021127, 11021139, u'20242549R'),
     (13263641, 13263653, u'20242549R')]),
   1448),
  ((u'gnl|BL_ORD_ID|96111 Scaffold186499',
    [(364575, 364588, u'20242549R'), (371626, 371613, u'20242549R')]),
   7051)],
 [((u'gnl|BL_ORD_ID|96957 Scaffold18726',
    [(2143431, 2143418, u'20279182F'),
     (2143709, 2143696, u'20279182F'),
     (2143740, 2143727, u'20279182F'),
     (2143357, 2143369, u'20279182F'),
     (2143461, 2143449, u'20279182F'),
     (2143522, 2143510, u'20279182F'),
     (2143553, 2143541, u'20279182F'),
     (2143584, 2143572, u'20279182F'),
     (2143677, 2143665, u'20279182F'),
     (2143770, 2143758, u'20279182F')]),
   74),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20279197, 20279214, u'20279182F'),
     (10017043, 10017030, u'20279182F'),
     (14575392, 14575379, u'20279182F'),
     (3743637, 3743649, u'20279182F'),
     (6728884, 6728896, u'20279182F'),
     (14575511, 14575499, u'20279182F'),
     (14782143, 14782131, u'20279182F'),
     (14782570, 14782558, u'20279182F'),
     (14782752, 14782740, u'20279182F'),
     (14782964, 14782952, u'20279182F'),
     (17465814, 17465826, u'20279182F'),
     (17506857, 17506869, u'20279182F'),
     (20280645, 20280628, u'20279182R'),
     (15410990, 15411002, u'20279182R'),
     (18393221, 18393209, u'20279182R')]),
   1448)],
 [((u'gnl|BL_ORD_ID|272926 Scaffold345631',
    [(963727, 963714, u'20244393R'),
     (966995, 967007, u'20244393R'),
     (1071713, 1071725, u'20244393R')]),
   3268),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20244402, 20244424, u'20244393F'),
     (20245828, 20245811, u'20244393R'),
     (12943124, 12943137, u'20244393R'),
     (13895460, 13895473, u'20244393R'),
     (5074493, 5074505, u'20244393R'),
     (5743927, 5743939, u'20244393R'),
     (7190843, 7190855, u'20244393R'),
     (7795598, 7795610, u'20244393R')]),
   1426),
  ((u'gnl|BL_ORD_ID|408652 Scaffold98241',
    [(569556, 569542, u'20244393R'),
     (580328, 580316, u'20244393R'),
     (590561, 590573, u'20244393R')]),
   10233)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21468172, 21468189, u'21468108F'),
     (5271244, 5271257, u'21468108F'),
     (16772329, 16772316, u'21468108F'),
     (6612785, 6612797, u'21468108F'),
     (7027787, 7027799, u'21468108F'),
     (13130164, 13130176, u'21468108F'),
     (21469561, 21469542, u'21468108R'),
     (7903310, 7903325, u'21468108R'),
     (8661026, 8661013, u'21468108R')]),
   1389)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18289219, 18289238, u'18289194F'), (18290598, 18290578, u'18289194R')]),
   1379)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19665939, 19665958, u'19665648F'),
     (19667320, 19667303, u'19665648R'),
     (17072649, 17072636, u'19665648R'),
     (8764502, 8764490, u'19665648R'),
     (13909501, 13909513, u'19665648R')]),
   1381)],
 [((u'gnl|BL_ORD_ID|376171 Scaffold69008',
    [(50067, 50054, u'18320870F'), (54649, 54662, u'18320870F')]),
   4582),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18320887, 18320906, u'18320870F'),
     (1785751, 1785764, u'18320870F'),
     (13070014, 13070027, u'18320870F'),
     (18322264, 18322247, u'18320870R'),
     (15208638, 15208625, u'18320870R'),
     (1371622, 1371610, u'18320870R'),
     (1868327, 1868339, u'18320870R'),
     (6053589, 6053577, u'18320870R'),
     (6840140, 6840128, u'18320870R'),
     (10512953, 10512941, u'18320870R'),
     (18477950, 18477938, u'18320870R')]),
   1377)],
 [((u'gnl|BL_ORD_ID|410538 Scaffold9994',
    [(8035400, 8035414, u'19347477F'),
     (925255, 925267, u'19347477F'),
     (1209128, 1209140, u'19347477F'),
     (1737853, 1737865, u'19347477F'),
     (1737881, 1737869, u'19347477F'),
     (8269188, 8269200, u'19347477F')]),
   28),
  ((u'gnl|BL_ORD_ID|5565 Scaffold105005',
    [(522145, 522131, u'19347477R'),
     (522050, 522063, u'19347477R'),
     (522103, 522116, u'19347477R'),
     (522202, 522215, u'19347477R'),
     (522308, 522321, u'19347477R'),
     (522511, 522524, u'19347477R'),
     (522539, 522552, u'19347477R'),
     (522623, 522636, u'19347477R'),
     (522679, 522692, u'19347477R'),
     (522567, 522579, u'19347477R')]),
   57),
  ((u'gnl|BL_ORD_ID|5565 Scaffold105005',
    [(522145, 522131, u'19347477R'),
     (522050, 522063, u'19347477R'),
     (522103, 522116, u'19347477R'),
     (522202, 522215, u'19347477R'),
     (522308, 522321, u'19347477R'),
     (522511, 522524, u'19347477R'),
     (522539, 522552, u'19347477R'),
     (522623, 522636, u'19347477R'),
     (522679, 522692, u'19347477R'),
     (522567, 522579, u'19347477R')]),
   42),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19347986, 19348003, u'19347477F'),
     (14760016, 14760029, u'19347477F'),
     (295250, 295238, u'19347477F'),
     (312906, 312894, u'19347477F'),
     (2747475, 2747463, u'19347477F'),
     (11711967, 11711979, u'19347477F'),
     (12000899, 12000887, u'19347477F'),
     (15044630, 15044642, u'19347477F'),
     (19349357, 19349340, u'19347477R'),
     (8752719, 8752707, u'19347477R')]),
   1371)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20216352, 20216369, u'20216137F'),
     (20217707, 20217690, u'20216137R'),
     (11587639, 11587627, u'20216137R'),
     (12681367, 12681379, u'20216137R')]),
   1355)],
 [((u'gnl|BL_ORD_ID|292935 Scaffold36364',
    [(1967739, 1967752, u'21116309F'),
     (1968021, 1968008, u'21116309F'),
     (758657, 758644, u'21116309R')]),
   282),
  ((u'gnl|BL_ORD_ID|137947 Scaffold22415',
    [(4161848, 4161835, u'21116309F'),
     (4251173, 4251161, u'21116309F'),
     (4261439, 4261451, u'21116309F')]),
   10266),
  ((u'gnl|BL_ORD_ID|134456 Scaffold221007',
    [(6433731, 6433718, u'21116309F'),
     (4381674, 4381662, u'21116309F'),
     (4381842, 4381854, u'21116309F')]),
   168),
  ((u'gnl|BL_ORD_ID|330257 Scaffold39723',
    [(10304788, 10304801, u'21116309F'),
     (902533, 902521, u'21116309F'),
     (3998979, 3998991, u'21116309F'),
     (9795678, 9795666, u'21116309F'),
     (9795834, 9795846, u'21116309F'),
     (2343398, 2343385, u'21116309R')]),
   156),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21116381, 21116398, u'21116309F'),
     (8825768, 8825784, u'21116309F'),
     (2974394, 2974381, u'21116309F'),
     (20527285, 20527301, u'21116309F'),
     (21117726, 21117709, u'21116309R')]),
   1345)],
 [((u'gnl|BL_ORD_ID|88198 Scaffold179377',
    [(949026, 949039, u'19763296F'), (948760, 948748, u'19763296F')]),
   266),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19763368, 19763385, u'19763296F'),
     (18119334, 18119346, u'19763296F'),
     (19764710, 19764691, u'19763296R'),
     (3409979, 3409965, u'19763296R'),
     (2443430, 2443443, u'19763296R'),
     (11967077, 11967064, u'19763296R')]),
   1342)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19098934, 19098951, u'19098872F'),
     (7555176, 7555189, u'19098872F'),
     (3549461, 3549473, u'19098872F'),
     (3730266, 3730278, u'19098872F'),
     (4904112, 4904100, u'19098872F'),
     (9336603, 9336591, u'19098872F'),
     (13806184, 13806172, u'19098872F'),
     (19100276, 19100258, u'19098872R'),
     (15939937, 15939950, u'19098872R')]),
   1342),
  ((u'gnl|BL_ORD_ID|406893 Scaffold96659',
    [(4168378, 4168390, u'19098872F'), (4170803, 4170791, u'19098872F')]),
   2425)],
 [((u'gnl|BL_ORD_ID|365060 Scaffold59008',
    [(134941, 134954, u'21163618F'),
     (138463, 138450, u'21163618F'),
     (128727, 128714, u'21163618R')]),
   3522),
  ((u'gnl|BL_ORD_ID|365060 Scaffold59008',
    [(134941, 134954, u'21163618F'),
     (138463, 138450, u'21163618F'),
     (128727, 128714, u'21163618R')]),
   6214),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21163725, 21163747, u'21163618F'),
     (5761357, 5761344, u'21163618F'),
     (21165065, 21165048, u'21163618R'),
     (7055547, 7055534, u'21163618R'),
     (14898172, 14898185, u'21163618R'),
     (1703148, 1703136, u'21163618R'),
     (7752268, 7752256, u'21163618R'),
     (8440133, 8440145, u'21163618R'),
     (9613590, 9613602, u'21163618R'),
     (20032255, 20032267, u'21163618R'),
     (21096835, 21096823, u'21163618R')]),
   1340)],
 [((u'gnl|BL_ORD_ID|66714 Scaffold16004',
    [(1467605, 1467618, u'20321060R'), (1477182, 1477169, u'20321060R')]),
   9577),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20321076, 20321094, u'20321060F'),
     (17586308, 17586321, u'20321060F'),
     (20322413, 20322396, u'20321060R'),
     (690618, 690631, u'20321060R'),
     (4494132, 4494144, u'20321060R')]),
   1337)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18677465, 18677485, u'18677446F'), (18678767, 18678748, u'18677446R')]),
   1302)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20444134, 20444152, u'20444089F'),
     (322045, 322032, u'20444089F'),
     (20445435, 20445417, u'20444089R'),
     (19142983, 19142970, u'20444089R')]),
   1301)],
 [((u'gnl|BL_ORD_ID|89387 Scaffold180446',
    [(135, 148, u'19621992R'), (271, 258, u'19621992R')]),
   136),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19622419, 19622436, u'19621992F'),
     (6668725, 6668712, u'19621992F'),
     (20486132, 20486145, u'19621992F'),
     (2200381, 2200393, u'19621992F'),
     (2748627, 2748615, u'19621992F'),
     (3032581, 3032593, u'19621992F'),
     (12213666, 12213678, u'19621992F'),
     (14888142, 14888130, u'19621992F'),
     (15661216, 15661204, u'19621992F'),
     (18139566, 18139554, u'19621992F'),
     (20249664, 20249652, u'19621992F'),
     (20435878, 20435890, u'19621992F'),
     (19623711, 19623693, u'19621992R')]),
   1292),
  ((u'gnl|BL_ORD_ID|403756 Scaffold93835',
    [(4260, 4273, u'19621992R'),
     (4396, 4383, u'19621992R'),
     (4657, 4644, u'19621992R')]),
   136)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20578443, 20578460, u'20578164F'), (20579732, 20579713, u'20578164R')]),
   1289)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19588868, 19588887, u'19588844F'),
     (16233346, 16233359, u'19588844F'),
     (19590153, 19590134, u'19588844R'),
     (4495699, 4495686, u'19588844R')]),
   1285)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20333653, 20333671, u'20333650F'),
     (19297339, 19297357, u'20333650F'),
     (11231918, 11231905, u'20333650F'),
     (20334937, 20334920, u'20333650R'),
     (4666856, 4666868, u'20333650R'),
     (6020600, 6020612, u'20333650R')]),
   1284)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18432227, 18432244, u'18432211F'),
     (14088198, 14088186, u'18432211F'),
     (16441702, 16441690, u'18432211F'),
     (18433502, 18433484, u'18432211R'),
     (6767441, 6767428, u'18432211R')]),
   1275)],
 [((u'gnl|BL_ORD_ID|410538 Scaffold9994',
    [(2897527, 2897540, u'20878833F'),
     (8083284, 8083296, u'20878833F'),
     (9654882, 9654866, u'20878833F'),
     (9655516, 9655532, u'20878833F')]),
   634),
  ((u'gnl|BL_ORD_ID|73741 Scaffold166365',
    [(1031408, 1031395, u'20878833F'),
     (761040, 761024, u'20878833F'),
     (762469, 762485, u'20878833F')]),
   1429),
  ((u'gnl|BL_ORD_ID|352310 Scaffold47533',
    [(4708403, 4708390, u'20878833F'),
     (3419739, 3419727, u'20878833F'),
     (4719304, 4719317, u'20878833R')]),
   10901),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20879043, 20879060, u'20878833F'),
     (12472671, 12472659, u'20878833F'),
     (15331969, 15331981, u'20878833F'),
     (20880311, 20880291, u'20878833R')]),
   1268)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20192770, 20192787, u'20192536F'),
     (9667, 9653, u'20192536F'),
     (11059871, 11059858, u'20192536F'),
     (4102987, 4102999, u'20192536F'),
     (6172913, 6172925, u'20192536F'),
     (20194010, 20193993, u'20192536R'),
     (8582150, 8582162, u'20192536R'),
     (9868140, 9868124, u'20192536R'),
     (13925356, 13925368, u'20192536R'),
     (18638057, 18638045, u'20192536R')]),
   1240),
  ((u'gnl|BL_ORD_ID|189291 Scaffold27036',
    [(9226433, 9226446, u'20192536F'), (9226312, 9226296, u'20192536F')]),
   121),
  ((u'gnl|BL_ORD_ID|358054 Scaffold52702',
    [(145315, 145327, u'20192536F'),
     (7438897, 7438909, u'20192536F'),
     (136187, 136175, u'20192536R')]),
   9128)],
 [((u'gnl|BL_ORD_ID|150279 Scaffold235249',
    [(367692, 367679, u'20648181F'), (360786, 360802, u'20648181R')]),
   6906),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20648195, 20648214, u'20648181F'),
     (20649421, 20649402, u'20648181R'),
     (5567662, 5567675, u'20648181R'),
     (19838961, 19838974, u'20648181R')]),
   1226)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18493392, 18493411, u'18493381F'),
     (14158090, 14158103, u'18493381F'),
     (18494618, 18494601, u'18493381R'),
     (757166, 757178, u'18493381R'),
     (4198448, 4198464, u'18493381R'),
     (15968418, 15968430, u'18493381R'),
     (19999483, 19999471, u'18493381R')]),
   1226)],
 [((u'gnl|BL_ORD_ID|399576 Scaffold90072',
    [(1032148, 1032135, u'19884996R'), (1032897, 1032909, u'19884996R')]),
   749),
  ((u'gnl|BL_ORD_ID|113512 Scaffold202158',
    [(94827, 94840, u'19884996R'),
     (94994, 94981, u'19884996R'),
     (231856, 231844, u'19884996R'),
     (1194591, 1194575, u'19884996R'),
     (2240334, 2240346, u'19884996R'),
     (3092875, 3092887, u'19884996R')]),
   167),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19885027, 19885044, u'19884996F'),
     (19886244, 19886227, u'19884996R'),
     (10069732, 10069719, u'19884996R'),
     (17773847, 17773860, u'19884996R'),
     (1446829, 1446841, u'19884996R'),
     (3458854, 3458866, u'19884996R'),
     (4343245, 4343233, u'19884996R'),
     (5563629, 5563617, u'19884996R'),
     (9870130, 9870142, u'19884996R'),
     (11811975, 11811987, u'19884996R'),
     (14312997, 14313009, u'19884996R'),
     (14412987, 14412999, u'19884996R'),
     (15451334, 15451322, u'19884996R'),
     (19662596, 19662584, u'19884996R'),
     (20295841, 20295857, u'19884996R')]),
   1217),
  ((u'gnl|BL_ORD_ID|330335 Scaffold39730',
    [(1377838, 1377826, u'19884996F'),
     (1418345, 1418357, u'19884996F'),
     (1420400, 1420388, u'19884996F'),
     (1434459, 1434446, u'19884996R')]),
   2055)],
 [((u'gnl|BL_ORD_ID|222184 Scaffold299965',
    [(573146, 573133, u'20457042R'),
     (573782, 573795, u'20457042R'),
     (1776152, 1776140, u'20457042R'),
     (2566452, 2566440, u'20457042R')]),
   636),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20457177, 20457194, u'20457042F'),
     (7388438, 7388450, u'20457042F'),
     (17421776, 17421764, u'20457042F'),
     (17514351, 17514363, u'20457042F'),
     (20458394, 20458377, u'20457042R'),
     (6272592, 6272605, u'20457042R'),
     (3104985, 3104973, u'20457042R'),
     (3672951, 3672963, u'20457042R'),
     (9486370, 9486382, u'20457042R'),
     (10786129, 10786117, u'20457042R'),
     (13489611, 13489623, u'20457042R'),
     (18256046, 18256034, u'20457042R'),
     (20422268, 20422256, u'20457042R')]),
   1217)],
 [((u'gnl|BL_ORD_ID|61786 Scaffold155605',
    [(59629, 59616, u'19092047R'), (65160, 65172, u'19092047R')]),
   5531),
  ((u'gnl|BL_ORD_ID|193900 Scaffold274508',
    [(464657, 464669, u'19092047F'),
     (1394990, 1394978, u'19092047F'),
     (1396828, 1396840, u'19092047F')]),
   1838),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19092051, 19092068, u'19092047F'),
     (19093262, 19093245, u'19092047R'),
     (9271936, 9271922, u'19092047R'),
     (12357328, 12357315, u'19092047R'),
     (6782662, 6782674, u'19092047R'),
     (8530716, 8530704, u'19092047R'),
     (13176483, 13176495, u'19092047R')]),
   1211)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19095816, 19095834, u'19095805F'), (19097026, 19097008, u'19095805R')]),
   1210)],
 [((u'gnl|BL_ORD_ID|367898 Scaffold61562',
    [(885294, 885281, u'20393284R'), (893747, 893759, u'20393284R')]),
   8453),
  ((u'gnl|BL_ORD_ID|97219 Scaffold187496',
    [(33771, 33784, u'20393284F'), (37225, 37212, u'20393284F')]),
   3454),
  ((u'gnl|BL_ORD_ID|25236 Scaffold12271',
    [(84550, 84563, u'20393284R'), (85971, 85958, u'20393284R')]),
   1421),
  ((u'gnl|BL_ORD_ID|97914 Scaffold188120',
    [(2381429, 2381442, u'20393284F'), (2381478, 2381465, u'20393284F')]),
   49),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20393383, 20393400, u'20393284F'),
     (10822572, 10822584, u'20393284F'),
     (12977772, 12977784, u'20393284F'),
     (20394560, 20394543, u'20393284R'),
     (20394700, 20394683, u'20393284R'),
     (20394840, 20394823, u'20393284R'),
     (20394952, 20394935, u'20393284R'),
     (20394980, 20394963, u'20393284R'),
     (13674992, 13674980, u'20393284R')]),
   1177)],
 [],
 [((u'gnl|BL_ORD_ID|367412 Scaffold61124',
    [(4919419, 4919432, u'20287144R'),
     (238462, 238450, u'20287144R'),
     (241213, 241225, u'20287144R'),
     (5050826, 5050814, u'20287144R')]),
   2751),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20287553, 20287570, u'20287144F'),
     (2151787, 2151775, u'20287144F'),
     (20288689, 20288672, u'20287144R'),
     (2964285, 2964298, u'20287144R'),
     (3563964, 3563977, u'20287144R'),
     (11714947, 11714934, u'20287144R'),
     (16546177, 16546194, u'20287144R'),
     (4578498, 4578510, u'20287144R'),
     (13320195, 13320183, u'20287144R'),
     (13320457, 13320469, u'20287144R')]),
   1136),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20287553, 20287570, u'20287144F'),
     (2151787, 2151775, u'20287144F'),
     (20288689, 20288672, u'20287144R'),
     (2964285, 2964298, u'20287144R'),
     (3563964, 3563977, u'20287144R'),
     (11714947, 11714934, u'20287144R'),
     (16546177, 16546194, u'20287144R'),
     (4578498, 4578510, u'20287144R'),
     (13320195, 13320183, u'20287144R'),
     (13320457, 13320469, u'20287144R')]),
   262)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19707503, 19707520, u'19706910F'),
     (894875, 894862, u'19706910F'),
     (14183771, 14183784, u'19706910F'),
     (3771796, 3771784, u'19706910F'),
     (3912864, 3912876, u'19706910F'),
     (13006751, 13006739, u'19706910F'),
     (13367212, 13367224, u'19706910F'),
     (15978821, 15978833, u'19706910F'),
     (19708623, 19708604, u'19706910R'),
     (3308183, 3308170, u'19706910R')]),
   1120)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19465340, 19465357, u'19465183F'),
     (1956220, 1956232, u'19465183F'),
     (2468198, 2468210, u'19465183F'),
     (9928640, 9928628, u'19465183F'),
     (11295067, 11295079, u'19465183F'),
     (20710951, 20710963, u'19465183F'),
     (19466457, 19466440, u'19465183R'),
     (6459122, 6459110, u'19465183R')]),
   1117)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19131529, 19131547, u'19131516F'),
     (19132617, 19132600, u'19131516R'),
     (145930, 145942, u'19131516R'),
     (146003, 146015, u'19131516R'),
     (146228, 146240, u'19131516R'),
     (878379, 878367, u'19131516R'),
     (6422141, 6422153, u'19131516R'),
     (12221479, 12221467, u'19131516R'),
     (20299381, 20299393, u'19131516R'),
     (21289862, 21289874, u'19131516R')]),
   1088)],
 [((u'gnl|BL_ORD_ID|347507 Scaffold4321',
    [(11869041, 11869054, u'19227852F'), (11869385, 11869372, u'19227852F')]),
   344),
  ((u'gnl|BL_ORD_ID|197351 Scaffold277614',
    [(606600, 606583, u'19227852R'),
     (328335, 328351, u'19227852R'),
     (609920, 609936, u'19227852R')]),
   3320),
  ((u'gnl|BL_ORD_ID|372717 Scaffold6590',
    [(7367333, 7367346, u'19227852F'),
     (8827461, 8827448, u'19227852R'),
     (1330256, 1330272, u'19227852R'),
     (4393224, 4393208, u'19227852R'),
     (4661838, 4661854, u'19227852R'),
     (4663406, 4663394, u'19227852R'),
     (4760335, 4760351, u'19227852R'),
     (5130998, 5131010, u'19227852R')]),
   1568),
  ((u'gnl|BL_ORD_ID|128925 Scaffold21603',
    [(946848, 946865, u'19227852R'),
     (9975482, 9975466, u'19227852R'),
     (9978513, 9978529, u'19227852R'),
     (10619986, 10619970, u'19227852R')]),
   3031),
  ((u'gnl|BL_ORD_ID|373356 Scaffold66475',
    [(1502526, 1502510, u'19227852R'), (1502988, 1503004, u'19227852R')]),
   462),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19227865, 19227886, u'19227852F'),
     (19228934, 19228917, u'19227852R'),
     (2045306, 2045323, u'19227852R'),
     (3642512, 3642529, u'19227852R'),
     (16600365, 16600348, u'19227852R'),
     (2664787, 2664771, u'19227852R'),
     (9131747, 9131731, u'19227852R'),
     (9765862, 9765846, u'19227852R'),
     (11132318, 11132334, u'19227852R'),
     (14849659, 14849643, u'19227852R'),
     (15416305, 15416289, u'19227852R'),
     (17506730, 17506714, u'19227852R')]),
   1069)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18205598, 18205616, u'18205596F'), (18206663, 18206645, u'18205596R')]),
   1065)],
 [((u'gnl|BL_ORD_ID|355139 Scaffold50079',
    [(316771, 316784, u'20646719F'),
     (5646780, 5646793, u'20646719F'),
     (217484, 217472, u'20646719F'),
     (217513, 217525, u'20646719F'),
     (250407, 250395, u'20646719F'),
     (365400, 365412, u'20646719F'),
     (1243183, 1243171, u'20646719F'),
     (2407457, 2407469, u'20646719F'),
     (3025833, 3025821, u'20646719F'),
     (3976499, 3976511, u'20646719F'),
     (4312998, 4312986, u'20646719F'),
     (4586610, 4586622, u'20646719F'),
     (5365432, 5365444, u'20646719F')]),
   29),
  ((u'gnl|BL_ORD_ID|90935 Scaffold18184',
    [(2306759, 2306746, u'20646719F'),
     (2328308, 2328321, u'20646719F'),
     (2328482, 2328469, u'20646719F')]),
   174),
  ((u'gnl|BL_ORD_ID|50635 Scaffold14557',
    [(1712588, 1712573, u'20646719F'),
     (2193630, 2193618, u'20646719F'),
     (2436540, 2436528, u'20646719F'),
     (3552914, 3552902, u'20646719F'),
     (3556155, 3556167, u'20646719F'),
     (4398244, 4398232, u'20646719F'),
     (5317415, 5317403, u'20646719F'),
     (8426353, 8426341, u'20646719F')]),
   3241),
  ((u'gnl|BL_ORD_ID|235225 Scaffold31170',
    [(166012, 165999, u'20646719R'), (159690, 159702, u'20646719R')]),
   6322),
  ((u'gnl|BL_ORD_ID|363982 Scaffold58038',
    [(624120, 624133, u'20646719R'),
     (2622561, 2622573, u'20646719R'),
     (2628736, 2628724, u'20646719R')]),
   6175),
  ((u'gnl|BL_ORD_ID|147792 Scaffold23301',
    [(4630177, 4630164, u'20646719R'),
     (1319655, 1319643, u'20646719R'),
     (1952300, 1952288, u'20646719R'),
     (4630417, 4630429, u'20646719R')]),
   240),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20646732, 20646749, u'20646719F'),
     (43083, 43071, u'20646719F'),
     (104861, 104873, u'20646719F'),
     (8572988, 8573000, u'20646719F'),
     (8758198, 8758186, u'20646719F'),
     (8956528, 8956540, u'20646719F'),
     (13360254, 13360242, u'20646719F'),
     (14941102, 14941090, u'20646719F'),
     (15018757, 15018769, u'20646719F'),
     (16673827, 16673839, u'20646719F'),
     (19868075, 19868087, u'20646719F'),
     (20647779, 20647762, u'20646719R'),
     (3627692, 3627680, u'20646719R'),
     (8747598, 8747586, u'20646719R'),
     (14012576, 14012588, u'20646719R')]),
   1047),
  ((u'gnl|BL_ORD_ID|118236 Scaffold20641',
    [(3854338, 3854351, u'20646719F'),
     (1080902, 1080890, u'20646719F'),
     (3852111, 3852099, u'20646719F')]),
   2227)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19222152, 19222169, u'19221905F'),
     (10847362, 10847375, u'19221905F'),
     (7682537, 7682525, u'19221905F'),
     (16259911, 16259899, u'19221905F'),
     (19223191, 19223173, u'19221905R'),
     (7812428, 7812441, u'19221905R')]),
   1039)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19996513, 19996530, u'19995725F'),
     (14368351, 14368368, u'19995725F'),
     (14558288, 14558275, u'19995725F'),
     (19997518, 19997501, u'19995725R'),
     (19294783, 19294770, u'19995725R'),
     (2824301, 2824289, u'19995725R')]),
   1005)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19429863, 19429880, u'19429847F'),
     (11531091, 11531103, u'19429847F'),
     (18667867, 18667879, u'19429847F'),
     (19430843, 19430826, u'19429847R')]),
   980)],
 [((u'gnl|BL_ORD_ID|126336 Scaffold21370',
    [(289128, 289115, u'20479566F'), (290616, 290629, u'20479566F')]),
   1488),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20479853, 20479872, u'20479566F'),
     (14417989, 14418003, u'20479566F'),
     (20480832, 20480815, u'20479566R'),
     (19472491, 19472478, u'20479566R')]),
   979)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21315022, 21315042, u'21315006F'),
     (21315996, 21315979, u'21315006R'),
     (4436722, 4436736, u'21315006R'),
     (5868979, 5868991, u'21315006R'),
     (8728748, 8728736, u'21315006R'),
     (9364137, 9364125, u'21315006R')]),
   974)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18575582, 18575599, u'18575559F'),
     (18576545, 18576524, u'18575559R'),
     (9895947, 9895960, u'18575559R')]),
   963)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18556033, 18556050, u'18555885F'),
     (11587938, 11587951, u'18555885F'),
     (11595339, 11595327, u'18555885F'),
     (16517327, 16517339, u'18555885F'),
     (18556995, 18556978, u'18555885R'),
     (20452392, 20452406, u'18555885R'),
     (11706515, 11706527, u'18555885R'),
     (12473188, 12473172, u'18555885R')]),
   962),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18556033, 18556050, u'18555885F'),
     (11587938, 11587951, u'18555885F'),
     (11595339, 11595327, u'18555885F'),
     (16517327, 16517339, u'18555885F'),
     (18556995, 18556978, u'18555885R'),
     (20452392, 20452406, u'18555885R'),
     (11706515, 11706527, u'18555885R'),
     (12473188, 12473172, u'18555885R')]),
   7401)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18684282, 18684299, u'18684266F'),
     (9028587, 9028575, u'18684266F'),
     (13696166, 13696178, u'18684266F'),
     (14636752, 14636740, u'18684266F'),
     (20567089, 20567101, u'18684266F'),
     (18685243, 18685225, u'18684266R')]),
   961)],
 [((u'gnl|BL_ORD_ID|357665 Scaffold52352',
    [(767759, 767772, u'19612841R'),
     (427534, 427522, u'19612841R'),
     (764919, 764907, u'19612841R'),
     (2301443, 2301455, u'19612841R')]),
   2840),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19612857, 19612874, u'19612841F'),
     (14953314, 14953326, u'19612841F'),
     (19613818, 19613801, u'19612841R'),
     (6802254, 6802241, u'19612841R'),
     (9221628, 9221641, u'19612841R'),
     (9221843, 9221856, u'19612841R'),
     (9222177, 9222190, u'19612841R'),
     (3362643, 3362627, u'19612841R'),
     (4841558, 4841546, u'19612841R'),
     (5323993, 5324005, u'19612841R'),
     (18903247, 18903235, u'19612841R')]),
   961),
  ((u'gnl|BL_ORD_ID|189291 Scaffold27036',
    [(9543412, 9543426, u'19612841F'),
     (7489000, 7488987, u'19612841R'),
     (2954281, 2954269, u'19612841R'),
     (5306353, 5306369, u'19612841R'),
     (9549509, 9549493, u'19612841R'),
     (10432206, 10432218, u'19612841R')]),
   6097)],
 [((u'gnl|BL_ORD_ID|355139 Scaffold50079',
    [(1077679, 1077692, u'19847602F'), (1077735, 1077723, u'19847602F')]),
   56),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19847610, 19847627, u'19847602F'),
     (2562316, 2562328, u'19847602F'),
     (10498675, 10498663, u'19847602F'),
     (14036948, 14036960, u'19847602F'),
     (19848561, 19848540, u'19847602R'),
     (412828, 412841, u'19847602R'),
     (21366767, 21366754, u'19847602R')]),
   951)],
 [((u'gnl|BL_ORD_ID|148925 Scaffold23403',
    [(982957, 982970, u'20382290F'),
     (2655055, 2655068, u'20382290F'),
     (6059532, 6059545, u'20382290F'),
     (12287007, 12287020, u'20382290F'),
     (9113867, 9113853, u'20382290R'),
     (9115284, 9115296, u'20382290R'),
     (13284642, 13284630, u'20382290R')]),
   1417),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20382294, 20382314, u'20382290F'),
     (14165369, 14165383, u'20382290F'),
     (20383231, 20383214, u'20382290R'),
     (7197690, 7197702, u'20382290R'),
     (7791189, 7791201, u'20382290R'),
     (12062906, 12062894, u'20382290R'),
     (14096558, 14096570, u'20382290R'),
     (15217133, 15217145, u'20382290R')]),
   937)],
 [((u'gnl|BL_ORD_ID|362956 Scaffold57114',
    [(137047, 137034, u'19881338R'),
     (1377501, 1377489, u'19881338R'),
     (1379883, 1379895, u'19881338R'),
     (2003661, 2003673, u'19881338R')]),
   2382),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19881724, 19881743, u'19881338F'),
     (19882657, 19882640, u'19881338R'),
     (17347581, 17347594, u'19881338R'),
     (19128914, 19128901, u'19881338R'),
     (731081, 731069, u'19881338R'),
     (11544689, 11544701, u'19881338R'),
     (13726047, 13726059, u'19881338R'),
     (16824478, 16824466, u'19881338R')]),
   933)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19441688, 19441705, u'19441684F'),
     (14970505, 14970518, u'19441684F'),
     (5438446, 5438458, u'19441684F'),
     (8096343, 8096355, u'19441684F'),
     (16602416, 16602428, u'19441684F'),
     (18343117, 18343105, u'19441684F'),
     (19442613, 19442596, u'19441684R'),
     (6475679, 6475666, u'19441684R'),
     (19443360, 19443344, u'19441684R')]),
   925)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19886879, 19886897, u'19886579F'),
     (19887800, 19887783, u'19886579R'),
     (3269790, 3269778, u'19886579R'),
     (14866106, 14866118, u'19886579R')]),
   921)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18887084, 18887101, u'18886333F'),
     (15944971, 15944955, u'18886333F'),
     (2120681, 2120669, u'18886333F'),
     (15159567, 15159555, u'18886333F'),
     (19475727, 19475739, u'18886333F'),
     (18887995, 18887976, u'18886333R'),
     (1008444, 1008457, u'18886333R'),
     (4169378, 4169365, u'18886333R')]),
   911)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18136718, 18136737, u'18136707F'),
     (1157943, 1157956, u'18136707F'),
     (18137629, 18137612, u'18136707R'),
     (12196791, 12196779, u'18136707R')]),
   911)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20397655, 20397673, u'20397645F'),
     (10566850, 10566837, u'20397645F'),
     (17828973, 17828960, u'20397645F'),
     (20398528, 20398511, u'20397645R'),
     (21027167, 21027184, u'20397645R'),
     (9871822, 9871809, u'20397645R'),
     (1307653, 1307665, u'20397645R'),
     (14000784, 14000772, u'20397645R'),
     (17877854, 17877866, u'20397645R')]),
   873),
  ((u'gnl|BL_ORD_ID|383270 Scaffold75398',
    [(1550148, 1550162, u'20397645F'), (1550188, 1550174, u'20397645F')]),
   40)],
 [((u'gnl|BL_ORD_ID|97026 Scaffold187321',
    [(4910328, 4910340, u'21075883F'), (4910633, 4910621, u'21075883F')]),
   305),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21076306, 21076323, u'21075883F'),
     (7544383, 7544371, u'21075883F'),
     (21077174, 21077157, u'21075883R')]),
   868),
  ((u'gnl|BL_ORD_ID|271369 Scaffold34423',
    [(927020, 927033, u'21075883R'),
     (3450651, 3450638, u'21075883R'),
     (3825629, 3825642, u'21075883R'),
     (322432, 322444, u'21075883R'),
     (324840, 324828, u'21075883R')]),
   2408)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20827966, 20827983, u'20827899F'),
     (12686641, 12686629, u'20827899F'),
     (20828823, 20828806, u'20827899R'),
     (6669330, 6669318, u'20827899R'),
     (6764131, 6764119, u'20827899R')]),
   857)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21190068, 21190087, u'21190026F'),
     (356054, 356068, u'21190026F'),
     (12903419, 12903433, u'21190026F'),
     (20334677, 20334690, u'21190026F'),
     (21190917, 21190900, u'21190026R'),
     (19730463, 19730450, u'21190026R'),
     (2568318, 2568306, u'21190026R'),
     (8407866, 8407854, u'21190026R'),
     (17519232, 17519220, u'21190026R')]),
   849)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18402121, 18402138, u'18402088F'),
     (20254588, 20254601, u'18402088F'),
     (12118753, 12118765, u'18402088F'),
     (12278518, 12278534, u'18402088F'),
     (14492640, 14492628, u'18402088F'),
     (14510560, 14510548, u'18402088F'),
     (18792114, 18792102, u'18402088F'),
     (18402953, 18402936, u'18402088R')]),
   832)],
 [((u'gnl|BL_ORD_ID|383292 Scaffold75417',
    [(3790924, 3790912, u'19188468R'),
     (4112111, 4112123, u'19188468R'),
     (4112398, 4112386, u'19188468R'),
     (7275366, 7275378, u'19188468R')]),
   287),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19188816, 19188835, u'19188468F'),
     (11833286, 11833299, u'19188468F'),
     (18102782, 18102769, u'19188468F'),
     (19189639, 19189622, u'19188468R'),
     (13270930, 13270918, u'19188468R')]),
   823),
  ((u'gnl|BL_ORD_ID|409869 Scaffold99337',
    [(175463, 175451, u'19188468R'), (175590, 175602, u'19188468R')]),
   127)],
 [((u'gnl|BL_ORD_ID|389817 Scaffold8129',
    [(2119726, 2119739, u'21001588F'), (2124475, 2124462, u'21001588F')]),
   4749),
  ((u'gnl|BL_ORD_ID|146280 Scaffold23165',
    [(3620450, 3620467, u'21001588F'),
     (3621140, 3621123, u'21001588F'),
     (4400537, 4400550, u'21001588R')]),
   690),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21001600, 21001620, u'21001588F'),
     (14277325, 14277339, u'21001588F'),
     (14587705, 14587718, u'21001588F'),
     (21002384, 21002365, u'21001588R')]),
   784)],
 [((u'gnl|BL_ORD_ID|410538 Scaffold9994',
    [(6107762, 6107750, u'21505465F'),
     (9505986, 9505974, u'21505465F'),
     (9507300, 9507312, u'21505465F')]),
   1314),
  ((u'gnl|BL_ORD_ID|271867 Scaffold344679',
    [(163760, 163748, u'21505465F'), (163768, 163780, u'21505465F')]),
   8),
  ((u'gnl|BL_ORD_ID|304979 Scaffold37448',
    [(64181, 64193, u'21505465F'), (64292, 64280, u'21505465F')]),
   111),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(21505479, 21505496, u'21505465F'),
     (1540496, 1540510, u'21505465F'),
     (21506245, 21506226, u'21505465R')]),
   766)],
 [((u'gnl|BL_ORD_ID|37412 Scaffold133669',
    [(1282875, 1282862, u'20652115F'),
     (1285793, 1285806, u'20652115F'),
     (687613, 687625, u'20652115F')]),
   2918),
  ((u'gnl|BL_ORD_ID|110945 Scaffold19985',
    [(477061, 477048, u'20652115F'),
     (483254, 483267, u'20652115F'),
     (636885, 636873, u'20652115F')]),
   6193),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20652215, 20652232, u'20652115F'),
     (12063594, 12063608, u'20652115F'),
     (12017845, 12017857, u'20652115F'),
     (20652976, 20652959, u'20652115R'),
     (5990449, 5990437, u'20652115R'),
     (14454829, 14454817, u'20652115R'),
     (19217611, 19217599, u'20652115R')]),
   761),
  ((u'gnl|BL_ORD_ID|395384 Scaffold8630',
    [(2784438, 2784425, u'20652115F'), (2785561, 2785574, u'20652115F')]),
   1123)],
 [((u'gnl|BL_ORD_ID|357584 Scaffold5228',
    [(4541535, 4541548, u'18355668F'),
     (2002594, 2002606, u'18355668R'),
     (2008292, 2008280, u'18355668R')]),
   5698),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18355672, 18355692, u'18355668F'),
     (8121890, 8121904, u'18355668F'),
     (18356423, 18356406, u'18355668R')]),
   751)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18142345, 18142362, u'18142271F'),
     (5023418, 5023406, u'18142271F'),
     (5454705, 5454693, u'18142271F'),
     (6518114, 6518126, u'18142271F'),
     (10549941, 10549953, u'18142271F'),
     (19507016, 19507004, u'18142271F'),
     (18143092, 18143075, u'18142271R')]),
   747)],
 [((u'gnl|BL_ORD_ID|112031 Scaffold200825',
    [(6520007, 6519994, u'20400996F'),
     (6521047, 6521060, u'20400996F'),
     (6685182, 6685169, u'20400996F')]),
   1040),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20401099, 20401117, u'20400996F'),
     (15998599, 15998585, u'20400996F'),
     (850079, 850066, u'20400996F'),
     (13428924, 13428941, u'20400996F'),
     (20401844, 20401827, u'20400996R'),
     (1349285, 1349298, u'20400996R'),
     (5564290, 5564302, u'20400996R')]),
   745)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20910974, 20910992, u'20910919F'),
     (1386723, 1386738, u'20910919F'),
     (20911714, 20911695, u'20910919R')]),
   740)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18918414, 18918431, u'18917993F'),
     (19152551, 19152538, u'18917993F'),
     (586509, 586497, u'18917993F'),
     (4275039, 4275027, u'18917993F'),
     (5089124, 5089136, u'18917993F'),
     (7846368, 7846356, u'18917993F'),
     (8525715, 8525703, u'18917993F'),
     (11801772, 11801784, u'18917993F'),
     (18919144, 18919126, u'18917993R'),
     (9327931, 9327946, u'18917993R')]),
   730)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20032118, 20032135, u'20032102F'),
     (1103689, 1103676, u'20032102F'),
     (14413259, 14413247, u'20032102F'),
     (15747157, 15747169, u'20032102F'),
     (20032844, 20032824, u'20032102R')]),
   726)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20644586, 20644604, u'20644574F'), (20645278, 20645259, u'20644574R')]),
   692)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19607167, 19607184, u'19607163F'),
     (215043, 215055, u'19607163F'),
     (19607844, 19607825, u'19607163R'),
     (3671326, 3671313, u'19607163R'),
     (14705459, 14705446, u'19607163R')]),
   677)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18841705, 18841724, u'18841592F'),
     (2913096, 2913081, u'18841592F'),
     (18842312, 18842295, u'18841592R'),
     (2855869, 2855881, u'18841592R'),
     (5948405, 5948393, u'18841592R'),
     (7801242, 7801254, u'18841592R'),
     (14033287, 14033299, u'18841592R')]),
   607)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18377924, 18377944, u'18377849F'),
     (18627908, 18627926, u'18377849F'),
     (18378518, 18378500, u'18377849R')]),
   594)],
 [((u'gnl|BL_ORD_ID|287334 Scaffold3586',
    [(1778007, 1777994, u'19876043F'),
     (1302212, 1302224, u'19876043F'),
     (2553623, 2553611, u'19876043F'),
     (2561602, 2561614, u'19876043F'),
     (3639160, 3639148, u'19876043R')]),
   7979),
  ((u'gnl|BL_ORD_ID|335193 Scaffold401671',
    [(97329, 97341, u'19876043R'), (97422, 97410, u'19876043R')]),
   93),
  ((u'gnl|BL_ORD_ID|171813 Scaffold25463',
    [(2077245, 2077258, u'19876043F'),
     (691674, 691686, u'19876043R'),
     (692224, 692212, u'19876043R')]),
   550),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19876101, 19876118, u'19876043F'),
     (15580439, 15580452, u'19876043F'),
     (11010881, 11010893, u'19876043F'),
     (11649800, 11649812, u'19876043F'),
     (19876691, 19876674, u'19876043R'),
     (12147993, 12148005, u'19876043R'),
     (14832190, 14832178, u'19876043R')]),
   590)],
 [((u'gnl|BL_ORD_ID|189291 Scaffold27036',
    [(10936173, 10936160, u'20456451F'),
     (119615, 119603, u'20456451F'),
     (591500, 591488, u'20456451F'),
     (1246424, 1246436, u'20456451F'),
     (4666060, 4666076, u'20456451F'),
     (4673182, 4673170, u'20456451F'),
     (6727792, 6727804, u'20456451F'),
     (9031319, 9031307, u'20456451F'),
     (9367003, 9367015, u'20456451F'),
     (10258660, 10258648, u'20456451F')]),
   7122),
  ((u'gnl|BL_ORD_ID|137947 Scaffold22415',
    [(3009321, 3009308, u'20456451F'),
     (651097, 651109, u'20456451F'),
     (1117321, 1117333, u'20456451F'),
     (1685999, 1685987, u'20456451F'),
     (1876051, 1876063, u'20456451F'),
     (3273378, 3273366, u'20456451F'),
     (3276426, 3276438, u'20456451F'),
     (3489247, 3489235, u'20456451F'),
     (3683152, 3683164, u'20456451F'),
     (5094587, 5094575, u'20456451F')]),
   3048),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20456465, 20456482, u'20456451F'),
     (3598726, 3598714, u'20456451F'),
     (4012925, 4012913, u'20456451F'),
     (4369309, 4369321, u'20456451F'),
     (5235891, 5235903, u'20456451F'),
     (7032808, 7032796, u'20456451F'),
     (9857418, 9857406, u'20456451F'),
     (10230474, 10230486, u'20456451F'),
     (10308821, 10308809, u'20456451F'),
     (10485240, 10485228, u'20456451F'),
     (11164120, 11164132, u'20456451F'),
     (12306551, 12306539, u'20456451F'),
     (13411351, 13411339, u'20456451F'),
     (14404420, 14404408, u'20456451F'),
     (14533203, 14533191, u'20456451F'),
     (16830589, 16830601, u'20456451F'),
     (17200600, 17200588, u'20456451F'),
     (20832891, 20832903, u'20456451F'),
     (20457049, 20457032, u'20456451R')]),
   584)],
 [((u'gnl|BL_ORD_ID|387117 Scaffold78860',
    [(8413071, 8413084, u'20570574F'), (8424416, 8424403, u'20570574F')]),
   11345),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20570712, 20570729, u'20570574F'),
     (14024830, 14024843, u'20570574F'),
     (1520305, 1520317, u'20570574F'),
     (19874349, 19874337, u'20570574F'),
     (20571280, 20571261, u'20570574R'),
     (7520248, 7520261, u'20570574R')]),
   568),
  ((u'gnl|BL_ORD_ID|348359 Scaffold43978',
    [(291890, 291877, u'20570574R'), (291964, 291977, u'20570574R')]),
   74),
  ((u'gnl|BL_ORD_ID|406851 Scaffold96620',
    [(641067, 641054, u'20570574R'), (641138, 641151, u'20570574R')]),
   71)],
 [((u'gnl|BL_ORD_ID|357910 Scaffold52573',
    [(31157, 31145, u'20097467F'),
     (4874010, 4874023, u'20097467R'),
     (2500283, 2500271, u'20097467R'),
     (4868501, 4868489, u'20097467R'),
     (12431540, 12431528, u'20097467R'),
     (14071191, 14071179, u'20097467R')]),
   5509),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20097538, 20097555, u'20097467F'),
     (20098099, 20098082, u'20097467R'),
     (5480344, 5480356, u'20097467R'),
     (20346223, 20346239, u'20097467R')]),
   561)],
 [((u'gnl|BL_ORD_ID|379461 Scaffold7197',
    [(125096, 125109, u'18121076F'), (136675, 136662, u'18121076F')]),
   11579),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18121084, 18121103, u'18121076F'),
     (12017189, 12017172, u'18121076R'),
     (18121641, 18121624, u'18121076R'),
     (2290524, 2290537, u'18121076R'),
     (10907017, 10907005, u'18121076R'),
     (14234024, 14234036, u'18121076R'),
     (16978856, 16978868, u'18121076R'),
     (19947131, 19947119, u'18121076R'),
     (21033576, 21033564, u'18121076R')]),
   557)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18564114, 18564131, u'18563840F'),
     (10541173, 10541185, u'18563840F'),
     (12148030, 12148042, u'18563840F'),
     (18564665, 18564644, u'18563840R')]),
   551)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20622499, 20622516, u'20622480F'),
     (2366575, 2366587, u'20622480F'),
     (6187918, 6187930, u'20622480F'),
     (7148806, 7148818, u'20622480F'),
     (11577923, 11577935, u'20622480F'),
     (15351789, 15351777, u'20622480F'),
     (18002487, 18002499, u'20622480F'),
     (20623040, 20623021, u'20622480R')]),
   541)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18398261, 18398280, u'18398201F'),
     (3701534, 3701548, u'18398201F'),
     (18398790, 18398773, u'18398201R'),
     (12946137, 12946149, u'18398201R'),
     (16426650, 16426662, u'18398201R'),
     (18735834, 18735846, u'18398201R')]),
   529)],
 [((u'gnl|BL_ORD_ID|32591 Scaffold12933',
    [(1247165, 1247153, u'20104280F'),
     (1252968, 1252980, u'20104280F'),
     (895589, 895603, u'20104280R')]),
   5803),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20104438, 20104455, u'20104280F'), (20104957, 20104939, u'20104280R')]),
   519),
  ((u'gnl|BL_ORD_ID|198790 Scaffold27891',
    [(853681, 853693, u'20104280F'), (853931, 853919, u'20104280F')]),
   250)],
 [((u'gnl|BL_ORD_ID|396541 Scaffold87341',
    [(767451, 767463, u'20503070F'), (769247, 769235, u'20503070F')]),
   1796),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20503085, 20503102, u'20503070F'),
     (9311104, 9311117, u'20503070F'),
     (1437922, 1437934, u'20503070F'),
     (15711282, 15711270, u'20503070F'),
     (20503595, 20503576, u'20503070R'),
     (9313448, 9313435, u'20503070R')]),
   510),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20503085, 20503102, u'20503070F'),
     (9311104, 9311117, u'20503070F'),
     (1437922, 1437934, u'20503070F'),
     (15711282, 15711270, u'20503070F'),
     (20503595, 20503576, u'20503070R'),
     (9313448, 9313435, u'20503070R')]),
   2344)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19789348, 19789365, u'19789340F'),
     (15105987, 15106000, u'19789340F'),
     (19584756, 19584769, u'19789340F'),
     (19789816, 19789799, u'19789340R'),
     (7634490, 7634473, u'19789340R'),
     (4200561, 4200573, u'19789340R')]),
   468)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19472464, 19472483, u'19472457F'),
     (8535144, 8535157, u'19472457F'),
     (563715, 563696, u'19472457R'),
     (19472921, 19472902, u'19472457R')]),
   457)],
 [((u'gnl|BL_ORD_ID|63164 Scaffold156846',
    [(1720825, 1720811, u'18818946F'), (1721677, 1721691, u'18818946F')]),
   852),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18818955, 18818972, u'18818946F'),
     (9947541, 9947527, u'18818946F'),
     (2271706, 2271718, u'18818946F'),
     (14240336, 14240324, u'18818946F'),
     (19827892, 19827880, u'18818946F'),
     (20360640, 20360652, u'18818946F'),
     (18819413, 18819396, u'18818946R'),
     (20111130, 20111118, u'18818946R')]),
   458)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19915946, 19915963, u'19915825F'),
     (19916337, 19916320, u'19915825R'),
     (4993580, 4993568, u'19915825R'),
     (20849201, 20849189, u'19915825R')]),
   391)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19834766, 19834785, u'19834738F'),
     (5446405, 5446392, u'19834738F'),
     (19835137, 19835120, u'19834738R'),
     (7479201, 7479217, u'19834738R')]),
   371)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18609476, 18609493, u'18609457F'),
     (9898775, 9898763, u'18609457F'),
     (10783294, 10783306, u'18609457F'),
     (17618550, 17618562, u'18609457F'),
     (18609831, 18609813, u'18609457R'),
     (17637379, 17637392, u'18609457R')]),
   355)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(20121575, 20121592, u'20121562F'),
     (20121873, 20121856, u'20121562R'),
     (9964464, 9964477, u'20121562R'),
     (20125954, 20125941, u'20121562R'),
     (1043980, 1043964, u'20121562R'),
     (15273348, 15273336, u'20121562R'),
     (21146411, 21146399, u'20121562R')]),
   298)],
 [((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(19676953, 19676970, u'19676649F'),
     (519885, 519872, u'19676649F'),
     (16718531, 16718518, u'19676649F'),
     (4295392, 4295404, u'19676649F'),
     (5174936, 5174924, u'19676649F'),
     (19677204, 19677185, u'19676649R'),
     (6165744, 6165731, u'19676649R'),
     (16866210, 16866197, u'19676649R'),
     (18123483, 18123470, u'19676649R')]),
   251)],
 [((u'gnl|BL_ORD_ID|189291 Scaffold27036',
    [(5487124, 5487142, u'18401419F'), (5487378, 5487361, u'18401419R')]),
   254),
  ((u'gnl|BL_ORD_ID|348152 Scaffold43791',
    [(5894029, 5894015, u'18401419R'), (5899615, 5899628, u'18401419R')]),
   5586),
  ((u'gnl|BL_ORD_ID|3307 Scaffold102974',
    [(18401444, 18401463, u'18401419F'),
     (12101073, 12101060, u'18401419F'),
     (18401676, 18401659, u'18401419R'),
     (1630994, 1630982, u'18401419R')]),
   232)]]

In [276]:
c = Counter([item[0][0][0] for item[0] in all_viable])


---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-276-a63e03840afa> in <module>()
----> 1 c = Counter([item[0][0][0] for item[0] in all_viable])

IndexError: list assignment index out of range

In [294]:
boop = (item for item in all_viable)

In [296]:
from itertools import chain

In [311]:
ch = list(chain.from_iterable(all_viable))

In [312]:
len(all_viable)


Out[312]:
146

In [313]:
len(list(ch))


Out[313]:
290

In [317]:
c = Counter([item[0][0] for item in ch])

In [322]:
list(c.iteritems())


Out[322]:
[(u'gnl|BL_ORD_ID|403291 Scaffold93416', 1),
 (u'gnl|BL_ORD_ID|347507 Scaffold4321', 3),
 (u'gnl|BL_ORD_ID|386549 Scaffold78349', 1),
 (u'gnl|BL_ORD_ID|150279 Scaffold235249', 1),
 (u'gnl|BL_ORD_ID|89387 Scaffold180446', 1),
 (u'gnl|BL_ORD_ID|348933 Scaffold44494', 1),
 (u'gnl|BL_ORD_ID|380395 Scaffold7281', 3),
 (u'gnl|BL_ORD_ID|271867 Scaffold344679', 1),
 (u'gnl|BL_ORD_ID|61786 Scaffold155605', 1),
 (u'gnl|BL_ORD_ID|379461 Scaffold7197', 1),
 (u'gnl|BL_ORD_ID|292935 Scaffold36364', 1),
 (u'gnl|BL_ORD_ID|363184 Scaffold5732', 1),
 (u'gnl|BL_ORD_ID|404389 Scaffold94404', 2),
 (u'gnl|BL_ORD_ID|272926 Scaffold345631', 1),
 (u'gnl|BL_ORD_ID|396181 Scaffold87017', 1),
 (u'gnl|BL_ORD_ID|189291 Scaffold27036', 4),
 (u'gnl|BL_ORD_ID|387117 Scaffold78860', 1),
 (u'gnl|BL_ORD_ID|112031 Scaffold200825', 1),
 (u'gnl|BL_ORD_ID|367412 Scaffold61124', 2),
 (u'gnl|BL_ORD_ID|137947 Scaffold22415', 2),
 (u'gnl|BL_ORD_ID|37412 Scaffold133669', 1),
 (u'gnl|BL_ORD_ID|382109 Scaffold74352', 1),
 (u'gnl|BL_ORD_ID|197351 Scaffold277614', 1),
 (u'gnl|BL_ORD_ID|389817 Scaffold8129', 1),
 (u'gnl|BL_ORD_ID|287334 Scaffold3586', 1),
 (u'gnl|BL_ORD_ID|355139 Scaffold50079', 2),
 (u'gnl|BL_ORD_ID|82602 Scaffold17434', 1),
 (u'gnl|BL_ORD_ID|348152 Scaffold43791', 1),
 (u'gnl|BL_ORD_ID|193900 Scaffold274508', 1),
 (u'gnl|BL_ORD_ID|146280 Scaffold23165', 1),
 (u'gnl|BL_ORD_ID|90935 Scaffold18184', 1),
 (u'gnl|BL_ORD_ID|367898 Scaffold61562', 1),
 (u'gnl|BL_ORD_ID|97026 Scaffold187321', 1),
 (u'gnl|BL_ORD_ID|335193 Scaffold401671', 1),
 (u'gnl|BL_ORD_ID|410538 Scaffold9994', 5),
 (u'gnl|BL_ORD_ID|408652 Scaffold98241', 1),
 (u'gnl|BL_ORD_ID|348359 Scaffold43978', 1),
 (u'gnl|BL_ORD_ID|226714 Scaffold30404', 1),
 (u'gnl|BL_ORD_ID|5565 Scaffold105005', 2),
 (u'gnl|BL_ORD_ID|408898 Scaffold98463', 1),
 (u'gnl|BL_ORD_ID|139632 Scaffold225667', 1),
 (u'gnl|BL_ORD_ID|55435 Scaffold149890', 1),
 (u'gnl|BL_ORD_ID|50635 Scaffold14557', 1),
 (u'gnl|BL_ORD_ID|347543 Scaffold43242', 2),
 (u'gnl|BL_ORD_ID|146143 Scaffold231526', 1),
 (u'gnl|BL_ORD_ID|152888 Scaffold237598', 1),
 (u'gnl|BL_ORD_ID|366738 Scaffold60518', 1),
 (u'gnl|BL_ORD_ID|73741 Scaffold166365', 1),
 (u'gnl|BL_ORD_ID|373356 Scaffold66475', 1),
 (u'gnl|BL_ORD_ID|97219 Scaffold187496', 1),
 (u'gnl|BL_ORD_ID|157884 Scaffold242093', 1),
 (u'gnl|BL_ORD_ID|113512 Scaffold202158', 1),
 (u'gnl|BL_ORD_ID|88198 Scaffold179377', 1),
 (u'gnl|BL_ORD_ID|378678 Scaffold71264', 1),
 (u'gnl|BL_ORD_ID|304979 Scaffold37448', 1),
 (u'gnl|BL_ORD_ID|32591 Scaffold12933', 1),
 (u'gnl|BL_ORD_ID|110945 Scaffold19985', 1),
 (u'gnl|BL_ORD_ID|235225 Scaffold31170', 1),
 (u'gnl|BL_ORD_ID|350688 Scaffold46073', 2),
 (u'gnl|BL_ORD_ID|96957 Scaffold18726', 1),
 (u'gnl|BL_ORD_ID|357665 Scaffold52352', 1),
 (u'gnl|BL_ORD_ID|134456 Scaffold221007', 1),
 (u'gnl|BL_ORD_ID|128925 Scaffold21603', 1),
 (u'gnl|BL_ORD_ID|383292 Scaffold75417', 1),
 (u'gnl|BL_ORD_ID|363982 Scaffold58038', 1),
 (u'gnl|BL_ORD_ID|406851 Scaffold96620', 1),
 (u'gnl|BL_ORD_ID|126336 Scaffold21370', 1),
 (u'gnl|BL_ORD_ID|222184 Scaffold299965', 1),
 (u'gnl|BL_ORD_ID|376171 Scaffold69008', 1),
 (u'gnl|BL_ORD_ID|336387 Scaffold402746', 1),
 (u'gnl|BL_ORD_ID|388972 Scaffold80529', 1),
 (u'gnl|BL_ORD_ID|25236 Scaffold12271', 1),
 (u'gnl|BL_ORD_ID|330257 Scaffold39723', 1),
 (u'gnl|BL_ORD_ID|18668 Scaffold1168', 1),
 (u'gnl|BL_ORD_ID|368097 Scaffold61741', 1),
 (u'gnl|BL_ORD_ID|66714 Scaffold16004', 4),
 (u'gnl|BL_ORD_ID|148925 Scaffold23403', 1),
 (u'gnl|BL_ORD_ID|147792 Scaffold23301', 1),
 (u'gnl|BL_ORD_ID|357584 Scaffold5228', 1),
 (u'gnl|BL_ORD_ID|358039 Scaffold5269', 1),
 (u'gnl|BL_ORD_ID|246803 Scaffold32212', 1),
 (u'gnl|BL_ORD_ID|11867 Scaffold110678', 1),
 (u'gnl|BL_ORD_ID|97914 Scaffold188120', 1),
 (u'gnl|BL_ORD_ID|362956 Scaffold57114', 1),
 (u'gnl|BL_ORD_ID|63164 Scaffold156846', 1),
 (u'gnl|BL_ORD_ID|383270 Scaffold75398', 1),
 (u'gnl|BL_ORD_ID|352310 Scaffold47533', 1),
 (u'gnl|BL_ORD_ID|396541 Scaffold87341', 1),
 (u'gnl|BL_ORD_ID|365060 Scaffold59008', 2),
 (u'gnl|BL_ORD_ID|372717 Scaffold6590', 1),
 (u'gnl|BL_ORD_ID|345153 Scaffold41091', 1),
 (u'gnl|BL_ORD_ID|406893 Scaffold96659', 1),
 (u'gnl|BL_ORD_ID|171813 Scaffold25463', 1),
 (u'gnl|BL_ORD_ID|3307 Scaffold102974', 149),
 (u'gnl|BL_ORD_ID|357910 Scaffold52573', 1),
 (u'gnl|BL_ORD_ID|409869 Scaffold99337', 1),
 (u'gnl|BL_ORD_ID|61157 Scaffold155039', 1),
 (u'gnl|BL_ORD_ID|22448 Scaffold12020', 1),
 (u'gnl|BL_ORD_ID|272258 Scaffold34503', 1),
 (u'gnl|BL_ORD_ID|295401 Scaffold36586', 1),
 (u'gnl|BL_ORD_ID|198790 Scaffold27891', 1),
 (u'gnl|BL_ORD_ID|399576 Scaffold90072', 1),
 (u'gnl|BL_ORD_ID|39147 Scaffold13523', 1),
 (u'gnl|BL_ORD_ID|35396 Scaffold131854', 1),
 (u'gnl|BL_ORD_ID|390721 Scaffold82102', 1),
 (u'gnl|BL_ORD_ID|395384 Scaffold8630', 2),
 (u'gnl|BL_ORD_ID|330335 Scaffold39730', 1),
 (u'gnl|BL_ORD_ID|118236 Scaffold20641', 1),
 (u'gnl|BL_ORD_ID|361857 Scaffold56125', 1),
 (u'gnl|BL_ORD_ID|376654 Scaffold69443', 1),
 (u'gnl|BL_ORD_ID|403756 Scaffold93835', 1),
 (u'gnl|BL_ORD_ID|358054 Scaffold52702', 1),
 (u'gnl|BL_ORD_ID|280571 Scaffold352511', 1),
 (u'gnl|BL_ORD_ID|333333 Scaffold4', 1),
 (u'gnl|BL_ORD_ID|375883 Scaffold6875', 1),
 (u'gnl|BL_ORD_ID|407012 Scaffold96766', 1),
 (u'gnl|BL_ORD_ID|96111 Scaffold186499', 1),
 (u'gnl|BL_ORD_ID|271369 Scaffold34423', 2)]