Ecoer Logo

@callimico

25

Danish biology student with a passion for animals, language learning and musical composition among other things

steemit.com/@callimico
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.007USD
STEEM
0.000STEEM
SBD
0.000SBD
Effective Power
5.001SP
├── Own SP
0.125SP
└── Incoming Deleg
+4.876SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.125SP
Delegated Out
0.000SP
Delegation In
4.876SP
Effective Power
5.001SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.000SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "204.170338 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7939.489468 VESTS",
  "sbd_balance": "0.000 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

namecallimico
id850133
rank304,608
reputation149201016
created2018-03-13T10:40:51
recovery_accountsteem
proxyNone
post_count12
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-03-22T16:43:48
last_root_post2018-03-22T16:43:48
last_vote_time2018-03-21T10:27:21
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.000 STEEM
savings_balance0.000 STEEM
sbd_balance0.000 SBD
savings_sbd_balance0.000 SBD
vesting_shares204.170338 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares7939.489468 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update2018-03-21T11:02:24
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "id": 850133,
  "name": "callimico",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6eryEdGuEfRmobm3DW6USMYtAXRoxHCVoQTeu3rfw7i8bPnsdy",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7b2wQARmY9x3tgwSLr1LBPJyeVKx8vLJ25iZJv1i4XzHEfSoEK",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM8AaDL3PW9ydqjBVJojTkcKLLtVQkVi9U2Q5mQpyPUD9ytx5cHC",
        1
      ]
    ]
  },
  "memo_key": "STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr",
  "json_metadata": "{\"profile\":{\"profile_image\":\"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg\",\"about\":\"Danish biology student with a passion for animals, language learning and musical composition among other things\"}}",
  "posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg\",\"about\":\"Danish biology student with a passion for animals, language learning and musical composition among other things\"}}",
  "proxy": "",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_account_update": "2018-03-21T11:02:24",
  "created": "2018-03-13T10:40:51",
  "mined": false,
  "recovery_account": "steem",
  "last_account_recovery": "1970-01-01T00:00:00",
  "reset_account": "null",
  "comment_count": 0,
  "lifetime_vote_count": 0,
  "post_count": 12,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": "8143659806",
    "last_update_time": 1779056796
  },
  "downvote_manabar": {
    "current_mana": 2035914951,
    "last_update_time": 1779056796
  },
  "voting_power": 0,
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "0.000 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "1970-01-01T00:00:00",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "vesting_shares": "204.170338 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7939.489468 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "withdrawn": 0,
  "to_withdraw": 0,
  "withdraw_routes": 0,
  "curation_rewards": 0,
  "posting_rewards": 0,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2018-03-22T16:43:48",
  "last_root_post": "2018-03-22T16:43:48",
  "last_vote_time": "2018-03-21T10:27:21",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": 149201016,
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 304608
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 4.876 SP to @callimico
2026/05/17 22:26:36
delegatorsteem
delegateecallimico
vesting shares7939.489468 VESTS
Transaction InfoBlock #106141286/Trx 8ece5fb7542a18c24365f7ac00539506f61d98a6
View Raw JSON Data
{
  "trx_id": "8ece5fb7542a18c24365f7ac00539506f61d98a6",
  "block": 106141286,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-17T22:26:36",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "7939.489468 VESTS"
    }
  ]
}
steemdelegated 3.210 SP to @callimico
2026/05/11 20:38:30
delegatorsteem
delegateecallimico
vesting shares5227.279063 VESTS
Transaction InfoBlock #105967096/Trx d006e87d6a15794eea736deb0a7aacd15b901b80
View Raw JSON Data
{
  "trx_id": "d006e87d6a15794eea736deb0a7aacd15b901b80",
  "block": 105967096,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-11T20:38:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "5227.279063 VESTS"
    }
  ]
}
steemdelegated 4.883 SP to @callimico
2026/04/25 21:50:18
delegatorsteem
delegateecallimico
vesting shares7952.005224 VESTS
Transaction InfoBlock #105508989/Trx f8c43102e02df9248220ba4bdc73151f21dfacdf
View Raw JSON Data
{
  "trx_id": "f8c43102e02df9248220ba4bdc73151f21dfacdf",
  "block": 105508989,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-04-25T21:50:18",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "7952.005224 VESTS"
    }
  ]
}
steemdelegated 3.236 SP to @callimico
2026/01/23 03:02:06
delegatorsteem
delegateecallimico
vesting shares5268.825882 VESTS
Transaction InfoBlock #102846106/Trx 2a6590b373c93055af7d1170125093be885fe27f
View Raw JSON Data
{
  "trx_id": "2a6590b373c93055af7d1170125093be885fe27f",
  "block": 102846106,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-01-23T03:02:06",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "5268.825882 VESTS"
    }
  ]
}
steemdelegated 3.337 SP to @callimico
2024/12/16 22:21:27
delegatorsteem
delegateecallimico
vesting shares5433.045079 VESTS
Transaction InfoBlock #91292513/Trx a67f2980b00e4be79e285867d814d019229ac01d
View Raw JSON Data
{
  "trx_id": "a67f2980b00e4be79e285867d814d019229ac01d",
  "block": 91292513,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2024-12-16T22:21:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "5433.045079 VESTS"
    }
  ]
}
steemdelegated 3.440 SP to @callimico
2023/11/13 14:06:27
delegatorsteem
delegateecallimico
vesting shares5602.178611 VESTS
Transaction InfoBlock #79846774/Trx f8364dc65a7715337a356856b1069d002227575a
View Raw JSON Data
{
  "trx_id": "f8364dc65a7715337a356856b1069d002227575a",
  "block": 79846774,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-11-13T14:06:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "5602.178611 VESTS"
    }
  ]
}
steemdelegated 5.244 SP to @callimico
2023/09/21 19:43:45
delegatorsteem
delegateecallimico
vesting shares8539.457397 VESTS
Transaction InfoBlock #78345321/Trx 7e242e8913107f82435d1eebd45d7a5e0e6c90a9
View Raw JSON Data
{
  "trx_id": "7e242e8913107f82435d1eebd45d7a5e0e6c90a9",
  "block": 78345321,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-09-21T19:43:45",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "8539.457397 VESTS"
    }
  ]
}
steemdelegated 5.380 SP to @callimico
2022/11/03 09:45:30
delegatorsteem
delegateecallimico
vesting shares8761.138835 VESTS
Transaction InfoBlock #69110939/Trx 51b2bb296c56205460d5e69a9ec2bff4f45a4b16
View Raw JSON Data
{
  "trx_id": "51b2bb296c56205460d5e69a9ec2bff4f45a4b16",
  "block": 69110939,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-11-03T09:45:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "8761.138835 VESTS"
    }
  ]
}
steemdelegated 5.516 SP to @callimico
2022/01/17 09:10:54
delegatorsteem
delegateecallimico
vesting shares8981.672066 VESTS
Transaction InfoBlock #60807298/Trx eb13e0ee99907aa3174ae419768fa8fe3c674ca6
View Raw JSON Data
{
  "trx_id": "eb13e0ee99907aa3174ae419768fa8fe3c674ca6",
  "block": 60807298,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-01-17T09:10:54",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "8981.672066 VESTS"
    }
  ]
}
steemdelegated 5.629 SP to @callimico
2021/06/13 23:10:30
delegatorsteem
delegateecallimico
vesting shares9165.440724 VESTS
Transaction InfoBlock #54605775/Trx bc26840f88ac4f0e97806e8f9f01d28b6eef3f43
View Raw JSON Data
{
  "trx_id": "bc26840f88ac4f0e97806e8f9f01d28b6eef3f43",
  "block": 54605775,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2021-06-13T23:10:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "9165.440724 VESTS"
    }
  ]
}
steemdelegated 5.744 SP to @callimico
2020/12/11 09:31:42
delegatorsteem
delegateecallimico
vesting shares9352.862698 VESTS
Transaction InfoBlock #49353297/Trx 6c81573e169a6b291b124a610b053c16206dce00
View Raw JSON Data
{
  "trx_id": "6c81573e169a6b291b124a610b053c16206dce00",
  "block": 49353297,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-11T09:31:42",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "9352.862698 VESTS"
    }
  ]
}
steemdelegated 1.175 SP to @callimico
2020/12/06 03:09:09
delegatorsteem
delegateecallimico
vesting shares1912.543513 VESTS
Transaction InfoBlock #49204867/Trx f7378ff01f71635be8a38d6dfed89e482a32b976
View Raw JSON Data
{
  "trx_id": "f7378ff01f71635be8a38d6dfed89e482a32b976",
  "block": 49204867,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-06T03:09:09",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "1912.543513 VESTS"
    }
  ]
}
steemdelegated 5.748 SP to @callimico
2020/12/05 11:06:03
delegatorsteem
delegateecallimico
vesting shares9359.229337 VESTS
Transaction InfoBlock #49185971/Trx 6845af4f64635228fa654bf3119e67244d5f10d4
View Raw JSON Data
{
  "trx_id": "6845af4f64635228fa654bf3119e67244d5f10d4",
  "block": 49185971,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-05T11:06:03",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "9359.229337 VESTS"
    }
  ]
}
steemdelegated 1.179 SP to @callimico
2020/11/02 12:07:54
delegatorsteem
delegateecallimico
vesting shares1920.017158 VESTS
Transaction InfoBlock #48253674/Trx d082049b4f8c1b8c3b3ede939eb8f1bb520a9f37
View Raw JSON Data
{
  "trx_id": "d082049b4f8c1b8c3b3ede939eb8f1bb520a9f37",
  "block": 48253674,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-11-02T12:07:54",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "1920.017158 VESTS"
    }
  ]
}
steemdelegated 5.872 SP to @callimico
2020/05/09 04:04:33
delegatorsteem
delegateecallimico
vesting shares9561.875911 VESTS
Transaction InfoBlock #43215088/Trx 7cf1a9d6c2a80a35776e729da30a1b588bc0de98
View Raw JSON Data
{
  "trx_id": "7cf1a9d6c2a80a35776e729da30a1b588bc0de98",
  "block": 43215088,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-09T04:04:33",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "9561.875911 VESTS"
    }
  ]
}
steemdelegated 1.200 SP to @callimico
2020/05/08 07:25:54
delegatorsteem
delegateecallimico
vesting shares1953.311140 VESTS
Transaction InfoBlock #43190894/Trx f7873b0f77d8898b22c0c54b19e8a1bd4e5820f5
View Raw JSON Data
{
  "trx_id": "f7873b0f77d8898b22c0c54b19e8a1bd4e5820f5",
  "block": 43190894,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-08T07:25:54",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "1953.311140 VESTS"
    }
  ]
}
2020/03/13 11:19:15
parent authorcallimico
parent permlinknew-series-pain-in-animals
authorsteemitboard
permlinksteemitboard-notify-callimico-20200313t111914000z
title
bodyCongratulations @callimico! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@callimico/birthday2.png</td><td>Happy Steem Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@callimico) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=callimico)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board"><img src="https://steemitimages.com/64x128/https://steemitimages.com/0x0/![](https://cdn.steemitimages.com/DQmUuJkZdnSpHVWssxF82ntymqXg4Pvk6K6bYvckUYVRsnj/image.png)"></a></td><td><a href="https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board">Downvote challenge - Add up to 3 funny badges to your board</a></td></tr></table> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #41614271/Trx 5b58591fbbc63c15b440f87c4eb4868171ef9a33
View Raw JSON Data
{
  "trx_id": "5b58591fbbc63c15b440f87c4eb4868171ef9a33",
  "block": 41614271,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-03-13T11:19:15",
  "op": [
    "comment",
    {
      "parent_author": "callimico",
      "parent_permlink": "new-series-pain-in-animals",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-callimico-20200313t111914000z",
      "title": "",
      "body": "Congratulations @callimico! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@callimico/birthday2.png</td><td>Happy Steem Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@callimico) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=callimico)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board\"><img src=\"https://steemitimages.com/64x128/https://steemitimages.com/0x0/![](https://cdn.steemitimages.com/DQmUuJkZdnSpHVWssxF82ntymqXg4Pvk6K6bYvckUYVRsnj/image.png)\"></a></td><td><a href=\"https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board\">Downvote challenge - Add up to 3 funny badges to your board</a></td></tr></table>\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 5.989 SP to @callimico
2019/06/13 17:28:51
delegatorsteem
delegateecallimico
vesting shares9751.789617 VESTS
Transaction InfoBlock #33769285/Trx 059a73a966a387fb867ab41ebb5886bcc01eb686
View Raw JSON Data
{
  "trx_id": "059a73a966a387fb867ab41ebb5886bcc01eb686",
  "block": 33769285,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-06-13T17:28:51",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "9751.789617 VESTS"
    }
  ]
}
2019/03/13 17:41:18
parent authorcallimico
parent permlinknew-series-pain-in-animals
authorsteemitboard
permlinksteemitboard-notify-callimico-20190313t174118000z
title
bodyCongratulations @callimico! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@callimico/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@callimico) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=callimico)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter"><img src="https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmYGN7R653u4hDFyq1hM7iuhr2bdAP1v2ApACDNtecJAZ5/image.png"></a></td><td><a href="https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter">Are you a DrugWars early adopter? Benvenuto in famiglia!</a></td></tr></table> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #31123448/Trx 454bebb2d780f1d167a1b204f233ccdec69e9aba
View Raw JSON Data
{
  "trx_id": "454bebb2d780f1d167a1b204f233ccdec69e9aba",
  "block": 31123448,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-03-13T17:41:18",
  "op": [
    "comment",
    {
      "parent_author": "callimico",
      "parent_permlink": "new-series-pain-in-animals",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-callimico-20190313t174118000z",
      "title": "",
      "body": "Congratulations @callimico! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@callimico/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@callimico) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=callimico)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter\"><img src=\"https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmYGN7R653u4hDFyq1hM7iuhr2bdAP1v2ApACDNtecJAZ5/image.png\"></a></td><td><a href=\"https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter\">Are you a DrugWars early adopter? Benvenuto in famiglia!</a></td></tr></table>\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 6.111 SP to @callimico
2018/06/21 18:24:06
delegatorsteem
delegateecallimico
vesting shares9950.935683 VESTS
Transaction InfoBlock #23523181/Trx 508b179a19445eef29d9835cfea413a0c80e895f
View Raw JSON Data
{
  "trx_id": "508b179a19445eef29d9835cfea413a0c80e895f",
  "block": 23523181,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-06-21T18:24:06",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "callimico",
      "vesting_shares": "9950.935683 VESTS"
    }
  ]
}
2018/03/24 10:55:33
parent authorcallimico
parent permlinkwhy-we-trust-in-dna-to-tell-us-how-organisms-are-related
authoringkelimeler
permlinkre-callimico-why-we-trust-in-dna-to-tell-us-how-organisms-are-related-20180324t105530183z
title
bodySource?
json metadata{"tags":["science"],"app":"steemit/0.1"}
Transaction InfoBlock #20953161/Trx 35555291a06639cad180e19ee784fefe42409303
View Raw JSON Data
{
  "trx_id": "35555291a06639cad180e19ee784fefe42409303",
  "block": 20953161,
  "trx_in_block": 23,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-24T10:55:33",
  "op": [
    "comment",
    {
      "parent_author": "callimico",
      "parent_permlink": "why-we-trust-in-dna-to-tell-us-how-organisms-are-related",
      "author": "ingkelimeler",
      "permlink": "re-callimico-why-we-trust-in-dna-to-tell-us-how-organisms-are-related-20180324t105530183z",
      "title": "",
      "body": "Source?",
      "json_metadata": "{\"tags\":[\"science\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/03/22 16:43:48
parent author
parent permlinkscience
authorcallimico
permlinknew-series-pain-in-animals
titleNew series: Pain in animals
bodyJust last month, [Switzerland became the first country in the world to ban the practice of boiling lobsters alive](https://www.independent.co.uk/news/science/lobsters-boil-alive-cooking-ban-taste-animal-pain-uk-switzerland-welfare-a8217921.html#commentsDiv). But do lobsters even feel pain? In my upcoming posts, I will talk about pain in animals, what we know and what we don't know. ### But first, an introduction I've cared deeply about animals for as long as I can remember. So great was my childhood fascination that I decided to become a biologist already in elementary school. As I'm currently in the process of writing my Master's thesis in biology, that dream has almost come true. For a self-proclaimed friend of animals, however, the topic of my thesis may come across as paradoxical: pain in crustaceans. I'm torturing crabs, basically. ![](https://steemitimages.com/DQmer7yNB9TKjHczGrkVMUv9grMw9nfRLMEBj6w4kyx12At/image.png) "You monster!" [Image by D. Hazerli](https://commons.wikimedia.org/wiki/File:Common_shore_crab_2.JPG) Allow me a few lines to justify my actions: 1. The purpose of my experiments is to find out _if_ crustaceans are capable of suffering. If not, I've done no harm. If they do, I take solace in the fact that... 1. ... the stuff I'm subjecting my crabs to is quite mild (a spray of hot water on the claw) and causes no visible injuries. But still, why study pain in crustaceans? For one thing, many are treated harshly by humans. Lobsters are boiled alive, crabs have their claws ripped off and [prawns have their eyestalks cut off to increase fertility](https://www.omicsonline.org/the-effects-of-eyestalk-ablation-on-the-reproductive-and-immune-function-of-female-macrobrachium-americanum-2155-9546.1000156.php?aid=10097); if crustaceans do suffer, they suffer a lot! Crustaceans are interesting experimental subjects, because their nervous system is simpler than the ones in animals we currently believe to feel pain, i.e. mostly vertebrates (here's [a review](https://www.researchgate.net/publication/266794956_Defining_and_assessing_animal_pain)). In other words, demonstrating behaviour in crustaceans consistent with pain would lower the threshold at which we start to assume pain in animals based on brain capacity. If an animal can feel pain, it also means that it has a form of consciousness. Which is what really fascinates me the most. You and I might care about animals, but to what extent do the animals themselves care about anything? Crustaceans belong to the arthropods, the most numerous animal group on the planet, both in terms of species and number of individuals. The group also includes insects, chelicerates (e.g. spiders and scorpions) and myriapods (millipedes and centipedes). If just a fraction of these creatures feel pain, then the amount of suffering in the world is much greater than we might have anticipated. ![](https://steemitimages.com/DQmP7yB114rtVTVgHqYuDNq9NDZhBPfh7LHjUiGSDq2pazD/image.png) [Image by Nick Beeson](https://commons.wikimedia.org/wiki/File:AnimalsRelativeNumbers.png) Or maybe you've already anticipated it. A common reaction from people I tell about my research (oh, the awkward first encounters...) is this: "But why shouldn't they feel pain?" This is not just anthropomorphism. Several of my conversation partners note that pain is an evolutionary advantage that allows us to detect when something hurts us, so we can avoid it. This would seem to be the case for crabs and humans alike. ### Nociception and pain However, inability to feel pain does not entail failure to detect harm. In pain research, a distinction is made between nociception and pain. Nociception is the ability to record painful stimuli as sensory input. These input may be used to trigger reflex actions that require no conscious awareness. Alternatively, they may provoke pain. Pain is a subjective feeling of discomfort, something that makes it notoriously difficult to study in non-human animals (and sometimes in humans, too). To appreciate the fact that nociception is a distinct phenomenon, consider the classic case of putting your hand on a hot stove. It hurts, so you quickly withdraw your hand. Except, [that's not the order of events](http://physiologyplus.com/withdrawal-reflex/). As you touch the stove, nervous signals travel to the spinal cord and then back to the muscles in your arm. Other signals continue up the spinal cord and into your brain where a series of brain centers collectively produce the unpleasant sensation of burning. This processing takes time, and by the time you become aware of your mistake, you've already moved your hand. What's the point in pain, then? [Several options have been suggested](http://www.bib.uab.es/veter/expo/benestar/assessment%20of%20pain.pdf). One of them is that pain allows us to remember harmful experiences, so we can avoid them in the future. Keep our hands off the stove, so to speak. One way of distinguishing nociception from pain in animals could therefore be to demonstrate learning in response to a noxious stimulus. Another way is to demonstrate a motivational trade-off, i.e. showing that the animal responds differently to the same noxious stimulus, if the motivation to endure it is altered. None of these methods are perfect. Motivational trade-offs and learning behaviour can both be encoded in a robot, a presumably painless system. Nevertheless, given that robots can even be made to mimic human pain to a great extent, there has to be a point where we accord to other animals the benefit of the doubt. A clear demonstration of learning from harm could be this point. How do crustaceans fare in this regard? Have a look in [the review I mentioned](https://www.researchgate.net/publication/266794956_Defining_and_assessing_animal_pain) or stay tuned for my next post.
json metadata{"tags":["science","biology","animals","pain","nature"],"image":["https://steemitimages.com/DQmer7yNB9TKjHczGrkVMUv9grMw9nfRLMEBj6w4kyx12At/image.png","https://steemitimages.com/DQmP7yB114rtVTVgHqYuDNq9NDZhBPfh7LHjUiGSDq2pazD/image.png"],"links":["https://www.independent.co.uk/news/science/lobsters-boil-alive-cooking-ban-taste-animal-pain-uk-switzerland-welfare-a8217921.html#commentsDiv","https://commons.wikimedia.org/wiki/File:Common_shore_crab_2.JPG","https://www.omicsonline.org/the-effects-of-eyestalk-ablation-on-the-reproductive-and-immune-function-of-female-macrobrachium-americanum-2155-9546.1000156.php?aid=10097","https://www.researchgate.net/publication/266794956_Defining_and_assessing_animal_pain","https://commons.wikimedia.org/wiki/File:AnimalsRelativeNumbers.png","http://physiologyplus.com/withdrawal-reflex/","http://www.bib.uab.es/veter/expo/benestar/assessment%20of%20pain.pdf"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20902836/Trx 927c506f101934a3fbe6f1922f722e883ced6f87
View Raw JSON Data
{
  "trx_id": "927c506f101934a3fbe6f1922f722e883ced6f87",
  "block": 20902836,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-22T16:43:48",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "new-series-pain-in-animals",
      "title": "New series: Pain in animals",
      "body": "Just last month, [Switzerland became the first country in the world to ban the practice of boiling lobsters alive](https://www.independent.co.uk/news/science/lobsters-boil-alive-cooking-ban-taste-animal-pain-uk-switzerland-welfare-a8217921.html#commentsDiv). But do lobsters even feel pain? In my upcoming posts, I will talk about pain in animals, what we know and what we don't know.\n\n### But first, an introduction\n\nI've cared deeply about animals for as long as I can remember. So great was my childhood fascination that I decided to become a biologist already in elementary school. As I'm currently in the process of writing my Master's thesis in biology, that dream has almost come true. For a self-proclaimed friend of animals, however, the topic of my thesis may come across as paradoxical: pain in crustaceans. I'm torturing crabs, basically. \n\n![](https://steemitimages.com/DQmer7yNB9TKjHczGrkVMUv9grMw9nfRLMEBj6w4kyx12At/image.png)\n\"You monster!\" [Image by D. Hazerli](https://commons.wikimedia.org/wiki/File:Common_shore_crab_2.JPG)\n\nAllow me a few lines to justify my actions:\n\n1. The purpose of my experiments is to find out _if_ crustaceans are capable of suffering.  If not, I've done no harm. If they do, I take solace in the fact that...\n1. ... the stuff I'm subjecting  my crabs to is quite mild (a spray of hot water on the claw) and causes no visible injuries.\n\nBut still, why study pain in crustaceans? For one thing, many are treated harshly by humans. Lobsters are boiled alive, crabs have their claws ripped off and [prawns have their eyestalks cut off to increase fertility](https://www.omicsonline.org/the-effects-of-eyestalk-ablation-on-the-reproductive-and-immune-function-of-female-macrobrachium-americanum-2155-9546.1000156.php?aid=10097); if crustaceans do suffer, they suffer a lot!\n\nCrustaceans are interesting experimental subjects, because their nervous system is simpler than the ones in animals we currently believe to feel pain, i.e. mostly vertebrates (here's [a review](https://www.researchgate.net/publication/266794956_Defining_and_assessing_animal_pain)). In other words, demonstrating behaviour in crustaceans consistent with pain would lower the threshold at which we start to assume pain in animals based on brain capacity. If an animal can feel pain, it also means that it has a form of consciousness. Which is what really fascinates me the most. You and I might care about animals, but to what extent do the animals themselves care about anything?\n\nCrustaceans belong to the arthropods, the most numerous animal group on the planet, both in terms of species and number of individuals. The group also includes insects, chelicerates (e.g. spiders and scorpions) and myriapods (millipedes and centipedes). If just a fraction of these creatures feel pain, then the amount of suffering in the world is much greater than we might have anticipated.\n\n![](https://steemitimages.com/DQmP7yB114rtVTVgHqYuDNq9NDZhBPfh7LHjUiGSDq2pazD/image.png)\n[Image by Nick Beeson](https://commons.wikimedia.org/wiki/File:AnimalsRelativeNumbers.png)\n\nOr maybe you've already anticipated it. A common reaction from people I tell about my research (oh, the awkward first encounters...) is this:\n\n\"But why shouldn't they feel pain?\"\n\nThis is not just anthropomorphism. Several of my conversation partners note that pain is an evolutionary advantage that allows us to detect when something hurts us, so we can avoid it. This would seem to be the case for crabs and humans alike.\n\n### Nociception and pain\n\nHowever, inability to feel pain does not entail failure to detect harm. In pain research, a distinction is made between nociception and pain. Nociception is the ability to record painful stimuli as sensory input. These input may be used to trigger reflex actions that require no conscious awareness. Alternatively, they may provoke pain. Pain is a subjective feeling of discomfort, something that makes it notoriously difficult to study in non-human animals (and sometimes in humans, too). To appreciate the fact that nociception is a distinct phenomenon, consider the classic case of putting your hand on a hot stove. It hurts, so you quickly withdraw your hand. Except, [that's not the order of events](http://physiologyplus.com/withdrawal-reflex/). As you touch the stove, nervous signals travel to the spinal cord and then back to the muscles in your arm. Other signals continue up the spinal cord and into your brain where a series of brain centers collectively produce the unpleasant sensation of burning. This processing takes time, and by the time you become aware of your mistake, you've already moved your hand. What's the point in pain, then? [Several options have been suggested](http://www.bib.uab.es/veter/expo/benestar/assessment%20of%20pain.pdf). One of them is that pain allows us to remember harmful experiences, so we can avoid them in the future. Keep our hands off the stove, so to speak. \n\nOne way of distinguishing nociception from pain in animals could therefore be to demonstrate learning in response to a noxious stimulus. Another way is to demonstrate a motivational trade-off, i.e. showing that the animal responds differently to the same noxious stimulus, if the motivation to endure it is altered.\n\nNone of these methods are perfect. Motivational trade-offs and learning behaviour can both be encoded in a robot, a presumably painless system. Nevertheless, given that robots can even be made to mimic human pain to a great extent, there has to be a point where we accord to other animals the benefit of the doubt. A clear demonstration of learning from harm could be this point.\n\nHow do crustaceans fare in this regard? Have a look in [the review I mentioned](https://www.researchgate.net/publication/266794956_Defining_and_assessing_animal_pain) or stay tuned for my next post.",
      "json_metadata": "{\"tags\":[\"science\",\"biology\",\"animals\",\"pain\",\"nature\"],\"image\":[\"https://steemitimages.com/DQmer7yNB9TKjHczGrkVMUv9grMw9nfRLMEBj6w4kyx12At/image.png\",\"https://steemitimages.com/DQmP7yB114rtVTVgHqYuDNq9NDZhBPfh7LHjUiGSDq2pazD/image.png\"],\"links\":[\"https://www.independent.co.uk/news/science/lobsters-boil-alive-cooking-ban-taste-animal-pain-uk-switzerland-welfare-a8217921.html#commentsDiv\",\"https://commons.wikimedia.org/wiki/File:Common_shore_crab_2.JPG\",\"https://www.omicsonline.org/the-effects-of-eyestalk-ablation-on-the-reproductive-and-immune-function-of-female-macrobrachium-americanum-2155-9546.1000156.php?aid=10097\",\"https://www.researchgate.net/publication/266794956_Defining_and_assessing_animal_pain\",\"https://commons.wikimedia.org/wiki/File:AnimalsRelativeNumbers.png\",\"http://physiologyplus.com/withdrawal-reflex/\",\"http://www.bib.uab.es/veter/expo/benestar/assessment%20of%20pain.pdf\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/21 19:14:36
parent authorcallimico
parent permlinkre-mike00632-re-callimico-alternative-approach-to-subtractions-20180321t104041236z
authormike00632
permlinkre-callimico-re-mike00632-re-callimico-alternative-approach-to-subtractions-20180321t191433381z
title
bodyI wodered that because I was thinking about more efficient ways to write programs that perform arithmatic.
json metadata{"tags":["math"],"app":"steemit/0.1"}
Transaction InfoBlock #20877125/Trx c5410af127cd432673d8d75db7d56ea1d1d80551
View Raw JSON Data
{
  "trx_id": "c5410af127cd432673d8d75db7d56ea1d1d80551",
  "block": 20877125,
  "trx_in_block": 36,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-21T19:14:36",
  "op": [
    "comment",
    {
      "parent_author": "callimico",
      "parent_permlink": "re-mike00632-re-callimico-alternative-approach-to-subtractions-20180321t104041236z",
      "author": "mike00632",
      "permlink": "re-callimico-re-mike00632-re-callimico-alternative-approach-to-subtractions-20180321t191433381z",
      "title": "",
      "body": "I wodered that because I was thinking about more efficient ways to write programs that perform arithmatic.",
      "json_metadata": "{\"tags\":[\"math\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
callimicoupdated their account properties
2018/03/21 11:02:24
accountcallimico
memo keySTM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr
json metadata{"profile":{"profile_image":"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg","about":"Danish biology student with a passion for animals, language learning and musical composition among other things"}}
Transaction InfoBlock #20867403/Trx 94acf1ae07dbf19ba5db6dba14e5fd3be1d2486c
View Raw JSON Data
{
  "trx_id": "94acf1ae07dbf19ba5db6dba14e5fd3be1d2486c",
  "block": 20867403,
  "trx_in_block": 53,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-21T11:02:24",
  "op": [
    "account_update",
    {
      "account": "callimico",
      "memo_key": "STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg\",\"about\":\"Danish biology student with a passion for animals, language learning and musical composition among other things\"}}"
    }
  ]
}
2018/03/21 10:56:36
required auths[]
required posting auths["callimico"]
idfollow
json["follow",{"follower":"callimico","following":"mike00632","what":["blog"]}]
Transaction InfoBlock #20867292/Trx 7b28bdec7d612fc4ce243b0d5f580e809edeb11f
View Raw JSON Data
{
  "trx_id": "7b28bdec7d612fc4ce243b0d5f580e809edeb11f",
  "block": 20867292,
  "trx_in_block": 41,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-21T10:56:36",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "callimico"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"callimico\",\"following\":\"mike00632\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/03/21 10:42:18
parent author
parent permlinkmath
authorcallimico
permlinkalternative-approach-to-subtractions
titleAlternative approach to subtractions
bodyConsider the following calculation: ![](https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png) In elementary school, I was taught to solve this kind of problem by borrowing tens to fill in the missing ones, hundreds to fill in missing tens and so on: ![](https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png) This method is annoying in cases where you have to do a lot of borrowing, so I came up with an alternative approach. Whereas subtraction from a number like 2018 is likely to involve some borrowing (since 2, 0 and 1 are low digits), the number 999 never will. Therefore, let’s split up the previous problem like this: ![](https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png) This subtraction is much faster to make than the previous one, but now we need to add the difference between 2018 and 999. Fortunately, we don’t have to think hard to find this difference: simply subtract one from the first digit in 2018 and add one to the last: ![](https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png) Then, do the addition: ![](https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png) Problem solved! Here’s the general two-step procedure for subtracting a number y from a number x: 1: Subtract y from a number consisting of as many 9’s as the number of digits in x, minus 1. Don’t waste time writing out every 9; just use a shorthand like this: ![](https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png) 2: Add the result to the number x from which you’ve lowered the first digit by 1 and increased the last digit by 1. If you’re accustomed to the classic method I mentioned at the beginning, you might not find my approach to be faster right away. However, it is advantageous in calculations where x and y are large, and y has higher digit values than x. Here’s a full solution to a subtraction problem, with x=210323 and y=89669: ![](https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png) Do you know a better method for doing subtractions by hand? Please let me know!
json metadata{"tags":["math","mathematics","algebra","algorithm","numbers"],"image":["https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png","https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png","https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png","https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png","https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png","https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png","https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20867020/Trx 6b03ee1643465951356c3715b31fe2cc90c78f22
View Raw JSON Data
{
  "trx_id": "6b03ee1643465951356c3715b31fe2cc90c78f22",
  "block": 20867020,
  "trx_in_block": 44,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-21T10:42:18",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "math",
      "author": "callimico",
      "permlink": "alternative-approach-to-subtractions",
      "title": "Alternative approach to subtractions",
      "body": "Consider the following calculation:\n\n![](https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png)\n\nIn elementary school, I was taught to solve this kind of problem by borrowing tens to fill in the missing ones, hundreds to fill in missing tens and so on:\n\n![](https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png)\n\nThis method is annoying in cases where you have to do a lot of borrowing, so I came up with an alternative approach. Whereas subtraction from a number like 2018 is likely to involve some borrowing (since 2, 0 and 1 are low digits), the number 999 never will. Therefore, let’s split up the previous problem like this:\n\n![](https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png) \n\nThis subtraction is much faster to make than the previous one, but now we need to add the difference between 2018 and 999. Fortunately, we don’t have to think hard to find this difference: simply subtract one from the first digit in 2018 and add one to the last:\n\n![](https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png)\n\nThen, do the addition:\n\n![](https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png)\n\nProblem solved! Here’s the general two-step procedure for subtracting a number y from a number x:\n\n1: Subtract y from a number consisting of as many 9’s as the number of digits in x, minus 1. Don’t waste time writing out every 9; just use a shorthand like this:\n\n![](https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png)\n\n2: Add the result to the number x from which you’ve lowered the first digit by 1 and increased the last digit by 1.\n\nIf you’re accustomed to the classic method I mentioned at the beginning, you might not find my approach to be faster right away. However, it is advantageous in calculations where x and y are large, and y has higher digit values than x.\nHere’s a full solution to a subtraction problem, with x=210323 and y=89669:\n\n![](https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png)\n\nDo you know a better method for doing subtractions by hand? Please let me know!",
      "json_metadata": "{\"tags\":[\"math\",\"mathematics\",\"algebra\",\"algorithm\",\"numbers\"],\"image\":[\"https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png\",\"https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png\",\"https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png\",\"https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png\",\"https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png\",\"https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png\",\"https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/21 10:40:42
parent authormike00632
parent permlinkre-callimico-alternative-approach-to-subtractions-20180320t192109932z
authorcallimico
permlinkre-mike00632-re-callimico-alternative-approach-to-subtractions-20180321t104041236z
title
bodyIf forced to write out the steps, then the old method is definitely faster for an example like 2018 - 9. But I would argue that you shouldn't require any algorithm to solve that one ;). For typical elementary school puzzles, the difference in effort required to carry out the calculations is negligible, in which case the old method may be preferable, because it's more obvious from the writing what is going on. As the number of digits increase, I believe the amount of extra time required increases less with my method.
json metadata{"tags":["math"],"app":"steemit/0.1"}
Transaction InfoBlock #20866989/Trx 19c0bd9192168de11bf10926e62ce7a7a20f3718
View Raw JSON Data
{
  "trx_id": "19c0bd9192168de11bf10926e62ce7a7a20f3718",
  "block": 20866989,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-21T10:40:42",
  "op": [
    "comment",
    {
      "parent_author": "mike00632",
      "parent_permlink": "re-callimico-alternative-approach-to-subtractions-20180320t192109932z",
      "author": "callimico",
      "permlink": "re-mike00632-re-callimico-alternative-approach-to-subtractions-20180321t104041236z",
      "title": "",
      "body": "If forced to write out the steps, then the old method is definitely faster for an example like 2018 - 9. But I would argue that you shouldn't require any algorithm to solve that one ;). \n\nFor typical elementary school puzzles, the difference in effort required to carry out the calculations is negligible, in which case the old method may be preferable, because it's more obvious from the writing what is going on. As the number of digits increase, I believe the amount of extra time required increases less with my method.",
      "json_metadata": "{\"tags\":[\"math\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/03/21 10:27:21
votercallimico
authormike00632
permlinkre-callimico-alternative-approach-to-subtractions-20180320t192109932z
weight10000 (100.00%)
Transaction InfoBlock #20866736/Trx 3c56f071dd73d47870b89e91921733818f782bab
View Raw JSON Data
{
  "trx_id": "3c56f071dd73d47870b89e91921733818f782bab",
  "block": 20866736,
  "trx_in_block": 28,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-21T10:27:21",
  "op": [
    "vote",
    {
      "voter": "callimico",
      "author": "mike00632",
      "permlink": "re-callimico-alternative-approach-to-subtractions-20180320t192109932z",
      "weight": 10000
    }
  ]
}
2018/03/20 19:21:12
parent authorcallimico
parent permlinkalternative-approach-to-subtractions
authormike00632
permlinkre-callimico-alternative-approach-to-subtractions-20180320t192109932z
title
bodyBeautiful. This certainly is more efficient for examples like the one you've shown (2018 - 779), but what about (2018 - 9)? I wonder what method is the most efficient on average.
json metadata{"tags":["math"],"app":"steemit/0.1"}
Transaction InfoBlock #20848866/Trx f386b106c9cd8b37ca4196f4f1d4a5a0a48d2156
View Raw JSON Data
{
  "trx_id": "f386b106c9cd8b37ca4196f4f1d4a5a0a48d2156",
  "block": 20848866,
  "trx_in_block": 15,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-20T19:21:12",
  "op": [
    "comment",
    {
      "parent_author": "callimico",
      "parent_permlink": "alternative-approach-to-subtractions",
      "author": "mike00632",
      "permlink": "re-callimico-alternative-approach-to-subtractions-20180320t192109932z",
      "title": "",
      "body": "Beautiful. This certainly is more efficient for examples like the one you've shown (2018 - 779), but what about (2018 - 9)? I wonder what method is the most efficient on average.",
      "json_metadata": "{\"tags\":[\"math\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/03/20 19:17:18
votermike00632
authorcallimico
permlinkalternative-approach-to-subtractions
weight10000 (100.00%)
Transaction InfoBlock #20848788/Trx 3b714fb62b19d4432bab057acaaafc329be99b45
View Raw JSON Data
{
  "trx_id": "3b714fb62b19d4432bab057acaaafc329be99b45",
  "block": 20848788,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-20T19:17:18",
  "op": [
    "vote",
    {
      "voter": "mike00632",
      "author": "callimico",
      "permlink": "alternative-approach-to-subtractions",
      "weight": 10000
    }
  ]
}
2018/03/20 17:28:54
voterkeyball
authorcallimico
permlinkalternative-approach-to-subtractions
weight2854 (28.54%)
Transaction InfoBlock #20846622/Trx 31dd4c1dbbfd06eadc86122f631764405ab83633
View Raw JSON Data
{
  "trx_id": "31dd4c1dbbfd06eadc86122f631764405ab83633",
  "block": 20846622,
  "trx_in_block": 50,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-20T17:28:54",
  "op": [
    "vote",
    {
      "voter": "keyball",
      "author": "callimico",
      "permlink": "alternative-approach-to-subtractions",
      "weight": 2854
    }
  ]
}
2018/03/20 17:28:39
parent authorcallimico
parent permlinkalternative-approach-to-subtractions
authorkeyball
permlinkre-callimico-2018320t132838818z
title
bodyKey word borrow equals usery ! We were taught wrong to begin with !But I see a lot of us are waking up ! I you have some time check up on my post on why the Computer Keyboard Is Dead !
json metadata{"tags":["math","mathematics","numbers","algorithm","methods"],"app":"esteem/1.5.1","format":"markdown+html","community":"esteem"}
Transaction InfoBlock #20846617/Trx 1c0135f75ca4166e3b8c12a0a997caa141f0639d
View Raw JSON Data
{
  "trx_id": "1c0135f75ca4166e3b8c12a0a997caa141f0639d",
  "block": 20846617,
  "trx_in_block": 63,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-20T17:28:39",
  "op": [
    "comment",
    {
      "parent_author": "callimico",
      "parent_permlink": "alternative-approach-to-subtractions",
      "author": "keyball",
      "permlink": "re-callimico-2018320t132838818z",
      "title": "",
      "body": "Key word borrow equals usery ! We were taught wrong to begin with !But I see a lot of us are waking up ! I  you have some time check up on my post on why the Computer Keyboard Is Dead !",
      "json_metadata": "{\"tags\":[\"math\",\"mathematics\",\"numbers\",\"algorithm\",\"methods\"],\"app\":\"esteem/1.5.1\",\"format\":\"markdown+html\",\"community\":\"esteem\"}"
    }
  ]
}
2018/03/20 17:17:57
parent author
parent permlinkmath
authorcallimico
permlinkalternative-approach-to-subtractions
titleAlternative approach to subtractions
bodyConsider the following calculation: ![](https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png) In elementary school, I was taught to solve this kind of problem by borrowing tens to fill in the missing ones, hundreds to fill in missing tens and so on: ![](https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png) This method is annoying in cases where you have to do a lot of borrowing, so I came up with an alternative approach. Whereas subtraction from a number like 2018 is likely to involve some borrowing (since 2, 0 and 1 are low digits), the number 999 never will. Therefore, let’s split up the previous problem like this: ![](https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png) This subtraction is much faster to make than the previous one, but now we need to add the difference between 2018 and 999. Fortunately, we don’t have to think hard to find this difference: simply subtract one from the first digit in 2018 and add one to the last: ![](https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png) Then, do the addition: ![](https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png) Problem solved! Here’s the general two-step procedure for subtracting a number y from a number x: 1: Subtract y from a number consisting of as many 9’s as the number of digits in x, minus 1. Don’t waste time writing out every 9; just use a shorthand like this: ![](https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png) 2: Add the result to the number x from which you’ve lowered the first digit by 1 and increased the last digit by 1. If you’re accustomed to the classic method I mentioned at the beginning, you might not find my approach to be faster right away. However, it is advantageous in calculations where x and y are large, and y has higher digit values than x. Here’s a full solution to a subtraction problem, with x=210323 and y=89669: ![](https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png) Do you know a better method for doing subtractions by hand? Please let me know!
json metadata{"tags":["math","mathematics","numbers","algorithm","methods"],"image":["https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png","https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png","https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png","https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png","https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png","https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png","https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20846403/Trx fa083d240c3e44b7dad26e68a98d79ca49efb196
View Raw JSON Data
{
  "trx_id": "fa083d240c3e44b7dad26e68a98d79ca49efb196",
  "block": 20846403,
  "trx_in_block": 55,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-20T17:17:57",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "math",
      "author": "callimico",
      "permlink": "alternative-approach-to-subtractions",
      "title": "Alternative approach to subtractions",
      "body": "Consider the following calculation:\n\n![](https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png)\n\nIn elementary school, I was taught to solve this kind of problem by borrowing tens to fill in the missing ones, hundreds to fill in missing tens and so on:\n\n![](https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png)\n\nThis method is annoying in cases where you have to do a lot of borrowing, so I came up with an alternative approach. Whereas subtraction from a number like 2018 is likely to involve some borrowing (since 2, 0 and 1 are low digits), the number 999 never will. Therefore, let’s split up the previous problem like this:\n\n![](https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png) \n\nThis subtraction is much faster to make than the previous one, but now we need to add the difference between 2018 and 999. Fortunately, we don’t have to think hard to find this difference: simply subtract one from the first digit in 2018 and add one to the last:\n\n![](https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png)\n\nThen, do the addition:\n\n![](https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png)\n\nProblem solved! Here’s the general two-step procedure for subtracting a number y from a number x:\n\n1: Subtract y from a number consisting of as many 9’s as the number of digits in x, minus 1. Don’t waste time writing out every 9; just use a shorthand like this:\n\n![](https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png)\n\n2: Add the result to the number x from which you’ve lowered the first digit by 1 and increased the last digit by 1.\n\nIf you’re accustomed to the classic method I mentioned at the beginning, you might not find my approach to be faster right away. However, it is advantageous in calculations where x and y are large, and y has higher digit values than x.\nHere’s a full solution to a subtraction problem, with x=210323 and y=89669:\n\n![](https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png)\n\nDo you know a better method for doing subtractions by hand? Please let me know!",
      "json_metadata": "{\"tags\":[\"math\",\"mathematics\",\"numbers\",\"algorithm\",\"methods\"],\"image\":[\"https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png\",\"https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png\",\"https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png\",\"https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png\",\"https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png\",\"https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png\",\"https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/20 17:09:21
parent author
parent permlinkmath
authorcallimico
permlinkalternative-approach-to-subtractions
titleAlternative approach to subtractions
bodyConsider the following calculation: ![](https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png) In elementary school, I was taught to solve this kind of problem by borrowing tens to fill in the missing ones, hundreds to fill in missing tens and so on: ![](https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png) This method is annoying in cases where you have to do a lot of borrowing, so I came up with an alternative approach. Whereas subtraction from a number like 2018 is likely to involve some borrowing (since 2, 0 and 1 are low digits), the number 999 never will. Therefore, let’s split up the previous problem like this: ![](https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png) This subtraction is much faster to make than the previous one, but now we need to add the difference between 2018 and 999. Fortunately, we don’t have to think hard to find this difference: simply subtract one from the first digit in 2018 and add one to the last: ![](https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png) Then, do the addition: ![](https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png) Problem solved! Here’s the general two-step procedure for subtracting a number y from a number x: 1: Subtract y from a number consisting of as many 9’s as the number of digits in x, minus 1. Don’t waste time writing out every 9; just use a shorthand like this: ![](https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png) 2: Add the result to the number x from which you’ve lowered the first digit by 1 and increased the last digit by 1. If you’re accustomed to the classic method I mentioned at the beginning, you might not find my approach to be faster right away. However, it is advantageous in calculations where x and y are large, and y has higher digit values than x. Here’s a full solution to a subtraction problem, with x=210323 and y=89669: ![](https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png) Do you know a better method for doing subtractions by hand? Please let me know!
json metadata{"tags":["math","algorithm","numbers","methods","arithmetics"],"image":["https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png","https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png","https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png","https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png","https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png","https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png","https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20846231/Trx e826c9c29a34aa048d88d7fc4e78bb41fe59d337
View Raw JSON Data
{
  "trx_id": "e826c9c29a34aa048d88d7fc4e78bb41fe59d337",
  "block": 20846231,
  "trx_in_block": 61,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-20T17:09:21",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "math",
      "author": "callimico",
      "permlink": "alternative-approach-to-subtractions",
      "title": "Alternative approach to subtractions",
      "body": "Consider the following calculation:\n\n![](https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png)\n\nIn elementary school, I was taught to solve this kind of problem by borrowing tens to fill in the missing ones, hundreds to fill in missing tens and so on:\n\n![](https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png)\n\nThis method is annoying in cases where you have to do a lot of borrowing, so I came up with an alternative approach. Whereas subtraction from a number like 2018 is likely to involve some borrowing (since 2, 0 and 1 are low digits), the number 999 never will. Therefore, let’s split up the previous problem like this:\n\n![](https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png) \n\nThis subtraction is much faster to make than the previous one, but now we need to add the difference between 2018 and 999. Fortunately, we don’t have to think hard to find this difference: simply subtract one from the first digit in 2018 and add one to the last:\n\n![](https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png)\n\nThen, do the addition:\n\n![](https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png)\n\nProblem solved! Here’s the general two-step procedure for subtracting a number y from a number x:\n\n1: Subtract y from a number consisting of as many 9’s as the number of digits in x, minus 1. Don’t waste time writing out every 9; just use a shorthand like this:\n\n![](https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png)\n\n2: Add the result to the number x from which you’ve lowered the first digit by 1 and increased the last digit by 1.\n\nIf you’re accustomed to the classic method I mentioned at the beginning, you might not find my approach to be faster right away. However, it is advantageous in calculations where x and y are large, and y has higher digit values than x.\nHere’s a full solution to a subtraction problem, with x=210323 and y=89669:\n\n![](https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png)\n\nDo you know a better method for doing subtractions by hand? Please let me know!",
      "json_metadata": "{\"tags\":[\"math\",\"algorithm\",\"numbers\",\"methods\",\"arithmetics\"],\"image\":[\"https://steemitimages.com/DQmSYFFBBe6UjaYzWpvumy24ZdZaZpV59tQjCNepn4fnPpg/image.png\",\"https://steemitimages.com/DQmPRMsSVHE6cdje4k1KCzu8cuJt3aA53pyrg5BDEtR84uD/image.png\",\"https://steemitimages.com/DQmT8pNiWMQ23tETLsfq2LqjrjGLsGSs3bd1WMNacZjmDhS/image.png\",\"https://steemitimages.com/DQmQUnTt5RN6dDwrVENuKmotVzeyDbBtstoMJ2iFdAQCS6d/image.png\",\"https://steemitimages.com/DQmWag4VVD1fMgLeQCNtiFTNakH59Lqf1sA6G6UusYC9Fbn/image.png\",\"https://steemitimages.com/DQmPD4bTq5D7oJQTV6RYf5SpEyXzMVsLhresChYL7XgPGKE/image.png\",\"https://steemitimages.com/DQmb81GxxBtCa64TJJTLrEBaJ9YvKPvSddxWsFjRJmDNpg9/image.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/20 15:48:06
votercallimico
authorlukestokes
permlinkworking-on-a-long-steemit-post-save-the-draft-as-a-github-gist-file
weight10000 (100.00%)
Transaction InfoBlock #20844610/Trx 250b0d4b45e78ff87385f83851345b8b46a1a1c6
View Raw JSON Data
{
  "trx_id": "250b0d4b45e78ff87385f83851345b8b46a1a1c6",
  "block": 20844610,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-20T15:48:06",
  "op": [
    "vote",
    {
      "voter": "callimico",
      "author": "lukestokes",
      "permlink": "working-on-a-long-steemit-post-save-the-draft-as-a-github-gist-file",
      "weight": 10000
    }
  ]
}
2018/03/20 15:43:15
votercallimico
authorbacchist
permlinksave-draft-posts
weight10000 (100.00%)
Transaction InfoBlock #20844514/Trx 5fa013ccb8f77c0f7360056333ec16bd94d431a7
View Raw JSON Data
{
  "trx_id": "5fa013ccb8f77c0f7360056333ec16bd94d431a7",
  "block": 20844514,
  "trx_in_block": 33,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-20T15:43:15",
  "op": [
    "vote",
    {
      "voter": "callimico",
      "author": "bacchist",
      "permlink": "save-draft-posts",
      "weight": 10000
    }
  ]
}
2018/03/18 14:31:24
votercallimico
authorteamsteem
permlinkre-xyzashu-re-teamsteem-re-xyzashu-plants-do-feel-pain-but-why-do-vegans-argue-otherwise-20180305t021757115z
weight10000 (100.00%)
Transaction InfoBlock #20785517/Trx 5573156648777b9025de9cf3112eb13cf9cc8e44
View Raw JSON Data
{
  "trx_id": "5573156648777b9025de9cf3112eb13cf9cc8e44",
  "block": 20785517,
  "trx_in_block": 40,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-18T14:31:24",
  "op": [
    "vote",
    {
      "voter": "callimico",
      "author": "teamsteem",
      "permlink": "re-xyzashu-re-teamsteem-re-xyzashu-plants-do-feel-pain-but-why-do-vegans-argue-otherwise-20180305t021757115z",
      "weight": 10000
    }
  ]
}
2018/03/18 14:31:00
votercallimico
authorteamsteem
permlinkre-xyzashu-plants-do-feel-pain-but-why-do-vegans-argue-otherwise-20180304t023355651z
weight10000 (100.00%)
Transaction InfoBlock #20785509/Trx 5d35441810527614a508d12176aa1e594ccbf03f
View Raw JSON Data
{
  "trx_id": "5d35441810527614a508d12176aa1e594ccbf03f",
  "block": 20785509,
  "trx_in_block": 52,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-18T14:31:00",
  "op": [
    "vote",
    {
      "voter": "callimico",
      "author": "teamsteem",
      "permlink": "re-xyzashu-plants-do-feel-pain-but-why-do-vegans-argue-otherwise-20180304t023355651z",
      "weight": 10000
    }
  ]
}
2018/03/18 14:29:09
parent authorh725
parent permlinkdo-invertebrates-feel-pain
authorcallimico
permlinkre-h725-do-invertebrates-feel-pain-20180318t142911168z
title
bodyNice read! I liked this part in particular: "In conclusion, the difficulty of drawing a line between the species that can be used without any concern and the pain-sensitive species in the same group, does not by itself justify drawing an arbitrary line." I've been working on/off on the topic of pain in crustaceans for about a year now, and I still don't know what to believe. In my opinion, the article by Magee and Elwood currently provides some of the best support in favor of pain, (along with this http://science.sciencemag.org/content/344/6189/1293). And yet, it's not terribly convincing. If you have a look at Fig. 1 in Magee and Elwood's article, you'll see that on the tenth trial, about a third of all crabs still entered a shock chamber. Better than would be expected by change, but not much. If the learning ability of crabs is really this bad, one can't help but wonder how much they benefit from it in nature. If the answer is: "they don't", then what benefit does pain provide that nociceptive reflexes don't? The fact that anxiety-like behavior can be induced with electric shock and then removed pharmacologically in the same way in humans and crayfish (see the linked article) makes me think that decapods do feel pain. But I won't feel safe in drawing that conclusion until I've seen evidence of more complex harm-induced learning.
json metadata{"tags":["animals"],"links":["http://science.sciencemag.org/content/344/6189/1293"],"app":"steemit/0.1"}
Transaction InfoBlock #20785472/Trx 4fb93a8cccb25c55b7fa063e8abbec6bb29bfded
View Raw JSON Data
{
  "trx_id": "4fb93a8cccb25c55b7fa063e8abbec6bb29bfded",
  "block": 20785472,
  "trx_in_block": 58,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-18T14:29:09",
  "op": [
    "comment",
    {
      "parent_author": "h725",
      "parent_permlink": "do-invertebrates-feel-pain",
      "author": "callimico",
      "permlink": "re-h725-do-invertebrates-feel-pain-20180318t142911168z",
      "title": "",
      "body": "Nice read! I liked this part in particular: \"In conclusion, the difficulty of drawing a line between the species that can be used without any concern and the pain-sensitive species in the same group, does not by itself justify drawing an arbitrary line.\"\n\nI've been working on/off on the topic of pain in crustaceans for about a year now, and I still don't know what to believe. In my opinion, the article by Magee and Elwood currently provides some of the best support in favor of pain, (along with this http://science.sciencemag.org/content/344/6189/1293). And yet, it's not terribly convincing. If you have a look at Fig. 1 in Magee and Elwood's article, you'll see that on the tenth trial, about a third of all crabs still entered a shock chamber. Better than would be expected by change, but not much. If the learning ability of crabs is really this bad, one can't help but wonder how much they benefit from it in nature. If the answer is: \"they don't\", then what benefit does pain provide that nociceptive reflexes don't?\n\nThe fact that anxiety-like behavior can be induced with electric shock and then removed pharmacologically in the same way in humans and crayfish (see the linked article) makes me think that decapods do feel pain. But I won't feel safe in drawing that conclusion until I've seen evidence of more complex harm-induced learning.",
      "json_metadata": "{\"tags\":[\"animals\"],\"links\":[\"http://science.sciencemag.org/content/344/6189/1293\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/03/18 13:43:21
votercallimico
authorh725
permlinkdo-invertebrates-feel-pain
weight10000 (100.00%)
Transaction InfoBlock #20784556/Trx 65e085d1d2d8fcc9d1b2a062f1217ea8cd3f71f3
View Raw JSON Data
{
  "trx_id": "65e085d1d2d8fcc9d1b2a062f1217ea8cd3f71f3",
  "block": 20784556,
  "trx_in_block": 23,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-18T13:43:21",
  "op": [
    "vote",
    {
      "voter": "callimico",
      "author": "h725",
      "permlink": "do-invertebrates-feel-pain",
      "weight": 10000
    }
  ]
}
2018/03/18 01:38:18
parent authorcallimico
parent permlinkhow-to-draw-an-evolutionary-tree-ii-maximum-parsimony
authorsteemitboard
permlinksteemitboard-notify-callimico-20180318t013817000z
title
bodyCongratulations @callimico! You have completed some achievement on Steemit and have been rewarded with new badge(s) : [![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/votes.png)](http://steemitboard.com/@callimico) Award for the number of upvotes Click on any badge to view your own Board of Honor on SteemitBoard. For more information about SteemitBoard, click [here](https://steemit.com/@steemitboard) If you no longer want to receive notifications, reply to this comment with the word `STOP` > Upvote this notification to help all Steemit users. Learn why [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)!
json metadata{"image":["https://steemitboard.com/img/notifications.png"]}
Transaction InfoBlock #20770057/Trx f9f99179adad90cdce3f72371c24804eca7ef22a
View Raw JSON Data
{
  "trx_id": "f9f99179adad90cdce3f72371c24804eca7ef22a",
  "block": 20770057,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-18T01:38:18",
  "op": [
    "comment",
    {
      "parent_author": "callimico",
      "parent_permlink": "how-to-draw-an-evolutionary-tree-ii-maximum-parsimony",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-callimico-20180318t013817000z",
      "title": "",
      "body": "Congratulations @callimico! You have completed some achievement on Steemit and have been rewarded with new badge(s) :\n\n[![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/votes.png)](http://steemitboard.com/@callimico) Award for the number of upvotes\n\nClick on any badge to view your own Board of Honor on SteemitBoard.\nFor more information about SteemitBoard, click [here](https://steemit.com/@steemitboard)\n\nIf you no longer want to receive notifications, reply to this comment with the word `STOP`\n\n> Upvote this notification to help all Steemit users. Learn why [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notifications.png\"]}"
    }
  ]
}
2018/03/17 19:37:45
parent author
parent permlinkscience
authorcallimico
permlinkhow-to-draw-an-evolutionary-tree-ii-maximum-parsimony
titleHow to draw an evolutionary tree II: maximum parsimony
body@@ -4379,16 +4379,23 @@ O. Baum + (2008) : %22Under
json metadata{"tags":["science","evolution","math","biology","bioinformatics"],"image":["https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png","https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png","https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png","https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png","https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png","https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png"],"links":["https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma","http://iubio.bio.indiana.edu/treeapp/treeprint-form.html"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20762851/Trx 82b49b7bdbf8827909dd3e622921d61ba647c740
View Raw JSON Data
{
  "trx_id": "82b49b7bdbf8827909dd3e622921d61ba647c740",
  "block": 20762851,
  "trx_in_block": 38,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-17T19:37:45",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "how-to-draw-an-evolutionary-tree-ii-maximum-parsimony",
      "title": "How to draw an evolutionary tree II: maximum parsimony",
      "body": "@@ -4379,16 +4379,23 @@\n  O. Baum\n+ (2008)\n : %22Under\n",
      "json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"biology\",\"bioinformatics\"],\"image\":[\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\",\"https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png\",\"https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png\",\"https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png\",\"https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png\",\"https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png\"],\"links\":[\"https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma\",\"http://iubio.bio.indiana.edu/treeapp/treeprint-form.html\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/17 19:37:09
parent author
parent permlinkscience
authorcallimico
permlinkhow-to-draw-an-evolutionary-tree-upgma
titleHow to draw an evolutionary tree: UPGMA
body@@ -4053,16 +4053,23 @@ O. Baum + (2008) : %22Under
json metadata{"tags":["science","evolution","math","bioinformatics","biology"],"image":["https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png","https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png","https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png","https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png","https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png","https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png"],"links":["https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies","https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related","http://iubio.bio.indiana.edu/treeapp/treeprint-form.html"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20762839/Trx 3ab813a184055c3b11e5607b58209b9da7a996c2
View Raw JSON Data
{
  "trx_id": "3ab813a184055c3b11e5607b58209b9da7a996c2",
  "block": 20762839,
  "trx_in_block": 22,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-17T19:37:09",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "how-to-draw-an-evolutionary-tree-upgma",
      "title": "How to draw an evolutionary tree: UPGMA",
      "body": "@@ -4053,16 +4053,23 @@\n  O. Baum\n+ (2008)\n : %22Under\n",
      "json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"bioinformatics\",\"biology\"],\"image\":[\"https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png\",\"https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png\",\"https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png\",\"https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png\",\"https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png\",\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\"],\"links\":[\"https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies\",\"https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related\",\"http://iubio.bio.indiana.edu/treeapp/treeprint-form.html\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/17 19:29:03
parent author
parent permlinkscience
authorcallimico
permlinkhow-to-draw-an-evolutionary-tree-upgma
titleHow to draw an evolutionary tree: UPGMA
body@@ -3889,88 +3889,8 @@ tree -, drawn with tools from http://iubio.bio.indiana.edu/treeapp/treeprint-form.html :%0A%0A! @@ -3993,12 +3993,180 @@ %2520tree.png) +%0A%0A### Book reference%0AMarketa Zvelebil and Jeremy O. Baum: %22Understanding Bioinformatics%22%0A%0A### Tree-drawing tool%0Ahttp://iubio.bio.indiana.edu/treeapp/treeprint-form.html
json metadata{"tags":["science","evolution","math","bioinformatics","biology"],"image":["https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png","https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png","https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png","https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png","https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png","https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png"],"links":["https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies","https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related","http://iubio.bio.indiana.edu/treeapp/treeprint-form.html"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20762677/Trx b60b299ab0f4a5948e90e3c56065c7634e261539
View Raw JSON Data
{
  "trx_id": "b60b299ab0f4a5948e90e3c56065c7634e261539",
  "block": 20762677,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-17T19:29:03",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "how-to-draw-an-evolutionary-tree-upgma",
      "title": "How to draw an evolutionary tree: UPGMA",
      "body": "@@ -3889,88 +3889,8 @@\n tree\n-, drawn with tools from http://iubio.bio.indiana.edu/treeapp/treeprint-form.html\n :%0A%0A!\n@@ -3993,12 +3993,180 @@\n %2520tree.png)\n+%0A%0A### Book reference%0AMarketa Zvelebil and Jeremy O. Baum: %22Understanding Bioinformatics%22%0A%0A### Tree-drawing tool%0Ahttp://iubio.bio.indiana.edu/treeapp/treeprint-form.html\n",
      "json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"bioinformatics\",\"biology\"],\"image\":[\"https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png\",\"https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png\",\"https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png\",\"https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png\",\"https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png\",\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\"],\"links\":[\"https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies\",\"https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related\",\"http://iubio.bio.indiana.edu/treeapp/treeprint-form.html\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/17 19:26:30
parent author
parent permlinkscience
authorcallimico
permlinkhow-to-draw-an-evolutionary-tree-ii-maximum-parsimony
titleHow to draw an evolutionary tree II: maximum parsimony
body@@ -4323,8 +4323,176 @@ arisons. +%0A%0A### Book reference%0AMarketa Zvelebil and Jeremy O. Baum: %22Understanding Bioinformatics%22%0A%0A### Tree-drawing tool%0Ahttp://iubio.bio.indiana.edu/treeapp/treeprint-form.html
json metadata{"tags":["science","evolution","math","biology","bioinformatics"],"image":["https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png","https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png","https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png","https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png","https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png","https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png"],"links":["https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma","http://iubio.bio.indiana.edu/treeapp/treeprint-form.html"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20762626/Trx 5b9972d507c3821222eaba4b3ed874deba8adf1a
View Raw JSON Data
{
  "trx_id": "5b9972d507c3821222eaba4b3ed874deba8adf1a",
  "block": 20762626,
  "trx_in_block": 33,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-17T19:26:30",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "how-to-draw-an-evolutionary-tree-ii-maximum-parsimony",
      "title": "How to draw an evolutionary tree II: maximum parsimony",
      "body": "@@ -4323,8 +4323,176 @@\n arisons.\n+%0A%0A### Book reference%0AMarketa Zvelebil and Jeremy O. Baum: %22Understanding Bioinformatics%22%0A%0A### Tree-drawing tool%0Ahttp://iubio.bio.indiana.edu/treeapp/treeprint-form.html\n",
      "json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"biology\",\"bioinformatics\"],\"image\":[\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\",\"https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png\",\"https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png\",\"https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png\",\"https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png\",\"https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png\"],\"links\":[\"https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma\",\"http://iubio.bio.indiana.edu/treeapp/treeprint-form.html\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/17 19:22:21
parent author
parent permlinkscience
authorcallimico
permlinkhow-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm
titleHow to compare two DNA sequences by hand - the Needleman-Wunsch algorithm
body@@ -140,16 +140,17 @@ ilable ( +%5B here's o @@ -151,18 +151,18 @@ re's one -: +%5D( https:// @@ -298,16 +298,17 @@ omeLink) +) . Still,
json metadata{"tags":["science","math","genetics","bioinformatics","evolution"],"image":["https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png","https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png","https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png","https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png","https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png","https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png","https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png","https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png","https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png","https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png","https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png","https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png"],"links":["https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20762543/Trx d6004afa01e0a560c273a4698faa3714565b1b6a
View Raw JSON Data
{
  "trx_id": "d6004afa01e0a560c273a4698faa3714565b1b6a",
  "block": 20762543,
  "trx_in_block": 60,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-17T19:22:21",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm",
      "title": "How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm",
      "body": "@@ -140,16 +140,17 @@\n ilable (\n+%5B\n here's o\n@@ -151,18 +151,18 @@\n re's one\n-: \n+%5D(\n https://\n@@ -298,16 +298,17 @@\n omeLink)\n+)\n . Still,\n",
      "json_metadata": "{\"tags\":[\"science\",\"math\",\"genetics\",\"bioinformatics\",\"evolution\"],\"image\":[\"https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png\",\"https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png\",\"https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png\",\"https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png\",\"https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png\",\"https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png\",\"https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png\",\"https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png\",\"https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png\",\"https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png\",\"https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png\",\"https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png\"],\"links\":[\"https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/17 19:19:00
parent author
parent permlinkscience
authorcallimico
permlinkhow-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm
titleHow to compare two DNA sequences by hand - the Needleman-Wunsch algorithm
body@@ -7120,16 +7120,139 @@ YnjXp/image.png) +%0A%0A### Book reference%0ACaroline St. Clair and Jonathan E. Visick (2015): %22Exploring Bioinformatics: A Project-based Approach%22
json metadata{"tags":["science","math","genetics","bioinformatics","evolution"],"image":["https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png","https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png","https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png","https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png","https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png","https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png","https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png","https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png","https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png","https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png","https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png","https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png"],"links":["https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&amp;PROG_DEF=blastn&amp;BLAST_PROG_DEF=blastn&amp;BLAST_SPEC=GlobalAln&amp;LINK_LOC=BlastHomeLink"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20762476/Trx e1757e86817384589834e8b8eb3256373b346a6b
View Raw JSON Data
{
  "trx_id": "e1757e86817384589834e8b8eb3256373b346a6b",
  "block": 20762476,
  "trx_in_block": 42,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-17T19:19:00",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm",
      "title": "How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm",
      "body": "@@ -7120,16 +7120,139 @@\n YnjXp/image.png)\n+%0A%0A### Book reference%0ACaroline St. Clair and Jonathan E. Visick (2015): %22Exploring Bioinformatics: A Project-based Approach%22\n",
      "json_metadata": "{\"tags\":[\"science\",\"math\",\"genetics\",\"bioinformatics\",\"evolution\"],\"image\":[\"https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png\",\"https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png\",\"https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png\",\"https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png\",\"https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png\",\"https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png\",\"https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png\",\"https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png\",\"https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png\",\"https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png\",\"https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png\",\"https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png\"],\"links\":[\"https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&amp;PROG_DEF=blastn&amp;BLAST_PROG_DEF=blastn&amp;BLAST_SPEC=GlobalAln&amp;LINK_LOC=BlastHomeLink\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/17 18:54:30
votercallimico
authoraminda
permlinklogical-paradoxes-definitions-and-explanations
weight10000 (100.00%)
Transaction InfoBlock #20761986/Trx 8fa27bdf2dacd6fa7d1bc3020a976e19d1a55be5
View Raw JSON Data
{
  "trx_id": "8fa27bdf2dacd6fa7d1bc3020a976e19d1a55be5",
  "block": 20761986,
  "trx_in_block": 59,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-17T18:54:30",
  "op": [
    "vote",
    {
      "voter": "callimico",
      "author": "aminda",
      "permlink": "logical-paradoxes-definitions-and-explanations",
      "weight": 10000
    }
  ]
}
2018/03/17 18:48:48
parent authormarvelking
parent permlink5things-love-cant-be-blind-to-7fd45434bf8c8
authorcallimico
permlinkre-marvelking-5things-love-cant-be-blind-to-7fd45434bf8c8-20180317t184849210z
title
bodyYour advice about character is sound. As for the purpose, roles and obligations, your mindset is too rigid. You don't need God for your marriage to be meaningful. And if a man is good at cooking, or a woman is good with financial matters, why not let them do what they're good at? You put it very nicely yourself: "That it worked for others doesn't mean it'll work for you" Why is that, you think? Because people are different. I can assure you that a lot of people would be more happy in marriage if they ignored the gender roles you postulate.
json metadata{"tags":["love"],"app":"steemit/0.1"}
Transaction InfoBlock #20761872/Trx c3078fd0d02cc96e26f54a7439c5b990e8f1670c
View Raw JSON Data
{
  "trx_id": "c3078fd0d02cc96e26f54a7439c5b990e8f1670c",
  "block": 20761872,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-17T18:48:48",
  "op": [
    "comment",
    {
      "parent_author": "marvelking",
      "parent_permlink": "5things-love-cant-be-blind-to-7fd45434bf8c8",
      "author": "callimico",
      "permlink": "re-marvelking-5things-love-cant-be-blind-to-7fd45434bf8c8-20180317t184849210z",
      "title": "",
      "body": "Your advice about character is sound. As for the purpose, roles and obligations, your mindset is too rigid. You don't need God for your marriage to be meaningful. And if a man is good at cooking, or a woman is good with financial matters, why not let them do what they're good at? \n\nYou put it very nicely yourself:\n\n\"That it worked for others doesn't mean it'll work for you\"\n\nWhy is that, you think? Because people are different. I can assure you that a lot of people would be more happy in marriage if they ignored the gender roles you postulate.",
      "json_metadata": "{\"tags\":[\"love\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/03/17 18:02:51
votercallimico
authormarvelking
permlinkthe-kidney-and-it-s-anomalies-13e73484367a6
weight10000 (100.00%)
Transaction InfoBlock #20760953/Trx 8753c7b69d43b12197077c51318bdc57ea51a046
View Raw JSON Data
{
  "trx_id": "8753c7b69d43b12197077c51318bdc57ea51a046",
  "block": 20760953,
  "trx_in_block": 56,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-17T18:02:51",
  "op": [
    "vote",
    {
      "voter": "callimico",
      "author": "marvelking",
      "permlink": "the-kidney-and-it-s-anomalies-13e73484367a6",
      "weight": 10000
    }
  ]
}
2018/03/17 17:50:27
parent author
parent permlinkscience
authorcallimico
permlinkhow-to-draw-an-evolutionary-tree-ii-maximum-parsimony
titleHow to draw an evolutionary tree II: maximum parsimony
body@@ -1255,18 +1255,18 @@ esis abo -ve +ut the rel
json metadata{"tags":["science","evolution","math","biology","bioinformatics"],"image":["https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png","https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png","https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png","https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png","https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png","https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png"],"links":["https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20760705/Trx 5430d91c6352aed021da9e623bc5c638f1265065
View Raw JSON Data
{
  "trx_id": "5430d91c6352aed021da9e623bc5c638f1265065",
  "block": 20760705,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-17T17:50:27",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "how-to-draw-an-evolutionary-tree-ii-maximum-parsimony",
      "title": "How to draw an evolutionary tree II: maximum parsimony",
      "body": "@@ -1255,18 +1255,18 @@\n esis abo\n-ve\n+ut\n  the rel\n",
      "json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"biology\",\"bioinformatics\"],\"image\":[\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\",\"https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png\",\"https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png\",\"https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png\",\"https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png\",\"https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png\"],\"links\":[\"https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/17 11:03:00
voteracknowledgement
authorcallimico
permlinkhow-to-draw-an-evolutionary-tree-ii-maximum-parsimony
weight3000 (30.00%)
Transaction InfoBlock #20752560/Trx af129e40bf9c2e7885ded64c2342ad53dbdddbc5
View Raw JSON Data
{
  "trx_id": "af129e40bf9c2e7885ded64c2342ad53dbdddbc5",
  "block": 20752560,
  "trx_in_block": 45,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-17T11:03:00",
  "op": [
    "vote",
    {
      "voter": "acknowledgement",
      "author": "callimico",
      "permlink": "how-to-draw-an-evolutionary-tree-ii-maximum-parsimony",
      "weight": 3000
    }
  ]
}
2018/03/17 10:32:54
parent author
parent permlinkscience
authorcallimico
permlinkhow-to-draw-an-evolutionary-tree-ii-maximum-parsimony
titleHow to draw an evolutionary tree II: maximum parsimony
bodyIn [my previous post](https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma), I described how to use the algorithm UPGMA to construct an evolutionary tree from a distance matrix. It was fast and straightforward, but we had to make the assumption that evolution took place at the same rate throughout the tree. The next method, maximum parsimony, does not assume this and conceptually it is as simple as UPGMA. The drawback is that maximum parsimony is a lot slower. UPGMA singles out the optimal tree, under the assumptions of the algorithm, and does not attempt to score any other tree. Using maximum parsimony, you need to check all possible trees one at a time (there are probably algorithms that can speed up this process, but I don't know them). Maximum parsimony assumes that the correct tree is the one that requires the fewest evolutionary changes. The rationale is this: Every evolutionary change is an event with a probability below 1. If you consider two such events, the probability that both of them happen is lower than the probability that just one of them does. Just like rolling two sixes with a pair of dice is less probable than rolling six with one of them. To apply maximum parsimony, we first need a hypothesis above the relationship between the taxa we want to investigate. We will look at five taxa, labeled A-E, and postulate the following phylogeny: ![UPGMA tree.png](https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png) Now, our task is to check how probable this tree is. Or rather, how parsimonious. Unlike UPGMA, there is no need for a distance matrix. We just need to know a set of traits and how they appear in our taxa. Using molecular data, these traits would be bases in a DNA or RNA sequence, or amino acids in a protein. First, write up the set of traits in each taxon. Disregard any trait that does not differ between taxa, or differs in a single taxon only. Next, we could try to assume an ancestral state, i.e. the set of traits at the root of the tree. But this would be guessing, and guesses are usually time-consuming. Instead, we can apply a method known as Fitch's algorithm. Instead of assuming anything about the root of the tree, we start from the leaves (the taxa) and work our way down, one trait at a time. Because this is just an example, we will only look at one trait here. Let's replace the names of the taxa with the trait, a DNA base from a particular locus: ![maximum_parsimony.png](https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png) It's fairly obvious that our current hypothesis isn't optimal; the C's are not each other's closest relative. But for the sake of the example, let's try and figure this out the hard way. Look at the two upper leaves. Both have A's so we can assume that their most recent common ancestor also had this base: ![maximum_parsimony2.png](https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png) The two bottom leaves have different bases. Therefore, the ancestral character could be either a C or a T. Similarly, the ancestral node connecting the three upper leaves could have either an A or a C: ![maximum_parsimony3.png](https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png) At the root of the tree, the character could be either an A, a C or a T. However, C was an option in both of the nodes following the root node, so we go with a C: ![maximum_parsimony4.png](https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png) The number of ambiguous nodes, two, is the number of changes we have to assume to arrive at our current hypothetical tree. Curiously, this is actually the same number we would arrive at, had our hypothesis grouped the A's as sister taxa and the C's as sister taxa: ![maximum_parsimony5.png](https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png) Thus, in this very simplistic example, we don't have enough information to single out the best solution by maximum parsimony. In practice, this would not be a problem, because you would never apply maximum parsimony unless you had more than a single trait to use for comparisons.
json metadata{"tags":["science","evolution","math","biology","bioinformatics"],"image":["https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png","https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png","https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png","https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png","https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png","https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png"],"links":["https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20751959/Trx 1596bd02435bd7d20f433552bdca7c50a381cd79
View Raw JSON Data
{
  "trx_id": "1596bd02435bd7d20f433552bdca7c50a381cd79",
  "block": 20751959,
  "trx_in_block": 52,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-17T10:32:54",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "how-to-draw-an-evolutionary-tree-ii-maximum-parsimony",
      "title": "How to draw an evolutionary tree II: maximum parsimony",
      "body": "In [my previous post](https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma), I described how to use the algorithm UPGMA to construct an evolutionary tree from a distance matrix. It was fast and straightforward, but we had to make the assumption that evolution took place at the same rate throughout the tree. The next method, maximum parsimony, does not assume this and conceptually it is as simple as UPGMA. The drawback is that maximum parsimony is a lot slower. UPGMA singles out the optimal tree, under the assumptions of the algorithm, and does not attempt to score any other tree. Using maximum parsimony, you need to check all possible trees one at a time (there are probably algorithms that can speed up this process, but I don't know them).\n\nMaximum parsimony assumes that the correct tree is the one that requires the fewest evolutionary changes. The rationale is this: Every evolutionary change is an event with a probability below 1. If you consider two such events, the probability that both of them happen is lower than the probability that just one of them does. Just like rolling two sixes with a pair of dice is less probable than rolling six with one of them.\n\nTo apply maximum parsimony, we first need a hypothesis above the relationship between the taxa we want to investigate. We will look at five taxa, labeled A-E, and postulate the following phylogeny:\n\n![UPGMA tree.png](https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png)\n\nNow, our task is to check how probable this tree is. Or rather, how parsimonious. Unlike UPGMA, there is no need for a distance matrix. We just need to know a set of traits and how they appear in our taxa. Using molecular data, these traits would be bases in a DNA or RNA sequence, or amino acids in a protein. First, write up the set of traits in each taxon. Disregard any trait that does not differ between taxa, or differs in a single taxon only. Next, we could try to assume an ancestral state, i.e. the set of traits at the root of the tree. But this would be guessing, and guesses are usually time-consuming. Instead, we can apply a method known as Fitch's algorithm.\n\nInstead of assuming anything about the root of the tree, we start from the leaves (the taxa) and work our way down, one trait at a time. Because this is just an example, we will only look at one trait here. Let's replace the names of the taxa with the trait, a DNA base from a particular locus:\n\n![maximum_parsimony.png](https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png) \n\nIt's fairly obvious that our current hypothesis isn't optimal; the C's are not each other's closest relative. But for the sake of the example, let's try and figure this out the hard way.\n\nLook at the two upper leaves. Both have A's so we can assume that their most recent common ancestor also had this base:\n\n![maximum_parsimony2.png](https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png)\n\nThe two bottom leaves have different bases. Therefore, the ancestral character could be either a C or a T. Similarly, the ancestral node connecting the three upper leaves could have either an A or a C:\n\n![maximum_parsimony3.png](https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png)\n\nAt the root of the tree, the character could be either an A, a C or a T. However, C was an option in both of the nodes following the root node, so we go with a C:\n\n![maximum_parsimony4.png](https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png)\n\nThe number of ambiguous nodes, two, is the number of changes we have to assume to arrive at our current hypothetical tree. Curiously, this is actually the same number we would arrive at, had our hypothesis grouped the A's as sister taxa and the C's as sister taxa:\n\n![maximum_parsimony5.png](https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png)\n\nThus, in this very simplistic example, we don't have enough information to single out the best solution by maximum parsimony. In practice, this would not be a problem, because you would never apply maximum parsimony unless you had more than a single trait to use for comparisons.",
      "json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"biology\",\"bioinformatics\"],\"image\":[\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\",\"https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png\",\"https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png\",\"https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png\",\"https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png\",\"https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png\"],\"links\":[\"https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/17 10:31:27
parent author
parent permlinkscience
authorcallimico
permlinkhow-to-draw-an-evolutionary-tree-ii-maximum-parsimony
titleHow to draw an evolutionary tree II: Maximum parsimony
bodyIn [my previous post](https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma), I described how to use the algorithm UPGMA to construct an evolutionary tree from a distance matrix. It was fast and straightforward, but we had to make the assumption that evolution took place at the same rate throughout the tree. The next method, maximum parsimony, does not assume this and conceptually it is as simple as UPGMA. The drawback is that maximum parsimony is a lot slower. UPGMA singles out the optimal tree, under the assumptions of the algorithm, and does not attempt to score any other tree. Using maximum parsimony, you need to check all possible trees one at a time (there are probably algorithms that can speed up this process, but I don't know them). Maximum parsimony assumes that the correct tree is the one that requires the fewest evolutionary changes. The rationale is this: Every evolutionary change is an event with a probability below 1. If you consider two such events, the probability that both of them happen is lower than the probability that just one of them does. Just like rolling two sixes with a pair of dice is less probable than rolling six with one of them. To apply maximum parsimony, we first need a hypothesis above the relationship between the taxa we want to investigate. We will look at five taxa, labeled A-E, and postulate the following phylogeny: ![UPGMA tree.png](https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png) Now, our task is to check how probable this tree is. Or rather, how parsimonious. Unlike UPGMA, there is no need for a distance matrix. We just need to know a set of traits and how they appear in our taxa. Using molecular data, these traits would be bases in a DNA or RNA sequence, or amino acids in a protein. First, write up the set of traits in each taxon. Disregard any trait that does not differ between taxa, or differs in a single taxon only. Next, we could try to assume an ancestral state, i.e. the set of traits at the root of the tree. But this would be guessing, and guesses are usually time-consuming. Instead, we can apply a method known as Fitch's algorithm. Instead of assuming anything about the root of the tree, we start from the leaves (the taxa) and work our way down, one trait at a time. Because this is just an example, we will only look at one trait here. Let's replace the names of the taxa with the trait, a DNA base from a particular locus: ![maximum_parsimony.png](https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png) It's fairly obvious that our current hypothesis isn't optimal; the C's are not each other's closest relative. But for the sake of the example, let's try and figure this out the hard way. Look at the two upper leaves. Both have A's so we can assume that their most recent common ancestor also had this base: ![maximum_parsimony2.png](https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png) The two bottom leaves have different bases. Therefore, the ancestral character could be either a C or a T. Similarly, the ancestral node connecting the three upper leaves could have either an A or a C: ![maximum_parsimony3.png](https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png) At the root of the tree, the character could be either an A, a C or a T. However, C was an option in both of the nodes following the root node, so we go with a C: ![maximum_parsimony4.png](https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png) The number of ambiguous nodes, two, is the number of changes we have to assume to arrive at our current hypothetical tree. Curiously, this is actually the same number we would arrive at, had our hypothesis grouped the A's as sister taxa and the C's as sister taxa: ![maximum_parsimony5.png](https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png) Thus, in this very simplistic example, we don't have enough information to single out the best solution by maximum parsimony. In practice, this would not be a problem, because you would never apply maximum parsimony unless you had more than a single trait to use for comparisons.
json metadata{"tags":["science","evolution","math","biology","bioinformatics"],"image":["https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png","https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png","https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png","https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png","https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png","https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png"],"links":["https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20751930/Trx b9716c9d5407430304844fbfa0b2dea4d4f60791
View Raw JSON Data
{
  "trx_id": "b9716c9d5407430304844fbfa0b2dea4d4f60791",
  "block": 20751930,
  "trx_in_block": 80,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-17T10:31:27",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "how-to-draw-an-evolutionary-tree-ii-maximum-parsimony",
      "title": "How to draw an evolutionary tree II: Maximum parsimony",
      "body": "In [my previous post](https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma), I described how to use the algorithm UPGMA to construct an evolutionary tree from a distance matrix. It was fast and straightforward, but we had to make the assumption that evolution took place at the same rate throughout the tree. The next method, maximum parsimony, does not assume this and conceptually it is as simple as UPGMA. The drawback is that maximum parsimony is a lot slower. UPGMA singles out the optimal tree, under the assumptions of the algorithm, and does not attempt to score any other tree. Using maximum parsimony, you need to check all possible trees one at a time (there are probably algorithms that can speed up this process, but I don't know them).\n\nMaximum parsimony assumes that the correct tree is the one that requires the fewest evolutionary changes. The rationale is this: Every evolutionary change is an event with a probability below 1. If you consider two such events, the probability that both of them happen is lower than the probability that just one of them does. Just like rolling two sixes with a pair of dice is less probable than rolling six with one of them.\n\nTo apply maximum parsimony, we first need a hypothesis above the relationship between the taxa we want to investigate. We will look at five taxa, labeled A-E, and postulate the following phylogeny:\n\n![UPGMA tree.png](https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png)\n\nNow, our task is to check how probable this tree is. Or rather, how parsimonious. Unlike UPGMA, there is no need for a distance matrix. We just need to know a set of traits and how they appear in our taxa. Using molecular data, these traits would be bases in a DNA or RNA sequence, or amino acids in a protein. First, write up the set of traits in each taxon. Disregard any trait that does not differ between taxa, or differs in a single taxon only. Next, we could try to assume an ancestral state, i.e. the set of traits at the root of the tree. But this would be guessing, and guesses are usually time-consuming. Instead, we can apply a method known as Fitch's algorithm.\n\nInstead of assuming anything about the root of the tree, we start from the leaves (the taxa) and work our way down, one trait at a time. Because this is just an example, we will only look at one trait here. Let's replace the names of the taxa with the trait, a DNA base from a particular locus:\n\n![maximum_parsimony.png](https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png) \n\nIt's fairly obvious that our current hypothesis isn't optimal; the C's are not each other's closest relative. But for the sake of the example, let's try and figure this out the hard way.\n\nLook at the two upper leaves. Both have A's so we can assume that their most recent common ancestor also had this base:\n\n![maximum_parsimony2.png](https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png)\n\nThe two bottom leaves have different bases. Therefore, the ancestral character could be either a C or a T. Similarly, the ancestral node connecting the three upper leaves could have either an A or a C:\n\n![maximum_parsimony3.png](https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png)\n\nAt the root of the tree, the character could be either an A, a C or a T. However, C was an option in both of the nodes following the root node, so we go with a C:\n\n![maximum_parsimony4.png](https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png)\n\nThe number of ambiguous nodes, two, is the number of changes we have to assume to arrive at our current hypothetical tree. Curiously, this is actually the same number we would arrive at, had our hypothesis grouped the A's as sister taxa and the C's as sister taxa:\n\n![maximum_parsimony5.png](https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png)\n\nThus, in this very simplistic example, we don't have enough information to single out the best solution by maximum parsimony. In practice, this would not be a problem, because you would never apply maximum parsimony unless you had more than a single trait to use for comparisons.",
      "json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"biology\",\"bioinformatics\"],\"image\":[\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\",\"https://steemitimages.com/DQmeUoWk2T2nFyvoKQkYbyceoCKqrirNcYNuhdWF1etawSN/maximum_parsimony.png\",\"https://steemitimages.com/DQmNaB8S37aY8z1do34KD7K8zkbAcvQDyKwUdw84MLbuajL/maximum_parsimony2.png\",\"https://steemitimages.com/DQmPSCM5TcqJNcftgfMPhsWVMNcm4LswpacZfCXkJUfX6G9/maximum_parsimony3.png\",\"https://steemitimages.com/DQmcxcFw6a1BjJvBTzRF9uUjh8WP7ew6DpihdxkQiCELkdt/maximum_parsimony4.png\",\"https://steemitimages.com/DQmZeK7HtZzrqb2585XE8JKaR86CfufVXtyrWceUHFi9ooW/maximum_parsimony5.png\"],\"links\":[\"https://steemit.com/science/@callimico/how-to-draw-an-evolutionary-tree-upgma\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/16 21:40:00
parent author
parent permlinkscience
authorcallimico
permlinkhow-to-draw-an-evolutionary-tree-upgma
titleHow to draw an evolutionary tree: UPGMA
body[In my first post](https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies), I explained how to read a phylogenetic tree, a tree depicting the relationship between different taxa, i.e. groups of organisms. [In my second post](https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related), I explained what data forms the basis of such trees, and why molecular data are preferred over morphological (appearance-related) data. Now, the time has come to look into the process of constructing the trees, once we have our data. Even with a relatively small number of taxa, the number of possible trees connecting them is huge. To find the most plausible tree, we need to make some assumptions and apply an appropriate algorithm. It may seem weird that several algorithms exist for calculating the "best" tree when, in reality, only one tree can be correct for any given dataset. Fortunately, the algorithms tend to agree quite well with each other. Some algorithms are fast, others are slower but make less drastic assumptions. With modern-day computers, even algorithms in the slow end of the spectrum can often be applied in a matter of seconds. Therefore, it's generally inadvisable to apply a fast, sloppy technique unless you have a good reason to assume that the underlying assumptions hold true. And yet, that's exactly the kind of technique I'm going to teach you in this post. Why? Because it's fast and one of the few that you can apply with pen and paper in a reasonable amount of time. Slightly more complicated techniques will follow in later posts. I used to pronounce UPGMA letter by letter, but my wonderful statistics teacher always pronounced it like a real word ("up g'mah"), and I've adopted the habit. UPGMA stands for Unweighted Pair Group Method with Arithmetic Mean and is a lot easier than it sounds. First off, we need a matrix listing the number of differences (e.g. base differences in homologous DNA sequences) between different taxa. Here's a mocked-up dataset with five taxa, labeled A-E: ![](https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png) The first step is very simple. Just locate the shortest distance in the matrix: ![](https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png) This is the distance between taxon A and taxon E. Since this is the shortest distance between any two taxa, we assume that A and E are each other's closest relative. We therefore group them together as AE and proceed to construct a new matrix with one row and one column less than the first one: ![](https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png) How did we obtain the new distances? By taking averages. For instance, the distance between A and B in the first matrix was 10, and the distance between B and E was 11. The distance from B to the new cluster AE is 10.5, the average of 10 and 11. This is where UPGMA makes a critical assumption, namely that _the rate of evolution is constant throughout the tree_. More complicated algorithms do not assume a constant rate of evolution, but for the sake of simplicity we accept it here. Distances that do not involve our newly formed cluster are not changed in the new matrix; the distance from C to D continues to be 12. The shortest distance in the new matrix is the one connecting AE and C, so let's form the cluster AE-C and draw another matrix: ![](https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png) Same procedure as last time: take averages and find the smallest distance. This time, it's the one connecting B and D. This concludes our analysis: ![](https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png) Here's the tree, drawn with tools from http://iubio.bio.indiana.edu/treeapp/treeprint-form.html: ![UPGMA tree.png](https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png)
json metadata{"tags":["science","evolution","math","bioinformatics","biology"],"image":["https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png","https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png","https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png","https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png","https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png","https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png"],"links":["https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies","https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related","http://iubio.bio.indiana.edu/treeapp/treeprint-form.html:"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20736504/Trx 7477fe0ceb01429cae10fd091ceea529f5d1fbdf
View Raw JSON Data
{
  "trx_id": "7477fe0ceb01429cae10fd091ceea529f5d1fbdf",
  "block": 20736504,
  "trx_in_block": 25,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-16T21:40:00",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "how-to-draw-an-evolutionary-tree-upgma",
      "title": "How to draw an evolutionary tree: UPGMA",
      "body": "[In my first post](https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies), I explained how to read a phylogenetic tree, a tree depicting the relationship between different taxa, i.e. groups of organisms. [In my second post](https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related), I explained what data forms the basis of such trees, and why molecular data are preferred over morphological (appearance-related) data. Now, the time has come to look into the process of constructing the trees, once we have our data.\n\nEven with a relatively small number of taxa, the number of possible trees connecting them is huge. To find the most plausible tree, we need to make some assumptions and apply an appropriate algorithm. It may seem weird that several algorithms exist for calculating the \"best\" tree when, in reality, only one tree can be correct for any given dataset. Fortunately, the algorithms tend to agree quite well with each other. Some algorithms are fast, others are slower but make less drastic assumptions. With modern-day computers, even algorithms in the slow end of the spectrum can often be applied in a matter of seconds. Therefore, it's generally inadvisable to apply a fast, sloppy technique unless you have a good reason to assume that the underlying assumptions hold true. And yet, that's exactly the kind of technique I'm going to teach you in this post. Why? Because it's fast and one of the few that you can apply with pen and paper in a reasonable amount of time. Slightly more complicated techniques will follow in later posts.\n\nI used to pronounce UPGMA letter by letter, but my wonderful statistics teacher always pronounced it like a real word (\"up g'mah\"), and I've adopted the habit. UPGMA stands for Unweighted Pair Group Method with Arithmetic Mean and is a lot easier than it sounds.\n\nFirst off, we need a matrix listing the number of differences (e.g. base differences in homologous DNA sequences) between different taxa. Here's a mocked-up dataset with five taxa, labeled A-E:\n\n![](https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png)\n\nThe first step is very simple. Just locate the shortest distance in the matrix:\n\n![](https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png)\n\nThis is the distance between taxon A and taxon E. Since this is the shortest distance between any two taxa, we assume that A and E are each other's closest relative. We therefore group them together as AE and proceed to construct a new matrix with one row and one column less than the first one:\n\n![](https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png)\n\nHow did we obtain the new distances? By taking averages.  For instance, the distance between A and B in the first matrix was 10, and the distance between B and E was 11. The distance from B to the new cluster AE is 10.5, the average of 10 and 11. This is where UPGMA makes a critical assumption, namely that _the rate of evolution is constant throughout the tree_. More complicated algorithms do not assume a constant rate of evolution, but for the sake of simplicity we accept it here. Distances that do not involve our newly formed cluster are not changed in the new matrix; the distance from C to D continues to be 12.\n\nThe shortest distance in the new matrix is the one connecting AE and C, so let's form the cluster AE-C and draw another matrix:\n\n![](https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png)\n\nSame procedure as last time: take averages and find the smallest distance. This time, it's the one connecting B and D. This concludes our analysis:\n\n![](https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png)\n\nHere's the tree, drawn with tools from http://iubio.bio.indiana.edu/treeapp/treeprint-form.html:\n\n![UPGMA tree.png](https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png)",
      "json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"bioinformatics\",\"biology\"],\"image\":[\"https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png\",\"https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png\",\"https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png\",\"https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png\",\"https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png\",\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\"],\"links\":[\"https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies\",\"https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related\",\"http://iubio.bio.indiana.edu/treeapp/treeprint-form.html:\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/16 07:36:30
votercallimico
authorphysics-o-mania
permlinkthe-dark-sides-of-einstein
weight10000 (100.00%)
Transaction InfoBlock #20719638/Trx f0a45e8b1163f70cec279789db99fa295b99df1a
View Raw JSON Data
{
  "trx_id": "f0a45e8b1163f70cec279789db99fa295b99df1a",
  "block": 20719638,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-16T07:36:30",
  "op": [
    "vote",
    {
      "voter": "callimico",
      "author": "physics-o-mania",
      "permlink": "the-dark-sides-of-einstein",
      "weight": 10000
    }
  ]
}
2018/03/16 07:36:27
required auths[]
required posting auths["callimico"]
idfollow
json["follow",{"follower":"callimico","following":"physics-o-mania","what":["blog"]}]
Transaction InfoBlock #20719637/Trx 6d8908a16f51c4f92da4d0bc3af3242292fbe356
View Raw JSON Data
{
  "trx_id": "6d8908a16f51c4f92da4d0bc3af3242292fbe356",
  "block": 20719637,
  "trx_in_block": 34,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-16T07:36:27",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "callimico"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"callimico\",\"following\":\"physics-o-mania\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/03/16 07:33:30
required auths[]
required posting auths["callimico"]
idfollow
json["follow",{"follower":"callimico","following":"science-trail","what":["blog"]}]
Transaction InfoBlock #20719578/Trx a013c5f4b6057013c11e494a90e88269fd54b954
View Raw JSON Data
{
  "trx_id": "a013c5f4b6057013c11e494a90e88269fd54b954",
  "block": 20719578,
  "trx_in_block": 41,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-16T07:33:30",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "callimico"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"callimico\",\"following\":\"science-trail\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/03/16 07:32:51
votercallimico
authorscience-trail
permlinkintroducing-science-trail
weight10000 (100.00%)
Transaction InfoBlock #20719565/Trx 67901fd96645ef183a25d23f92fac8b57980e569
View Raw JSON Data
{
  "trx_id": "67901fd96645ef183a25d23f92fac8b57980e569",
  "block": 20719565,
  "trx_in_block": 51,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-16T07:32:51",
  "op": [
    "vote",
    {
      "voter": "callimico",
      "author": "science-trail",
      "permlink": "introducing-science-trail",
      "weight": 10000
    }
  ]
}
2018/03/16 07:14:36
parent authorcallimico
parent permlinkhow-to-draw-an-evolutionary-tree-upgma
authorsjworld
permlinkre-callimico-how-to-draw-an-evolutionary-tree-upgma-20180316t071425666z
title
bodyGet free upvotes your post https://mysteemup.club
json metadata{"tags":["science"],"links":["https://mysteemup.club"],"app":"steemit/0.1"}
Transaction InfoBlock #20719201/Trx 1291f382a42fb7db41bb94e67dc02747e1f62d49
View Raw JSON Data
{
  "trx_id": "1291f382a42fb7db41bb94e67dc02747e1f62d49",
  "block": 20719201,
  "trx_in_block": 60,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-16T07:14:36",
  "op": [
    "comment",
    {
      "parent_author": "callimico",
      "parent_permlink": "how-to-draw-an-evolutionary-tree-upgma",
      "author": "sjworld",
      "permlink": "re-callimico-how-to-draw-an-evolutionary-tree-upgma-20180316t071425666z",
      "title": "",
      "body": "Get free upvotes your post https://mysteemup.club",
      "json_metadata": "{\"tags\":[\"science\"],\"links\":[\"https://mysteemup.club\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/03/16 07:14:18
parent author
parent permlinkscience
authorcallimico
permlinkhow-to-draw-an-evolutionary-tree-upgma
titleHow to draw an evolutionary tree: UPGMA
body[In my first post](https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies), I explained how to read a phylogenetic tree, a tree depicting the relationship between different taxa, i.e. groups of organisms. [In my second post](https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related), I explained what data forms the basis of such trees, and why molecular data are preferred over morphological (appearance-related) data. Now, the time has come to look into the process of constructing the trees, once we have our data. Even with a relatively small number of taxa, the number of possible trees connecting them is huge. To find the most plausible tree, we need to make some assumptions and apply an appropriate algorithm. It may seem weird that several algorithms exist for calculating the "best" tree when, in reality, only one tree can be correct for any given dataset. Fortunately, the algorithms tend to agree quite well with each other. Some algorithms are fast, others are slower but make less drastic assumptions. With modern-day computers, even algorithms in the slow end of the spectrum can often be applied in a matter of seconds. Therefore, it's generally inadvisable to apply a fast, sloppy technique unless you have a good reason to assume that the underlying assumptions hold true. And yet, that's exactly the kind of technique I'm going to teach you in this post. Why? Because it's fast and one of the few that you can apply with pen and paper in a reasonable amount of time. Slightly more complicated techniques will follow in later posts. I used to pronounce UPGMA letter by letter, but my wonderful statistics teacher always pronounced it like a real word ("up g'mah"), and I've adopted the habit. UPGMA stands for Unweighted Pair Group Method with Arithmetic Mean and is a lot easier than it sounds. First off, we need a matrix listing the number of differences (e.g. base differences in homologous DNA sequences) between different taxa. Here's a mocked-up dataset with five taxa, labeled A-E: ![](https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png) The first step is very simple. Just locate the shortest distance in the matrix: ![](https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png) This is the distance between taxon A and taxon E. Since this is the shortest distance between any two taxa, we assume that A and E are each other's closest relative. We therefore group them together as AE and proceed to construct a new matrix with one row and one column less than the first one: ![](https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png) How did we obtain the new distances? By taking averages. For instance, the distance between A and B in the first matrix was 10, and the distance between B and E was 11. The distance from B to the new cluster AE is 10.5, the average of 10 and 11. This is where UPGMA makes a critical assumption, namely that _the rate of evolution is constant throughout the tree_. More complicated algorithms do not assume a constant rate of evolution, but for the sake of simplicity we accept it here. Distances that do not involve our newly formed cluster are not changed in the new matrix; the distance from C to D continues to be 12. The shortest distance in the new matrix is the one connecting AE and C, so let's form the cluster AE-C and draw another matrix: ![](https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png) Same procedure as last time: take averages and find the smallest distance. This time, it's the one connecting B and D. This concludes our analysis: ![](https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png) Here's the tree, drawn with tools from http://iubio.bio.indiana.edu/treeapp/treeprint-form.html: ![UPGMA tree.png](https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png)
json metadata{"tags":["science","evolution","math","bioinformatics","algorithm"],"image":["https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png","https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png","https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png","https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png","https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png","https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png"],"links":["https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies","https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related","http://iubio.bio.indiana.edu/treeapp/treeprint-form.html:"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20719195/Trx 475e4a4f0edeb8c7aec5ec30d6a6d8ab5f0a148c
View Raw JSON Data
{
  "trx_id": "475e4a4f0edeb8c7aec5ec30d6a6d8ab5f0a148c",
  "block": 20719195,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-16T07:14:18",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "how-to-draw-an-evolutionary-tree-upgma",
      "title": "How to draw an evolutionary tree: UPGMA",
      "body": "[In my first post](https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies), I explained how to read a phylogenetic tree, a tree depicting the relationship between different taxa, i.e. groups of organisms. [In my second post](https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related), I explained what data forms the basis of such trees, and why molecular data are preferred over morphological (appearance-related) data. Now, the time has come to look into the process of constructing the trees, once we have our data.\n\nEven with a relatively small number of taxa, the number of possible trees connecting them is huge. To find the most plausible tree, we need to make some assumptions and apply an appropriate algorithm. It may seem weird that several algorithms exist for calculating the \"best\" tree when, in reality, only one tree can be correct for any given dataset. Fortunately, the algorithms tend to agree quite well with each other. Some algorithms are fast, others are slower but make less drastic assumptions. With modern-day computers, even algorithms in the slow end of the spectrum can often be applied in a matter of seconds. Therefore, it's generally inadvisable to apply a fast, sloppy technique unless you have a good reason to assume that the underlying assumptions hold true. And yet, that's exactly the kind of technique I'm going to teach you in this post. Why? Because it's fast and one of the few that you can apply with pen and paper in a reasonable amount of time. Slightly more complicated techniques will follow in later posts.\n\nI used to pronounce UPGMA letter by letter, but my wonderful statistics teacher always pronounced it like a real word (\"up g'mah\"), and I've adopted the habit. UPGMA stands for Unweighted Pair Group Method with Arithmetic Mean and is a lot easier than it sounds.\n\nFirst off, we need a matrix listing the number of differences (e.g. base differences in homologous DNA sequences) between different taxa. Here's a mocked-up dataset with five taxa, labeled A-E:\n\n![](https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png)\n\nThe first step is very simple. Just locate the shortest distance in the matrix:\n\n![](https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png)\n\nThis is the distance between taxon A and taxon E. Since this is the shortest distance between any two taxa, we assume that A and E are each other's closest relative. We therefore group them together as AE and proceed to construct a new matrix with one row and one column less than the first one:\n\n![](https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png)\n\nHow did we obtain the new distances? By taking averages.  For instance, the distance between A and B in the first matrix was 10, and the distance between B and E was 11. The distance from B to the new cluster AE is 10.5, the average of 10 and 11. This is where UPGMA makes a critical assumption, namely that _the rate of evolution is constant throughout the tree_. More complicated algorithms do not assume a constant rate of evolution, but for the sake of simplicity we accept it here. Distances that do not involve our newly formed cluster are not changed in the new matrix; the distance from C to D continues to be 12.\n\nThe shortest distance in the new matrix is the one connecting AE and C, so let's form the cluster AE-C and draw another matrix:\n\n![](https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png)\n\nSame procedure as last time: take averages and find the smallest distance. This time, it's the one connecting B and D. This concludes our analysis:\n\n![](https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png)\n\nHere's the tree, drawn with tools from http://iubio.bio.indiana.edu/treeapp/treeprint-form.html:\n\n![UPGMA tree.png](https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png)",
      "json_metadata": "{\"tags\":[\"science\",\"evolution\",\"math\",\"bioinformatics\",\"algorithm\"],\"image\":[\"https://steemitimages.com/DQmcSGFw1ahbi86m4gYChSz3odrx2CX9pFRGaai1keX3xyM/image.png\",\"https://steemitimages.com/DQmUbZSjPrNP1xCvwoSRPxoprXhNDHthZYyba3gFSHUprzx/image.png\",\"https://steemitimages.com/DQmbJaje95rdNWtqB2z9nEUrFW1ZNZ9QzrbxDvyeL2RsedD/image.png\",\"https://steemitimages.com/DQmanAucqaNK7ZUXDBkwWQvr8qPiCiRqVs5pfFmaRStVPGS/image.png\",\"https://steemitimages.com/DQmUwiZ5JpnSmT4vFqecdBdMu7GFmY3s2iyaUvTpp3MVy66/image.png\",\"https://steemitimages.com/DQmRVoQ1NBxhEWxdRigpQB2dmixrnQ1gYWGJgHs7N171BUE/UPGMA%20tree.png\"],\"links\":[\"https://steemit.com/science/@callimico/why-you-re-more-closely-related-to-a-salmon-than-a-salmon-is-to-a-shark-understanding-evolutionary-phylogenies\",\"https://steemit.com/science/@callimico/why-we-trust-in-dna-to-tell-us-how-organisms-are-related\",\"http://iubio.bio.indiana.edu/treeapp/treeprint-form.html:\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/15 11:23:15
votercallimico
authorilyastarar
permlinkthe-mystery-of-steemit-rewards-solved-even-for-a-9-year-old-see-what-you-actually-get-from-steemit
weight10000 (100.00%)
Transaction InfoBlock #20695401/Trx d8033b6522581d97ecd140a3e0d49dc83f85bd8b
View Raw JSON Data
{
  "trx_id": "d8033b6522581d97ecd140a3e0d49dc83f85bd8b",
  "block": 20695401,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-15T11:23:15",
  "op": [
    "vote",
    {
      "voter": "callimico",
      "author": "ilyastarar",
      "permlink": "the-mystery-of-steemit-rewards-solved-even-for-a-9-year-old-see-what-you-actually-get-from-steemit",
      "weight": 10000
    }
  ]
}
2018/03/15 11:15:06
votercallimico
authoramavi
permlinkendangered-species-7-the-saiga-antelope
weight10000 (100.00%)
Transaction InfoBlock #20695238/Trx 1816ab7fc0b3e95b163aadad4e74b643550862cf
View Raw JSON Data
{
  "trx_id": "1816ab7fc0b3e95b163aadad4e74b643550862cf",
  "block": 20695238,
  "trx_in_block": 38,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-15T11:15:06",
  "op": [
    "vote",
    {
      "voter": "callimico",
      "author": "amavi",
      "permlink": "endangered-species-7-the-saiga-antelope",
      "weight": 10000
    }
  ]
}
callimicoupdated their account properties
2018/03/15 11:03:39
accountcallimico
memo keySTM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr
json metadata{"profile":{"profile_image":"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg"}}
Transaction InfoBlock #20695010/Trx 3c884a0580fa679fa275339d1506df61a20326e9
View Raw JSON Data
{
  "trx_id": "3c884a0580fa679fa275339d1506df61a20326e9",
  "block": 20695010,
  "trx_in_block": 93,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-15T11:03:39",
  "op": [
    "account_update",
    {
      "account": "callimico",
      "memo_key": "STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg\"}}"
    }
  ]
}
callimicoupdated their account properties
2018/03/15 11:02:51
accountcallimico
memo keySTM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr
json metadata{"profile":{"cover_image":"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg"}}
Transaction InfoBlock #20694994/Trx 9d08c2a353e030107e5bf8258b02efe1cce5e163
View Raw JSON Data
{
  "trx_id": "9d08c2a353e030107e5bf8258b02efe1cce5e163",
  "block": 20694994,
  "trx_in_block": 65,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-15T11:02:51",
  "op": [
    "account_update",
    {
      "account": "callimico",
      "memo_key": "STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr",
      "json_metadata": "{\"profile\":{\"cover_image\":\"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg\"}}"
    }
  ]
}
callimicoupdated their account properties
2018/03/15 11:00:51
accountcallimico
memo keySTM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr
json metadata{"profile":{"profile_image":"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg"}}
Transaction InfoBlock #20694954/Trx 60e861212814af891d37e6d075774a3352226d2f
View Raw JSON Data
{
  "trx_id": "60e861212814af891d37e6d075774a3352226d2f",
  "block": 20694954,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-15T11:00:51",
  "op": [
    "account_update",
    {
      "account": "callimico",
      "memo_key": "STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg\"}}"
    }
  ]
}
2018/03/15 06:52:48
parent author
parent permlinkscience
authorcallimico
permlinkhow-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm
titleHow to compare two DNA sequences by hand - the Needleman-Wunsch algorithm
bodyFirst of all, no sane person working in bioinformatics would spend time comparing DNA sequences by hand with all the fast digital tools available (here's one: https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink). Still, any bioinformatician would do well to understand the technique, in part because it contains an element of subjectivity. Two DNA sequences that share a common origin are said to be homologous. It could be the gene for insulin in humans and the one in cattle. The genes are called orthologs when they are both homologous and come from different species. Homologous gene sequences differ, because the ancestral sequence has mutated in different places in the lineages descending from it. The mutation can be a substitution: AACGT to ACCGT An insertion: AACGT to AACCGT Or a deletion: AACGT to ACGT When DNA is transcribed into RNA, it is read in triplets, pieces of three adjacent bases. The three corresponding RNA bases are later translated into an amino acid. Substitutions tend to be the least harmful mutations, because they each affect zero or at most one amino acid. Three-base insertions or deletions are also relatively harmless, because the addition or removal of a triplet means one amino acid more or less in the finished protein (I stress _relatively_ harmless; even substitutions can be lethal if they occur in a bad spot). Insertions or deletions of base numbers not divisible by three are bad news, because they disturb the reading frame of the sequence, potentially affecting all amino acids downstream from the mutation. They are called frameshift mutations and usually lead to the translation of a non-functional protein. Because of their potential for causing frameshifts, indels (insertions or deletions) are less frequently preserved in the course of evolution than substitutions. When aligning two homologous DNA sequences of unequal length, the occurence of an indel has to be assumed. This is represented by a gap: A_CGT AACGT We may even choose to assume an indel between sequences of the same length, if it makes for a better alignment. But since indels are often severe, their inclusion should be punished. That is, we apply a gap penalty. There is a multitude of different ways to compare even short DNA sequences. Without an algorithm to locate the best options, the computers of today would not be able to handle even a small fraction of the genetic information currently published. Fortunately, the Needleman-Wunsch algorithm (developed by Saul B. Needleman and Christian D. Wunsch) makes for optimal alignment of large sequences. Short sequences can be aligned by hand. The rest of this post will describe the procedure. ## How to run a Needleman-Wunsch algorithm First, draw a matrix. Each side should be the length of one of the sequences you want to compare, plus one cell. We are going to compare two sequences of 6 and 7 bases, respectively, so we need a 7x8 matrix: ![matrix1.png](https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png) You will notice that I have already filled out part of the matrix. Indeed, this is a bit premature. We first need to decide on a match score, a mismatch score and a gap penalty. This is the subjective part of the algorithm. I have used 1, 0 and -1. If in doubt, one can try to run the same alignment several times with different scores to see how much this affects the final results. The idea is to start in the upper left corner of the matrix and work your way down the alignment. A diagonal move means that you are simply comparing the next base in sequence 1 to the next base in sequence 2. A horizontal or vertical move signifies the introduction of a gap in, respectively, the vertical and horizontal sequence. Since our gap penalty is -1, every expansion of the gap in the same direction adds -1 to the total score unless we obtain a match. Now, lets attempt to align our first base. We have three options, but the first two are rather silly. We could introduce a gap in sequence 1 and then a gap in sequence 2. Or we could introduce a gap in sequence 2 and then a gap in sequence 1. Or we could just avoid gaps altogether and align the first base in sequence 1 with the first in sequence 2. You might have guessed what I prefer, but take a look at the scores to be sure: Option 1: -1 + (-1) = -2 Option 2: -1 + (-1) = -2 Option 3: 0 0 > -2. We put 0, because we got a mismatch (A and C). At this point, it's preferable to a gap, so we put a 0 in the matrix. ![matrix2.png](https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png) Now, we just need to fill out the rest of the matrix. It's important to put the best option in each cell based on the three cells that precede it to the west, north west and north. ![](https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png) The new 0 was chosen as the best of these three options: Option 1: Add a gap in sequence CCATTAG by moving right after aligning A and C: 0 [A and C mismatch] + 1 [C and C match] + (-1) [new gap] = 0 Option 2: Add a gap in sequence ACCTAG by moving downwards after aligning A and C: 0 [A and C mismatch] + 0 [A and C mismatch] + (-1) [new gap] = -1 Option 3: Align the second base in ACCTAG with the first base in CCATTAG by moving diagonally after introducing a gap in CCATTAG: -1 [gap in CCATTAG] + 1 (C and C match) = 0 Option 1 and 3 are equally good and beat option 2, so we put a 0 in the cell. We continue to add new numbers to the matrix, one slash at a time: ![](https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png) ![](https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png) Fast-forward... ![](https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png) Our final score is the number in the lower right corner, in this case 2. The next step is to trace back through the matrix to see which alignment patterns led to this score. We ask ourselves: Which of the preceding cells could have produced the number 2. There are two options: ![](https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png) We now follow each path back to the upper left corner. I've used blue color here, because it was faster in Word, but it's more helpful to draw arrows so you can see each individual path right away: ![](https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png) There are three possible paths here, each of them producing an optimal alignment. The first one is: ![](https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png) It corresponds to the following alignment: ![](https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png) These are the other options: ![](https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png) ![](https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png)
json metadata{"tags":["science","math","genetics","bioinformatics","evolution"],"image":["https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png","https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png","https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png","https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png","https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png","https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png","https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png","https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png","https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png","https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png","https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png","https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png"],"links":["https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&amp;PROG_DEF=blastn&amp;BLAST_PROG_DEF=blastn&amp;BLAST_SPEC=GlobalAln&amp;LINK_LOC=BlastHomeLink"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20690003/Trx 959423c2d9d32b2d3259975486459c0821482437
View Raw JSON Data
{
  "trx_id": "959423c2d9d32b2d3259975486459c0821482437",
  "block": 20690003,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-15T06:52:48",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm",
      "title": "How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm",
      "body": "First of all, no sane person working in bioinformatics would spend time comparing DNA sequences by hand with all the fast digital tools available (here's one: https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink). Still, any bioinformatician would do well to understand the technique, in part because it contains an element of subjectivity.\n\nTwo DNA sequences that share a common origin are said to be homologous. It could be the gene for insulin in humans and the one in cattle. The genes are called orthologs when they are both homologous and come from different species. Homologous gene sequences differ, because the ancestral sequence has mutated in different places in the lineages descending from it. The mutation can be a substitution:\n\nAACGT to ACCGT\n\nAn insertion:\n\nAACGT to AACCGT\n\nOr a deletion:\n\nAACGT to ACGT\n\nWhen DNA is transcribed into RNA, it is read in triplets, pieces of three adjacent bases. The three corresponding RNA bases are later translated into an amino acid. Substitutions tend to be the least harmful mutations, because they each affect zero or at most one amino acid. Three-base insertions or deletions are also relatively harmless, because the addition or removal of a triplet means one amino acid more or less in the finished protein (I stress _relatively_ harmless; even substitutions can be lethal if they occur in a bad spot). Insertions or deletions of base numbers not divisible by three are bad news, because they disturb the reading frame of the sequence, potentially affecting all amino acids downstream from the mutation. They are called frameshift mutations and usually lead to the translation of a non-functional protein.\n\nBecause of their potential for causing frameshifts, indels (insertions or deletions) are less frequently preserved in the course of evolution than substitutions. When aligning two homologous DNA sequences of unequal length, the occurence of an indel has to be assumed. This is represented by a gap:\n\nA_CGT\nAACGT\n\nWe may even choose to assume an indel between sequences of the same length, if it makes for a better alignment. But since indels are often severe, their inclusion should be punished. That is, we apply a gap penalty.\n\nThere is a multitude of different ways to compare even short DNA sequences. Without an algorithm to locate the best options, the computers of today would not be able to handle even a small fraction of the genetic information currently published. Fortunately, the Needleman-Wunsch algorithm (developed by Saul B. Needleman and Christian D. Wunsch) makes for optimal alignment of large sequences. Short sequences can be aligned by hand. The rest of this post will describe the procedure.\n\n## How to run a Needleman-Wunsch algorithm\n\nFirst, draw a matrix. Each side should be the length of one of the sequences you want to compare, plus one cell. We are going to compare two sequences of 6 and 7 bases, respectively, so we need a 7x8 matrix:\n\n![matrix1.png](https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png)\t\t\t\t\n\nYou will notice that I have already filled out part of the matrix. Indeed, this is a bit premature. We first need to decide on a match score, a mismatch score and a gap penalty. This is the subjective part of the algorithm. I have used 1, 0 and -1. If in doubt, one can try to run the same alignment several times with different scores to see how much this affects the final results.\n\nThe idea is to start in the upper left corner of the matrix and work your way down the alignment. A diagonal move means that you are simply comparing the next base in sequence 1 to the next base in sequence 2. A horizontal or vertical move signifies the introduction of a gap in, respectively, the vertical and horizontal sequence. Since our gap penalty is -1, every expansion of the gap in the same direction adds -1 to the total score unless we obtain a match.\n\nNow, lets attempt to align our first base. We have three options, but the first two are rather silly. We could introduce a gap in sequence 1 and then a gap in sequence 2. Or we could introduce a gap in sequence 2 and then a gap in sequence 1. Or we could just avoid gaps altogether and align the first base in sequence 1 with the first in sequence 2. You might have guessed what I prefer, but take a look at the scores to be sure:\n\nOption 1: -1 + (-1) = -2\nOption 2: -1 + (-1) = -2\nOption 3: 0\n\n0 > -2. We put 0, because we got a mismatch (A and C). At this point, it's preferable to a gap, so we put a 0 in the matrix.\n\n![matrix2.png](https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png)\n\nNow, we just need to fill out the rest of the matrix. It's important to put the best option in each cell based on the three cells that precede it to the west, north west and north.\n\n![](https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png)\n\nThe new 0 was chosen as the best of these three options:\n\nOption 1: Add a gap in sequence CCATTAG by moving right after aligning A and C: \n0 [A and C mismatch] + 1 [C and C match] + (-1) [new gap] = 0\n\nOption 2: Add a gap in sequence ACCTAG by moving downwards after aligning A and C: \n0 [A and C mismatch] + 0 [A and C mismatch] + (-1) [new gap] = -1\n\nOption 3: Align the second base in ACCTAG with the first base in CCATTAG by moving diagonally after introducing a gap in CCATTAG:\n-1 [gap in CCATTAG] + 1 (C and C match) = 0\n\nOption 1 and 3 are equally good and beat option 2, so we put a 0 in the cell.\n\nWe continue to add new numbers to the matrix, one slash at a time: \n\n![](https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png)\n\n![](https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png)\n\nFast-forward...\n\n![](https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png)\n\nOur final score is the number in the lower right corner, in this case 2. The next step is to trace back through the matrix to see which alignment patterns led to this score. We ask ourselves: Which of the preceding cells could have produced the number 2. There are two options:\n\n![](https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png)\n\nWe now follow each path back to the upper left corner. I've used blue color here, because it was faster in Word, but it's more helpful to draw arrows so you can see each individual path right away:\n\n![](https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png)\n\nThere are three possible paths here, each of them producing an optimal alignment. The first one is:\n\n![](https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png)\n\nIt corresponds to the following alignment:\n\n![](https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png)\n\nThese are the other options:\n\n![](https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png)\n\n![](https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png)",
      "json_metadata": "{\"tags\":[\"science\",\"math\",\"genetics\",\"bioinformatics\",\"evolution\"],\"image\":[\"https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png\",\"https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png\",\"https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png\",\"https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png\",\"https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png\",\"https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png\",\"https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png\",\"https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png\",\"https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png\",\"https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png\",\"https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png\",\"https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png\"],\"links\":[\"https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&amp;PROG_DEF=blastn&amp;BLAST_PROG_DEF=blastn&amp;BLAST_SPEC=GlobalAln&amp;LINK_LOC=BlastHomeLink\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/15 06:48:51
parent author
parent permlinkscience
authorcallimico
permlinkhow-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm
titleHow to compare two DNA sequences by hand - the Needleman-Wunsch algorithm
body@@ -30,20 +30,18 @@ working -with +in bioinfo
json metadata{"tags":["science","math","genetics","bioinformatics","algorithm"],"image":["https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png","https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png","https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png","https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png","https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png","https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png","https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png","https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png","https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png","https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png","https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png","https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png"],"links":["https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&amp;PROG_DEF=blastn&amp;BLAST_PROG_DEF=blastn&amp;BLAST_SPEC=GlobalAln&amp;LINK_LOC=BlastHomeLink"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20689924/Trx 74c4c3013c8da7afdcb2f49759017ab2511aa5b5
View Raw JSON Data
{
  "trx_id": "74c4c3013c8da7afdcb2f49759017ab2511aa5b5",
  "block": 20689924,
  "trx_in_block": 19,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-15T06:48:51",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm",
      "title": "How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm",
      "body": "@@ -30,20 +30,18 @@\n working \n-with\n+in\n  bioinfo\n",
      "json_metadata": "{\"tags\":[\"science\",\"math\",\"genetics\",\"bioinformatics\",\"algorithm\"],\"image\":[\"https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png\",\"https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png\",\"https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png\",\"https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png\",\"https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png\",\"https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png\",\"https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png\",\"https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png\",\"https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png\",\"https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png\",\"https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png\",\"https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png\"],\"links\":[\"https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&amp;PROG_DEF=blastn&amp;BLAST_PROG_DEF=blastn&amp;BLAST_SPEC=GlobalAln&amp;LINK_LOC=BlastHomeLink\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/15 06:47:36
parent author
parent permlinkscience
authorcallimico
permlinkhow-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm
titleHow to compare two DNA sequences by hand - the Needleman-Wunsch algorithm
bodyFirst of all, no sane person working with bioinformatics would spend time comparing DNA sequences by hand with all the fast digital tools available (here's one: https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink). Still, any bioinformatician would do well to understand the technique, in part because it contains an element of subjectivity. Two DNA sequences that share a common origin are said to be homologous. It could be the gene for insulin in humans and the one in cattle. The genes are called orthologs when they are both homologous and come from different species. Homologous gene sequences differ, because the ancestral sequence has mutated in different places in the lineages descending from it. The mutation can be a substitution: AACGT to ACCGT An insertion: AACGT to AACCGT Or a deletion: AACGT to ACGT When DNA is transcribed into RNA, it is read in triplets, pieces of three adjacent bases. The three corresponding RNA bases are later translated into an amino acid. Substitutions tend to be the least harmful mutations, because they each affect zero or at most one amino acid. Three-base insertions or deletions are also relatively harmless, because the addition or removal of a triplet means one amino acid more or less in the finished protein (I stress _relatively_ harmless; even substitutions can be lethal if they occur in a bad spot). Insertions or deletions of base numbers not divisible by three are bad news, because they disturb the reading frame of the sequence, potentially affecting all amino acids downstream from the mutation. They are called frameshift mutations and usually lead to the translation of a non-functional protein. Because of their potential for causing frameshifts, indels (insertions or deletions) are less frequently preserved in the course of evolution than substitutions. When aligning two homologous DNA sequences of unequal length, the occurence of an indel has to be assumed. This is represented by a gap: A_CGT AACGT We may even choose to assume an indel between sequences of the same length, if it makes for a better alignment. But since indels are often severe, their inclusion should be punished. That is, we apply a gap penalty. There is a multitude of different ways to compare even short DNA sequences. Without an algorithm to locate the best options, the computers of today would not be able to handle even a small fraction of the genetic information currently published. Fortunately, the Needleman-Wunsch algorithm (developed by Saul B. Needleman and Christian D. Wunsch) makes for optimal alignment of large sequences. Short sequences can be aligned by hand. The rest of this post will describe the procedure. ## How to run a Needleman-Wunsch algorithm First, draw a matrix. Each side should be the length of one of the sequences you want to compare, plus one cell. We are going to compare two sequences of 6 and 7 bases, respectively, so we need a 7x8 matrix: ![matrix1.png](https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png) You will notice that I have already filled out part of the matrix. Indeed, this is a bit premature. We first need to decide on a match score, a mismatch score and a gap penalty. This is the subjective part of the algorithm. I have used 1, 0 and -1. If in doubt, one can try to run the same alignment several times with different scores to see how much this affects the final results. The idea is to start in the upper left corner of the matrix and work your way down the alignment. A diagonal move means that you are simply comparing the next base in sequence 1 to the next base in sequence 2. A horizontal or vertical move signifies the introduction of a gap in, respectively, the vertical and horizontal sequence. Since our gap penalty is -1, every expansion of the gap in the same direction adds -1 to the total score unless we obtain a match. Now, lets attempt to align our first base. We have three options, but the first two are rather silly. We could introduce a gap in sequence 1 and then a gap in sequence 2. Or we could introduce a gap in sequence 2 and then a gap in sequence 1. Or we could just avoid gaps altogether and align the first base in sequence 1 with the first in sequence 2. You might have guessed what I prefer, but take a look at the scores to be sure: Option 1: -1 + (-1) = -2 Option 2: -1 + (-1) = -2 Option 3: 0 0 > -2. We put 0, because we got a mismatch (A and C). At this point, it's preferable to a gap, so we put a 0 in the matrix. ![matrix2.png](https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png) Now, we just need to fill out the rest of the matrix. It's important to put the best option in each cell based on the three cells that precede it to the west, north west and north. ![](https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png) The new 0 was chosen as the best of these three options: Option 1: Add a gap in sequence CCATTAG by moving right after aligning A and C: 0 [A and C mismatch] + 1 [C and C match] + (-1) [new gap] = 0 Option 2: Add a gap in sequence ACCTAG by moving downwards after aligning A and C: 0 [A and C mismatch] + 0 [A and C mismatch] + (-1) [new gap] = -1 Option 3: Align the second base in ACCTAG with the first base in CCATTAG by moving diagonally after introducing a gap in CCATTAG: -1 [gap in CCATTAG] + 1 (C and C match) = 0 Option 1 and 3 are equally good and beat option 2, so we put a 0 in the cell. We continue to add new numbers to the matrix, one slash at a time: ![](https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png) ![](https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png) Fast-forward... ![](https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png) Our final score is the number in the lower right corner, in this case 2. The next step is to trace back through the matrix to see which alignment patterns led to this score. We ask ourselves: Which of the preceding cells could have produced the number 2. There are two options: ![](https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png) We now follow each path back to the upper left corner. I've used blue color here, because it was faster in Word, but it's more helpful to draw arrows so you can see each individual path right away: ![](https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png) There are three possible paths here, each of them producing an optimal alignment. The first one is: ![](https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png) It corresponds to the following alignment: ![](https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png) These are the other options: ![](https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png) ![](https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png)
json metadata{"tags":["science","math","genetics","bioinformatics","algorithm"],"image":["https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png","https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png","https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png","https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png","https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png","https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png","https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png","https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png","https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png","https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png","https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png","https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png"],"links":["https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&amp;PROG_DEF=blastn&amp;BLAST_PROG_DEF=blastn&amp;BLAST_SPEC=GlobalAln&amp;LINK_LOC=BlastHomeLink"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #20689899/Trx 8584fb66fb76a42e877bbf7c6826e4c1d85a43b2
View Raw JSON Data
{
  "trx_id": "8584fb66fb76a42e877bbf7c6826e4c1d85a43b2",
  "block": 20689899,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-15T06:47:36",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "science",
      "author": "callimico",
      "permlink": "how-to-compare-two-dna-sequences-by-hand-the-needleman-wunsch-algorithm",
      "title": "How to compare two DNA sequences by hand - the Needleman-Wunsch algorithm",
      "body": "First of all, no sane person working with bioinformatics would spend time comparing DNA sequences by hand with all the fast digital tools available (here's one: https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=blastn&BLAST_SPEC=GlobalAln&LINK_LOC=BlastHomeLink). Still, any bioinformatician would do well to understand the technique, in part because it contains an element of subjectivity.\n\nTwo DNA sequences that share a common origin are said to be homologous. It could be the gene for insulin in humans and the one in cattle. The genes are called orthologs when they are both homologous and come from different species. Homologous gene sequences differ, because the ancestral sequence has mutated in different places in the lineages descending from it. The mutation can be a substitution:\n\nAACGT to ACCGT\n\nAn insertion:\n\nAACGT to AACCGT\n\nOr a deletion:\n\nAACGT to ACGT\n\nWhen DNA is transcribed into RNA, it is read in triplets, pieces of three adjacent bases. The three corresponding RNA bases are later translated into an amino acid. Substitutions tend to be the least harmful mutations, because they each affect zero or at most one amino acid. Three-base insertions or deletions are also relatively harmless, because the addition or removal of a triplet means one amino acid more or less in the finished protein (I stress _relatively_ harmless; even substitutions can be lethal if they occur in a bad spot). Insertions or deletions of base numbers not divisible by three are bad news, because they disturb the reading frame of the sequence, potentially affecting all amino acids downstream from the mutation. They are called frameshift mutations and usually lead to the translation of a non-functional protein.\n\nBecause of their potential for causing frameshifts, indels (insertions or deletions) are less frequently preserved in the course of evolution than substitutions. When aligning two homologous DNA sequences of unequal length, the occurence of an indel has to be assumed. This is represented by a gap:\n\nA_CGT\nAACGT\n\nWe may even choose to assume an indel between sequences of the same length, if it makes for a better alignment. But since indels are often severe, their inclusion should be punished. That is, we apply a gap penalty.\n\nThere is a multitude of different ways to compare even short DNA sequences. Without an algorithm to locate the best options, the computers of today would not be able to handle even a small fraction of the genetic information currently published. Fortunately, the Needleman-Wunsch algorithm (developed by Saul B. Needleman and Christian D. Wunsch) makes for optimal alignment of large sequences. Short sequences can be aligned by hand. The rest of this post will describe the procedure.\n\n## How to run a Needleman-Wunsch algorithm\n\nFirst, draw a matrix. Each side should be the length of one of the sequences you want to compare, plus one cell. We are going to compare two sequences of 6 and 7 bases, respectively, so we need a 7x8 matrix:\n\n![matrix1.png](https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png)\t\t\t\t\n\nYou will notice that I have already filled out part of the matrix. Indeed, this is a bit premature. We first need to decide on a match score, a mismatch score and a gap penalty. This is the subjective part of the algorithm. I have used 1, 0 and -1. If in doubt, one can try to run the same alignment several times with different scores to see how much this affects the final results.\n\nThe idea is to start in the upper left corner of the matrix and work your way down the alignment. A diagonal move means that you are simply comparing the next base in sequence 1 to the next base in sequence 2. A horizontal or vertical move signifies the introduction of a gap in, respectively, the vertical and horizontal sequence. Since our gap penalty is -1, every expansion of the gap in the same direction adds -1 to the total score unless we obtain a match.\n\nNow, lets attempt to align our first base. We have three options, but the first two are rather silly. We could introduce a gap in sequence 1 and then a gap in sequence 2. Or we could introduce a gap in sequence 2 and then a gap in sequence 1. Or we could just avoid gaps altogether and align the first base in sequence 1 with the first in sequence 2. You might have guessed what I prefer, but take a look at the scores to be sure:\n\nOption 1: -1 + (-1) = -2\nOption 2: -1 + (-1) = -2\nOption 3: 0\n\n0 > -2. We put 0, because we got a mismatch (A and C). At this point, it's preferable to a gap, so we put a 0 in the matrix.\n\n![matrix2.png](https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png)\n\nNow, we just need to fill out the rest of the matrix. It's important to put the best option in each cell based on the three cells that precede it to the west, north west and north.\n\n![](https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png)\n\nThe new 0 was chosen as the best of these three options:\n\nOption 1: Add a gap in sequence CCATTAG by moving right after aligning A and C: \n0 [A and C mismatch] + 1 [C and C match] + (-1) [new gap] = 0\n\nOption 2: Add a gap in sequence ACCTAG by moving downwards after aligning A and C: \n0 [A and C mismatch] + 0 [A and C mismatch] + (-1) [new gap] = -1\n\nOption 3: Align the second base in ACCTAG with the first base in CCATTAG by moving diagonally after introducing a gap in CCATTAG:\n-1 [gap in CCATTAG] + 1 (C and C match) = 0\n\nOption 1 and 3 are equally good and beat option 2, so we put a 0 in the cell.\n\nWe continue to add new numbers to the matrix, one slash at a time: \n\n![](https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png)\n\n![](https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png)\n\nFast-forward...\n\n![](https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png)\n\nOur final score is the number in the lower right corner, in this case 2. The next step is to trace back through the matrix to see which alignment patterns led to this score. We ask ourselves: Which of the preceding cells could have produced the number 2. There are two options:\n\n![](https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png)\n\nWe now follow each path back to the upper left corner. I've used blue color here, because it was faster in Word, but it's more helpful to draw arrows so you can see each individual path right away:\n\n![](https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png)\n\nThere are three possible paths here, each of them producing an optimal alignment. The first one is:\n\n![](https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png)\n\nIt corresponds to the following alignment:\n\n![](https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png)\n\nThese are the other options:\n\n![](https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png)\n\n![](https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png)",
      "json_metadata": "{\"tags\":[\"science\",\"math\",\"genetics\",\"bioinformatics\",\"algorithm\"],\"image\":[\"https://steemitimages.com/DQmRZ7miqppgzdMkxBjbmL9rPcMG5WBDpkiTMTbfEKNBaam/matrix1.png\",\"https://steemitimages.com/DQmdpZY7cTXQipuLXYdz8ss1a6sNK2LfNixd4GQHcbufWSn/matrix2.png\",\"https://steemitimages.com/DQmXtLrivb5gAs3cgZ9LsbpnrTHNyn3hS5x943QLUdWqT19/image.png\",\"https://steemitimages.com/DQmUp7jqJyyqSPo8jPS7Ja9J3JnYgTC2SKsHpvJigFz6oGx/image.png\",\"https://steemitimages.com/DQmQv3y1WR7TZBZSaN8aG77U2LS9hE1XpTFydT89AKyrdTQ/image.png\",\"https://steemitimages.com/DQmNVvbmjGDBrqLtH7BrqvrCPiZ6HiqGxbHbskWf7DUUR9u/image.png\",\"https://steemitimages.com/DQmbpRMZJ2oMu3yztjALT3byaCE9K7Yn1N7cKca7XCqBpxD/image.png\",\"https://steemitimages.com/DQmcDM7AxrMk3KJ27KhgNGqYfBNiqNv48o4o6Qj1mtpzgwt/image.png\",\"https://steemitimages.com/DQmcoEp6cYcrAyKwwTqGJVxkgKB7mCHfGFxyZJ7maKXHvMC/image.png\",\"https://steemitimages.com/DQmXguzUqNz2GECkneJX5uNkG8qXpVPqkJBE5bbMANZETVS/image.png\",\"https://steemitimages.com/DQmZZyifHSQdtueRWy9LqMGQVSjY4P8gj2BjbkHU3fZ7G9c/image.png\",\"https://steemitimages.com/DQmUqMa1VNJyr9k1wWDGMvrZitvzU4BvyG3dJGXfrvYnjXp/image.png\"],\"links\":[\"https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&amp;PROG_DEF=blastn&amp;BLAST_PROG_DEF=blastn&amp;BLAST_SPEC=GlobalAln&amp;LINK_LOC=BlastHomeLink\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/03/14 21:33:18
voterisedenis
authorcallimico
permlinkwhy-we-trust-in-dna-to-tell-us-how-organisms-are-related
weight10000 (100.00%)
Transaction InfoBlock #20678858/Trx 1f38b92da870c080778d6a7d0175d76e7be4fe05
View Raw JSON Data
{
  "trx_id": "1f38b92da870c080778d6a7d0175d76e7be4fe05",
  "block": 20678858,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-14T21:33:18",
  "op": [
    "vote",
    {
      "voter": "isedenis",
      "author": "callimico",
      "permlink": "why-we-trust-in-dna-to-tell-us-how-organisms-are-related",
      "weight": 10000
    }
  ]
}
2018/03/14 15:57:03
required auths[]
required posting auths["callimico"]
idfollow
json["follow",{"follower":"callimico","following":"amavi","what":["blog"]}]
Transaction InfoBlock #20672155/Trx 8c58fa148fee1c04bcc2cc118d0f0a51f991968d
View Raw JSON Data
{
  "trx_id": "8c58fa148fee1c04bcc2cc118d0f0a51f991968d",
  "block": 20672155,
  "trx_in_block": 50,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-14T15:57:03",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "callimico"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"callimico\",\"following\":\"amavi\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/03/14 15:23:57
votercallimico
authorclixmoney
permlinkhome-made-oat-milk-ovsyanoe-domashnee-moloko
weight10000 (100.00%)
Transaction InfoBlock #20671493/Trx 7effcedfe1533727bd7c49b8dd69a564f092000b
View Raw JSON Data
{
  "trx_id": "7effcedfe1533727bd7c49b8dd69a564f092000b",
  "block": 20671493,
  "trx_in_block": 46,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-14T15:23:57",
  "op": [
    "vote",
    {
      "voter": "callimico",
      "author": "clixmoney",
      "permlink": "home-made-oat-milk-ovsyanoe-domashnee-moloko",
      "weight": 10000
    }
  ]
}
2018/03/14 15:19:09
parent authoringkelimeler
parent permlinknuclear-warheads
authorcallimico
permlinkre-ingkelimeler-nuclear-warheads-20180314t151911367z
title
bodySource?
json metadata{"tags":["statistics"],"app":"steemit/0.1"}
Transaction InfoBlock #20671397/Trx 3cbaa08ad67e2925d9c0ced437b7a03f5321d196
View Raw JSON Data
{
  "trx_id": "3cbaa08ad67e2925d9c0ced437b7a03f5321d196",
  "block": 20671397,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-14T15:19:09",
  "op": [
    "comment",
    {
      "parent_author": "ingkelimeler",
      "parent_permlink": "nuclear-warheads",
      "author": "callimico",
      "permlink": "re-ingkelimeler-nuclear-warheads-20180314t151911367z",
      "title": "",
      "body": "Source?",
      "json_metadata": "{\"tags\":[\"statistics\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/03/14 15:18:12
parent authordursunmahmuthan
parent permlinkgun-deaths-per-100-000-peaoeple-2014
authorcallimico
permlinkre-dursunmahmuthan-gun-deaths-per-100-000-peaoeple-2014-20180314t151814786z
title
bodySource?
json metadata{"tags":["statistics"],"app":"steemit/0.1"}
Transaction InfoBlock #20671378/Trx 2577239c2386c124d433a20bbaaf39b7fe821f7f
View Raw JSON Data
{
  "trx_id": "2577239c2386c124d433a20bbaaf39b7fe821f7f",
  "block": 20671378,
  "trx_in_block": 56,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-14T15:18:12",
  "op": [
    "comment",
    {
      "parent_author": "dursunmahmuthan",
      "parent_permlink": "gun-deaths-per-100-000-peaoeple-2014",
      "author": "callimico",
      "permlink": "re-dursunmahmuthan-gun-deaths-per-100-000-peaoeple-2014-20180314t151814786z",
      "title": "",
      "body": "Source?",
      "json_metadata": "{\"tags\":[\"statistics\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/03/14 15:11:42
votercallimico
authorcristi
permlinkhow-i-analyze-dna-with-biopython
weight10000 (100.00%)
Transaction InfoBlock #20671248/Trx 1bd810e3bf9d1e7c69f9d84e899de728eaa60565
View Raw JSON Data
{
  "trx_id": "1bd810e3bf9d1e7c69f9d84e899de728eaa60565",
  "block": 20671248,
  "trx_in_block": 35,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-14T15:11:42",
  "op": [
    "vote",
    {
      "voter": "callimico",
      "author": "cristi",
      "permlink": "how-i-analyze-dna-with-biopython",
      "weight": 10000
    }
  ]
}

Account Metadata

POSTING JSON METADATA
profile{"profile_image":"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg","about":"Danish biology student with a passion for animals, language learning and musical composition among other things"}
JSON METADATA
profile{"profile_image":"https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg","about":"Danish biology student with a passion for animals, language learning and musical composition among other things"}
{
  "posting_json_metadata": {
    "profile": {
      "profile_image": "https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg",
      "about": "Danish biology student with a passion for animals, language learning and musical composition among other things"
    }
  },
  "json_metadata": {
    "profile": {
      "profile_image": "https://upload.wikimedia.org/wikipedia/commons/7/77/Goeldi%27s_Marmoset.jpg",
      "about": "Danish biology student with a passion for animals, language learning and musical composition among other things"
    }
  }
}

Auth Keys

Owner
Single Signature
Public Keys
STM6eryEdGuEfRmobm3DW6USMYtAXRoxHCVoQTeu3rfw7i8bPnsdy1/1
Active
Single Signature
Public Keys
STM7b2wQARmY9x3tgwSLr1LBPJyeVKx8vLJ25iZJv1i4XzHEfSoEK1/1
Posting
Single Signature
Public Keys
STM8AaDL3PW9ydqjBVJojTkcKLLtVQkVi9U2Q5mQpyPUD9ytx5cHC1/1
Memo
STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6eryEdGuEfRmobm3DW6USMYtAXRoxHCVoQTeu3rfw7i8bPnsdy",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7b2wQARmY9x3tgwSLr1LBPJyeVKx8vLJ25iZJv1i4XzHEfSoEK",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM8AaDL3PW9ydqjBVJojTkcKLLtVQkVi9U2Q5mQpyPUD9ytx5cHC",
        1
      ]
    ]
  },
  "memo": "STM5tiGgRZ3fjkLhuzfnbmvRGNgPFAYF8rzLBgG71wFAWELPW23jr"
}

Witness Votes

0 / 30
No active witness votes.
[]