#np typos happen
Explore tagged Tumblr posts
Note
Hi its Dacian min idk if you remember me lol
ahh hello hello!! I do remember.
I've followed ya back.
1 note
·
View note
Text
20 questions for fic writers!
Thanks for the tag @beskarandblasters & @amanitacowboy
1. How many works do you have on AO3?
20, but that's bc i'm lazy and don't want to upload my old eddie fics otherwise we would be around 100 lol
2. What's your total AO3 word count?
238,314
3. What fandoms do you write for?
TLOU, any fandom that Pedro has taken part in, and specifically ST in 2022.
4. Top five fics by kudos
these are all eddie fics i will cry lmao
alone, in my mind don't hang up rentals & records let's have a baby spin the bottle
5. Do you respond to comments?
i try! i get very overwhelmed super quick
6. What is the fic you wrote with the angstiest ending?
Meet Me In The Woods
7. What's the fic you wrote with the happiest ending?
Honestly, I love heartbreaking endings so mine are usually very ambiguous and not super happy/sad either way. But, maybe Moonlight?
8. Do you get hate on fics?
Not anymore, I could talk for hours about the ST fandom, though lmao.
9. Do you write smut?
yes!
10. Craziest crossover?
I am a crossover virgin, it has not happened yet.
11. Have you ever had a fic stolen?
not that i know of!
12. Have you ever had a fic translated?
No
13. Have you ever co-written a fic before?
No, but I'm not against it
14. All time favorite ship?
I write reader fic but if we're being real....I am a destiel girlie til I die.
15. What's a wip you want to finish but doubt you ever will?
I have a lot currently, but I don't think any are too far out of reach.
16. What are your writing strengths?
I wanna say characterization but who fucking knows
17. What are your writing weaknesses?
typos. i am blind. also just repeating myself.
18. Thoughts on dialogue in another language?
loveeeee it, but i would much rather go to someone who speaks the language rather than searching the internet if i use it lol
19. First fandom you wrote in?
Teen Wolf
20. Favorite fic you've written?
Eddie wise: my 'don't hang up' series was probably my favorite thing to write. I think it's sitting at like 9k notes which is wild to me. I really can't pick between my Pedro fics because I genuinely enjoy them all so much.
np tags: anyone who's seeing this and would like to participate! feel free to tag me <3
5 notes
·
View notes
Text
so I got a concussion a couple days ago, long story but I passed out mid conversation with some friends and fell straight back and hit my head directly. still don't know exactly why it happened, I had barely drank all night and smoked a minimal amount of weed, and then just fainted. but anyway, concussion, really been feeling it, not so much in the pain but more in the like mental effects like fogginess, blurriness in vision as well as the type of visual aura I get from migraines, lots of typos and bad typing generally, forgetting pens and keycodes and confusing people's names, vertigo, etc
I don't have money for a doctor and honestly don't really care that much if I die, at least not enough to prevent it, so I didn't get it looked at except by some friends who are former EMTs/NPs and they're like "yeah, definitely a concussion" but it's interesting to sit and be like huh, wonder if this one'll work itself out. but when I got visual tearing tonight again I realized I probably needed to take at least some steps so I got the surreal little experience of writing a little "ok if I'm dead here's my phone code please let me parents know" note. life is full of little moments.
5 notes
·
View notes
Photo
Here are my bingo card for the anniversary and some templates I made for myself later down the line. I will admit I made this cause of KitaSean, but didn’t agree with everything he made in his wonderful video. So decided to make my own for fun. Anyways under cut is me explaining the card. So if you care to know what the bingo card means, then go there.
Bingo line up: From Right to Left First Row:
Archimedes: Honestly I feel he will be in game and be the quick support we need. Kinda like Castoria for buster users after Merlin. If that makes any sense.
Galahad: The 7th anniversary is a shield so he could come out. Everyone sees this, and I am no different.
Rasputin: He’s a NPC in game. Everyone wants this to happen. So might as well put it here for the memes.
Marie Alter: I am a fanboy of Marie and Maire Alter is a dream of mine. So let me live.
Proto Gil: Look....Proto Merlin is never coming to mobile version. So let’s accept Proto Gil as a concept to make Arcade pissed.
Second Row:
Quick support: We have so many Arts and Buster mains. Give us Quick supports other then Skadi. I am tired of using my NP3 version of her. I need another good quick support servant please!
Bond 10 Mashu: Call me crazy but I think because of the shield we might get more Mashu appreciation. So maybe we can finally get her to bond 10? Or grail her. Either or I would be happy with.
Animation update: Look! So many servants need one, and I swear to god they better get one to Jekyll or I’ll flip.
FP Servant: Friend point servant. Okay that’s a typo. I believe we are going to get more then one. So servants. My bad.
300+SQ: 300 saint quartz or over! LETS GOOOOO!
Third Row:
New Merch: They always drop some new merch...Sucks I can never buy it, but it’s going to happen like it dose every year.
GSSR: Payed guaranteed 5 star. They normally do this as well so on the list it goes.
25+ tickets: I believe it’s going to be over 30 (32-35) honestly, but 25 to be safe or in case I am wrong.
USO Pay: Okay crazy idea. But what if they make a bundle in game where you can buy one of these hard fuckers every month? Do you have any idea how much people would spend for that? Oddly enough I can see fgo doing this.
Forth Row:
Prototype collab: Look if proto gil comes and Jekyll has a animation update they BETTER DO IT!
Tsukihime collab: Putting this here for the memes. I want this, and hope they do it, but it’s still very low on this happening.
New Mystic code: Idk I just think we could get a new Mystic code. We will wait and see.
FER news: As odd as I think this is, but what if they talk more about fate extra record? Nero is the only servant we have yet to see the NP of so it could happen.
Servant interrupts Stream: Okay this can go down so many ways. I feel this could be how it starts out with the FER news. It could be Nero taking control of BB channel, or BB talking, or heck might be a servant interrupting for a different reason. I don’t know I just think it could be fun to see if it dose happen.
Fifth Row:
5 + new servants: I honestly think there going to be 7 new servants in total, but I could be wrong so I put 5 plus to be safe.
7th anniversary: It’s just as it says. Everything is going to be in sevens. Seven new servants. 7 things for maybe a shop Da Vinci grab bag, and so on.
New Costumes: New outfits for servants. I don’t know how many or even who is getting them, but I am for it if it happens!
Choose CE: Every year we pick a CE or 2 so on the list it is.
Adult Andersen: My one huge wish. Give me him as a servant or costume. I don’t care I need this NOW!
#dash#fgo#bingo card#//this took me 2 days to make but worth it honestly#//now I am ready for when the stream happens soon.
7 notes
·
View notes
Text
Thank you for your patience, Charity.
I think I wrongly associated the word dreamer with a synonym of the word visionary.
I guess I tried to ask if there is a type that is known for being grounded in reality, responsible yet detail oriented and lost in fantasies at times/ be philosophical.
You see, I tried to assume and start looking into the sensors cause “apparently” they are more common.
I found a character in a book that acts exactly like me, especially when feeling sad which confuses me cause he doesn’t seem like a sensor at all.
He tends to use homework as an escape from problems and feelings, I suspect I have my feeling function in the Tertiary or inferior position on the stack cause I think that is my weakness, besides little outbursts of anger or overthinking, I tend to never speak about my feelings, and showing it through actions (actions speak louder than words~) like acts of service or when someone asks for advice I try to come up with a solution and give them a pat on the back, not necessarily talking about how they feel at first cause I think they need help with their problem, then later we could focus on what they feel.
Have you heard of Sara Mbti on YouTube?
I will link a video, and I am not saying I “relate” to this one in particular but I wanted to ask your opinion since I am a beginner and I thought it was well made.
I have to admit that even without depression I act as I said earlier, tending to be by myself in the most sad cases cause even though I love my friends, and they care about me, I would rather figure it out slowly rather than having a meltdown in front of myself, trying to control what I feel, asking for help when it is necessary.
This is one of the videos of the series (Mbti types in their inferior function grip)
https://youtu.be/mQdagW6gvnw
Sorry for the long texts but I love this blog and to be honest, I wouldn’t really trust other people when it comes to Mbti on Tumblr, cause they just make charts of characters and shows, treating it as a zodiac, that’s why I always come back here for insight.
-------------
Yeah, “dreamer” is better for intuition than “visionary.” Visionary is usually associated with an NJ type, but I would call them more “singular-focused.” This longer explanation is somewhat better. (I would assume you are an intuitive just because there’s a lack of actual detailed evidence in what you provide, as if you are just ‘floating’ in the world and not touching the ground.)
An NP could be ‘grounded in reality’ if they had a somewhat practical and/or fearful Enneagram type that made them want to be realistic and practical and allowed them to develop Te in particular, but their communication with details would be either/or.
Either… a little scattered, unfocused, and forgetful of them, or an over-obsession with them to the point of mild neurosis. (An example from my own life, whenever I get stressed, I become obsessed with irrelevant details – I don’t know which ones to include or leave out, so I meticulously include them all, double and triple checking to make sure I got dates and things right. I even get to a point where I wind up fiddling with the size of my Word Document, to make it more ‘aesthetically pleasing’ for me to write in, rather than just being able to concentrate on writing itself. Or I become fixated with finding every single typo in something, even though I can’t slow down and read ‘deeply enough to force my brain to find them all, and feel like I’m simultaneously bored out of my mind by this tedious task and ‘going too fast.’ Do you have any stories like that, about how your weak sensing function “doesn’t really work”?).
I would say the video is good in the sense that it does illustrate some of what they are hoping to communicate, but I question using Howard Hughes because he had an extreme case of OCD which made these symptoms compulsive and they happened “all the time,” it wasn’t just because of inferior Si, nor do most people’s inferior Si get that bad. I personally have experienced the depressive inferior Si slump – it really is a process of losing all your creativity, imagination, hope for the future, and idealism, and instead becoming convinced that the deeply mentally unsatisfying situation you are in right now is going to continue indefinitely, and feeling a sense of hopeless despair about the ongoing banality of your life, because you can’t see any alternative other than the life you are stuck in here and now. Inferior Si tends to hold to what is familiar in that way, so it drags you down whenever you fall into ‘the grip.’ And because I’m an intuitive, it doesn’t occur to me to do sensory things to get out of it—like change my environment, move somewhere else, get a different job, etc. I just look for intuitive hobbies and mental stimulation in an attempt to try and drag myself out of it – and “resign myself that this is the only life I’ll ever have.” Does any of this sound familiar? I don’t mind living in sameness and doing my responsibilities, as long as I get mental stimulation. That’s all I want. Things to think about.
You seem to use Fi rather than TiFe (how private you are in your feelings, preferring to sort them on your own rather than share them, focusing on Te solutions to other people’s problems, doing rather than talking about your feelings), and assuming you use Ne (it’s unclear here, since you don’t show a strong thinking process or specific intuition other than general vagueness), that would make you NFP rather than NTP. And since you don’t seem feeling dominant and have a strong sense of problem-solving, ENFP might be accurate.
16 notes
·
View notes
Text
numpy cheat sheet mod X4O5!
💾 ►►► DOWNLOAD FILE 🔥🔥🔥🔥🔥 It provides a high-performance multidimensional array object, and tools for working with these arrays. >>> import numpy as np. Use the following import. Cheat Sheet 1: DataCamp NumPy · Cheat Sheet 2: Basic NumPy · Cheat Sheet 3: A Little Bit of Everything · Cheat Sheet 4: Data Science · Cheat Sheet 5: NumPy for. Download a detailed Python NumPy cheat sheet wherein you will learn NumPy import convention, ND array, saving and loading, operations. import numpy as np. Selective import. >>> from math import pi. >>> help(str). Python For Data Science Cheat Sheet. Python Basics. Learn More Python for Data. Numpy cheatsheet. NumPy is the fundamental package for scientific computing with Python. This cheat sheet is a quick reference for NumPy beginners. Work fast with our official CLI. Learn more. If nothing happens, download GitHub Desktop and try again. If nothing happens, download Xcode and try again. There was a problem preparing your codespace, please try again. Found any typos or have a suggestion? Fork, contribute and tune it to your taste! Skip to content. Star 1. This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. Branches Tags. Could not load branches. Could not load tags. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. Latest commit. Git stats 96 commits. Failed to load latest commit information. View code. Python Cheat Sheet This rep is a growing list of Python cheat sheets. MIT license. Releases No releases published. Packages 0 No packages published. Contributors You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window.
1 note
·
View note
Text
Deploy ML Models On AWS Lambda - Code Along
Introduction
The site Analytics Vidhya put out an article titled Deploy Machine Learning Models on AWS Lambda on Medium on August 23, 2019.
I thought this was a great read, and thought I might do a code along and share some of my thoughts and takeaways!
[ Photo by Patrick Brinksma on Unsplash ]
You should be able to follow along with my article and their article at the same time (I would read both) and my article should help you through their article. Their sections numbers don’t make sense (they use 2.3 twice) so I choose to use my own section numbers (hopefully you don’t get too confused there).
Let’s get going!
Preface - Things I Learned The Hard Way
You need to use Linux!
This is a big one. I went through all the instructions using a Windows OS thinking it would all work the same, but numpy on Windows is not the same as numpy on Linux, and AWS Lambda is using Linux.
After Windows didn’t work I switched to an Ubuntu VirtualBox VM only to watch my model call fail again! (Note that the issue was actually with how I was submitting my data via cURL, and not Ubuntu, but more on that to come). At the time I was able to deploy a simple function using my Ubuntu VM, but it seemed that numpy was still doing something weird. I thought maybe the issue was that I needed to use AWS Linux (which is actually different from regular Ubuntu).
To use AWS Linux, you have a few options (from my research):
Deploy an EC2 instance and do everything from the EC2 instance
Get an AWS Linux docker image
Use Amazon Linux WorkSpace
I went with option #3. You could try the other options and let me know how it goes. Here is an article on starting an Amazon Linux WorkSpace:
https://aws.amazon.com/blogs/aws/new-amazon-linux-workspaces/
It takes a while for the workspace to become available, but if you’re willing to wait, I think it’s a nice way to get started. It’s also a nice option if you’re running Windows or Mac and you don’t have a LOT of local memory (more on that in a minute).
Funny thing is that full circle, I don’t think I needed to use Amazon Linux. I think the problem was with how I was submitting my cURL data. So in the end you could probably use any flavor of Linux, but when I finally got it working I was using Amazon WorkSpace, so everything is centered around Amazon Linux WorkSpace (all the steps should be roughly the same for Ubuntu, just replace yum with apt or apt-get and there are a few other changes that should be clear).
Another nice thing about running all of this from Amazon WorkSpace is that it also highlights another service from AWS. And again, it’s also a nice option if you’re running Windows or Mac and you don’t have a LOT of local memory to run a VM. VMs basically live in RAM, so if your machine doesn’t have a nice amount of RAM, your VM experience is going to be ssslllooowwwww. My laptop has ~24GB of RAM, so my VM experience is very smooth.
Watch our for typos!
I reiterate this over and over throughout the article, and I tried to highlight some of the major ones that could leave you pulling your hair out.
Use CloudWatch for debugging!
If you’re at the finish line and everything is working but the final model call, you can view the logs of your model calls under CloudWatch. You can add print statements to your main.py script and this should help you find bugs. I had to do this A LOT and test almost every part of my code to find the final issue (which was a doozy).
Okay, let’s go!
#1 - Build a Model with Libraries SHAP and LightGBM.
The article starts off by building and saving a model. To do this, they grab a open dataset from the package SHAP and use LightGBM to build their model.
Funny enough, SHAP (SHapley Additive exPlanations) is a unified approach to explain the output of any machine learning model. It happens to also have datasets that you can play with. SHAP has a lot of dependencies, so it might be easier to just grab any play dataset rather than installing SHAP if you’ve never installed SHAP before. On the other hand, it’s a great package to be aware of, so in that sense it’s also worth installing (although it’s kind of overkill for our needs here).
Here is the full code to build and save a model to disk using their sample code:
import shap import lightgbm as lgbm
data,labels = shap.datasets.adult()
params = {'objective':'binary', 'booster_type':'gbdt', 'max_depth':6, 'learning_rate':0.05, 'metric':'auc'}
dtrain = lgbm.Dataset(data,labels)
model = lgbm.train(params,dtrain,num_boost_round=100,valid_sets=[dtrain])
model.save_model('saved_adult_model.txt')
Technically you can do this part on any OS, either way I suggest creating a Python venv.
Note that I’m using AWS Linux, which is RedHat based so I’ll be using yum instead of apt or apt-get. First I need python3, so I’ll run:
sudo yum -y install python3
Then I created a new folder, and within that new folder I created a Python venv.
python3 -m venv Lambda_PyVenv
To activate your Python venv just type the following:
source Lambda_PyVenv/bin/activate
Now we need shap and lightgbm. I had some trouble installing shap, so I had to run the following first:
sudo yum install python-devel
sudo yum install libevent-devel
sudo easy_install gevent
Which I got from:
https://stackoverflow.com/questions/11094718/error-command-gcc-failed-with-exit-status-1-while-installing-eventlet
Next I ran:
pip3 install shap
pip3 install lightgbm
And finally I could run:
python3 create_model.py
Note: For file creating and editing I use Atom (if you don’t know how to install atom on Ubuntu, open a new terminal, then I would check out the documentation and just submit the few lines of code from command line).
#2 - Install the Serverless Framework
Next thing you need to do is open a new terminal and install the Serverless Framework on your Linux OS machine.
Something else to keep in mind, if you try to test out npm and serverless from Atom or Sublime consoles, it’s possible you might hit errors. You might want to use your normal terminal from here on out!
Here is a nice article on how to install npm using AWS Linux:
https://tecadmin.net/install-latest-nodejs-and-npm-on-centos/
In short, you need to run:
sudo yum install -y gcc-c++ make
curl -sL https://rpm.nodesource.com/setup_10.x | sudo -E bash -
sudo yum install nodejs
Then to install serverless I just needed to run
sudo npm install -g serverless
Don’t forget to use sudo!
And then I had serverless running on my Linux VM!
#3 - Creating an S3 Bucket and Loading Your Model
The next step is to load your model to S3. The article does this by command line. Another way to do this is to use the AWS Web Console. If you read the first quarter for my article Deep Learning Hyperparameter Optimization using Hyperopt on Amazon Sagemaker I go through a simple way of creating an S3 bucket and loading data (or in this case we’re loading a model).
#4 - Create the Main.py file
Their final main.py file didn’t totally work for me, it was missing some important stuff. In the end my final main.py file looked something like:
import boto3 import lightgbm import numpy as np
def get_model(): bucket= boto3.resource('s3').Bucket('lambda-example-mjy1') bucket.download_file('saved_adult_model.txt','/tmp/test_model.txt') model= lightgbm.Booster(model_file='/tmp/test_model.txt') return model
def predict(event): samplestr = event['body'] print("samplestr: ", samplestr) print("samplestr str:", str(samplestr)) sampnp = np.fromstring(str(samplestr), dtype=int, sep=',').reshape(1,12) print("sampnp: ", sampnp) model = get_model() result = model.predict(sampnp) return result
def lambda_handler(event,context): result1 = predict(event) result = str(result1[0]) return {'statusCode': 200,'headers': { 'Content-Type': 'application/json' },'body': result }
I had to include the ‘header’ section and the body. These needed to be returned as a string in order to not get ‘internal server error’ type errors.
You’ll also notice that I’m taking my input and converting it from a string to a 2d numpy array. I was feeding a 2d array similar to the instructions and this was causing an error. This was the error that caused me to leave Ubuntu for AWS Linux because I thought the error was still related to the OS when it wasn’t. Passing something other than a string will do weird things. It’s better to pass a string and then just convert the string to any format required.
(I can’t stress this enough, this caused me 1.5 days of pain).
#5 - YML File Changes
Next we need to create our .yml file which is required for the serverless framework, and gives necessary instructions for the framework.
For the most part I was able to use their YML file, but below are a few properties I needed to change:
runtime: python3.7
region : us-east-1
deploymentBucket: name : lambda-example-mjy1
iamRoleStatements: - Effect : Allow Action: - s3:GetObject Resource: - "arn:aws:s3:::lambda-example-mjy1/*"
WARNING!!!
s3.GetObject should be s3:GetObject
Don’t get that wrong and spend hours on a blog typo like I did!
If you need to find your region, you can use the following link as a resource:
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html
Also, make sure the region you specify is the same region that your S3 bucket is located in.
#6 - Test What We Have Built Locally
Before you test locally, I think you need your requirements.txt file. For now you could just run:
pip freeze > requirements.txt
Now, if you’re like me and tried to run it locally at this point, you probably hit an error because they never walked you through how to add the serverless-python-requirements plugin!
I found a nice article that walks you through this step:
https://serverless.com/blog/serverless-python-packaging/
You want to follow the section that states ...
“ Our last step before deploying is to add the serverless-python-requirements plugin. Create a package.json file for saving your node dependencies. Accept the defaults, then install the plugin: “
In short, you want to:
submit ‘npm init’ from command line from your project directory
I gave my package name the same as my service name: ‘test-deploy’
The rest I just left blank i.e. just hit enter
Last prompt just enter ‘y’
Finally you can enter ‘sudo npm install --save serverless-python-requirements’ and everything so far should be a success.
Don’t forget to use sudo!
BUT WE’RE NOT DONE!!! (almost there...)
Now we need to do the following (if you haven’t already):
pip3 install boto3
pip3 install awscli
run “aws configure” and enter our Access Key ID and Secret Access Key
Okay, now if we have our main.py file ready to go, we can test locally (’again’) using the following command:
serverless invoke local -f lgbm-lambda --path data.txt
Where our data.txt file contains
{"body":[[3.900e+01, 7.000e+00, 1.300e+01, 4.000e+00, 1.000e+00,
0.000e+00,4.000e+00, 1.000e+00, 2.174e+03, 0.000e+00, 4.000e+01,
3.900e+01]]}
Also, beware of typos!!!!
Up to this point, make sure to look for any typos, like your model having the wrong name in main.py. If you’re using their main.py file and saved your model with the name “saved_adult_model.txt”, then the model name in main.py should be “saved_adult_model.txt”. Watch out for plenty of typos, especially if you’re following along with their code! They didn’t necessarily clean everything :(. If you get stuck, there is a great video at the end of this blog that could help with typo checking.
#7 - The Moment We’ve All Been Waiting For, AWS Lambda Deployment!
Now we need to review our requirements.txt file and remove anything that doesn’t need to be in there. Why? Well, this is very important because AWS Lambda has a 262MB storage limit! That’s pretty small!
If you don’t slim down your requirements.txt you’ll probably hit storage limit errors.
With that in mind, I recommend taking only the files and folders needed and move them to some final folder location where you’ll run “serverless deploy”. You should only need the following:
main.py
package.json
requirements.txt
serverless.yaml
node_modules
package-lock.json
Now from command line within our final folder, we just run ..
serverless deploy
If all goes well, this should deploy everything! This might take a minute, in which case get some coffee and enjoy watching AWS work for you!
And if everything went as planned, then we should be able to test our live deployment using cURL!
curl -X POST https://xxxxxxxxxx.execute-api.xx-xxxx-1.amazonaws.com/dev/predictadult -d "39,7,13,4,1,0,4,1,2174,0,4,33"
Hopefully in the end you receive a model response like I did!
Resources:
https://medium.com/analytics-vidhya/deploy-machine-learning-models-on-aws-lambda-5969b11616bf
https://serverless.com/framework/docs/providers/aws/guide/installation/
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html
https://serverless.com/blog/serverless-python-packaging/
And here is a great live demo from PyData Berlin!
youtube
0 notes
Text
DNA Sequence Data Analysis — Starting off in Bioinformatics
https://medium.com/@vijinimallawaarachchi
In my previous article, I have introduced the basics of DNA, nucleotides and their arrangement. You might be wondering how we can identify the precise order of nucleotides of a DNA molecule. This is where DNA sequencingcomes into action.
What is DNA Sequencing?
Sequencing is the operation of determining the precise order of nucleotides of a given DNA molecule. It is used to determine the order of the four bases adenine (A), guanine (G), cytosine (C) and thymine (T), in a strand of DNA.
DNA sequencing is used to determine the sequence of individual genes, full chromosomes or entire genomes of an organism. DNA sequencing has also become the most efficient way to sequence RNA or proteins.
DNA Molecule (Image Source: https://pixabay.com)
History of Sequencing
The work carried out by a British biochemist named Frederick Sanger, laid the foundation for sequencing proteins. In 1955, Sanger had completed the sequence of all the amino acids in insulin. His work provided evidence that proteins consisted of chemical entities with a specific pattern, rather than a mixture of substances.
Frederick Sanger (Image Source: https://en.wikipedia.org/wiki/DNA_sequencing)
Later, a method named as Sanger Sequencing was developed by Frederick Sanger and his colleagues in 1977, where DNA could be sequenced by generating fragments. It was the most widely used sequencing method for approximately 40 years.
Whole Genome Sequencing and Sequence Assembly
A DNA sequencing reaction produces a sequence that is several hundred bases long. Gene sequences are typically thousands of bases long. The largest known gene is the one associated with Duchenne muscular dystrophy. It is approximately 2.4 million bases in length. In order to study one whole gene, scientists use a simple strategy known as shotgun sequencing. The long DNA sequence is assembled from a series of shorter overlapping sequences. Let’s see what happens in the shotgun sequencing approach.
Shotgun Sequencing
Shotgun Sequencing
Special machines, known as sequencing machines are used to extract short random DNA sequences from a particular genome we wish to determine (target genome). Current DNA sequencing technologies cannot read one whole genome at once. It reads small pieces of between 20 and 30000 bases, depending on the technology used. These short pieces are called reads. Special software are used to assemble these reads according to how they overlap, in order to generate continuous strings called contigs. These contigs can be the whole target genome itself, or parts of the genome (as shown in the above figure).
The process of aligning and merging fragments from a longer DNA sequence, in order to reconstruct the original sequence is known as Sequence Assembly.
In order to obtain the whole genome sequence, we may need to generate more and more random reads, until the contigs match to the target genome.
Sequence Assembly Problem
The sequence assembly problem can be described as follows.
Given a set of sequences, find the minimal length string containing all members of the set as substrings.
Image Source: http://www.homolog.us/Tutorials/index.php?p=1.3&s=1
This problem is further complicated due to the existence of repetitive sequences in the genome as well as substitutions or mutations withing them.
The sequence assembly problem can be compared to a real life scenario as follows.
Assume that you take many copies of a book, pass each of them through a shredder with a different cutter, and then you try to make the text of the book back together just by gluing together the shredded pieces. It is obvious that this task is pretty difficult. Furthermore, there are some extra practical issues as well. The original copy may have many repeated paragraphs, and some shreds may be modified during shredding to have typos. Parts from another book may have also been added in, and some shreds may be completely unrecognizable.
It sounds very confusing and quite impossible to be carried out. This problem is known to be NP Complete. NP complete problems are problems whose status is unknown. No polynomial time algorithm has yet been discovered for any NP complete problem, nor has anybody yet been able to prove that no polynomial-time algorithm exists for any of them. However, there are greedy algorithms to solve the sequence assembly problem, where experiments have proven to perform fairly well in practice.
A common method used to solve the sequence assembly problem and perform sequence data analysis is sequence alignment.
Sequence Alignment
Sequence alignment is a method of arranging sequences of DNA, RNA, or protein to identify regions of similarity. The similarity being identified, may be a result of functional, structural, or evolutionary relationships between the sequences.
If we compare two sequences, it is known as pairwise sequence alignment. If we compare more than two sequences, it is known as multiple sequence alignment.
Next-Generation Sequencing
Next-generation sequencing (NGS), also known as high-throughput sequencing, is the collective term used to describe many different modern sequencing technologies such as,
Illumina (Solexa) sequencing
Roche 454 sequencing
Ion torrent Proton / PGM sequencing
SOLiD sequencing
These recent technologies allow us to sequence DNA and RNA much more quickly and cheaply than the previously used Sanger sequencing, and have revolutionized the study of genomics.
Final Thoughts
Sequence data analysis has become a very important aspect in the field of genomics. Bioinformatics has made the task of analysis much easier for biologists, by providing different software solutions and saving all the tedious manual work.
You can find a list of software tools used for DNA sequencing from here. Furthermore, you can find a list of sequence alignment software from here.
Hope you got a basic idea about sequence data analysis.
In my next article, I will walk you through the details of pairwise sequence alignment and a few common algorithms that are being used in the field.
Since I’m still very new to this field, I would like to hear your advice. 😇
Thanks for reading… 😃
Resource: https://medium.com/towards-data-science/dna-sequence-data-analysis-starting-off-in-bioinformatics-3dba4cea04f
0 notes